{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Scraper: Jobs, Reviews, Salaries & Interviews",
    "description": "Scrape Glassdoor jobs with full descriptions, employee reviews, interview reports, salary percentiles, benefits reviews and company profiles in one Actor. Glassdoor API alternative, no login, no 200-review cap. JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "sl2bymkVP9NxtoXWG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/deltaspider~glassdoor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-deltaspider-glassdoor-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/deltaspider~glassdoor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-deltaspider-glassdoor-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/deltaspider~glassdoor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-deltaspider-glassdoor-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": {
          "scrapeType": {
            "title": "What to scrape",
            "enum": [
              "jobs",
              "reviews",
              "interviews",
              "salaries",
              "companies",
              "benefits"
            ],
            "type": "string",
            "description": "Jobs come from a search. Reviews, interviews, benefits reviews and company profiles come from the companies you list. Salaries come from your companies, a job title, or both.",
            "default": "jobs"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "For jobs and title-only salary searches, the total. For company data, the limit per company. Glassdoor serves one job search only a few hundred listings deep; Deep search reaches more.",
            "default": 100
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Jobs only. Job title, skill or company to search jobs for."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state or country, for example \"New York\", \"California\" or \"Germany\". Glassdoor's first match is used and logged. Also narrows salary estimates, and picks the country for benefits (United States when empty)."
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted within this window.",
            "default": ""
          },
          "sortBy": {
            "title": "Sort jobs by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order of the job search results.",
            "default": "relevance"
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "",
              "fulltime",
              "parttime",
              "contract",
              "internship",
              "temporary"
            ],
            "type": "string",
            "description": "Only jobs of this employment type.",
            "default": ""
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Only remote jobs.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs you can apply to on Glassdoor with Easy Apply.",
            "default": false
          },
          "minRating": {
            "title": "Minimum company rating",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Only jobs at companies rated at least this high.",
            "default": ""
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 1,
            "type": "integer",
            "description": "Lowest annual pay, in the listing's currency."
          },
          "maxSalary": {
            "title": "Maximum salary",
            "minimum": 1,
            "type": "integer",
            "description": "Highest annual pay, in the listing's currency, compared with the middle of the listing's pay range (salaryMedian): the top of a range can be higher."
          },
          "companySize": {
            "title": "Company size",
            "enum": [
              "",
              "1-200",
              "201-500",
              "501-1000",
              "1001-5000",
              "5001+"
            ],
            "type": "string",
            "description": "Only jobs at companies of this size, in employees. Glassdoor's filter can place a company one band away from the size on its profile.",
            "default": ""
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Only jobs at these levels. Leave empty for every level.",
            "items": {
              "type": "string",
              "enum": [
                "internship",
                "entrylevel",
                "midseniorlevel",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Internship",
                "Entry level",
                "Mid-senior level",
                "Director",
                "Executive"
              ]
            },
            "default": []
          },
          "sectors": {
            "title": "Industry sectors",
            "type": "array",
            "description": "Only jobs at companies in these Glassdoor sectors, as job rows name them in `sector`. Leave empty for every sector.",
            "items": {
              "type": "string",
              "enum": [
                "Aerospace & Defense",
                "Agriculture",
                "Arts, Entertainment & Recreation",
                "Construction, Repair & Maintenance Services",
                "Education",
                "Energy, Mining & Utilities",
                "Financial Services",
                "Government & Public Administration",
                "Healthcare",
                "Hotels & Travel Accommodation",
                "Human Resources & Staffing",
                "Information Technology",
                "Insurance",
                "Legal",
                "Management & Consulting",
                "Manufacturing",
                "Media & Communication",
                "Nonprofit & NGO",
                "Personal Consumer Services",
                "Pharmaceutical & Biotechnology",
                "Real Estate",
                "Restaurants & Food Service",
                "Retail & Wholesale",
                "Telecommunications",
                "Transportation & Logistics"
              ]
            },
            "default": []
          },
          "radiusMiles": {
            "title": "Radius (miles)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "How far from the location to search, in miles. Glassdoor uses 25 when empty; 0 keeps to the location itself."
          },
          "hiringCompanies": {
            "title": "Hiring companies",
            "type": "array",
            "description": "Only jobs at these companies: names (\"Google\"), Glassdoor employer IDs (\"9079\") or company URLs. Names resolve like Companies and the run log shows each resolution. The run fails if none resolve.",
            "items": {
              "type": "string"
            }
          },
          "deepSearch": {
            "title": "Deep search",
            "type": "boolean",
            "description": "Glassdoor stops serving a search after a few hundred listings, whatever its total. With this on, the search is then repeated narrowed by sector, company size, seniority, job type and posting age, adding listings it had not served. In a test it reached 2,524 of 3,602 jobs, against 884 without. Takes more requests and time; same price per job.",
            "default": false
          },
          "includeJobDetails": {
            "title": "Include full job descriptions",
            "type": "boolean",
            "description": "Adds the full description (text and HTML), apply link, exact posting date, employment type, address with coordinates, and the hiring company's profile: size, revenue, HQ, website, CEO and every rating. One extra request per job, so runs take longer. Same price per job.",
            "default": false
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Required for reviews, interviews, benefits reviews and company profiles; optional for salaries. Company names (\"Google\"), Glassdoor employer IDs (\"9079\") or any Glassdoor company URL. Names resolve through Glassdoor's company search, preferring an exact name match; the run log shows each resolution.",
            "items": {
              "type": "string"
            }
          },
          "reviewsSort": {
            "title": "Sort reviews by",
            "enum": [
              "DATE",
              "DATE_ASC",
              "RATING",
              "RATING_ASC",
              "RELEVANCE"
            ],
            "type": "string",
            "description": "Order in which reviews are collected.",
            "default": "DATE"
          },
          "reviewsLanguage": {
            "title": "Review language",
            "enum": [
              "eng",
              "fra",
              "deu",
              "spa",
              "por",
              "ita",
              "nld"
            ],
            "type": "string",
            "description": "Glassdoor serves reviews one language at a time.",
            "default": "eng"
          },
          "onlyCurrentEmployees": {
            "title": "Current employees only",
            "type": "boolean",
            "description": "Reviews only.",
            "default": false
          },
          "interviewsSort": {
            "title": "Sort interviews by",
            "enum": [
              "DATE",
              "DATE_ASC",
              "DIFFICULTY",
              "DIFFICULTY_ASC",
              "RELEVANCE"
            ],
            "type": "string",
            "description": "Order in which interview reports are collected.",
            "default": "DATE"
          },
          "jobTitle": {
            "title": "Salary job title",
            "type": "string",
            "description": "Salaries only. With companies, narrows their salaries to this title. Without companies, lists every company's pay for it."
          },
          "yearsOfExperience": {
            "title": "Years of experience",
            "enum": [
              "",
              "LESS_THAN_ONE",
              "ONE_TO_THREE",
              "FOUR_TO_SIX",
              "SEVEN_TO_NINE",
              "TEN_TO_FOURTEEN",
              "ABOVE_FIFTEEN"
            ],
            "type": "string",
            "description": "Salaries only. Narrows estimates to people with this much experience.",
            "default": ""
          },
          "includeSalaryDemographics": {
            "title": "Include pay by demographic",
            "type": "boolean",
            "description": "Salaries only. Adds mean base pay by self-reported gender, race or ethnicity, birth year, sexual orientation, transgender identity, disability, veteran and parent or caregiver status. One extra request per salary row. The breakdown covers every experience level, even when Years of experience is set.",
            "default": false
          },
          "includeIndividualSalaries": {
            "title": "Include individual salaries",
            "type": "boolean",
            "description": "Salaries only, United States only. Adds up to 50 of the most recent individual salary reports for each company and job title: the submitter's title, yearly pay (base, bonus and stock, or a rounded total range), experience band, city and date. Location and Years of experience narrow them. Up to two extra requests per salary row.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Usually not needed: Glassdoor's app API answers Apify's own servers, and if it ever refuses one, the run switches to Apify Proxy by itself. Set your own proxy to use it for every request."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}