Operated by Sourcelane✓ verified
Scrape Skool communities from Discovery by keyword or category, plus community details, member lists and posts with comments. Prices, owners, member counts.
A web-scraping connector for skool.com that discovers communities by keyword, category, price or language and extracts structured community profiles, member directories, and posts with comments. It supports discovery-mode search and per-community detail extraction, member harvesting and post harvesting, producing structured records that include pricing and privacy info, membership counts, ratings and review data, owner and admin profile and social links, member profile metadata (names, bios, location, level/points, roles, activity timestamps and social links), and post content with engagement metrics, media links, author metadata and threaded comments/replies. Technical capabilities include search-driven discovery, per-community detail retrieval, pagination/continuation across runs, deep member scanning that combines multiple list views with keyword-driven member searches to expand member coverage, optional authenticated-session access to retrieve full member lists and private-community content you have access to, and an option to open long posts to fetch full text.
Verified Oct 25, 10:11 PM
$0.003
per community
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Lead generation
Find coaches, course creators and community owners in your niche, with their websites and social links
Market research
Compare pricing, member counts and ratings of communities in a category before launching your own
Competitor analysis
Track what top communities post, which posts get the most likes and comments, and how fast they grow
Audience research
See who is active in a community, their levels, bios and locations
Influencer and partner outreach
Build lists of community owners and admins to pitch sponsorships or collaborations
What to scrape.
Keyword to search Skool Discovery for, e.g.
Skool community URLs or slugs, e.g.
Optional.
Optional.
Optional.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"skool-community-scraper","params":{"mode":"discovery","maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | What to scrape. Discovery searches skool.com/discovery. The other modes take community URLs or slugs in 'Communities'. Members and posts are only visible for public communities. |
searchQuery | string | optional | Keyword to search Skool Discovery for, e.g. 'fitness' or 'real estate'. Leave empty to browse the trending list. |
category | string | optional | Limit Discovery to one category. Applies when browsing without a keyword; Skool ignores it for keyword searches. |
priceFilter | string | optional | Only return free or paid communities. |
privacyFilter | string | optional | Public communities let anyone read posts and members; private ones only show their about page. Pick 'Public only' if you plan to scrape members or posts next. |
language | string | optional | Only return communities in this language. |
sort | string | optional | Discovery ordering. Applies when browsing without a keyword. |
includeCommunityDetails | boolean | optional | Also open each community's about page to add owner (name, bio, social links), post count, online count, admin count, course count, privacy and long description. One extra request per community. |
communities | array | optional | Skool community URLs or slugs, e.g. 'https://www.skool.com/cliefnotes' or 'cliefnotes'. Used by the community, members and posts modes. |
memberSearchTerms | array | optional | Optional. Only return members whose name or bio contains one of these words, e.g. 'coach', 'realtor', 'founder'. Whole-word match, up to about 10,000 members per keyword. Leave empty to collect as many members as possible. |
deepMemberScan | boolean | optional | Without a session cookie, Skool only shows visitors 30 members per list view. When on, the connector also runs a series of member searches to collect far more members (slower on very large communities). Turn off for a quick sample of the newest and most active members. |
sessionCookie | string | optional | Optional. Your own Skool 'auth_token' cookie (from your browser's developer tools while logged in to skool.com). With it, the connector pages through the complete member list, and can read members and posts of private communities you belong to. Use your own account only. Leave empty to scrape public data without logging in. |
postSort | string | optional | Order of posts. Recent activity matches the community's default feed; Newest sorts by creation date. |
postCategory | string | optional | Optional. Only return posts from this community category, e.g. 'Wins' or 'General discussion' (name match is case-insensitive and partial). Leave empty for all posts. |
maxCommentsPerPost | integer | optional | Attach up to this many comments (including replies) to each post. 0 skips comments, which is fastest. |
fetchFullContent | boolean | optional | The feed truncates posts at about 2,000 characters. When on, long posts are opened individually to get the complete text. |
maxItems | integer | optional | Maximum number of records to return across the whole run (communities, members or posts). 0 means no limit. Capped at 100 per call. |
pageId | string | optional | Paste NEXT_PAGE_ID from the previous run's Key-value store to continue where it stopped. Works for discovery, for posts of a single community, and for members of a single community when a session cookie is set. |
Each result contains
| Field | Type | Description |
|---|---|---|
type | string | — |
postId | string | — |
slug | string | — |
url | string | — |
communitySlug | string | — |
title | string | — |
content | string | — |
categoryId | string | — |
categoryName | string | — |
likes | integer | — |
commentCount | integer | — |
isPinned | boolean | — |
imageUrl | null | — |
videoLinks | array | — |
createdAt | string | — |
updatedAt | string | — |
lastCommentAt | string | — |
author | object | — |
comments | array | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Find this creator's profiles on every social network and summarise their reach.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"skool-community-scraper","params":{"mode":"discovery","maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "skool-community-scraper",
"params": {"mode":"discovery","maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…