Skool Scraper Pro- FREE TO USE avatar

Skool Scraper Pro- FREE TO USE

Pricing

Pay per usage

Go to Apify Store
Skool Scraper Pro- FREE TO USE

Skool Scraper Pro- FREE TO USE

๐Ÿ“š FREE Skool Scraper: Discover Skool communities by keyword or category, then extract courses, lessons, posts, comments, and community feeds. ๐ŸŽฅ Download videos, ๐Ÿ“Ž attachments, PDFs, and resources. Automatically resumes interrupted runs.

Pricing

Pay per usage

Rating

5.0

(7)

Developer

FlowExtract API

FlowExtract API

Maintained by Community

Actor stats

28

Bookmarked

502

Total users

60

Monthly active users

3.3 days

Issues response

3 days ago

Last modified

Share

๐Ÿ“š Skool Scraper Pro

Extract structured data from any Skool community course lessons, videos, resources, the community post feed, comment threads, and even discover new communities by category or keyword all from one actor, organized and ready to use.

Perfect for educators, community owners, researchers, and growth/marketing teams who need to archive course content, monitor community activity, analyze engagement, or find new communities to join or study.


๐Ÿงฉ Four Independent Sections

The actor is organized into four sections. Fill in only the one(s) relevant to what you want this run to do you don't need to touch the others.

SectionWhat it does
๐Ÿ“š Courses & ClassroomExtract a community's courses, lessons, videos, and resources or its full post feed
๐Ÿ’ฌ CommentsPull a specific post's full content plus its comment thread
๐Ÿ” Discover CommunitiesBrowse or search skool.com/discovery to find communities by category, keyword, or filtered URL
๐Ÿ” AuthenticationOptional email+password or browser cookies, shared by every section above that needs it

A typical workflow spans separate runs: use ๐Ÿ” Discover Communities to find a community โ†’ ๐Ÿ“š Courses & Classroom to extract its content โ†’ copy a post's URL from the results โ†’ ๐Ÿ’ฌ Comments to pull that post's comment thread.


๐Ÿš€ Key Benefits & Use Cases

๐Ÿ“š For Educators & Community Owners

  • Archive your full course library lessons, descriptions, videos, and resources
  • Download every video hosted on Skool as an MP4 file, always at the best quality available
  • Back up post content, attachments, and PDF handouts before they disappear
  • Extract your community's entire post feed (the "wall"), not just classroom content

๐Ÿ’ผ For Researchers & Analysts

  • Pull a post's full comment thread, including nested replies, upvotes, and pinned comments
  • Extract poll results and engagement data (upvotes, comment counts) from posts
  • Build structured databases from classroom content or community activity

๐Ÿ“ˆ For Growth & Marketing Teams

  • Discover new Skool communities by category, keyword, or price/language filters
  • Monitor a competitor's or partner's community feed for new posts and activity
  • Research community size, pricing, and engagement before reaching out or joining

๐ŸŽฏ For Content Teams

  • Bulk-export lesson descriptions and resource links for repurposing
  • Download all post attachments (images, PDFs) in one automated run
  • Get direct download links for every video click to save the MP4 instantly

โš™๏ธ Section 1 ๐Ÿ“š Courses & Classroom

Input: communityUrls

Accepts a bare community URL or its /classroom page, plus anything nested under classroom. What gets extracted is detected automatically from the URL shape:

URL FormatWhat it does
skool.com/community (bare)Full classroom or the feed instead, if extractCommunityFeed is on
skool.com/community/classroomFull classroom (all accessible courses)
skool.com/community/classroom/courseIdOne specific course
skool.com/community/classroom/courseId?md=lessonIdOne specific lesson

You can mix multiple URLs of different types (and different communities) in a single run.

{
"communityUrls": [
{ "url": "https://www.skool.com/my-community/classroom" },
{ "url": "https://www.skool.com/my-community" }
],
"extractCommunityFeed": true
}

๐Ÿงต Feed mode

A bare community URL with extractCommunityFeed on pulls the community's post feed (the "wall") instead of courses/lessons. Feed mode respects the exact sort/filter/page you paste in the URL itself e.g. ?c=&s=newest&fl=unr&p=5 starts from page 5, sorted newest, filtered to unread. A plain bare URL with no query string pulls Skool's default feed order.

maxItemsPerSection (Integer, default 10)

One field, two meanings depending on mode:

  • Course/Classroom mode: maximum lessons to pull from each course every course gets its own budget, so a classroom with several courses returns this number times the course count, not this number in total.
  • Feed mode: maximum total posts to pull from the community wall a plain bare URL with no sort override can mean tens of thousands of posts, so this is what keeps a quick preview run from turning into an hours-long pull.

