{
  "openapi": "3.0.1",
  "info": {
    "title": "Coursera Scraper",
    "description": "[💰 $1.0 / 1K] Extract courses, specializations, and professional certificates from Coursera — titles, partner institutions, ratings, enrollment counts, difficulty, duration, skills, languages, and pricing. Search by keyword or paste Coursera URLs.",
    "version": "1.0",
    "x-build-id": "bsqo1NAIEjBEjMfpP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~coursera-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-coursera-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/solidcode~coursera-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-coursera-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/solidcode~coursera-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-coursera-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": {
          "searchQueries": {
            "title": "Search Queries",
            "type": "array",
            "description": "Keywords to search on Coursera, such as 'machine learning', 'project management', or 'python'. Each query is searched separately and produces its own set of results. Leave empty if you only want to use Coursera URLs below.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Coursera URLs",
            "type": "array",
            "description": "Paste one or more Coursera URLs. Accepts search result pages (e.g. https://www.coursera.org/search?query=python) and individual course or specialization pages (e.g. https://www.coursera.org/learn/machine-learning). Filters baked into a search URL are honored as-is.",
            "items": {
              "type": "string"
            }
          },
          "productTypes": {
            "title": "Product Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include these kinds of learning products. Leave empty to include every type.",
            "items": {
              "type": "string",
              "enum": [
                "course",
                "specialization",
                "professional_certificate",
                "guided_project",
                "project",
                "degree",
                "mastertrack",
                "graduate_certificate",
                "university_certificate",
                "postgraduate_diploma"
              ],
              "enumTitles": [
                "Course",
                "Specialization",
                "Professional Certificate",
                "Guided Project",
                "Project",
                "Degree",
                "MasterTrack Certificate",
                "Graduate Certificate",
                "University Certificate",
                "Postgraduate Diploma"
              ]
            },
            "default": []
          },
          "difficultyLevels": {
            "title": "Difficulty Levels",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include products at these difficulty levels.",
            "items": {
              "type": "string",
              "enum": [
                "beginner",
                "intermediate",
                "advanced",
                "mixed"
              ],
              "enumTitles": [
                "Beginner",
                "Intermediate",
                "Advanced",
                "Mixed"
              ]
            },
            "default": []
          },
          "subjects": {
            "title": "Subjects",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include products in these top-level subject areas.",
            "items": {
              "type": "string",
              "enum": [
                "data_science",
                "business",
                "computer_science",
                "information_technology",
                "health",
                "math_and_logic",
                "personal_development",
                "physical_science_and_engineering",
                "social_sciences",
                "language_learning",
                "arts_and_humanities"
              ],
              "enumTitles": [
                "Data Science",
                "Business",
                "Computer Science",
                "Information Technology",
                "Health",
                "Math and Logic",
                "Personal Development",
                "Physical Science and Engineering",
                "Social Sciences",
                "Language Learning",
                "Arts and Humanities"
              ]
            },
            "default": []
          },
          "languages": {
            "title": "Languages",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include products taught in these languages.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "es",
                "kk",
                "fr",
                "ar",
                "de",
                "pt",
                "id",
                "zh",
                "ja",
                "ru",
                "ko",
                "it",
                "hi",
                "tr",
                "uk",
                "th",
                "pl",
                "nl",
                "el",
                "sv",
                "hu",
                "vi",
                "ps",
                "uz",
                "az",
                "ur",
                "bn",
                "or",
                "ms",
                "ht",
                "ro",
                "fa",
                "km",
                "he",
                "sr",
                "ca",
                "jv",
                "af",
                "ta",
                "cs",
                "hr",
                "sk",
                "fi",
                "mn",
                "te",
                "lt",
                "bg",
                "da",
                "et",
                "lv",
                "ne",
                "my",
                "ml",
                "sq",
                "ka",
                "mr",
                "sw",
                "am",
                "so",
                "tl",
                "kn",
                "rw",
                "mk",
                "ny",
                "sl"
              ],
              "enumTitles": [
                "English",
                "Spanish",
                "Kazakh",
                "French",
                "Arabic",
                "German",
                "Portuguese",
                "Indonesian",
                "Chinese",
                "Japanese",
                "Russian",
                "Korean",
                "Italian",
                "Hindi",
                "Turkish",
                "Ukrainian",
                "Thai",
                "Polish",
                "Dutch",
                "Greek",
                "Swedish",
                "Hungarian",
                "Vietnamese",
                "Pushto",
                "Uzbek",
                "Azerbaijani",
                "Urdu",
                "Bengali",
                "Oriya",
                "Malay",
                "Haitian (Haitian Creole)",
                "Romanian",
                "Persian",
                "Khmer",
                "Hebrew",
                "Serbian",
                "Catalan",
                "Javanese",
                "Afrikaans",
                "Tamil",
                "Czech",
                "Croatian",
                "Slovak",
                "Finnish",
                "Mongolian",
                "Telugu",
                "Lithuanian",
                "Bulgarian",
                "Danish",
                "Estonian",
                "Latvian",
                "Nepali",
                "Burmese",
                "Malayalam",
                "Albanian",
                "Georgian",
                "Marathi",
                "Swahili",
                "Amharic",
                "Somali",
                "Tagalog",
                "Kannada",
                "Kinyarwanda",
                "Macedonian",
                "Nyanja",
                "Slovenian"
              ]
            },
            "default": []
          },
          "freeOnly": {
            "title": "Free Products Only",
            "type": "boolean",
            "description": "Only include products that are free to enroll. Leave off to include both free and paid products.",
            "default": false
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on the total number of products collected across all searches and URLs. Default 100 — increase for bigger runs, or set to 0 for no cap. An effective upper limit of 50,000 rows per run always applies to prevent runaway pagination. The scraper stops requesting new pages once your number is reached but keeps the full final page even if it slightly overshoots. To gather very large datasets, split a request across multiple keywords or subjects.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}