Skool Group Community Infos Scraper: Top Members & Whos Online avatar

Skool Group Community Infos Scraper: Top Members & Whos Online

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Skool Group Community Infos Scraper: Top Members & Whos Online

Skool Group Community Infos Scraper: Top Members & Whos Online

Skool Group Community Infos Scraper extracts community data, including group details, top members, online members, member counts, profiles, and engagement insights. Ideal for community research, competitor analysis, audience discovery, and lead generation.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Skool Scraper — Community Snapshot, Top Members and Who's Online

Skool Group Community Infos Scraper : Top Members & And Whos Online turns a list of Skool community links into structured JSON: the group snapshot (name, member count, post count, owner), Skool's own 30-day top-member leaderboard, the live who's-online list, and the 9-level ladder with Skool's printed percent-of-members per level. Built for community managers, growth/outreach teams, and agencies auditing Skool communities for clients. No Skool login or cookies required — only the public /about page is read.

What is Skool Group Community Infos Scraper: Top Members & And Whos Online?

It's an Apify Actor that fetches each Skool group's public /about page and parses the same __NEXT_DATA__ JSON payload the page itself loads — no login, no cookies, no Skool account. One row comes back per URL or slug you supply, containing the community snapshot plus three "people" layers read off that same request at no extra request cost: the 30-day leaderboard, who's online right now, and the level ladder. Output lands in an Apify Dataset, exportable as JSON, CSV, Excel, or XML.

  • 🔗 Discovery is URL/slug-based — paste one Skool community link or bare slug per line; each becomes its own dataset row
  • 🏆 30-day top-member leaderboard — real names, constructed profile links, avatars, rank and points, exactly as Skool ranks them
  • 🟢 Live who's-online list — actual people currently online, not just the headcount
  • 🪜 9-level ladder — level number, name, title, and the % of members Skool itself prints per level (never recomputed)
  • 🎚️ Three on/off toggles (includeTopMembers, includeOnlineMembers, includeLevels) plus one volume cap (maxMembersPerList, 1–100) to control exactly how much of the people data you pull
  • 🛡️ Optional proxy escalation — direct request first, then datacenter, then residential with retries, only if a page is slow to load

⚠️ The leaderboard, online list, and level ladder only exist on communities that have Skool's points/gamification system switched on. When it's off, those three arrays come back empty — the Actor never guesses or fills them in.

What data can I extract with Skool Group Community Infos Scraper: Top Members & And Whos Online?

Every dataset row can carry the full community snapshot, the owner record, and the three people layers below — all exact JSON keys from the source code.

FieldExample ValueUse Case
slug"content-academy"Stable identifier per community
url"https://www.skool.com/content-academy/about"The page actually fetched
group_id"29dd..."Skool's internal group ID
group_name"Content Academy"Display name
group_description"Learn to grow a YouTube channel..."Positioning / niche research
group_image"https://cdn.skool.com/...jpg"Cover or logo image
group_created_at"2021-05-14T09:00:00.000Z"Community age
group_updated_at"2026-08-01T12:00:00.000Z"Last profile edit
total_members18420Community size
total_online_members212Skool's real live-online total (always accurate, independent of maxMembersPerList)
total_posts9310Activity volume
total_admins4Moderation team size
privacy1Skool's own privacy code for the group
map_enabled"N/A"Static placeholder — not populated from Skool's page data
membership2Skool's own membership-type code
num_courses6Classroom depth
num_modules41Classroom depth
tabs{...}Skool's own tab configuration for the group (structure defined by Skool, passed through as-is)
survey{...}Skool's own onboarding-survey configuration (passed through as-is)
owner{id, name, email, location, bio, picture_profile, created_at, updated_at}Full owner record
owner_name"Jane Founder"Flattened owner name for quick sorting
topMembers30d[{...}]30-day leaderboard, capped at maxMembersPerList
topMembersUpdatedAt"2026-08-15T00:00:00.000Z"When Skool last refreshed the leaderboard snapshot
onlineMembers[{...}]Who's online right now, capped at maxMembersPerList
levels[{...}]The 9-level ladder
error"page not reachable — try optional proxy in input"Present only on failed rows

👥 The people layer: leaderboard, who's online, and levels

This is the differentiator over a plain group snapshot. topMembers30d[] items carry {id, name, profileUrl, pictureBubble, rank, points} — read from renderData['30D'], Skool's own ranking, the only leaderboard window it ships on this page (no 7-day or all-time view exists there). onlineMembers[] items carry {id, name, profileUrl, pictureBubble} — the actual roster behind the total_online_members count. levels[] items carry {number, name, title, percentOfMembers}, with percentOfMembers copied verbatim from Skool, never recalculated. profileUrl is built client-side as https://www.skool.com/@{name} — it's derived, not a URL Skool returns directly in the payload.

