Skool API — Read AND Write, on Apify
The most complete unofficial Skool API. Read posts, comments, members, and courses. Create posts, reply to comments, approve members, build entire courses programmatically. Drop-in for n8n, Make.com, Zapier, AI agents.
┌─────────────────┐
│ Your stack │ ──┐
│ - n8n │ │
│ - Make.com │ │
│ - AI agents │ │ ┌────────────────────────┐ ┌────────────────┐
│ - Custom code │ ├──→ │ Apify Actor │ ──→ │ Skool API │
└─────────────────┘ │ │ Skool All-in-One API │ │ (cookies + │
│ │ read · write · auth │ │ WAF + buildId │
│ └────────────────────────┘ │ handled for │
│ │ you) │
└→ POST action:operation └────────────────┘
→ structured response
Why this exists
Skool does not have an official API. The community has reverse-engineered bits and pieces, but nobody has shipped a complete, write-capable, auth-handled, production-ready integration that AI agents and no-code tools can use.
This actor is that integration. It powers a real production community (Cágala, Aprende, Repite — daily writes, automated onboarding, full classroom). If it breaks, it breaks for me first. Bugs get fixed fast.
What you can do
| Resource | Read | Write |
|---|---|---|
| Posts | List, filter, paginate, get single, get full comment trees | Create, update, delete, pin, unpin, like |
| Comments | Nested trees with replies | Create top-level + nested replies, edit, delete |
| Members | List active, list pending applicants | Approve, reject, ban, batch-approve |
| Classroom | List courses, full tree, single page | Create course, folder, page, set body (markdown→TipTap), update cover/title/description, delete |
| Files | — | Upload images for course covers |
| Groups | Get group info | Update description, update Auto DM message |
See full action reference → · Use it from AI agents (Claude / OpenAI / MCP) →
Quick start (60 seconds)
1. Get an Apify account
Sign up at apify.com (free tier covers most personal use). Grab your API token from the account dashboard.
2. Run your first call
curl -X POST "https://api.apify.com/v2/acts/cristiantala~skool-all-in-one-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"action": "auth:login",
"email": "your-skool-email@example.com",
"password": "your-skool-password",
"groupSlug": "your-community"
}'
The response includes a cookies string. Save it — for the next ~3.5 days you can pass it instead of email/password and skip the slow Playwright login (~2s vs ~10s per call).
3. Use the cookies for everything else
curl -X POST "https://api.apify.com/v2/acts/cristiantala~skool-all-in-one-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"action": "posts:list",
"cookies": "auth_token=...; client_id=...; aws-waf-token=...",
"groupSlug": "your-community",
"params": { "page": 1 }
}'
Browse by topic
This repo is organized into 8 sections. Each section has its own README hub.
| Section | What’s there |
|---|---|
| 📘 Learn | Glossary — what is the Skool API, how does Skool work, features, classroom, courses, affiliate program, live events |
| 🛠️ Integrations | Tool-specific guides — n8n, Make.com, Zapier, Claude, GPT, MCP, Python, LangChain, Webhooks |
| 🤖 Automation | Strategic overview — bot vs agent, building a Skool bot, building a Skool AI agent, why not to build your own scraper |
| 🍳 Recipes | Cookbook — copy-paste workflows for auto-approve, reply unanswered, publish course from markdown, more |
| 🔍 Compare | Skool vs X — Circle, Mighty Networks, Kajabi, Teachable, Thinkific, Discord, Slack, alternatives |
| 📖 Guide | Founder decisions — is Skool legit, is Skool worth it, pricing, free trial, reviews, how to start |
| 🎯 For X | Audience-specific — Skool for AI agents (more coming) |
| 📚 Docs | Reference — authentication, actions, posts, members, classroom, files, groups, error handling, AI agents integration |
Recipes
Real, copy-paste-ready integrations:
- Auto-approve Skool members with n8n + GPT-4o AI screening — published as a ready-to-import n8n template. Webhook → AI screen → approve.
- Reply to unanswered posts automatically — find posts with 0 comments, reply with on-brand AI message
- Publish a course from markdown files — your local markdown → full Skool classroom with covers
- Auto DM new members — set/update the welcome message that triggers when someone joins
- Batch update course covers — refresh visual identity across N courses without resetting privacy/tier
- Newsletter to Skool post — mirror your Listmonk/ConvertKit newsletter as a community post
- Audit a long welcome thread (>35 comments) — bypass Skool’s REST cap with
posts:getCommentsFullto find members you haven’t replied to yet - Use the Skool API as MCP tool for Claude / Cursor / Cline — expose all 33 actions to your AI agents via Apify’s hosted MCP server
- Community analytics: export Skool data to NocoDB / Airtable — track engagement, churn, conversion to paid via your own BI tool
Documentation
| Topic | What you’ll learn |
|---|---|
| Getting Started | First call, auth flow, cookies caching |
| Authentication | How auth works, WAF token rotation, the x402-payment-required “fake error” |
| Posts & Comments | Skool’s post=comment data model, content formats, mentions |
| Members | Approval flow, batch operations, member roles |
| Classroom | Courses, folders, pages, the markdown→TipTap converter, the R-PUT-COURSE quirk |
| Files | Image upload flow (cover images for courses) |
| Groups | Description, Auto DM, settings |
| Error handling | Structured {success:false} payloads, errorCode catalog, hint field, retry logic |
| AI Agents integration | Function-calling specs (Claude / OpenAI / Gemini), MCP server, LangChain Tool, Claude Code Skill, agent loop patterns |
| Changelog | Version history, what changed when |
Pricing
The actor uses Apify Pay-Per-Event (PPE) — you pay only for what you use:
| Action | Approx. cost |
|---|---|
auth:login (once every ~3.5 days) |
~$0.02 (Playwright login) |
Read action (posts:list, members:list, etc.) |
~$0.005 |
| Write action (create post, approve member, etc.) | ~$0.01 + ~$0.005 platform |
files:uploadImage |
~$0.005 |
A community handling ~50 writes + ~200 reads per day costs roughly $1.50/month. See full pricing →
Reliability
- Never-throw policy: every error — including network failures and Skool 4xx responses — becomes a structured
{success:false}payload pushed to the dataset, with anerrorCodeandhintfield. Runs always endSUCCEEDED. The actor never trips Apify’sUNDER_MAINTENANCEflag. - Daily Quality Check pass: the actor’s input schema defaults to
system:healthso Apify’s automated daily test always passes — production callers stay unaffected by Apify-side checks. - Auto retry: 5xx responses, network errors, expired WAF tokens, and stale buildIds are auto-handled with exponential backoff.
- More on reliability →
What it’s NOT
- ❌ Not an official Skool product. Skool may change behavior at any time. This actor is reverse-engineered from the public Skool web app, kept stable as Skool deploys (~weekly buildId rotation, auto-handled).
- ❌ Not for bypassing Skool’s terms. You authenticate as a user that owns or admins the community. Don’t scrape communities you have no access to.
- ❌ Not for spam. Skool’s rate limits (~20-30 writes/min) are enforced. The actor respects them.
Status
| Latest version | 0.3.25 — May 2026 |
| Last battle-tested in production | Daily, on cagala-aprende-repite |
| Skool buildId rotation | Auto-handled (~weekly) |
| WAF token rotation | Auto-handled (~3.5 days) |
Issues & feature requests
The actor’s source code is not open-source (commercial product), but this docs repo is. To report a bug or request a feature:
- 🐛 Open a bug report
- 💡 Open a feature request
- 💬 Discuss with the community in Cágala, Aprende, Repite (Spanish-speaking founders)
Articles & deep dives
- 📝 The Complete Skool API: 9 Months of Reverse-Engineering 33 Actions (n8n + TypeScript + AI Agents) — full technical deep-dive (May 2026)
- 📝 I Built the Most Complete Skool API — and What I Learned Reverse-Engineering It — original launch post (March 2026)
Related
- 🐦 Built by Cristian Tala — operator using AI to run a community of founders solo
- 🎓 Cágala, Aprende, Repite — the Skool community where this actor was forged
- 📰 Tutorials & deep dives — recipes, lessons, case studies
License
The contents of this repository (docs, recipes, examples) are licensed under MIT — copy, modify, embed in your projects freely.
The Apify actor itself (skool-all-in-one-api) is a commercial product, not covered by this license.