# Skool Classroom Posts Scraper (`parsebird/skool-posts-scraper`) Actor

Extract Skool classroom and community data: posts, courses, comments, authors, engagement, media links, and timestamps. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/skool-posts-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 skool items

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### Skool Classroom Posts Scraper

Skool Classroom Posts Scraper extracts **Skool classroom modules, community posts, comments, media links, author details, and engagement data** from [Skool](https://www.skool.com/) groups you can access.

<table><tr>
<td style="border-left:4px solid #FCB900;padding:12px 16px;font-weight:600">
Scrape Skool classroom and community content with date filters, optional comments, optional media extraction, API access, scheduling, integrations, and JSON, CSV, or Excel export.
</td>
</tr></table>

<br>

<table>
<tr>
<td colspan="2" style="padding:10px 14px;background:#FCB900;border:none;border-radius:4px 4px 0 0">
<span style="color:#1C1917;font-size:14px;font-weight:700;letter-spacing:0.5px">ParseBird Skool Suite</span>
<span style="color:#44403C;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Research Skool groups, classrooms, and community content</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 0 4px;border-right:none;border-top:none;vertical-align:top;width:50%;background:#FFF7CC">
&nbsp;<a href="https://apify.com/parsebird/skool-posts-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Skool Classroom Posts Scraper</a><br>
<span style="color:#1C1917;font-size:11px;font-weight:600">&#10148; You are here</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:50%; background:#FFFFFF">
&nbsp;<a href="https://apify.com/parsebird/skool-community-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Skool Community Scraper</a><br>
<span style="color:#78716C;font-size:11px">Public Skool group profiles, pricing, owners, and stats</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Use Apify Actor parsebird/skool-posts-scraper to scrape Skool classroom modules, community posts, comments, media links, authors, and engagement from Skool groups I can access. Call ApifyClient(token).actor("parsebird/skool-posts-scraper").call(run_input={"startUrls":[{"url":"https://www.skool.com/ai-automation-mastery"}],"tab":"classroom","includeComments":false,"commentsLimit":20,"includeMedia":false,"maxItems":100,"cookies":[{"name":"auth_token","value":"...","domain":".skool.com","path":"/"}],"proxy":{"useApifyProxy":false}}). Key inputs: startUrls array of Skool group URLs; tab classroom/community default classroom; includeComments boolean default false; commentsLimit integer default 20; includeMedia boolean default false; itemStartDate YYYY-MM-DD optional; maxItems integer default 10000; cookies exported browser cookie array; proxy optional. Output: tab, type, title, postTitle, content, url, sourceGroupUrl, groupSlug, metadata, author/user fields, commentsCount, upvotes, courseMetaDetails, comments, media, createdAt, updatedAt, scrapedAt. API docs: https://docs.apify.com/api/client/python/ and token setup: https://console.apify.com/account/integrations.
````

### What is Skool Classroom Posts Scraper?

Skool Classroom Posts Scraper is a **Skool scraper and Skool API alternative** for exporting classroom and community content from groups your Skool account can access. It collects structured Skool data such as posts, classroom lessons, comments, media links, author details, engagement counts, and timestamps.

Use it for community research, content audits, course monitoring, AI knowledge-base ingestion, trend tracking, and recurring Skool data extraction. You can run it manually, schedule it with [Apify schedules](https://docs.apify.com/platform/schedules), call it through the [Apify API](https://docs.apify.com/api/v2), or send results to [Apify integrations](https://apify.com/integrations).

### What can Skool Classroom Posts Scraper do?

- Extract Skool classroom modules, lessons, post titles, content, course metadata, and source URLs.
- Scrape Skool community posts with content, titles, timestamps, labels, pinned status, comment counts, and upvotes.
- Include comments for each post or classroom item when `includeComments` is enabled.
- Include media URLs from Skool payloads, attachments, and video/link metadata when `includeMedia` is enabled.
- Filter newer content with `itemStartDate` for delta runs and recurring monitoring.
- Export Skool data as JSON, CSV, Excel, HTML, or XML from Apify dataset storage.
- Automate Skool scraping with API access, webhooks, scheduling, and integrations.

### What data can you extract from Skool classroom and community pages?

| Field | Description |
|-------|-------------|
| `tab`, `type` | Whether the item came from the classroom or community tab, plus item type |
| `id`, `name` | Skool item identifiers when present in the page payload |
| `title`, `postTitle`, `content` | Classroom/module titles, post titles, and text content |
| `url`, `sourceGroupUrl`, `groupSlug` | Direct item URL when available, source group URL, and group slug |
| `metadata` | Skool metadata for post content, counts, labels, pinned status, and related fields |
| `user`, `authorName`, `authorBio`, `authorPicture` | Author or user data when Skool exposes it to the logged-in account |
| `commentsCount`, `upvotes`, `pinned` | Engagement and status fields |
| `courseMetaDetails` | Course metadata for classroom items when available |
| `comments` | Comment objects when comment scraping is enabled |
| `media` | Media and attachment URLs when media extraction is enabled |
| `createdAt`, `updatedAt`, `scrapedAt` | Skool timestamps and extraction time |

### How to scrape Skool classroom posts and comments

1. Create or log in to your [Apify](https://apify.com/) account and open Skool Classroom Posts Scraper.
2. Log in to your [Skool](https://www.skool.com/) account in the browser.
3. Export your Skool cookies with a cookie management extension such as [Cookie-Editor](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm) or [EditThisCookie](https://chromewebstore.google.com/detail/editthiscookie-fork/ihfmcbadakjehneaijebhpogkegajgnk). ParseBird does not own, maintain, endorse, or provide these extensions; you can use any cookie exporter that gives you valid Skool cookies.
4. Paste the exported cookie JSON array into `cookies`.
5. Add one or more Skool group URLs in `startUrls`, for example `https://www.skool.com/ai-automation-mastery`.
6. Choose `classroom` or `community` in `tab`.
7. Turn on `includeComments` if you want comments, then set `commentsLimit`.
8. Optionally set `itemStartDate`, `includeMedia`, `maxItems`, and proxy settings.
9. Run the Actor, preview the dataset, and download results as JSON, CSV, Excel, HTML, or XML.

Useful search: https://www.youtube.com/results?search\_query=how+to+export+cookies+cookie-editor

### How much does it cost to scrape Skool?

Skool Classroom Posts Scraper uses pay-per-event pricing. One event is one Skool classroom module or community post saved to the dataset.

| Event | Price per event | Price per 1,000 |
|-------|-----------------|-----------------|
| `skool-item-scraped` | $0.0040 | **$4.00** |
| `skool-item-scraped` on Gold tier | $0.0035 | **$3.50** |

Apify free trial credits can be used where applicable. For example, a 1,000-item run costs $4.00 before Apify platform usage costs on free, bronze, and silver tiers.

### Input / Output

Common input:

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | **Yes** | - | Skool group URLs to scrape |
| `tab` | string | No | `classroom` | Choose `classroom` or `community` |
| `cookies` | array | **Yes** | - | Exported browser cookies for Skool authentication |
| `includeComments` | boolean | No | `false` | Include comments for each item |
| `commentsLimit` | integer | No | `20` | Maximum comments per item |
| `includeMedia` | boolean | No | `false` | Include media and attachment URLs |
| `itemStartDate` | string | No | - | Only save items newer than `YYYY-MM-DD` |
| `maxItems` | integer | No | `10000` | Maximum items to save |
| `proxy` | object | No | Apify Proxy off | Optional proxy settings |

Community output example:

```json
{
  "id": "aab147fa0ea4420d83e8d3a9214f5203",
  "tab": "community",
  "type": "generic",
  "title": "Roadmap Update",
  "content": "Post content here...",
  "url": "https://www.skool.com/group-name/roadmap-update",
  "groupSlug": "group-name",
  "commentsCount": 37,
  "upvotes": 50,
  "authorName": "username",
  "createdAt": "2024-11-07T23:26:18.04203Z",
  "comments": [
    {
      "id": "comment-id",
      "content": "Comment content...",
      "upvotes": 4,
      "postType": "comment"
    }
  ],
  "scrapedAt": "2026-07-04T08:00:00Z"
}
```

Classroom output example:

```json
{
  "id": "unique-module-id",
  "tab": "classroom",
  "type": "module",
  "title": "Module Title",
  "postTitle": "Specific Lecture Title",
  "content": "Module content and description...",
  "url": "https://www.skool.com/group-name/classroom/module-name",
  "groupSlug": "group-name",
  "media": ["https://www.loom.com/share/video-id"],
  "courseMetaDetails": {
    "id": "course-id",
    "name": "course-name",
    "title": "Course Title"
  },
  "scrapedAt": "2026-07-04T08:00:00Z"
}
```

Download results in JSON, CSV, Excel, HTML, or XML, or retrieve them through the [Apify API](https://docs.apify.com/api/v2).

#### Python API example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/skool-posts-scraper").call(run_input={
    "startUrls": [{"url": "https://www.skool.com/ai-automation-mastery"}],
    "tab": "classroom",
    "includeComments": False,
    "commentsLimit": 20,
    "includeMedia": False,
    "maxItems": 100,
    "cookies": [{"name": "auth_token", "value": "...", "domain": ".skool.com", "path": "/"}],
    "proxy": {"useApifyProxy": False},
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item.get("title") or item.get("postTitle"), item["url"])
```

#### JavaScript API example

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/skool-posts-scraper').call({
  startUrls: [{ url: 'https://www.skool.com/ai-automation-mastery' }],
  tab: 'community',
  includeComments: true,
  commentsLimit: 20,
  includeMedia: true,
  maxItems: 100,
  cookies: [{ name: 'auth_token', value: '...', domain: '.skool.com', path: '/' }],
  proxy: { useApifyProxy: false },
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((item) => [item.title || item.postTitle, item.url]));
```

### Is it legal to scrape Skool?

Skool Classroom Posts Scraper extracts data visible to the Skool account represented by the cookies you provide. Use scraped data responsibly, follow applicable laws, respect Skool's terms, and avoid collecting or using personal data in ways that violate privacy regulations. Read Apify's overview: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

Skool is a trademark of its owner. This Actor is independent and is not affiliated with, endorsed by, or sponsored by Skool.

### Other Skool scrapers / Related Actors

| Actor | Use case |
|-------|----------|
| [Skool Community Scraper](https://apify.com/parsebird/skool-community-scraper) | Scrape public Skool group profiles, pricing, owners, and stats |
| [Website Contact Finder](https://apify.com/parsebird/website-contact-finder) | Find public emails, phones, and social links from websites |
| [YouTube Search Scraper](https://apify.com/parsebird/youtube-search-scraper) | Search and export YouTube videos and channels |
| [Apify integrations](https://apify.com/integrations) | Send datasets to Google Sheets, Make, Zapier, webhooks, and more |

### Pricing

| Event | Price per event | Price per 1,000 |
|-------|-----------------|-----------------|
| `skool-item-scraped` | $0.0040 | **$4.00** |
| `skool-item-scraped` on Gold tier | $0.0035 | **$3.50** |

Each event is one Skool classroom module or community post saved to the dataset.

### FAQ

**Can I use this as a Skool API alternative?**
Yes. It gives you Apify scheduling, datasets, exports, API clients, webhooks, and integrations around Skool classroom and community data.

**Do I need a Skool account?**
Yes. This Actor uses exported browser cookies from your Skool session so it can access the groups your account can access.

**Do you own or recommend a specific cookie extension?**
No. ParseBird does not own or endorse cookie extensions. Cookie-Editor and EditThisCookie are examples only; any exporter that returns valid Skool cookies can work.

**Can I scrape both classroom and community content in one run?**
Each run uses one `tab` value. Run once with `classroom` and once with `community` if you need both tabs.

**Can I schedule recurring Skool scraping?**
Yes. Use [Apify schedules](https://docs.apify.com/platform/schedules) to run hourly, daily, weekly, or at a custom interval.

**Can I connect results to Google Sheets, Make, or Zapier?**
Yes. Use [Apify integrations](https://apify.com/integrations), webhooks, or the API to send Skool data into spreadsheets, dashboards, databases, or automation tools.

**Why are comments or media sometimes missing?**
Comments and media depend on the selected options, the group permissions of your Skool account, and what Skool exposes in the page or API response.

**Where do I report problems or request a field?**
Open an issue on the Actor page and include your input JSON without cookie values plus the Skool URL and tab you were trying to scrape.

# Actor input Schema

## `startUrls` (type: `array`):

Add Skool group URLs such as <code>https://www.skool.com/ai-automation-mastery</code>. The actor scrapes the selected tab for each group.

## `tab` (type: `string`):

Choose which Skool tab to scrape.

## `cookies` (type: `array`):

Paste the exported Skool cookie JSON array from your browser. Cookie values are used only for authenticated requests and are never logged by the actor.

## `includeComments` (type: `boolean`):

Turn on to fetch comments for each community post or classroom module.

## `commentsLimit` (type: `integer`):

Maximum comments to save per post or classroom item.

## `includeMedia` (type: `boolean`):

Turn on to include media URLs found in item metadata, attachments, and video link payloads.

## `itemStartDate` (type: `string`):

Optional lower date filter in YYYY-MM-DD format. Items older than this date are skipped.

## `maxItems` (type: `integer`):

Maximum number of posts or classroom items to save. Keep the prefill low for a quick preview run.

## `proxy` (type: `object`):

Optional Apify Proxy settings. Use residential proxies if Skool blocks direct traffic.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.skool.com/ai-automation-mastery"
    }
  ],
  "tab": "classroom",
  "cookies": [],
  "includeComments": false,
  "commentsLimit": 1,
  "includeMedia": false,
  "maxItems": 3,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.skool.com/ai-automation-mastery"
        }
    ],
    "tab": "classroom",
    "cookies": [],
    "includeComments": false,
    "commentsLimit": 1,
    "includeMedia": false,
    "itemStartDate": "",
    "maxItems": 3,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/skool-posts-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 = {
    "startUrls": [{ "url": "https://www.skool.com/ai-automation-mastery" }],
    "tab": "classroom",
    "cookies": [],
    "includeComments": False,
    "commentsLimit": 1,
    "includeMedia": False,
    "itemStartDate": "",
    "maxItems": 3,
    "proxy": { "useApifyProxy": False },
}

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

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.skool.com/ai-automation-mastery"
    }
  ],
  "tab": "classroom",
  "cookies": [],
  "includeComments": false,
  "commentsLimit": 1,
  "includeMedia": false,
  "itemStartDate": "",
  "maxItems": 3,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call parsebird/skool-posts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parsebird/skool-posts-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Skool Classroom Posts Scraper",
        "description": "Extract Skool classroom and community data: posts, courses, comments, authors, engagement, media links, and timestamps. Export JSON, CSV, Excel.",
        "version": "1.1",
        "x-build-id": "j029bEMxpWvCj7HDy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parsebird~skool-posts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parsebird-skool-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parsebird~skool-posts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parsebird-skool-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parsebird~skool-posts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parsebird-skool-posts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls",
                    "cookies"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Add Skool group URLs such as <code>https://www.skool.com/ai-automation-mastery</code>. The actor scrapes the selected tab for each group.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL",
                                    "description": "Skool group URL to scrape."
                                }
                            }
                        }
                    },
                    "tab": {
                        "title": "Skool tab",
                        "enum": [
                            "classroom",
                            "community"
                        ],
                        "type": "string",
                        "description": "Choose which Skool tab to scrape.",
                        "default": "classroom"
                    },
                    "cookies": {
                        "title": "Cookies",
                        "type": "array",
                        "description": "Paste the exported Skool cookie JSON array from your browser. Cookie values are used only for authenticated requests and are never logged by the actor.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "title": "Name",
                                    "description": "Cookie name."
                                },
                                "value": {
                                    "type": "string",
                                    "title": "Value",
                                    "description": "Cookie value."
                                },
                                "domain": {
                                    "type": "string",
                                    "title": "Domain",
                                    "description": "Cookie domain."
                                },
                                "path": {
                                    "type": "string",
                                    "title": "Path",
                                    "description": "Cookie path."
                                }
                            }
                        }
                    },
                    "includeComments": {
                        "title": "Include comments",
                        "type": "boolean",
                        "description": "Turn on to fetch comments for each community post or classroom module.",
                        "default": false
                    },
                    "commentsLimit": {
                        "title": "Comments limit",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum comments to save per post or classroom item.",
                        "default": 20
                    },
                    "includeMedia": {
                        "title": "Include media files",
                        "type": "boolean",
                        "description": "Turn on to include media URLs found in item metadata, attachments, and video link payloads.",
                        "default": false
                    },
                    "itemStartDate": {
                        "title": "Only newer than date",
                        "type": "string",
                        "description": "Optional lower date filter in YYYY-MM-DD format. Items older than this date are skipped."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of posts or classroom items to save. Keep the prefill low for a quick preview run.",
                        "default": 10000
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify Proxy settings. Use residential proxies if Skool blocks direct traffic."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