🎯 Community targeting fields

privacy, membership, num_courses, num_modules, total_members, and total_posts are the fields you segment communities on once several rows are in your dataset — e.g. sort by total_members to prioritize large communities, or by num_courses/num_modules to find classroom-heavy ones worth studying. owner gives the contact/identity signal (name, email, location, bio) for the person who runs each community.

How does Skool Group Community Infos Scraper: Top Members & And Whos Online differ from the official Skool API?

Skool does not publish an official, documented public API — there's no developer portal, no OAuth flow, no /api/v1/... endpoints with published rate limits. The only official programmatic surface Skool exposes is Stripe webhooks for payment events, which return nothing about group profiles, members, or leaderboards.

Why not build this yourself?

Without an official API, getting this data any other way means driving a headless browser through Skool's /about page, handling its __NEXT_DATA__ payload format, managing Skool's own anti-bot responses (403/429/502/503), and re-deriving the leaderboard/online/level parsing logic from scratch — then maintaining all of it every time Skool changes its page structure. This Actor already does that parsing and ships the retry-and-proxy-escalation logic (direct → datacenter → residential) so a blocked request doesn't fail your whole run.

Build it yourself only if you need to scrape Skool pages beyond /about (posts, classroom content, individual member profiles) that this Actor doesn't cover. For the group snapshot plus the 30-day leaderboard, who's-online list, and level ladder, this Actor is the faster path.

How to use data extracted from Skool Group Community Infos Scraper: Top Members & And Whos Online?

📣 Community managers and growth teams

Paste your own community's URL (or a partner community's) with includeTopMembers and includeOnlineMembers on, and maxMembersPerList set to 100. The resulting topMembers30d[] gives you real names and profile links to recognize or re-engage top contributors; onlineMembers[] shows who's active right now for timing announcements or live Q&A pings. levels[] shows where your member base actually sits on Skool's own ladder.

🏢 Agencies auditing communities for clients

Run the full urls list for every community a client runs or competes with, on a schedule, with all three toggles on. Each run is a fresh row per community — compare total_members, total_posts, and levels[].percentOfMembers across runs to show clients whether engagement and level distribution are moving, without needing access to any of those Skool accounts.

📊 Market research and intelligence

Feed in a list of Skool communities in a niche (course creators, coaches, SaaS communities) and compare total_members, num_courses, num_modules, and owner.bio across rows to map how mature each community's offer is, or which ones lean on live engagement (total_online_members) versus static content.

🤖 AI agents and automated pipelines

Because this Actor returns clean, consistent JSON per community, it drops directly into an agent tool that answers "who are the top members in this Skool community right now" or "is anyone online in this community" without the agent needing to touch Skool's HTML itself.

🔼 Input sample

urls is the only required field. Everything else has a default.

ParameterRequiredTypeDescriptionExample Value
urlsYesarray (stringList)Skool community/group links or bare slugs, one per line. Each becomes its own dataset row.["https://www.skool.com/content-academy/about", "thatpickleballschool"]
includeTopMembersNobooleanInclude the 30-day top-member leaderboard (renderData['30D']). Empty on communities without gamification. Default true.true
includeOnlineMembersNobooleanInclude the live who's-online list (currentGroup.onlineUsers). Default true.true
includeLevelsNobooleanInclude the 9-level ladder with Skool's printed percent-of-members. Empty on communities without gamification. Default true.true
maxMembersPerListNointeger (1–100)Caps how many people are written to topMembers30d and onlineMembers per community. Doesn't change total_online_members or select a different leaderboard window. Default 10.25
proxyConfigurationNoobject (proxy editor)Optional Apify Proxy. Actor tries a direct request first, then falls back to proxy only if needed. Default {"useApifyProxy": false}.{"useApifyProxy": true}
retryLimitNointeger (0–10)Retries per HTTP request on connection errors, not on missing data. Default 3.3
maxRetriesNointeger (0–10)Base-compatible alias for retryLimit — kept so input JSON from the standard Skool Group / Community Infos Scrape runs unchanged here. If both are set, retryLimit wins. Default 3.3
{
"urls": [
"https://www.skool.com/content-academy/about",
"thatpickleballschool"
],
"includeTopMembers": true,
"includeOnlineMembers": true,
"includeLevels": true,
"maxMembersPerList": 25,
"proxyConfiguration": {
"useApifyProxy": false
},
"retryLimit": 3
}

Common pitfall: maxMembersPerList only trims how many people are written to topMembers30d/onlineMembers — it does not switch to a different leaderboard window (Skool only ships the 30-day one on /about) and never changes total_online_members, which is always Skool's real total. Also note: the Actor charges one row_result event per dataset row regardless of these toggles — turning a layer off shrinks the JSON, not the price.

