The complete unofficial Skool API documentation — read AND write to Skool communities via the Apify-hosted Skool All-in-One API actor. Integrations, recipes, glossary, comparisons.
(or email + password instead of cookies — see authentication)
System
Action
Params
Description
system:health
—
Healthcheck. No auth, no Skool calls. Returns {ok, version, node, timestamp}. Used as the input schema’s default action so Apify’s daily quality check always passes
system:debug
cookies, groupSlug
SSR diagnostics: returns Skool homepage status + buildId extracted + SSR fetch result + REST client probe. Useful for debugging when something doesn’t work (added in 0.3.25)
Auth
Action
Params
Description
auth:login
email, password, groupSlug
Login via headless Playwright (~10s). Returns cookies + buildId valid ~3.5 days. → Authentication
Posts & Comments
Skool’s posts and comments are the same object. See Posts & Comments for the data model.
Action
Params
Description
posts:list
page?, sort?, limit?
Single page of posts
posts:filter
since?, until?, unanswered?, labelId?, limit?
Filter posts by criteria (combine any)
posts:get
postId
Single post by ID
posts:create
title, content, labelId?, videoIds?
Create a post (plain text content)
posts:update
postId, title?, content?
Edit a post or comment
posts:delete
postId
Delete a post or comment (cascades)
posts:pin
postId
Pin to top of feed
posts:unpin
postId
Remove pin
posts:vote
postId, vote: "up" \| ""
Like / unlike
posts:getComments
postId
Comment tree via REST (~2s, max ~35 top-level). Free read
posts:getCommentsFull
postId OR postSlug
Full thread coverage via Playwright DOM scroll (~30-60s, no cap). $0.05 scrape-operation event. Use when posts:getComments truncates and you need every reply. Added in 0.3.24
posts:createComment
rootId, parentId, content
Create comment or nested reply. For top-level: rootId == parentId == postId. For nested: parentId == commentId