{
  "openapi": "3.0.1",
  "info": {
    "title": "Skool Scraper Pro- FREE TO USE",
    "description": "📚 FREE Skool Scraper: Discover Skool communities by keyword or category, then extract courses, lessons, posts, comments, and community feeds. 🎥 Download videos, 📎 attachments, PDFs, and resources. Automatically resumes interrupted runs.",
    "version": "0.1",
    "x-build-id": "QEjpSSgj0qyfVPpkr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dz_omar~skool-scraper-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dz_omar-skool-scraper-pro",
        "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/dz_omar~skool-scraper-pro/runs": {
      "post": {
        "operationId": "runs-sync-dz_omar-skool-scraper-pro",
        "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/dz_omar~skool-scraper-pro/run-sync": {
      "post": {
        "operationId": "run-sync-dz_omar-skool-scraper-pro",
        "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": {
          "communityUrls": {
            "title": "📚 Skool Community / Classroom URLs",
            "type": "array",
            "description": "Community, course, or lesson URLs to extract  accepts both a bare community URL and its `/classroom` page, plus anything nested under classroom. Type is detected automatically from the shape:\n\n• `skool.com/community` (bare)  full classroom, or the feed if 'Extract Community Feed' is on\n• `skool.com/community/classroom`  full classroom\n• `skool.com/community/classroom/courseId`  one course\n• `skool.com/community/classroom/courseId?md=lessonId`  one lesson\n\n🧵 Feed mode (bare URL + 'Extract Community Feed' on) respects the exact sort/filter/page you paste  e.g. `?c=&s=newest&fl=unr&p=5` starts from page 5, sorted newest, filtered to unread. Nothing is forced to a default sort; a plain bare URL with no query string pulls the feed's default order.\n\n⚠️ Standalone post URLs (`skool.com/community/postName`) and Discovery URLs are rejected here  use 💬 Comments or 🔍 Discover Communities below instead.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Skool Community / Classroom URL",
                  "description": "A skool.com community, course, or lesson URL  bare community URLs are accepted, not just /classroom ones. Post URLs and Discovery URLs are not accepted here.",
                  "type": "string",
                  "pattern": "^https?:\\/\\/(www\\.)?skool\\.com\\/(?!discovery(\\/|\\?|$))[^\\/?#]+(\\/classroom(\\/[^\\/?#]+)?)?\\/?(\\?[^#]*)?$"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "maxItemsPerSection": {
            "title": "📊 Max Items per Section",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Course/Classroom mode (an explicit `/classroom` URL, or a bare URL with 'Extract Community Feed' off): maximum lessons to pull from EACH course  every course gets its own budget, so a classroom with several courses returns this number times the course count, not this number in total.\n\nFeed mode (a bare community URL with 'Extract Community Feed' on): maximum TOTAL posts to pull from the community wall  a plain bare URL with no sort override can mean tens of thousands of posts, so this is the only thing capping that.\n\nSet high (or to 100000) to extract everything either way."
          },
          "skipLockedCourses": {
            "title": "🔒 Skip Locked Courses",
            "type": "boolean",
            "description": "Skip courses that require a membership level or VIP access you don't have. Turn off only if your credentials already unlock this content.",
            "default": true
          },
          "extractCommunityFeed": {
            "title": "🧵 Extract Community Feed",
            "type": "boolean",
            "description": "For a bare community URL (no `/classroom`): pull the post feed (the wall) instead of courses and lessons, paginating until no more posts are found. Explicit `/classroom` URLs are unaffected either way.",
            "default": false
          },
          "downloadResources": {
            "title": "📚 Lesson Resources",
            "type": "boolean",
            "description": "Download images and documents from a lesson's resources panel. Links (YouTube, extensions, etc.) are skipped. Saved as `image-{lessonId}-r{n}.{ext}` or `doc-{lessonId}-r{n}.{ext}`.",
            "default": false
          },
          "downloadVideos": {
            "title": "🎬 Videos",
            "type": "boolean",
            "description": "Download videos hosted on Skool, always at the highest quality available. Downloads increase run time on large communities.",
            "default": false
          },
          "postUrls": {
            "title": "💬 Post URLs",
            "type": "array",
            "description": "Direct post URLs only  shape `skool.com/community/postName`, e.g.:\n\n✅ `https://www.skool.com/ai-automation-society/weekly-wins-recap-june-27-july-3`\n✅ `https://www.skool.com/ai-automation-society/please-read-rules-and-guidelines`\n\n❌ Rejected: bare community, classroom/course/lesson, and Discovery URLs  use the sections above for those.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Post URL",
                  "description": "Must be a direct post link (community + one post segment)  either shape Skool itself uses: `community/postName` or `community/post/postName`. Classroom, course, lesson, bare-community, and Discovery URLs are all rejected.",
                  "type": "string",
                  "pattern": "^https?:\\/\\/(www\\.)?skool\\.com\\/(?!discovery(\\/|\\?|$))([^\\/?#]+)\\/(?:post\\/)?(?!classroom(\\/|\\?|$))([^\\/?#]+)\\/?(\\?[^#]*)?$"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "downloadAttachments": {
            "title": "📎 Post Attachments",
            "type": "boolean",
            "description": "Download images and documents attached to posts (JPG, PNG, PDF, Word, Excel). Saved to the key-value store as `image-{id}.{ext}` or `doc-{id}.{ext}`.\n\nShared toggle: applies to standalone posts fetched here in 💬 Comments AND to lesson posts extracted in 📚 Courses & Classroom above.",
            "default": false
          },
          "maxCommentsPerPost": {
            "title": "💬 Max Comments per Post",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap on comments plus replies extracted per post, combined. Set to 0 to skip comments entirely  you'll get just the post itself, with no 'comment' field. Set high (or to the post's total comment count) to get everything."
          },
          "discoveryMaxResults": {
            "title": "📊 Max Results per Search",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum communities returned per Discovery URL, Category search, or Keyword search. Set to 0 for unlimited  use with caution, as some categories return thousands of results."
          },
          "discoveryUrls": {
            "title": "🔗 Discovery Page URLs",
            "type": "array",
            "description": "Paste links copied from the Discovery page (skool.com/discovery) after applying filters in your browser.\n\nHow to get one:\n1. Go to skool.com/discovery\n2. Set any filters you want (category, price, language, sort)\n3. Copy the full URL from your browser's address bar\n4. Paste it here\n\n✅ Works: `https://www.skool.com/discovery?c=...&pr=free`, or bare `https://www.skool.com/discovery`\n❌ Rejected: any URL that isn't a Discovery page.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Discovery URL",
                  "description": "Must be a skool.com/discovery link. Community, course, lesson, and post URLs are not allowed here.",
                  "type": "string",
                  "pattern": "^https?:\\/\\/(www\\.)?skool\\.com\\/discovery\\/?(\\?.*)?$"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "categorySearches": {
            "title": "📂 Category Searches",
            "type": "array",
            "description": "Browse a category tab with the same filters as the Discovery page: Price, Visibility, Language, and Sort.",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "title": "📂 Category",
                  "type": "string",
                  "description": "Category to browse. Leave as Top for every category.",
                  "editor": "select",
                  "default": "8a7678583d3246a1a1a0a4a994321146",
                  "enum": [
                    "",
                    "8a7678583d3246a1a1a0a4a994321146",
                    "f08071afbd9746b6adb83522451cd280",
                    "2830789533b448d8812e7d5d661d776c",
                    "ce77e1a8d5824d8497921368a9328dc0",
                    "b1dae7402dda47a0b7aa51334474a158",
                    "e85018a1df484d5ea09c43c8b2764586",
                    "ca063c42092041d5a8f48dd1903a1f3b",
                    "5c00cc7aee1048588759b5504380917a",
                    "fd915e5fee4a496db1c82c527a33ef09"
                  ],
                  "enumTitles": [
                    "🏆 Top (All Categories)",
                    "🎨 Hobbies",
                    "🎸 Music",
                    "💰 Money",
                    "🙏 Spirituality",
                    "💻 Tech",
                    "🥕 Health",
                    "⚽ Sports",
                    "📚 Self-improvement",
                    "❤️ Relationships"
                  ]
                },
                "price": {
                  "title": "💵 Price",
                  "type": "string",
                  "description": "Filter by pricing. Leave as All to include every price.",
                  "editor": "select",
                  "enum": [
                    "",
                    "free",
                    "paid",
                    "free-trial"
                  ],
                  "enumTitles": [
                    "All",
                    "Free",
                    "Paid",
                    "Free Trial"
                  ],
                  "default": ""
                },
                "type": {
                  "title": "🔒 Visibility",
                  "type": "string",
                  "description": "Filter by public or private communities. Leave as All to include both.",
                  "editor": "select",
                  "enum": [
                    "",
                    "public",
                    "private"
                  ],
                  "enumTitles": [
                    "All",
                    "🌐 Public",
                    "🔒 Private"
                  ],
                  "default": ""
                },
                "language": {
                  "title": "🌍 Language",
                  "type": "string",
                  "description": "Filter by community language. Leave as All for every language.",
                  "editor": "select",
                  "default": "english",
                  "enum": [
                    "all",
                    "english",
                    "german",
                    "spanish",
                    "french",
                    "chinese",
                    "italian",
                    "dutch",
                    "vietnamese",
                    "arabic",
                    "hebrew",
                    "danish",
                    "romanian",
                    "turkish",
                    "polish",
                    "czech",
                    "hungarian",
                    "swedish",
                    "portuguese",
                    "bulgarian",
                    "norwegian",
                    "finnish",
                    "croatian",
                    "latvian",
                    "slovak",
                    "serbian",
                    "mongolian",
                    "haitian",
                    "thai",
                    "slovenian",
                    "russian",
                    "lithuanian",
                    "amharic",
                    "malay",
                    "estonian",
                    "greek",
                    "ukrainian",
                    "swahili",
                    "japanese",
                    "filipino",
                    "persian",
                    "welsh",
                    "korean",
                    "cantonese",
                    "indonesian",
                    "latin",
                    "bengali",
                    "catalan",
                    "hindi"
                  ],
                  "enumTitles": [
                    "All",
                    "English",
                    "German",
                    "Spanish",
                    "French",
                    "Chinese",
                    "Italian",
                    "Dutch",
                    "Vietnamese",
                    "Arabic",
                    "Hebrew",
                    "Danish",
                    "Romanian",
                    "Turkish",
                    "Polish",
                    "Czech",
                    "Hungarian",
                    "Swedish",
                    "Portuguese",
                    "Bulgarian",
                    "Norwegian",
                    "Finnish",
                    "Croatian",
                    "Latvian",
                    "Slovak",
                    "Serbian",
                    "Mongolian",
                    "Haitian",
                    "Thai",
                    "Slovenian",
                    "Russian",
                    "Lithuanian",
                    "Amharic",
                    "Malay",
                    "Estonian",
                    "Greek",
                    "Ukrainian",
                    "Swahili",
                    "Japanese",
                    "Filipino",
                    "Persian",
                    "Welsh",
                    "Korean",
                    "Cantonese",
                    "Indonesian",
                    "Latin",
                    "Bengali",
                    "Catalan",
                    "Hindi"
                  ]
                },
                "sort": {
                  "title": "🔃 Sort",
                  "type": "string",
                  "description": "Result order. Trending is unverified against a live URL.",
                  "editor": "select",
                  "enum": [
                    "top-v2",
                    "trending"
                  ],
                  "enumTitles": [
                    "🔥 Top",
                    "📈 Trending"
                  ],
                  "default": "trending"
                }
              },
              "required": [],
              "additionalProperties": false
            }
          },
          "keywordSearches": {
            "title": "🔍 Keyword Searches",
            "type": "array",
            "description": "Search by keyword, like typing into the Discovery search bar. Category and Sort aren't available for keyword searches on Skool.",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "title": "🔍 Keyword",
                  "type": "string",
                  "description": "Word or short phrase to search for. Keep it short  this isn't a sentence field.",
                  "editor": "textfield",
                  "maxLength": 60
                },
                "price": {
                  "title": "💵 Price",
                  "type": "string",
                  "description": "Filter by pricing. Leave as All to include every price.",
                  "editor": "select",
                  "enum": [
                    "",
                    "free",
                    "paid",
                    "free-trial"
                  ],
                  "enumTitles": [
                    "All",
                    "Free",
                    "Paid",
                    "Free Trial"
                  ],
                  "default": ""
                },
                "type": {
                  "title": "🔒 Visibility",
                  "type": "string",
                  "description": "Filter by public or private communities. Leave as All to include both.",
                  "editor": "select",
                  "enum": [
                    "",
                    "public",
                    "private"
                  ],
                  "enumTitles": [
                    "All",
                    "🌐 Public",
                    "🔒 Private"
                  ],
                  "default": ""
                },
                "language": {
                  "title": "🌍 Language",
                  "type": "string",
                  "description": "Filter by community language. Leave as All for every language.",
                  "editor": "select",
                  "default": "all",
                  "enum": [
                    "all",
                    "english",
                    "german",
                    "spanish",
                    "french",
                    "chinese",
                    "italian",
                    "dutch",
                    "vietnamese",
                    "arabic",
                    "hebrew",
                    "danish",
                    "romanian",
                    "turkish",
                    "polish",
                    "czech",
                    "hungarian",
                    "swedish",
                    "portuguese",
                    "bulgarian",
                    "norwegian",
                    "finnish",
                    "croatian",
                    "latvian",
                    "slovak",
                    "serbian",
                    "mongolian",
                    "haitian",
                    "thai",
                    "slovenian",
                    "russian",
                    "lithuanian",
                    "amharic",
                    "malay",
                    "estonian",
                    "greek",
                    "ukrainian",
                    "swahili",
                    "japanese",
                    "filipino",
                    "persian",
                    "welsh",
                    "korean",
                    "cantonese",
                    "indonesian",
                    "latin",
                    "bengali",
                    "catalan",
                    "hindi"
                  ],
                  "enumTitles": [
                    "All",
                    "English",
                    "German",
                    "Spanish",
                    "French",
                    "Chinese",
                    "Italian",
                    "Dutch",
                    "Vietnamese",
                    "Arabic",
                    "Hebrew",
                    "Danish",
                    "Romanian",
                    "Turkish",
                    "Polish",
                    "Czech",
                    "Hungarian",
                    "Swedish",
                    "Portuguese",
                    "Bulgarian",
                    "Norwegian",
                    "Finnish",
                    "Croatian",
                    "Latvian",
                    "Slovak",
                    "Serbian",
                    "Mongolian",
                    "Haitian",
                    "Thai",
                    "Slovenian",
                    "Russian",
                    "Lithuanian",
                    "Amharic",
                    "Malay",
                    "Estonian",
                    "Greek",
                    "Ukrainian",
                    "Swahili",
                    "Japanese",
                    "Filipino",
                    "Persian",
                    "Welsh",
                    "Korean",
                    "Cantonese",
                    "Indonesian",
                    "Latin",
                    "Bengali",
                    "Catalan",
                    "Hindi"
                  ]
                }
              },
              "required": [
                "keyword"
              ],
              "additionalProperties": false
            }
          },
          "email": {
            "title": "📧 Email",
            "type": "string",
            "description": "Skool account email for automatic login. Leave blank to use cookies instead."
          },
          "password": {
            "title": "🔑 Password",
            "type": "string",
            "description": "Skool account password. Required only if Email is set."
          },
          "cookies": {
            "title": "🍪 Browser Cookies",
            "type": "array",
            "description": "Fallback session cookies if login fails or isn't provided. Export with a cookie-manager extension after logging into skool.com, then paste the JSON array here."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}