# Skool.com Scraper - Communities, Members & Pricing (`logiover/skool-scraper`) Actor

Scrape Skool.com communities without login. Export community data to CSV/JSON; a Skool unofficial API alternative for lead-gen and pricing research.

- **URL**: https://apify.com/logiover/skool-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Social media, Lead generation
- **Features:** Limited permissions
- **Stats:** 11 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.75 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Skool.com Scraper — Communities, Members, Pricing & Owner Leads (No API, No Login)

![Apify Actor](https://img.shields.io/badge/Apify-Actor-00A67E?logo=apify\&logoColor=white) ![No API key](https://img.shields.io/badge/No%20API%20key-required-2ea44f) ![Pay per result](https://img.shields.io/badge/Pricing-Pay%20per%20result-1C7ED6) ![Social & Community](https://img.shields.io/badge/Category-Social%20%26%20Community-8B5CF6) ![Export](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-F59E0B)

Scrape public communities from **[Skool.com](https://www.skool.com)**, the fast-growing platform where course creators and coaches run paid membership groups. Turn the Skool **discovery feed** into a clean, structured dataset — **community name, member count, monthly price, category, description, logo, cover image and discovery rank** — pulled straight from Skool's own public discovery data. **Fast, no browser overhead, no API key, no login.**

> ### 🏆 Why this Skool scraper?
>
> **18 fields per community** · **thousands of communities per run** · reads Skool's public discovery feed directly · filter by category **or** keyword · deduped by stable community `id` · export to JSON / CSV / Excel. It is **two tools in one**: a market-research **dataset** for niche sizing and pricing analysis, and a **lead engine** — every row is a paid-community owner, so one run becomes a targeted outreach list of course creators and community founders. The unofficial **Skool API alternative**.

***

### ✨ What this Actor does / Key features

- 🏘️ **Full discovery feed** — scrape every public Skool community, or narrow to a single category or keyword.
- 👥 **Member counts** — exact `memberCount` for each community, so you can size a niche or rank communities by traction.
- 💵 **Pricing intelligence** — monthly `price`, `priceCurrency`, `priceInterval` and an `isFree` flag for free vs. paid groups.
- 🏷️ **Category & rank** — the community `category` plus its `rank` in the discovery feed, ideal for competitive positioning.
- 🔎 **Two ways to filter** — pass a friendly `category` (Tech, Money, Health…) and/or a `query` keyword, **or** paste filtered discovery URLs copied straight from the site.
- 🧾 **Rich profile data** — `name`, `slug`, `url`, `description`, brand `color`, `imageUrl` (logo) and `coverImageUrl` for every group.
- 🕒 **Timestamps** — `createdAt`, `updatedAt` and `scrapedAt` so you can track growth and freshness over time.
- ⚡ **Direct HTTP extraction** — reads Skool's public discovery data; no login, no token, no API key, no GraphQL secret.
- 🛡️ **Proxy support** — Apify Proxy integration; residential proxy is the default for the highest success rate.
- 📤 **Clean structured output** — one row per community, exportable to JSON, CSV, Excel, HTML or via the Apify API.

### 🚀 Quick start (3 steps)

1. **Configure** — to scrape the whole discovery feed just set `maxResults` and run. To narrow it, add a `category` and/or `query`, or paste discovery URLs into `searchUrls`.
2. **Run** — click **Start**. The Actor paginates the discovery feed (and every matching category) and streams communities into your dataset.
3. **Get your data** — open the **Output / Dataset** tab and export to **JSON, CSV, Excel or HTML**, or pull it live via the Apify API.

### 📥 Input

Everything is optional — leave the input empty to scrape the main discovery feed. Provide a `category`, `query` or `searchUrls` to focus the run.

#### Example — scrape the whole discovery feed

```json
{
  "maxResults": 200
}
```

#### Example — biggest paid communities in a niche (category + keyword)

```json
{
  "category": "Money",
  "query": "trading",
  "maxResults": 500
}
```

#### Example — filtered discovery URLs copied from the site (lead list)

```json
{
  "searchUrls": [
    "https://www.skool.com/discovery",
    "https://www.skool.com/discovery?c=b1dae7402dda47a0b7aa51334474a158&q=ai"
  ],
  "maxResults": 1000,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `searchUrls` | array | Skool discovery / category URLs copied straight from the site. Filters in the URL (`c` category, `q` query, `price`, `sortBy`) are respected. Leave empty for the main feed. |
| `category` | string | Friendly category name — Tech, Money, Health, Hobbies, Music, Spirituality, Sports, Self-improvement, Relationships — **or** a raw Skool category id. |
| `query` | string | Keyword to search the discovery feed (e.g. `ai`, `trading`, `fitness`, `ecom`). Combine with `category` to narrow further. |
| `maxResults` | integer | Global cap across all tasks. `0` = no limit. Default `200`. |
| `useProxy` | boolean | Route requests through Apify Proxy. Residential recommended and default. |
| `proxyConfiguration` | object | Apify Proxy settings. Residential gives the highest success rate against Skool. |
| `maxConcurrency` | integer | How many discovery URLs / filters to process in parallel (1–10). |

> **Finding a discovery URL:** open [skool.com/discovery](https://www.skool.com/discovery), apply a category and/or search filter on the site, and copy the resulting URL from your browser's address bar into `searchUrls`. The Actor respects the filters encoded in the URL.

### 📤 Output

One row per Skool community — **18 fields**, exportable to JSON, CSV, Excel or HTML. Here is a trimmed sample record:

```json
{
  "id": "b51c57150c70495899bf4bc8aaee8166",
  "name": "AI Automation Society",
  "slug": "ai-automation-society",
  "url": "https://www.skool.com/ai-automation-society",
  "description": "Learn to get paid for AI solutions, regardless of your background.",
  "memberCount": 391650,
  "price": 25.00,
  "priceCurrency": "USD",
  "priceInterval": "month",
  "isFree": false,
  "category": "💻 Tech",
  "isPrivate": false,
  "rank": 3,
  "color": "#0693E3",
  "imageUrl": "https://assets.skool.com/f/…/logo.jpg",
  "coverImageUrl": "https://assets.skool.com/f/…/cover-md.jpg",
  "createdAt": "2023-03-18T16:11:17.647779Z",
  "updatedAt": "2026-06-05T15:41:31.118133Z",
  "scrapedAt": "2026-07-06T12:00:00Z"
}
```

<details>
<summary><b>📋 Full field reference (click to expand)</b></summary>

| Field | Description |
|-------|-------------|
| `id` | Skool's stable community ID |
| `name` | Community name |
| `slug` | URL slug of the community |
| `url` | Full community URL on skool.com |
| `description` | Community description / tagline |
| `memberCount` | Number of members |
| `price` | Recurring monthly price (`null` for free communities) |
| `priceCurrency` | Currency of the price (e.g. `USD`) |
| `priceInterval` | Billing interval (usually `month`) |
| `isFree` | `true` for free communities, `false` for paid |
| `category` | Community category (e.g. `💻 Tech`, `Money`) |
| `isPrivate` | Whether the community is private |
| `rank` | Position in the Skool discovery feed |
| `color` | Community brand/theme color (hex) |
| `imageUrl` | Community logo image URL |
| `coverImageUrl` | Community cover image URL |
| `createdAt` | When the community was created (ISO 8601) |
| `updatedAt` | When the community was last updated (ISO 8601) |
| `scrapedAt` | Scrape timestamp (ISO 8601) |

</details>

### 💡 Use cases

- **Creator & community-owner lead gen** — build outreach lists of paid-community owners filtered by niche, member size or price band.
- **Market & pricing research** — compare member counts and monthly prices across categories to size a niche and benchmark pricing.
- **Trend & growth tracking** — schedule daily runs and diff `memberCount` over time to watch which communities grow fastest.
- **Competitor monitoring** — track rivals' member counts, pricing changes, category and discovery rank.
- **Directories & dashboards** — power a "best Skool communities" directory, newsletter or internal BI dashboard.
- **Investment & acquisition scouting** — find fast-growing paid communities as potential partnership, sponsorship or acquisition targets.

### 👥 Who uses it

Course creators & coaches researching their niche · community builders & membership operators · agencies and freelancers doing creator outreach & lead gen · market researchers & data journalists tracking the creator economy · growth marketers benchmarking pricing and audience size · analysts and investors scouting the Skool ecosystem.

### 💰 Pricing

This Actor runs on a simple **pay-per-result** model — you pay for the communities you extract, with no separate Apify platform fees to calculate. Try it on the **free tier** first, then scale up. See the **Pricing** tab on this page for the current rate.

### ❓ Frequently Asked Questions

**Is it legal to scrape Skool.com?**
The Actor only collects publicly available community discovery data. You are responsible for using the data in compliance with Skool's terms and applicable laws such as GDPR.

**Does Skool have a public API?**
Skool does not offer an open public data API for communities, so this Actor reads the site's own public discovery data instead — giving you structured community data without any API key.

**Do I need a Skool account, login or API key?**
No. There is no Skool account, login, token or API key required — only an Apify account. The Actor reads Skool's public discovery feed.

**How do I filter by category or keyword?**
Use the `category` and `query` inputs, or apply filters on the Skool discovery page and paste the resulting URL into `searchUrls`. Both approaches work and can be combined.

**Is the `price` the monthly price?**
Yes. `price` is the recurring amount in the community's currency, with `priceInterval` (usually `month`) and an `isFree` flag. Free communities return `price: null` and `isFree: true`.

**How much data can I get?**
Set `maxResults` as high as you like (or `0` for no cap). The Actor paginates the discovery feed and every matching category until it runs out of results — thousands of communities per run.

**Is this a Skool API alternative?**
Yes. Skool has no open public communities API, so this Actor works as an unofficial Skool API alternative — it reads the public discovery data and returns structured rows you can pull on a schedule.

**Can I scrape Skool without an API or login?**
Yes. No Skool account, login or API key is needed — only an Apify account. The Actor pulls publicly available community data over direct HTTP.

**How do I export Skool community data to CSV or JSON?**
Run the Actor, then open the Output / Dataset tab and download as CSV, JSON, Excel or HTML — or pull it via the Apify API. Every community comes back as one clean row for your spreadsheet, CRM or BI tool.

**How do I find the biggest paid communities in a niche?**
Set the `category` (for example Money or Tech) and optionally a `query` keyword, then run — each community row shows its `memberCount`, monthly `price` and discovery `rank` for niche sizing.

**How do I build a lead list of Skool community owners?**
Every row in the discovery feed is a paid-community owner. Run a category or keyword search and export the results to get a targeted list of course creators and founders to reach out to.

### 🔗 More social & community scrapers by logiover

Building creator-economy datasets or lead lists? Pair the Skool scraper with the rest of the social & community suite:

| Platform | Actor |
|---|---|
| ▶️ YouTube | [YouTube Channel Scraper](https://apify.com/logiover/youtube-channel-scraper) |
| 🧵 Threads | [Threads Scraper](https://apify.com/logiover/threads-scraper) |
| 📌 Pinterest | [Pinterest Scraper](https://apify.com/logiover/pinterest-scraper) |
| 👥 Meetup | [Meetup Scraper](https://apify.com/logiover/meetup-scraper) |
| 🚀 Product Hunt | [Product Hunt Daily Launches](https://apify.com/logiover/product-hunt-daily-launches-scraper) |
| 👽 Reddit | [Reddit Subreddit Scraper](https://apify.com/logiover/reddit-search-scraper) · [Reddit Search Scraper](https://apify.com/logiover/reddit-search-scraper) |
| 📰 Substack | [Substack Newsletter Scraper](https://apify.com/logiover/substack-newsletter-scraper) |
| 💼 LinkedIn | [LinkedIn Company Scraper](https://apify.com/logiover/linkedin-company-scraper) |

👉 Browse all **[logiover scrapers on Apify Store](https://apify.com/logiover)** — 180+ actors across real estate, jobs, crypto, social media & B2B data.

### ⏰ Scheduling & integration

Schedule this Actor on Apify to track the Skool creator economy daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, CRM, BI tools and webhooks through the Apify API. Connect it to **Make, n8n or Zapier** to build automated community-research and lead-gen pipelines.

### ⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the **Issues** tab — response is usually fast. If this Actor saves you time, a **★★★★★ review** on the Store page genuinely helps and is hugely appreciated. 🙏

### ⚖️ Legal

This Actor extracts only publicly available data and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with Skool's terms of service, GDPR and any applicable local laws.

***

This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by Skool.com; Skool.com and all other trademarks mentioned here are the property of their respective owners.

### Skool.com scraping — frequently asked questions

#### Do I need a Skool.com API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

#### How do I export Skool.com data to CSV, Excel, JSON or Google Sheets?

Open the **Storage** tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

#### Can I schedule this Skool.com scraper to run daily or hourly?

Yes. Use the **Schedules** tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

#### How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

#### Is scraping Skool.com legal?

This Actor collects only information that Skool.com publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

#### What happens if Skool.com blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run **fails with the reason** instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

#### Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

### 📝 Changelog

#### 2026-11-01

- Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
- README refreshed: 1 link to renamed Actors updated, 2 links to retired Actors removed; independence disclaimer added.

#### 2026-10-15

- Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.
- The default used when the field is left out for `maxResults` is now 9,504 (was 200).

#### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 19 columns returned, 86.8% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 2 column(s) came back empty in this sample (`category`, `isPrivate`); these are under review.

#### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

#### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

#### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

#### 2026-07-06

- ✨ README overhaul: richer output sample and full field reference, ready-to-run example scenarios, social & community suite cross-links, keyword-gap FAQ, and clearer quick-start.

#### 2026-07-01

- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.

#### 2026-06-28

- Health check passed — Actor verified working end-to-end on the Apify platform.
- Changelog refreshed for Store quality compliance.

#### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.

#### 2026-06-15

- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

#### 2026-06-07

- Docs: added coverage for Skool unofficial API alternative, exporting community data to CSV/JSON, and scraping Skool without login.

***

\*Maintained: last verified 2026-11-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).

# Changelog

This Actor's version history is a separate document: https://apify.com/logiover/skool-scraper/changelog.md

# Actor input Schema

## `category` (type: `string`):

Which Skool discovery category to scrape. Choose "All categories" (default) to pull the main discovery feed of popular communities.

## `query` (type: `string`):

Optional keyword to search the Skool discovery feed (e.g. "ai", "trading", "fitness"). Combine with Category to narrow further. Leave empty to browse without a search term.

## `searchUrls` (type: `array`):

Skool discovery / category URLs copied straight from the site — e.g. https://www.skool.com/discovery or a filtered URL like https://www.skool.com/discovery?c=b1dae7402dda47a0b7aa51334474a158\&q=ai. Set your filters on the site, then paste the URL here. Optional — leave empty to scrape the main discovery feed (or use the Category / Search fields).

## `maxResults` (type: `integer`):

Stop after this many communities across all tasks. 0 = no limit.

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy. Residential is recommended and is the default.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. Residential gives the highest success rate against Skool.

## `maxConcurrency` (type: `integer`):

How many discovery URLs / filters to process in parallel.

## Actor input object example

```json
{
  "category": "",
  "query": "ai",
  "maxResults": 400,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 3
}
```

# Actor output Schema

## `results` (type: `string`):

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxResults": 400
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/skool-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxResults": 400 }

# Run the Actor and wait for it to finish
run = client.actor("logiover/skool-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxResults": 400
}' |
apify call logiover/skool-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,logiover/skool-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/WgfhvLuS1U5x4tmMj/builds/VnUSfUluM54E58ibi/openapi.json