Set high (up to 100000) to extract everything either way.

skipLockedCourses (Boolean, default true)

Skip courses that require a membership level or VIP access you don't have. Turn off only if your credentials already unlock that content.

Download options

FieldDefaultWhat it does
downloadResourcesfalseDownloads images/documents from each lesson's resources panel (links like YouTube are skipped only actual files)
downloadVideosfalseDownloads every hosted-on-Skool video as an MP4, always at the best quality available
downloadAttachments*falseDownloads images/documents attached to posts

* downloadAttachments is a shared toggle it's configured once (in the Comments section below) and applies to lesson posts here too.


โš™๏ธ Section 2 ๐Ÿ’ฌ Comments

Input: postUrls

Direct post URLs only either shape Skool itself uses:

  • skool.com/community/postName
  • skool.com/community/post/postName

Often copied straight from a Courses & Classroom run's results.

{
"postUrls": [
{ "url": "https://www.skool.com/my-community/weekly-wins-recap" }
],
"maxCommentsPerPost": 200
}

maxCommentsPerPost (Integer, default 100)

Cap on comments plus replies extracted per post, combined.

  • Set to 0 to skip comments entirely you get just the post itself, no comment field.
  • Set high (or to the post's total comment count) to get everything.

Output shape

  • No comments fetched (cap is 0, or the post has none): one row, the post's own fields, type: "post".
  • Comments fetched: one row per comment each row carries the post's full fields (repeated) plus that single comment nested under comment, type: "comment". This means a post with 500 comments produces 500 rows, each self-contained and independently usable, rather than one giant combined row.

โš™๏ธ Section 3 ๐Ÿ” Discover Communities

Three independent ways to search use any combination in the same run:

InputWhat it does
discoveryUrlsPaste a full skool.com/discovery?... URL copied from your browser after applying filters
categorySearchesBrowse a category (Hobbies, Music, Money, Tech, Health, Sports, Self-improvement, Relationships, etc.) with Price/Visibility/Language/Sort filters
keywordSearchesSearch by keyword, like typing into the Discovery search bar
{
"keywordSearches": [
{ "keyword": "automation", "price": "free" }
],
"discoveryMaxResults": 30
}

discoveryMaxResults (Integer, default 30)

Maximum communities returned per search (per Discovery URL, per category search, per keyword search not a combined total). Set to 0 for unlimited use with caution, as some categories return thousands of results.

Output

Each discovered community includes its slug, URL, display name, description, member count, membership/pricing info, and logo ready to feed into Courses & Classroom on a later run.

โ„น๏ธ This section works without providing any credentials below Discovery normally challenges anonymous requests, but the actor handles that automatically.


โš™๏ธ Section 4 ๐Ÿ” Authentication

Needed for private/level-gated content, or if you want Comments/Courses requests to run under your own account rather than anonymously.

MethodHow to useWhen to use
Email + Password (recommended)Enter credentials in inputEasiest and most reliable
Browser CookiesExport from your browser sessionUse if login fails, or for advanced cases
NoneLeave blankPublic communities only

Tried in this order automatically: email + password, then cookies, then public access.

๐Ÿ”’ Credential Security

password and cookies are marked as secret inputs on the Apify platform encrypted at rest the moment you save them, decrypted only inside the actor's own execution environment, and never written to logs or shown in the Console. If accessed directly from storage, only ciphertext is visible. Nothing here is specific to this actor it's the same protection Apify applies to every secret input field, isolated per user and per actor.

๐Ÿช How to export your cookies (optional)

  1. Install the Cookie-Editor extension (Chrome) or equivalent for Firefox
  2. Log in to skool.com and open your community
  3. Open the extension โ†’ click Export
  4. Copy the JSON and paste it into the cookies field

โš ๏ธ Cookies expire over time. If extraction starts failing on content that used to work, export fresh cookies and re-run.

๐Ÿ”’ What happens with locked/private content

If a post or community genuinely requires membership you don't have, the actor returns a clear, immediate error explaining that authentication or membership is required rather than hanging, retrying forever, or silently returning nothing.


โ™ป๏ธ Reliability

  • Resumable runs: if a run is interrupted a platform restart, a timeout, or you stopping it yourself starting it again picks up close to where it left off instead of starting over from scratch. This applies across every section: classroom/lesson progress, feed pagination, and comment-thread pagination are all checkpointed as the run goes.
  • Automatic handling of temporary blocks: occasional anonymous-request blocks are retried automatically before any error is surfaced to you.

๐Ÿ“Š Sample Output

All rows share one dataset, distinguished by a type field. Use the Output tab's view switcher to see each kind on its own.

Lesson (Courses & Classroom)

{
"type": "lesson",
"extractedAt": "2026-07-05T04:25:30.228Z",
"community": "my-community",
"communityUrl": "https://www.skool.com/my-community",
"course": "โœ… Start Here",
"courseShortId": "7ddee36d",
"section": "",
"lesson": "Who am I? ๐Ÿค”",
"lessonId": "614723a946d645b6bef3145d391ecf24",
"lessonUrl": "https://www.skool.com/my-community/classroom/7ddee36d?md=614723a9...",
"position": 1,
"descriptionText": "",
"hostedVideo": {
"source": "mux",
"playbackUrl": "https://stream.mux.com/PLAYBACK_ID.m3u8?token=JWT",
"durationMs": 286668,
"aspectRatio": "3:2",
"status": "ready",
"fileSizeHuman": "81.2 MB",
"downloadUrl": "https://api.apify.com/v2/key-value-stores/.../records/video-lesson-614723a9.mp4?signature=...",
"direct_download": "https://api.apify.com/v2/key-value-stores/.../records/video-lesson-614723a9.mp4?signature=...&attachment=true"
},
"resources": [],
"post": {
"postId": "5b00705d9cf54ae7ae9273a64cffb9b7",
"title": "Who am I?",
"author": { "firstName": "John", "lastName": "Doe", "fullName": "John Doe" },
"content": "...",
"attachments": [],
"upvotes": 15,
"commentsCount": 7
}
}

Feed post (Courses & Classroom โ†’ Feed mode)

{
"type": "feedPost",
"postId": "87a8f93ae3ef4cbc985a8c7d9ed03760",
"postUrl": "https://www.skool.com/my-community/post/weekly-wins-recap",
"title": "๐Ÿ† Weekly Wins Recap",
"author": { "firstName": "Jane", "lastName": "Smith", "fullName": "Jane Smith" },
"content": "...",
"attachments": [],
"upvotes": 106,
"commentsCount": 123,
"createdAt": "2026-07-03T20:40:01.291033Z"
}

Post with a comment thread (Comments)

{
"type": "comment",
"postId": "139cd2fa361e409e81b767a0fed3b9ec",
"postUrl": "https://www.skool.com/my-community/post/please-read-rules",
"title": "Please Read | Rules and Guidelines",
"author": { "firstName": "Nate", "lastName": "Herk", "fullName": "Nate Herk" },
"content": "...",
"upvotes": 4926,
"commentsCount": 2806,
"comment": [
{
"commentId": "5141d15868d14cb6b438f83c213b0975",
"depth": 0,
"content": "Thank you!",
"upvotes": 54,
"pinned": false,
"author": { "firstName": "Abdelhakim", "lastName": "Abdessemed", "fullName": "Abdelhakim Abdessemed" },
"createdAt": "2024-10-23T17:22:13.113714Z"
}
]
}

Discovered community (Discover Communities)

{
"type": "community",
"source": "keywordSearch",
"communitySlug": "makerschool",
"communityUrl": "https://www.skool.com/makerschool",
"displayName": "Maker School: AI Automation",
"description": "Get your first client for an AI automation business in 90 days...",
"totalMembers": 2074,
"membershipModel": 2,
"displayPrice": { "currency": "usd", "amount": 5700, "recurringInterval": "month" },
"logoUrl": "https://assets.skool.com/..."
}

๐Ÿ’พ Key-Value Store

When download options are enabled, files are saved to the actor's Key-Value Store organized by type:

Key prefixContentsTrigger
image-{id}.{ext}JPEG, PNG, GIF, WebP, SVG, BMP, TIFFdownloadAttachments or downloadResources
doc-{id}.{ext}PDF, Word, Excel, CSV, TXT, JSON, XMLdownloadAttachments or downloadResources
video-lesson-{id}.mp4 / video-post-{id}.mp4Hosted video filesdownloadVideos

Each downloaded file is referenced by a kvKey (or downloadUrl/direct_download for videos) on its parent row in the dataset, so you can always trace a file back to its source.


๐Ÿค Support & Resources

Social Media


๐Ÿ“š Education & Community

๐ŸŽฌ Video & Media

๐Ÿ› ๏ธ Developer Tools

๐Ÿ“ฑ Social & Ads