{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Jobs Scraper & API - Reliable",
    "description": "Scrape Glassdoor job listings from any country by keyword, location, date posted, job type, remote, Easy Apply, rating, salary and seniority, or from Glassdoor URLs. Salary range, company rating and profile, full description. $0.30 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "uap7mx8wUQELgT39b"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/atlasdata~glassdoor-jobs-scraper-reliable/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-atlasdata-glassdoor-jobs-scraper-reliable",
        "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/atlasdata~glassdoor-jobs-scraper-reliable/runs": {
      "post": {
        "operationId": "runs-sync-atlasdata-glassdoor-jobs-scraper-reliable",
        "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/atlasdata~glassdoor-jobs-scraper-reliable/run-sync": {
      "post": {
        "operationId": "run-sync-atlasdata-glassdoor-jobs-scraper-reliable",
        "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": {
          "keywords": {
            "title": "Keywords / job titles",
            "type": "array",
            "description": "Each entry is one Glassdoor job search (what you would type into the search box): e.g. \"nurse\", \"data analyst\", \"product manager\". Leave empty to get all jobs in a location. Required unless you paste Glassdoor URLs below.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, metro area or country as Glassdoor knows it, e.g. \"Austin, TX\", \"California\", \"London\", \"Germany\". Works for every country Glassdoor covers. Leave empty to search without a location. Type \"Remote\" (or use the Remote option) for remote jobs."
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted within this period (Glassdoor's own filter).",
            "default": "any"
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "any",
              "full-time",
              "part-time",
              "contract",
              "internship",
              "temporary"
            ],
            "type": "string",
            "description": "Glassdoor's job type filter.",
            "default": "any"
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Only jobs Glassdoor marks as remote / work from home.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs with Glassdoor Easy Apply.",
            "default": false
          },
          "minRating": {
            "title": "Minimum company rating",
            "enum": [
              "any",
              "1.0",
              "2.0",
              "3.0",
              "4.0"
            ],
            "type": "string",
            "description": "Only employers with at least this Glassdoor rating.",
            "default": "any"
          },
          "minSalary": {
            "title": "Minimum salary (yearly)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Glassdoor's salary filter, yearly amount in the local currency, e.g. 100000. Leave empty to keep all jobs."
          },
          "seniority": {
            "title": "Seniority",
            "enum": [
              "any",
              "internship",
              "entrylevel",
              "midseniorlevel",
              "director",
              "executive"
            ],
            "type": "string",
            "description": "Glassdoor's seniority filter.",
            "default": "any"
          },
          "radius": {
            "title": "Radius (miles)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Optional distance around a city. Glassdoor offers 0, 5, 10, 15, 25, 50 and 100 miles; other numbers are rounded to the nearest option. Leave empty for Glassdoor's default."
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of results, like on Glassdoor.",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many unique jobs for each keyword / URL. Glassdoor only shows a limited number of result pages per search (see README), so very broad searches may return fewer. You only pay for jobs saved.",
            "default": 50
          },
          "includeDetails": {
            "title": "Include description & company details",
            "type": "boolean",
            "description": "Full job description, exact location (city, state, country, postcode, coordinates), company website, size, revenue, type, founding year and headquarters. One extra request per 8 jobs. Same price. Turn off for the fastest list-only runs.",
            "default": true
          },
          "includeDescriptionHtml": {
            "title": "Also include description HTML",
            "type": "boolean",
            "description": "Adds the original HTML of the description (descriptionHtml).",
            "default": false
          },
          "startUrls": {
            "title": "Glassdoor search URLs",
            "type": "array",
            "description": "Optional. Paste Glassdoor job search URLs from any Glassdoor site, e.g. https://www.glassdoor.com/Job/new-york-ny-software-engineer-jobs-SRCH_IL.0,11_IC1132348_KO12,29.htm?fromAge=7. Keyword, location and the filters in the URL (fromAge, jobType, remoteWorkType, applicationType, minRating, minSalary, seniorityType, sortBy, radius) are used. Settings above fill in anything the URL does not set.",
            "items": {
              "type": "string"
            }
          },
          "maxConcurrency": {
            "title": "Max parallel requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many Glassdoor requests run at the same time.",
            "default": 4
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 2,
            "maximum": 15,
            "type": "integer",
            "description": "Blocked or failed requests are retried on a fresh proxy session.",
            "default": 12
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Glassdoor blocks datacenter IPs, so the Actor uses Apify residential proxy by default (included in the price). Change only if you know what you are doing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}