{
  "openapi": "3.0.1",
  "info": {
    "title": "Skool Posts Scraper",
    "description": "Scrape posts of any public Skool community without a login: title, full text, author with bio and social links, date, likes, comments, category, images and video links. Sort like the feed, search inside the community, date and category filters, comments included on demand.",
    "version": "0.1",
    "x-build-id": "AW6K8edkc9bKcpfw5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blueskyscraper~skool-posts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blueskyscraper-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/blueskyscraper~skool-posts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-blueskyscraper-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/blueskyscraper~skool-posts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-blueskyscraper-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",
        "properties": {
          "mode": {
            "title": "🧭 What to get",
            "enum": [
              "posts",
              "comments"
            ],
            "type": "string",
            "description": "<b>Posts</b> — a community's feed, or search inside it with <i>Keywords</i>. <b>Comments</b> — every comment and reply under posts. <b>Members</b> — people with bio, location and social links. <b>Community details</b> — members, posts, price, owner, rating, plans. <b>Find communities</b> — search Skool Discovery by keyword, category, price and language. <b>Profiles</b> — followers and the communities a person owns.",
            "default": "posts"
          },
          "communityUrls": {
            "title": "🏘️ Communities",
            "type": "array",
            "description": "Community URL or the name from its URL: <code>https://www.skool.com/the-ai-advantage</code> or <code>the-ai-advantage</code>. Public communities show posts and members to anyone; a private one shows only its About page (use <i>Community details</i>).",
            "items": {
              "type": "string"
            }
          },
          "postUrls": {
            "title": "🔗 Post URLs",
            "type": "array",
            "description": "A post in a public community: <code>https://www.skool.com/the-ai-advantage/&lt;post&gt;</code>.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "🔍 Keywords",
            "type": "array",
            "description": "<b>Find communities</b>: search terms for Skool Discovery, e.g. <code>marketing</code>, <code>real estate</code>. <b>Posts</b> and <b>Members</b>: search inside the communities above — posts about <code>n8n</code>, members whose profile mentions <code>marketing</code>.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Skool URLs",
            "type": "array",
            "description": "Any skool.com link, routed automatically: community, its About or Members page, a post, a <code>@profile</code>, or a Discovery search like <code>https://www.skool.com/discovery?q=fitness</code>.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerInput": {
            "title": "💯 Results per community, post, keyword or profile",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap for each input, not for the whole run. Find communities returns up to 1,000 per keyword (all Skool Discovery shows).",
            "default": 50
          },
          "sortBy": {
            "title": "↕️ Post order",
            "enum": [
              "newest-cm",
              "newest",
              "best-1w",
              "best-1m",
              "best-1y"
            ],
            "type": "string",
            "description": "The same sorting the community feed offers.",
            "default": "newest-cm"
          },
          "categories": {
            "title": "🗂️ Only these categories",
            "type": "array",
            "description": "Category names as the community shows them, e.g. <code>AI News</code>. A wrong name returns a free row listing the community's categories. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "postedAfter": {
            "title": "📅 Only posts after",
            "type": "string",
            "description": "<code>YYYY-MM-DD</code>. The feed is then read newest first and paging stops at this date."
          },
          "postedBefore": {
            "title": "📅 Only posts before",
            "type": "string",
            "description": "<code>YYYY-MM-DD</code>. With <i>Only posts after</i> this gives a date window."
          },
          "minLikes": {
            "title": "👍 Minimum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Drop posts with fewer likes.",
            "default": 0
          },
          "minComments": {
            "title": "💬 Minimum comments",
            "minimum": 0,
            "type": "integer",
            "description": "Drop posts with fewer comments.",
            "default": 0
          },
          "includeComments": {
            "title": "💬 Add comments under each post ($0.001 per comment)",
            "type": "boolean",
            "description": "Posts mode: after each post, its comments and replies with the commenter's bio and social links.",
            "default": false
          },
          "maxCommentsPerPost": {
            "title": "💬 Comments per post",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for comments under one post.",
            "default": 100
          },
          "includeRootPost": {
            "title": "📌 Include the post itself",
            "type": "boolean",
            "description": "Comments mode: a post row before its comments.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum rows per run",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many rows in the whole run — a hard ceiling on cost.",
            "default": 10000
          },
          "monitoringStoreName": {
            "title": "🔔 Monitoring mode — store name",
            "type": "string",
            "description": "Give the run a name (e.g. <code>new-members</code>) and every later run with the same name returns <b>only rows it has not delivered before</b> — new posts, new comments, new members. Schedule it daily; nothing is billed twice. Empty = normal run."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}