Skool Community Scraper avatar

Skool Community Scraper

Pricing

from $5.00 / 1,000 community scrapeds

Go to Apify Store
Skool Community Scraper

Skool Community Scraper

Scrape Skool.com communities without a login, with pricing, member counts, owner lead details and keyword discovery. Works with Apify MCP and the API.

Pricing

from $5.00 / 1,000 community scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

17 days ago

Last modified

Share

What is Skool Community Scraper?

Skool Community Scraper returns one dataset row per public Skool.com community: name, tagline, sales copy, member, admin and online counts, posts, courses and modules, monthly and annual price, affiliate percentage, join questions, and the community owner with their bio and public social links. Course creators, agencies, B2B marketers and AI agents use it to size a niche, compare paid communities and build owner lead lists, starting from community URLs or from keywords in Skool's Discovery directory. It works with no Skool account or cookie.

Why people use this Skool scraper

  • Owner as a lead. Each row carries ownerHandle, ownerUrl, ownerBio and the owner's public ownerWebsite, ownerInstagram, ownerTwitter, ownerLinkedin and ownerYoutube links when the owner lists them.
  • Pricing in one place. isPaid, priceMonthlyUsd, priceAnnualUsd and affiliatePercent show how a community makes money.
  • Size and activity. membersCount, onlineCount, postsCount, coursesCount and modulesCount show how big and how active it is.
  • Keyword discovery. searchQueries sweeps Skool's Discovery directory and tags each row with discoveryQuery and discoveryRank.
  • Two modes in one run. Mix direct communityUrls with searchQueries and get one combined dataset.

Best fit for this Actor

  • Best fit for market research on Skool communities, competitor pricing checks and owner prospecting.
  • Designed for the public community profile: counts, pricing, courses and the owner. The per-member roster stays with logged-in members of each community, so this Actor focuses on the community and its owner.
  • Use communityUrls when you already know the communities; use searchQueries to find them by topic.
  • Owners often link an Instagram profile. For follower counts and contact details, then pass the ownerInstagram handles to Instagram Profile Scraper.
  • When you want the owner's work history, continue with LinkedIn Profile Details Scraper using the ownerLinkedin links.

Example workflow: from a niche keyword to an outreach list

An agency that builds funnels for course creators starts with the keywords ai automation and real estate in searchQueries, with maxItems at 100 and enrichDetails on. The dataset returns each community's membersCount, priceMonthlyUsd, postsCount and owner links. They keep paid communities with more than 200 members, then compare price against postsCount to spot active, high-value groups. They export the owners' ownerWebsite and ownerLinkedin links to their CRM, then schedule the same input monthly to catch new communities as they appear in Discovery.

Input

Look up known communities by URL or slug:

{
"communityUrls": ["new-society", "https://www.skool.com/makerschool"],
"maxItems": 100
}

Discover communities by keyword:

{
"searchQueries": ["ai automation", "real estate"],
"enrichDetails": true,
"maxItems": 100,
"maxPagesPerQuery": 5
}
FieldTypeWhat it controls
communityUrlsarray of stringsSkool community URLs or bare slugs such as new-society.
searchQueriesarray of stringsKeywords to search Skool's public Discovery directory.
enrichDetailsbooleanAdd full profile, pricing and owner details to each Discovery result. Default true.
maxItemsintegerCap on communities saved across the run. Default 100.
maxPagesPerQueryintegerDiscovery pages per keyword, up to 34. Default 34.
proxyConfigurationobjectApify Proxy settings. Default uses Apify Proxy.

Add at least one entry in communityUrls or searchQueries.

Output

One row per community. Discovery rows also carry discoveryQuery and discoveryRank.

