Skool Community Scraper avatar

Skool Community Scraper

Pricing

from $2.74 / 1,000 communities

Go to Apify Store
Skool Community Scraper

Skool Community Scraper

Skool community scraper: paste community links and get one row each with name, pitch, member and online counts, the price the join button quotes, owner, rating, and post, course and module counts. You bring the links; it does not search Skool. $2.80 per 1,000 communities.

Pricing

from $2.74 / 1,000 communities

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Skool community scraper for the links you paste: get one row per community with the name and pitch, how many members it has and how many are online, what joining costs, who runs it, the rating, and how many posts, courses and modules sit inside.

The part to know before buying: it doesn't search Skool, so you bring the links. If you don't have them yet, Skool Community Finder is the one that finds them.

No member names or profiles are collected, only counts. And the form arrives with two real communities in it, so pressing Start without editing reads those two and bills two rows.

InputSkool community links, or just the names at the end of them
OutputOne row per community: name, pitch, members and online count, price, owner, rating, post, course and module counts
Ceiling500 communities per run
Speed60 communities took 58 to 71 seconds in our runs
Account neededNone
Price$2.80 per 1,000 communities on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 1,700

🔍 What Skool Community Scraper does

Each link becomes a row built from the community's public page, the one Skool shows to someone deciding whether to join.

The price is the one the join button quotes. Skool keeps more than one price on a community and they don't always agree, so the row takes the current billing price, and a community only counts as free when Skool has no price for it at all. A community running a trial says START FREE TRIAL on its button instead. Those rows carry hasFreeTrial: true and the price you pay once the trial ends.

Every reply is checked against the community you asked for. A link that forwards somewhere else, or a Skool address that answers with a different community, comes back as a free row saying so, never as a charged row for the wrong one.

Duplicate links are folded together before anything is read. And if 25 links in a row fail before a single community has come back, the run stops and tells you the list looks wrong. Once one community has come back, that check switches off, so a good list that happens to start with dead links still gets read in full.

📋 What data you get from each Skool community

What you getField
The community's link, name, slug and Skool's idgroupUrl, name, slug, groupId
The one-line pitch and the long about textdescription, aboutText
Members in total, and how many were onlinememberCount, onlineMemberCount
What joining costs, as the join button quotes itisPaid, priceLabel, priceAmount, priceCurrency, priceInterval, annualPriceAmount
Whether a free trial is runninghasFreeTrial
Who runs itownerHandle, ownerName, ownerUrl
The rating and how many reviews it rests onreviewAverage, reviewCount
How much is insideadminCount, postCount, courseCount, moduleCount, ruleCount
Logo and cover imagelogoUrl, coverImageUrl
When it was created and last changed, and when it was readcreatedAt, updatedAt, scrapedAt

▶️ How to scrape Skool communities

  1. Open Skool Community Scraper and click Try for free.
  2. Paste your links into Skool community links, one per line.
  3. Set Maximum rows as a spending cap, or clear it to read every link.
  4. Click Start.
  5. Download the dataset as JSON, CSV or Excel, or read it from the API.

Clear the links and start it to see one labelled sample row, which is not charged.

💰 How much does it cost to scrape Skool communities?

$2.80 per 1,000 communities on the Free plan. Paid plans pay a little less: $2.78 on Starter, $2.76 on Scale and $2.74 on Business. On the free plan, the $5 Apify gives you each month covers about 1,700 communities.

You pay per community row. Nothing that comes back as a diagnostic is charged: dead links, redirects, profiles, site pages and anything past your cap. Neither is the sample row. A community pasted twice is read and charged once.

📥 What you give it

{
"groupUrls": [
"https://www.skool.com/makerschool",
"https://www.skool.com/adcreatorslab"
],
"maxItems": 5
}
FieldIf you leave it emptyWhat it is
groupUrlsthe free sample rowOne community per line, up to 500. https://www.skool.com/makerschool works, and so does just makerschool. Member profiles, Skool's own site pages and non-Skool links come back as free rows saying why. The form arrives with two in it.
maxItemsevery link you gaveA spending cap, 1 to 500. The run stops after this many communities, and the links it skipped are never charged.
proxyUrlsemptyOnly if you want the requests to go out through servers of your own, as http://user:pass@host:port.

📤 What you get back

A real row from a run on 30 September 2026, with the long aboutText cut short:

{
"ok": true,
"charged": true,
"recordType": "community",
"groupUrl": "https://www.skool.com/makerschool",
"slug": "makerschool",
"name": "Maker School: AI Automation",
"description": "Get your first client for an AI automation business in 90 days or your money back. Daily AI coaching, AI templates, +$30K saved in tools. $184/mo.",
"memberCount": 2562,
"isPaid": true,
"priceLabel": "$184.00 per month",
"priceAmount": 184,
"priceCurrency": "usd",
"priceInterval": "month",
"annualPriceAmount": 1546,
"hasFreeTrial": false,
"ownerHandle": "nick-saraev",
"ownerName": "Nick Saraev",
"ownerUrl": "https://www.skool.com/@nick-saraev",
"reviewCount": 101,
"reviewAverage": 5,
"adminCount": 2,
"onlineMemberCount": 99,
"postCount": 48118,
"courseCount": 13,
"moduleCount": 751,
"ruleCount": 3,
"aboutText": "Maker School is the fastest & most affordable way to get client #1 for AI automation with tools like Claude Code, Codex, n8n and more.\n\nGet your first paying AI client in 90d or your money back.\n\n...",
"logoUrl": "https://assets.skool.com/f/e256cd9ef1ac4dbe9197634db46e9e3b/7a0881d755cd45d69679b78d418b803a475d563a4bc4476ea3dfc1ad682b0551.jpg",
"coverImageUrl": "https://assets.skool.com/f/e256cd9ef1ac4dbe9197634db46e9e3b/56cb44fa92ce4a2a950a286352392ff96e45d3d056e740e4a30c12dbb52faad4.jpg",
"groupId": "e256cd9ef1ac4dbe9197634db46e9e3b",
"createdAt": "2024-09-05T20:09:16.650875Z",
"updatedAt": "2026-09-30T02:30:26.616869Z",
"scrapedAt": "2026-09-30T02:33:40.900Z"
}
FieldHow to read it
memberCount, onlineMemberCountMembers in total, and how many were online at that moment.
priceAmount, priceLabelpriceAmount is in whole units, so 184 means $184, not cents. A free community has isPaid: false and priceLabel: "Free to join".
annualPriceAmountThe yearly price, when Skool publishes one for the community. Null doesn't prove there's no annual option.
ownerHandle, ownerName, ownerUrlThe owner's public Skool handle, name and profile link. Nothing else about them is kept.
reviewCount, reviewAverageThe published rating from 1 to 5, and how many reviews it rests on. Null means unrated, not zero.
adminCount, postCount, courseCount, moduleCount, ruleCountHow much is inside. Counts only, never the content.
slug, groupIdThe name at the end of the link, and Skool's own id. Either works as a key between runs.

🧾 Reading the output

Three kinds of row can land in the dataset.

RowHow to spot itCharged
A communitycharged: trueyes
The sample row_sample: trueno
A diagnostic_diagnostic: true, with an errorCode and a details sentenceno

The sample row only appears when the input has no links. It also says recordType: "community", so filter on charged rather than on recordType to keep just the real rows.

errorCodeWhat it means
NOT_FOUNDNo community at that link. Closed, renamed or mistyped.
REDIRECTEDThe link forwards to a different community. details names it, so you can run that one instead.
NOT_A_GROUPThe link is a Skool page, not a community.
WRONG_GROUPSkool answered with a different community than the one asked for.
BAD_INPUTA member profile, a Skool site page, or not a Skool link at all.
LIMIT_REACHEDYour maxItems cap was reached. One row covers everything skipped, with a skipped count.
INPUT_LOOKS_WRONG25 links in a row failed with nothing back, so the run stopped.
RATE_LIMITED, NETWORKSkool didn't answer properly this time. Worth running again.
NOT_SERVEDThis community was not served this run. Re-run it later. Runs before 13 October 2026 wrote BLOCKED here.
TIME_BUDGET, NO_RESULTS and the restRare. The details sentence says what happened.

💡 What people use it for

  • Sizing up a shortlist before joining any of them. Members, price and rating side by side beats forty open tabs.
  • Running the same list weekly and comparing memberCount and priceAmount, joined on slug, to see who is growing and who just raised their price.
  • Keeping a directory or a newsletter about a niche up to date, when you already keep the links.
  • Holding your own community up against the ones you see as peers, on the numbers rather than impressions.

From a keyword to a shortlist with ratings, in three steps:

  1. Run Skool Community Finder with a keyword and minMembers at the size you care about, and copy its communityUrl column.
  2. Paste those links into Skool community links (groupUrls) here.
  3. Sort the rows on reviewAverage and reviewCount, then compare priceAmount and postCount across the ones left.

🚧 What it does not do

  • Find communities. No search and no browsing. You bring the links, or use Skool Community Finder to get them.
  • Return members. No member lists, names or profiles. Counts only.
  • Go inside. Posts, comments, chat and classroom lessons are out. You get how many courses and modules exist, not what's in them.
  • A category. None is guessed from the description.
  • Anything behind the join wall. It reads what a visitor who isn't signed in can see.
  • More than 500 communities per run. Split a longer list across runs.
  • It is not an official Skool tool. Dami's Studio is independent and is not affiliated with or endorsed by Skool, or by any other company named on this page.

🧭 Which community scraper do you need?

If you wantUse
Skool communities you have no links for yet, by keyword, category or priceSkool Community Finder
The full record for Skool communities you have links for: owner, rating, content countsThis one
Posts from a public Facebook groupFacebook Groups Scraper
Posts from a public Telegram channelTelegram Channel Scraper
Posts from a Substack publicationSubstack Publication Scraper

❓ Questions people ask

Can it find Skool communities for me by topic?

No. It reads links you already have. Skool Community Finder searches Skool's own discovery listing.

You get a free row saying which, and the run carries on with the rest. If the link now forwards to another community, the row names that one so you can run it.

Does it return the members of a Skool community?

No. Not their names, not their profiles, not a list. The member count, online count and rating are numbers about the community.

How much can I trust the price?

It's the figure the community's own join button quotes, and on a trial it's what you pay after the trial. hasFreeTrial tells you which case you're looking at.

Can I call it from code or connect it to an AI assistant?

The API tab has code for Python, JavaScript and the CLI. MCP clients like Claude and ChatGPT use https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/skool-group-scraper; coding assistants can load our skill file. All three bill your Apify account at the same price.

These are public pages, but an owner's name and handle are personal data in many places, so keep what you need and take care republishing it. Apify's write-up on the legality of web scraping is worth reading first, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page and send the links you used and the run ID. The diagnostic rows in the dataset usually name the reason already.