🔽 Output sample

One dataset row per input URL/slug, pushed live as each community finishes — typed, consistent JSON, exportable as JSON, CSV, Excel, or XML from the Dataset view.

{
"slug": "content-academy",
"url": "https://www.skool.com/content-academy/about",
"group_id": "29dd4a12-58e0-4a11-9c3a-7e2f6b1c0a10",
"group_name": "Content Academy",
"group_description": "Learn to grow a profitable YouTube channel with weekly coaching calls and templates.",
"group_image": "https://cdn.skool.com/content-academy/cover-big.jpg",
"group_created_at": "2021-05-14T09:00:00.000Z",
"group_updated_at": "2026-08-01T12:00:00.000Z",
"total_members": 18420,
"total_online_members": 212,
"total_posts": 9310,
"total_admins": 4,
"privacy": 1,
"map_enabled": "N/A",
"membership": 2,
"num_courses": 6,
"num_modules": 41,
"tabs": {},
"survey": {},
"owner": {
"id": "usr_88213",
"name": "Jane Founder",
"email": "jane@contentacademy.com",
"location": "Austin, TX",
"bio": "Building the biggest YouTube growth community on Skool.",
"picture_profile": "https://cdn.skool.com/avatars/jane.jpg",
"created_at": "2021-05-14T09:00:00.000Z",
"updated_at": "2026-07-20T08:30:00.000Z"
},
"owner_name": "Jane Founder",
"topMembers30d": [
{
"name": "Alex Rivera",
"profileUrl": "https://www.skool.com/@Alex-Rivera",
"pictureBubble": "https://cdn.skool.com/avatars/alex.jpg",
"id": "usr_10234",
"rank": 1,
"points": 1840
}
],
"topMembersUpdatedAt": "2026-08-15T00:00:00.000Z",
"onlineMembers": [
{
"name": "Priya Nair",
"profileUrl": "https://www.skool.com/@Priya-Nair",
"pictureBubble": "https://cdn.skool.com/avatars/priya.jpg",
"id": "usr_55210"
}
],
"levels": [
{
"number": 1,
"name": "Level 1",
"title": "New Member",
"percentOfMembers": 22.5
}
]
}

On a failed row, only slug, url, group_name (empty), owner_name (empty), and error are present — the community and people fields are omitted from that row rather than sent as empty/null.

How do you filter and target specific communities?

There's no free-text or category search in this Actor — you already name the exact communities you want in urls, so there's no fuzzy-match risk to manage. Targeting instead happens through three controls: which people layers to pull, how many people per layer, and how the request gets through.

  1. Community selection is exact — every row in urls becomes one dataset row for that exact community. Bulk-paste as many links or slugs as you need; there's no discovery step to mistune.
  2. Data-layer toggles (includeTopMembers, includeOnlineMembers, includeLevels) — turn off layers you don't need to keep the JSON lean, e.g. skip onlineMembers if you only care about the static snapshot and leaderboard.
  3. Volume control (maxMembersPerList, 1–100) — sets how deep into the leaderboard and online list each row goes, independent of total_members and total_online_members, which always reflect Skool's real totals.
  4. Reachability control (proxyConfiguration, retryLimit) — turn on proxy only if a run is hitting blocked pages; the Actor tries a direct request first either way.
{ "urls": ["https://www.skool.com/content-academy/about"] }
{
"urls": ["https://www.skool.com/content-academy/about"],
"includeTopMembers": true,
"includeOnlineMembers": false,
"includeLevels": false
}
{
"urls": ["https://www.skool.com/content-academy/about"],
"maxMembersPerList": 100,
"proxyConfiguration": { "useApifyProxy": true }
}

▶️ Want to try other Skool scrapers?

There isn't yet a second Skool Actor published under this account — for other membership/community platforms, these are the closest fits:

Scraper NameWhat it extracts
Reddit Scraper: User Profiles & Subreddit ActivityA Reddit user's profile, full post/comment history, and which subreddits they're actually active in
Patreon Scraper By Patron & Earnings FiltersPatreon creators filtered by minimum paying members, monthly earnings, posts, and entry-tier price
Facebook Reviews Scraper — Headlines, Tags & Reviewer DetailPublic Facebook page reviews with headline, tag labels, and reviewer identity detail

How to extract Skool data programmatically

This Actor runs like any Apify Actor: one API call with your Apify token, JSON input, JSON dataset back — no separate Skool credentials.

Python example

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("<your-username>/skool-group-community-infos-scrape-top-members-and-whos-online").call(
run_input={
"urls": ["https://www.skool.com/content-academy/about"],
"includeTopMembers": True,
"includeOnlineMembers": True,
"maxMembersPerList": 25,
}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["group_name"], row["total_members"], len(row.get("topMembers30d", [])))