FieldWhat it contains
type, id, slug, url, nameCommunity identity and link
description, landingPageDescriptionTagline and full About page copy
membersCount, adminsCount, onlineCountMember, admin and online counts
postsCount, coursesCount, modulesCount, rulesCountActivity and course depth
isPaid, priceMonthlyUsd, priceAnnualUsd, currencyPricing; free communities leave the price fields empty
privacy, privacyRaw, affiliatePercentAccess model and affiliate share
joinQuestionsQuestions applicants answer to join
color, logoUrl, coverUrlBranding
ownerId, ownerHandle, ownerUrl, ownerBio, ownerLocationCommunity owner profile
ownerWebsite, ownerInstagram, ownerTwitter, ownerLinkedin, ownerYoutubeOwner's public links, when listed
source, discoveryQuery, discoveryRankHow the row was found
createdAt, updatedAt, scrapedAtCommunity dates and collection time

Example row (owner details are illustrative):

{
"type": "community",
"slug": "new-society",
"url": "https://www.skool.com/new-society",
"id": "66584e6240cc45a28d79eb60073d11b1",
"name": "New Society",
"description": "Learn to code with AI in 3 weeks",
"membersCount": 333,
"adminsCount": 4,
"onlineCount": 9,
"postsCount": 4538,
"coursesCount": 11,
"modulesCount": 218,
"rulesCount": 6,
"isPaid": true,
"priceMonthlyUsd": 77,
"priceAnnualUsd": 497,
"currency": "USD",
"privacy": "private",
"affiliatePercent": 40,
"joinQuestions": ["What video, email, or post sent you here?"],
"ownerHandle": "alex-rivera",
"ownerUrl": "https://www.skool.com/@alex-rivera",
"ownerBio": "Helping founders build with AI.",
"ownerInstagram": "https://www.instagram.com/alexrivera.example",
"ownerYoutube": "https://www.youtube.com/@alexrivera.example",
"source": "group",
"createdAt": "2024-01-26T20:36:00.755665Z",
"scrapedAt": "2026-10-01T13:37:06.412Z"
}

Pricing

This Actor uses Pay per event plus Apify platform usage. You pay one Community scraped event for each community saved, one Actor Start event per run, and the platform usage of the run. For example, a keyword sweep that saves 100 communities is 100 Community scraped events plus the start event and usage. maxItems caps the number of communities, so it doubles as a spending limit. The live Pricing tab on this page shows the current event prices.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~skool-community-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["ai automation"], "maxItems": 30, "enrichDetails": true}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/skool-community-scraper").call(run_input={"communityUrls": ["new-society"]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["name"], row["membersCount"], row.get("priceMonthlyUsd"))

Use with AI agents (MCP)

Connect the Actor to Claude, ChatGPT or Cursor through Apify MCP and ask:

Find 30 Skool communities about real estate investing. List the paid ones with their monthly price, member count and the owner's website.

The agent sends searchQueries and maxItems, reads rows with get-dataset-items, and sorts by membersCount or priceMonthlyUsd. Each community is one Community scraped event, so keep maxItems close to the number the user asked for.

Best results

Starting situationHelpful actionExpected outcome
You know the communitiesUse communityUrls with slugsFast, exact lookups
You are exploring a topicUse two or three focused searchQueriesRanked communities per keyword
You want a quick directory scanSet enrichDetails to false and lower maxPagesPerQueryLighter rows, quicker runs
You want owner contactsKeep enrichDetails on and filter on ownerWebsiteRows ready for outreach
You track a niche over timeSchedule the same searchQueriesNew communities as they appear

Builder's note

I built this around the community owner because that is who people want to reach: the owner's links ride along on every row. Direct URL lookups run over plain HTTP for speed, while Discovery search uses a real browser, so keyword sweeps take a little longer and return ranked results.

FAQ

Do I need a Skool account?

No. The Actor reads public community pages and the public Discovery directory.

Why do some rows have no price?

Free communities and some annual-only plans publish no monthly price, so those fields stay empty.

Can I combine URLs and keywords?

Yes. Rows from both modes land in the same dataset, and Discovery rows carry discoveryQuery.

Responsible use

This Actor collects data that Skool publishes publicly: community profiles and owners' public profiles. Owner links are personal data under laws such as the GDPR and CCPA, so use them with a lawful basis, follow anti-spam rules for outreach, and respect Skool's terms. Skool is a trademark of its owner; this independent Actor is not affiliated with or endorsed by Skool.