{
  "openapi": "3.0.1",
  "info": {
    "title": "Coursera Scraper",
    "description": "[💰 $1.00 / 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": "zVqvKoji1pU1fo0Mk"
  },
  "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 available in these languages. Coursera counts a product as available in a language when it is taught in that language or offered with subtitles in it — the results show both, so you can tell which is which.",
            "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. You are never charged for more than this number — the collector stops at exactly your cap. 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}