{
  "openapi": "3.0.1",
  "info": {
    "title": "Class Central Scraper",
    "description": "Scrape Class Central's course meta-search index - search or browse courses from Coursera, edX, Udemy, YouTube and 100+ providers. Get ratings, reviews, level, language, pricing, syllabus, and provider detail. No login required.",
    "version": "1.0",
    "x-build-id": "IfpflFkCM7RA7cmiq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~class-central-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-class-central-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/crawlerbros~class-central-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-class-central-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/crawlerbros~class-central-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-class-central-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "bySubject",
              "byProvider",
              "byUniversity",
              "collection",
              "courseDetail"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Search query (mode=search)",
            "type": "string",
            "description": "Free-text keyword search, e.g. `python`, `machine learning`, `public speaking`.",
            "default": "python"
          },
          "subjectSlug": {
            "title": "Subject (mode=bySubject; optional narrowing filter for mode=collection)",
            "enum": [
              "technology",
              "business",
              "art-and-design",
              "stem",
              "health",
              "people-and-society",
              "personal-growth-and-lifestyle",
              "cs",
              "ai",
              "data-science",
              "web-development",
              "programming-and-software-development",
              "databases",
              "information-technology",
              "devops",
              "ux",
              "generative-ai",
              "cloud-computing",
              "cybersecurity",
              "game-development",
              "product-management",
              "management-and-leadership",
              "finance",
              "entrepreneurship",
              "marketing",
              "strategic-management",
              "project-management",
              "sales",
              "business-software",
              "real-estate",
              "professional-development",
              "accounting",
              "supply-chain-management",
              "business-strategy",
              "human-resources",
              "music",
              "digital-media",
              "visual-arts",
              "design-and-creativity",
              "crafts",
              "performing-arts",
              "ai-art",
              "maths",
              "engineering",
              "science",
              "statistics",
              "chemistry",
              "physics",
              "environmental-science",
              "astronomy",
              "biology",
              "agriculture",
              "disease-and-disorders",
              "public-health",
              "health-care",
              "nursing",
              "mental-health",
              "cme",
              "medicine",
              "wellness",
              "nutrition",
              "humanities",
              "education",
              "social-sciences",
              "history",
              "literature",
              "sociology",
              "economics",
              "psychology",
              "anthropology",
              "political-science",
              "law",
              "language-learning",
              "grammar-writing",
              "philosophy",
              "religion",
              "personal-development",
              "sports",
              "personal-finance",
              "parenting",
              "food",
              "self-defense",
              "gardening",
              "productivity",
              "games",
              "study-skills",
              "travel",
              "pet-care",
              "beauty",
              "home-and-living",
              "critical-thinking",
              "conference-talks"
            ],
            "type": "string",
            "description": "Class Central's curated subject taxonomy. Required for mode=bySubject; optionally narrows mode=collection to a single subject."
          },
          "providerSlug": {
            "title": "Provider (mode=byProvider)",
            "enum": [
              "coursera",
              "udemy",
              "youtube",
              "aws-skill-builder",
              "xuetangx",
              "swayam",
              "coursehorse",
              "study-com",
              "codesignal",
              "sap-learning",
              "creativelive",
              "craftsy",
              "independent",
              "cloudskillsboost",
              "microsoft-learn",
              "openlearn",
              "freecodecamp",
              "fun",
              "datacamp",
              "openlearning",
              "udacity",
              "great-courses-plus",
              "codecademy",
              "ibm-training",
              "thaimooc",
              "canvas",
              "openwho",
              "egghead",
              "trailhead",
              "noble-desktop",
              "treehouse",
              "graduate-school-usa",
              "cybrary",
              "educacao-executiva",
              "vdci",
              "wolfram-u",
              "polimi",
              "laracasts",
              "mit-ocw",
              "teex",
              "zero-to-mastery",
              "masterclass",
              "kadenze",
              "mongodb-university",
              "unccelearn",
              "niel-asher-education",
              "iversity",
              "mitx-online",
              "openhpi",
              "symfonycasts",
              "edureka",
              "brilliant",
              "uned-abierta",
              "saylor-academy",
              "frontend-masters",
              "networking-academy",
              "semrush-academy",
              "simplilearn",
              "gacco",
              "scrimba",
              "unity-learn",
              "rwaq",
              "skillshop",
              "exercism",
              "great-learning",
              "straighterline",
              "tau",
              "cognitive-class",
              "hubspot-academy",
              "emma",
              "acumen",
              "taro",
              "ce",
              "boot-dev",
              "desire2learn",
              "trainsec",
              "worldscienceu",
              "stepik",
              "matlab-academy",
              "blender-studio",
              "edraak",
              "openclassrooms",
              "institute-of-project-management",
              "i-get-it",
              "university-of-the-people",
              "rosetta-stone",
              "anthropic-academy",
              "mooced",
              "oer-psu",
              "mru",
              "newstateu",
              "kaggle",
              "sadie-valeri-atelier",
              "babbel",
              "metared",
              "julia",
              "trainindata",
              "cxl",
              "designlab",
              "jovian",
              "the-odin-project",
              "openai-academy",
              "unihackers",
              "growthhackers"
            ],
            "type": "string",
            "description": "Course provider/platform to browse. Required for mode=byProvider."
          },
          "universitySlug": {
            "title": "University / institution (mode=byUniversity)",
            "enum": [
              "stanford",
              "harvard",
              "mit",
              "mit-opencourseware",
              "yale",
              "umich",
              "jhu",
              "illinois",
              "dartmouth",
              "duke",
              "uci",
              "ucla",
              "asu",
              "penn",
              "delft",
              "umd",
              "rice",
              "unimelb",
              "ucdavis",
              "leeds",
              "chicago",
              "peking-university",
              "epfl",
              "gatech",
              "oxford",
              "columbia",
              "macquarie",
              "uva",
              "ucsd",
              "glasgow",
              "deakin",
              "edinburgh",
              "vanderbilt",
              "nyu",
              "minnesota",
              "purdue",
              "hkust",
              "imperial",
              "brown",
              "uw",
              "u-of-london",
              "ubc",
              "taiwan",
              "university-of-queensland",
              "berkeley",
              "utoronto",
              "northwestern",
              "university-of-cambridge",
              "emory",
              "adelaide",
              "kings-college-london",
              "aachen",
              "utexas",
              "hku",
              "rutgers",
              "nanjing",
              "ucl",
              "reading",
              "leiden",
              "kuleuven",
              "erasmus",
              "national-university-of-singapore",
              "ualberta",
              "caltech",
              "sorbonne-university",
              "princeton",
              "cornell",
              "georgetown",
              "manchester",
              "griffith",
              "university-of-sheffield",
              "ethzurich",
              "lancaster",
              "strathclyde",
              "bocconi",
              "technion",
              "sydney",
              "amsterdam",
              "exeter",
              "nottingham",
              "copenhagen-business-school",
              "insead",
              "kaist",
              "yonsei",
              "seoul",
              "todai",
              "kyoto",
              "telaviv",
              "monash",
              "unsw",
              "australian-national-university",
              "tsinghua",
              "boston-university",
              "northeastern",
              "wisconsin",
              "indiana",
              "osu",
              "ufl",
              "pitt",
              "arizona",
              "casewestern",
              "davidson",
              "babson-college",
              "berklee",
              "calarts",
              "open-university"
            ],
            "type": "string",
            "description": "University or institution catalog to browse (e.g. courses affiliated with Stanford on any platform). Required for mode=byUniversity. Curated top ~100 of Class Central's 1,400+ universities; see classcentral.com/universities for the full list of slugs."
          },
          "collectionSlug": {
            "title": "Collection (mode=collection)",
            "enum": [
              "top-free-online-courses",
              "free-certificates"
            ],
            "type": "string",
            "description": "Which curated Class Central collection to scrape.",
            "default": "top-free-online-courses"
          },
          "courseUrls": {
            "title": "Course URLs (mode=courseDetail)",
            "type": "array",
            "description": "Class Central course page URLs (or `/course/...` paths) to fetch full detail for. Copy these from `courseUrl` in listing-mode output.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "level": {
            "title": "Level filter",
            "enum": [
              "beginner",
              "intermediate",
              "advanced"
            ],
            "type": "string",
            "description": "Only return courses tagged at this difficulty level (listing modes only)."
          },
          "language": {
            "title": "Language filter",
            "enum": [
              "albanian",
              "amharic",
              "arabic",
              "azerbaijani",
              "basque",
              "bengali",
              "bulgarian",
              "catalan",
              "chinese",
              "czech",
              "dutch",
              "english",
              "estonian",
              "farsi",
              "finnish",
              "french",
              "german",
              "greek",
              "gujarati",
              "hebrew",
              "hindi",
              "hungarian",
              "indonesian",
              "italian",
              "japanese",
              "kannada",
              "kazakh",
              "khmer",
              "korean",
              "lao",
              "latin",
              "macedonian",
              "malayalam",
              "marathi",
              "mongolian",
              "nepali",
              "norwegian",
              "pali",
              "pashto",
              "polish",
              "portuguese",
              "punjabi",
              "romanian",
              "russian",
              "serbian",
              "sinhala",
              "slovak",
              "somali",
              "spanish",
              "swahili",
              "swedish",
              "tagalog",
              "tajik",
              "tamil",
              "telugu",
              "tetum",
              "thai",
              "turkish",
              "ukrainian",
              "urdu",
              "vietnamese",
              "welsh"
            ],
            "type": "string",
            "description": "Only return courses taught in this language (listing modes only)."
          },
          "duration": {
            "title": "Duration filter",
            "enum": [
              "<30",
              "30-60",
              "1-2",
              "2-5",
              "5-10",
              "10+"
            ],
            "type": "string",
            "description": "Only return courses whose total effort/workload falls in this bucket (listing modes only)."
          },
          "freeOnly": {
            "title": "Free courses only",
            "type": "boolean",
            "description": "Only return courses that are free to take (listing modes only).",
            "default": false
          },
          "certificateOnly": {
            "title": "Certificate available only",
            "type": "boolean",
            "description": "Only return courses that offer a certificate of completion (listing modes only).",
            "default": false
          },
          "careerCertificateOnly": {
            "title": "Career certificates only",
            "type": "boolean",
            "description": "Only return courses offering a career/professional certificate (a stricter subset of certificateOnly, e.g. Coursera Career Certificates; listing modes only).",
            "default": false
          },
          "universityOnly": {
            "title": "University courses only",
            "type": "boolean",
            "description": "Only return courses offered by a university/academic institution (listing modes only).",
            "default": false
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Only return courses with an average rating at or above this value, on Class Central's 0-5 scale (listing modes only). Courses with no rating yet are excluded, since they cannot be shown to meet the bar."
          },
          "minReviews": {
            "title": "Minimum number of ratings",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Only return courses with at least this many ratings/reviews (listing modes only). Courses with no ratings yet are excluded."
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevancy",
              "highestRated",
              "lowestRated",
              "recentlyAdded"
            ],
            "type": "string",
            "description": "Result ordering (listing modes only).",
            "default": "relevancy"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on emitted records.",
            "default": 30
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}