{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Jobs Scraper (Pay Ranges and Ratings, No Login)",
    "description": "Scrape Glassdoor jobs with no login: title, employer, star rating, pay range (employer-provided or estimate), location, remote, Easy Apply and listing date. Each job carries the employer's US H-1B/PERM and UK visa-sponsor record. Optional full descriptions and company profiles. $0.75 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "XPatFLhMyc3EjdZUG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/locaihost~glassdoor-jobs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-locaihost-glassdoor-jobs",
        "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/locaihost~glassdoor-jobs/runs": {
      "post": {
        "operationId": "runs-sync-locaihost-glassdoor-jobs",
        "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/locaihost~glassdoor-jobs/run-sync": {
      "post": {
        "operationId": "run-sync-locaihost-glassdoor-jobs",
        "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": "Job search keywords",
            "type": "array",
            "description": "What you would type into Glassdoor's job search, e.g. \"data analyst\", \"registered nurse\". Each keyword is searched in every location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "City, state or region, e.g. \"New York, NY\", \"Austin, Texas\", \"London\", \"Remote\". Leave empty to search the whole country. We match about 7,000 places Glassdoor uses; for anywhere else, paste a Glassdoor search URL below.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "IN",
              "DE",
              "FR",
              "SG",
              "IE",
              "NL",
              "ES",
              "IT",
              "BR",
              "MX",
              "JP",
              "HK",
              "CH",
              "AE",
              "SE",
              "PL",
              "AT",
              "BE"
            ],
            "type": "string",
            "description": "The country the locations are in (and the one searched when no location is given).",
            "default": "US"
          },
          "maxResults": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many jobs in total. Glassdoor shows 30 jobs per search page; to go past that we also run the same search by date, job type, remote, Easy Apply and (US) pay band, which usually finds 100 to 300 different jobs per keyword and place.",
            "default": 100
          },
          "searchUrls": {
            "title": "Glassdoor search URLs",
            "type": "array",
            "description": "Optional. Run a job search on glassdoor.com with any filters, then paste the address here. Works for any place, including ones not in our list. Page numbers and sorting are removed: the first page of each search is read.",
            "items": {
              "type": "string"
            }
          },
          "daysPosted": {
            "title": "Posted within (days)",
            "enum": [
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only jobs posted in the last 1, 3, 7, 14 or 30 days. Other numbers round up to the next of these."
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "full-time",
              "part-time",
              "contract",
              "internship",
              "temporary"
            ],
            "type": "string",
            "description": "Only this kind of job."
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Only jobs Glassdoor lists as work from home.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs you can apply to on Glassdoor itself.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum yearly pay",
            "minimum": 0,
            "type": "integer",
            "description": "Glassdoor's own pay filter, in the country's currency per year, e.g. 90000."
          },
          "visaSponsorship": {
            "title": "Visa sponsorship",
            "enum": [
              "any",
              "only-with-evidence"
            ],
            "type": "string",
            "description": "\"only-with-evidence\" keeps jobs at employers with US H-1B/PERM filings or a UK sponsor licence under the employer's name. Every row carries the evidence either way.",
            "default": "any"
          },
          "includeSponsored": {
            "title": "Include sponsored listings",
            "type": "boolean",
            "description": "Glassdoor marks some cards as sponsored. They are real jobs, flagged sponsored: true. Turn off to leave them out.",
            "default": true
          },
          "includeDetails": {
            "title": "Full description and employer profile ($)",
            "type": "boolean",
            "description": "Adds each job's full description (text and HTML), skills, education, years of experience and map position, plus the employer's size, industry, revenue, headquarters, founding year, CEO approval and category ratings. Takes one extra page per job, so it is priced per detailed job (see How much does it cost? in the README).",
            "default": false
          },
          "companies": {
            "title": "Company profiles ($)",
            "type": "array",
            "description": "Optional. Employer names or Glassdoor company URLs. Each one returns the company's Glassdoor profile: rating, % recommend, CEO approval, category ratings, size, industry, revenue, headquarters, founded, website and description. Names are matched against employers with jobs on Glassdoor in the chosen country; a URL always works. Not-found names come back as free rows.",
            "items": {
              "type": "string"
            }
          },
          "onlyNew": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "For schedules: skip jobs an earlier run with the same search already returned (and charged). Leave off for one-off runs.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}