Skool API
Pricing
from $3.00 / 1,000 community profiles
Skool API
Find public Skool communities from keywords or public URLs, or look up a community by URL or public identifier. Get public profiles, visible member details, and source discovery rank when provided, with category and access filters.
Pricing
from $3.00 / 1,000 community profiles
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Share
🔎 Find Public Skool Communities
Skool API helps researchers, community managers, marketers, and developers find public Skool communities and get structured community profiles, visible member details, and health data. Use it to compare communities, inspect a public profile, or send data to another workflow. It reads only data exposed on public Skool pages and does not change communities or members.
- Find public Skool communities from keywords with the Skool Scraper example.
- Look up a public Skool community profile with the Skool API example.
- Explore public Skool plugin details with the Skool Plugins example.
- Find a clear answer about Skool with the Skool Help example.
- Plan a Skool automation with the Skool Zapier example.
📊 Public Skool Community Data
Community rows
Each community row uses resultType: "community" and can include the public name, URL, description, category, free or paid access, pricing, member and activity counts, owner, branding, update time, discovery source, discovery rank, and visible members. A field appears when the public source provides it. Visible member data includes only members or contributors shown on a public community page. It is not a full roster.
The Actor saves the first eligible community match at once. If another keyword, URL, or ID finds the same community later, that later match is ignored. discoveredFrom shows the keyword or public URL that first found the saved row.
Health rows
Health rows use resultType: "health" and report whether the Actor health check passed and which Actor version it reports.
▶️ Run a Public Skool Lookup
Choose a target
Select one task per run: discover by keywords, discover from public URLs, get a community profile, or check Actor health.
Use a direct lookup
For one known community, use its public URL or public identifier. This skips discovery and returns the profile when the public source exposes it.
Keep the run focused
Use maxItems to stop each discovery search after the number of communities you need. Leave it empty to return all available results until each source is exhausted.
Check a workflow
Use health to get a source-independent health value and Actor version before a workflow uses the data.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
target | string | Required. Choose discoverByKeywords, discoverFromUrls, getCommunityProfile, or health. |
keywords | array of strings | For keyword discovery, enter one or more words or short phrases that may find public Skool communities. |
discoveryUrls | array of URL objects | For URL discovery, add public Skool discovery or community page URLs. |
communityUrlsOrIds | array of strings | For profile lookup, enter public Skool community URLs or identifiers. |
category | string | Optional filter for both discovery targets. Leave it empty to include all categories. |
accessType | string | For both discovery targets, choose all, free, or paid. |
sortBy | string | For both discovery targets, choose popular or trending. |
maxItems | integer | Optional work limit for keyword and URL discovery. Each search stops after this many matched communities. Leave it empty to return all available results until each source is exhausted. |
Example input
This is the public input from the successful current-beta default-input discovery run:
{"target": "discoverByKeywords","keywords": ["fitness"],"accessType": "all","sortBy": "popular","maxItems": 10}
🧾 Output
The results output links to the Apify dataset. The dataset contains rows for the selected task when the source returns data. Optional fields appear only when the public source returns them.
Community result fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Identifies this as a community row. |
communityId | string | Public identifier for the community. |
name | string | Public community name. |
url | string (URL) | Public URL for the community. |
description | string | Public community description. |
category | string | Public category assigned to the community. |
accessType | string | Shows free or paid access when provided. |
pricing | object | Public pricing details when shown. |
pricing.amount | number | Public price amount. |
pricing.currency | string | Currency used for the public price. |
pricing.interval | string | Public billing interval. |
memberCount | integer | Number of members shown by the public source. |
activityCount | integer | Public count of community activity when shown. |
owner | object | Public owner details. |
owner.name | string | Public owner name. |
owner.username | string | Public owner username. |
owner.profileUrl | string (URL) | Public URL for the owner's profile. |
branding | object | Public community branding details. |
branding.logoUrl | string (URL) | Public logo URL. |
branding.coverImageUrl | string (URL) | Public cover image URL. |
branding.primaryColor | string | Public primary brand color. |
updatedAt | string (date-time) | Time supplied by Skool for the last public update when available. |
discoveredFrom | string | Keyword or public URL that first found the community in the run. |
discoveryRank | integer | Community position in public discovery results when provided. |
visibleMembers | array of objects | Members or contributors shown on the public community page. |
visibleMembers[].name | string | Public name of a visible member or contributor. |
visibleMembers[].username | string | Public username of a visible member or contributor. |
visibleMembers[].profileUrl | string (URL) | Public URL for a visible member's profile. |
visibleMembers[].role | string | Public role shown for a visible member or contributor. |
Example community row
This representative row is from the current beta run. The source did not provide every optional field, so only returned fields appear.
{"resultType": "community","communityId": "d13d6832bf6842f181719868bc3dac1e","name": "Feel Look Be® Lifestyle Ready ","url": "https://www.skool.com/feellookbeready","discoveryRank": 2,"description": "Personalised health, peptides, nutrition, fitness, data driven decisions, backed by science built for life 🧬🩸🥼📈\n \n","memberCount": 94,"updatedAt": "2026-08-27T22:17:41.122117Z","branding": {"logoUrl": "https://assets.skool.com/f/d13d6832bf6842f181719868bc3dac1e/0136941886e44880b0f77fa34ec46712bd0ef4b6835f4f718b6b97d0925bebdc.jpg","coverImageUrl": "https://assets.skool.com/f/d13d6832bf6842f181719868bc3dac1e/cf516b13ac064a4da7b827ff8405f132cb25fce1128c482cb882d81b517e7085-md.jpg","primaryColor": "#956228"},"accessType": "paid","pricing": {"amount": 1900,"currency": "usd","interval": "month"},"discoveredFrom": "fitness"}
Health result fields
| Field | Type | What it does |
|---|---|---|
resultType | string | Identifies this as a health row. |
healthy | boolean | Shows whether the Actor health check passed. |
version | string | Actor version reported by the health check. |
Example health row
This row is from the current beta run:
{"resultType": "health","healthy": true,"version": "0.0"}
💳 Pricing
Event pricing
| Event | Price | What it covers |
|---|---|---|
| Community profile | $0.003 | One public community profile returned successfully. |
| Visible member | $0.0045 | One member or contributor returned successfully from a public community page. |
Charges are tied to successfully returned matching data. The total depends on how many public profiles and visible members the run returns.
🔌 Integrations
Use the dataset
Read the structured rows through the Apify dataset API and pass the JSON data to a workflow or application. The output keeps public source URLs with the data when Skool provides them.
❓ FAQ
How do I get one community profile?
Set target to getCommunityProfile and enter a public community URL or identifier in communityUrlsOrIds.
What happens when several inputs find the same community?
The first eligible match is saved. Later matches for that same community are ignored, and discoveredFrom keeps the keyword or public URL from the first match.
Why is a field missing from a community row?
The public source did not provide that field for the community. The Actor keeps source values and does not invent missing data.
Are private Skool communities included?
No. The Actor reads publicly exposed community data only. It does not include private or account-gated content.
Can I get a full member list?
No. A community row can include members or contributors shown on its public page, but it does not provide hidden profiles or a full roster.
Can I filter discovery results?
Yes. For keyword and URL discovery, use category, choose all, free, or paid with accessType, and choose popular or trending with sortBy.
What does the health task check?
It returns a source-independent health value and the Actor version. It does not need a Skool community input.
Does the Actor change a community?
No. It reads public community data and does not create, edit, delete, like, pin, or moderate content or members.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Skool.com Scraper - Communities, Members & Pricing is useful for broader community discovery with member and pricing details.
- Skool API — Posts, Members & Classroom is useful for account-based posts, member, and classroom actions.
- Skool Community Scraper is useful for a direct public community scrape.
- Skool Communities & Courses Scraper is useful for community and course discovery.
- Skool Groups Scraper — Discovery Search is useful for keyword searches over the public group directory.
Made with ❤️ by Maxime Dupré