MCP for AI agents

Apify's hosted MCP server (https://mcp.apify.com) or the local npx -y @apify/actors-mcp-server package (with an APIFY_TOKEN environment variable) exposes this Actor as a callable tool to any MCP client, including Claude Desktop and Claude Code. A useful agent workflow: have the agent pull topMembers30d and onlineMembers for a community before drafting a personalized outreach or re-engagement message.

Export to spreadsheets or CRM

Export the Dataset as CSV directly from the Apify Console. Map group_name → Community, owner_name/owner.email → Contact, total_members/total_posts → sizing columns, and topMembers30d/onlineMembers → a separate "People" sheet if your CRM needs one row per person rather than per community.

Scraping the publicly accessible parts of Skool's /about pages is generally lawful — these pages are published without a login wall specifically to be discovered. The community-level fields (group_name, total_members, total_posts, privacy, membership, course counts) are business/product data, governed by Skool's Terms of Service and database-rights norms rather than privacy law. However, owner (name, email, bio, location), topMembers30d, and onlineMembers are personal data about identifiable individuals — collecting and storing them falls under GDPR/CCPA, and you need a lawful basis before storing or reusing that data at scale. Consult legal counsel for commercial applications involving bulk storage of personal data.

❓ FAQ

How fresh is the "who's online" list?

onlineMembers is a live snapshot of currentGroup.onlineUsers at the exact moment the page was fetched — it is not polled continuously. Run the Actor again for a fresh read. total_online_members, separately, is always Skool's own real total regardless of the snapshot.

Can I get the leaderboard and level ladder along with the community snapshot?

Yes — includeTopMembers, includeOnlineMembers, and includeLevels are all on by default and read from the same single /about request already made for the base snapshot, at no extra request cost. Each is capped per community by maxMembersPerList (1–100, default 10).

How accurate is the leaderboard rank and level percentage data?

The Actor returns rank, points, and percentOfMembers exactly as Skool prints them on the page at request time — none of it is recalculated. profileUrl is the one derived field: it's constructed from the member's name as https://www.skool.com/@{name}, not a URL Skool returns directly.

How many records can I get per run?

There's no cap on how many community urls you can queue in one run — paste as many links or slugs as you need. The only numeric cap is maxMembersPerList (1–100, default 10), which limits people per community in topMembers30d and onlineMembers, not the number of communities.

What happens if a community doesn't have gamification switched on?

⚠️ topMembers30d and levels come back as empty arrays — Skool only populates the 30-day leaderboard and level ladder on communities with its points/gamification system switched on. onlineMembers is unaffected and still returns whoever is online, since that list doesn't depend on gamification. Nothing is guessed or backfilled in either case.

Am I charged for rows that fail?

⚠️ Yes. Every dataset row — including error rows with error set — is charged as one row_result event, the same as a successful row. There's no separate uncharged accounting event for failures.

Does Skool Group Community Infos Scraper: Top Members & And Whos Online work with Claude, ChatGPT, and AI agent frameworks?

Yes, two ways: through Apify's MCP server (https://mcp.apify.com hosted, or npx -y @apify/actors-mcp-server locally) for MCP clients like Claude Desktop and Claude Code, or as a plain HTTP endpoint callable by any agent framework via the Apify API.

How does this compare to other Skool scrapers?

As observed on the Apify Store on 2026-08-16: Louis Deconinck's Skool Scraper is a $19/month rental that requires valid Skool.com cookies for login-gated data; memo23's SKOOL Members/Groups Discovery Scraper is pay-per-event at $2.50 per 1,000 members and also requires Skool authentication cookies; sajjadalikalhoro13's Skool Members Scraper charges $5.00 per 1,000 results for member data alone. This Actor reads only the public /about page — no Skool cookies or account needed — and is the only one of the four that returns the 30-day leaderboard, live who's-online list, and level ladder together with the community snapshot in one row.

Can I use this Actor without a Skool account or API key?

Yes. Skool has no official public API to hold a key for, and this Actor doesn't need one either — it reads the public /about page directly. You only need an Apify account to run it; proxyConfiguration is optional and off by default.

Conclusion

Skool Group Community Infos Scraper : Top Members & And Whos Online turns a list of Skool community links into a single structured dataset row per community — group snapshot, owner, 30-day leaderboard, live who's-online list, and level ladder, all from one public page request and no Skool login. It's built for community managers tracking their own engagement, agencies auditing communities for clients, and researchers comparing communities in a niche. Start a run with your urls list on the Actor page in Apify Console, or call it through the Apify API or MCP from your own pipeline.