{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Jobs Scraper",
    "description": "Export public Glassdoor jobs by keyword and location with job URLs, available salaries, employer ratings, posting age and description text.",
    "version": "0.2",
    "x-build-id": "wnIN4zVRusta1vt4b"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fetch_cat~glassdoor-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fetch_cat-glassdoor-jobs-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/fetch_cat~glassdoor-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fetch_cat-glassdoor-jobs-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/fetch_cat~glassdoor-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fetch_cat-glassdoor-jobs-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": {
          "startUrls": {
            "title": "Glassdoor search URLs",
            "type": "array",
            "description": "Optional public Glassdoor job-search URLs. A city ID in the path (_IC followed by digits) supplies the location ID; otherwise location is resolved from the Location field. Set keyword and country explicitly for predictable results. Other URL filters are not imported; use the supported input fields. Job-detail URLs are not a separate lookup mode.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "keyword": {
            "title": "Job keyword",
            "type": "string",
            "description": "Job title, skill, or employer to search. Used even when search URLs are supplied. With a URL and no keyword, text is inferred from its path and may be imprecise. For API calls without URLs, supply both keyword and location; form defaults do not replace runtime validation.",
            "default": "software engineer"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or country resolved on the selected country site. Required with keyword when no search URL is supplied, and needed for URLs without a city ID. With a city-ID URL, this text is retained as search context; keep it consistent with that URL.",
            "default": "New York, NY"
          },
          "country": {
            "title": "Glassdoor country site",
            "enum": [
              "US",
              "CA",
              "GB",
              "AU",
              "DE",
              "FR",
              "NL",
              "IN"
            ],
            "type": "string",
            "description": "Select the Glassdoor country site and matching managed residential proxy country. US is used when omitted. This Actor uses the managed proxy from the start; there is no direct or automatic-fallback selector, custom-proxy input or opt-out control. A search URL does not switch this country setting.",
            "default": "US"
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep jobs labeled as remote.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum unique job records to save across all searches, from 1 to 1,000. The form default and prefill are 5; the runtime fallback is 10 if no value reaches the Actor. Fewer records may be available. Each saved job triggers the item charge event.",
            "default": 5
          },
          "daysOld": {
            "title": "Maximum age in days",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Only request jobs posted within this many days.",
            "default": 30
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Keep jobs labeled Easy Apply.",
            "default": false
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "all",
              "fulltime",
              "parttime",
              "contract",
              "internship",
              "temporary"
            ],
            "type": "string",
            "description": "Accepted existing field; currently has no effect on search filtering. Use keyword text for the role you want, then inspect results. Changing this selection does not restrict employment type.",
            "default": "all"
          },
          "seniority": {
            "title": "Seniority keyword",
            "type": "string",
            "description": "Accepted existing field; currently has no effect on search filtering and is not preserved in output. Include relevant seniority words in keyword instead."
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "type": "number",
            "description": "Salary threshold sent to Glassdoor for the selected country site. Salary availability and source filtering vary; inspect returned currency, period and range. This is not a local guarantee that every returned listing has a qualifying salary."
          },
          "industry": {
            "title": "Industry",
            "type": "string",
            "description": "Accepted existing field; currently has no effect on search filtering. Industry is not populated in output."
          },
          "companySize": {
            "title": "Company size",
            "type": "string",
            "description": "Accepted existing field; currently has no effect on search filtering. Company size is not populated in output."
          },
          "minCompanyRating": {
            "title": "Minimum company rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep employers at or above this Glassdoor rating."
          },
          "includeDetails": {
            "title": "Include description text",
            "type": "boolean",
            "description": "Include description fragments already available in search results. Default true. This does not visit each job page, guarantee full descriptions, or add application URLs, company size, industry or review counts. When false, description is omitted. The diagnostics detailStatus value enriched means fragments were included.",
            "default": true
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}