{
  "openapi": "3.0.1",
  "info": {
    "title": "Glassdoor Jobs Scraper: Salaries, Ratings & Company Data",
    "description": "Glassdoor scraper for jobs, salaries and company data. Scrape Glassdoor job listings with salary ranges (low / median / high), company ratings and sub-ratings, skills, Easy Apply and full company profiles. All 20 Glassdoor countries, 14 filters, no login. JSON, CSV, Excel. $0.40 per 1,000 jobs.",
    "version": "0.1",
    "x-build-id": "mM77scOY0zWorlBTF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/molded_mountainpass~glassdoor-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-molded_mountainpass-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/molded_mountainpass~glassdoor-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-molded_mountainpass-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/molded_mountainpass~glassdoor-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-molded_mountainpass-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": {
          "keywords": {
            "title": "Job titles or keywords",
            "type": "array",
            "description": "What to search for, e.g. \"data analyst\", \"software engineer\". Each keyword is searched in every location. Optional if you paste Glassdoor search URLs below.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, states or countries, e.g. \"New York\", \"California\", \"London\", \"India\", \"Bengaluru\". Each name is matched to Glassdoor's own location, so \"India\" means the country, not Indianapolis. Leave empty to search the whole United States.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Or paste Glassdoor search URLs",
            "type": "array",
            "description": "Search URLs copied from Glassdoor (any country site), e.g. https://www.glassdoor.com/Job/new-york-data-analyst-jobs-SRCH_IL.0,8_IC1132348_KO9,21.htm. The keyword and location are read from the URL; filters come from the options below. Run in addition to the keywords above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max jobs",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many jobs in total. You only pay for jobs you get, and the run also stops at your maximum charge per run.",
            "default": 100
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "24h",
              "3days",
              "week",
              "14days",
              "month",
              "any"
            ],
            "type": "string",
            "description": "Only jobs posted within this period. Applied by Glassdoor, so narrower periods are faster and cheaper.",
            "default": "any"
          },
          "jobType": {
            "title": "Job type",
            "type": "array",
            "description": "Employment type. One choice is applied by Glassdoor itself; with several, jobs are matched on the type Glassdoor tags them with.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            },
            "default": []
          },
          "workType": {
            "title": "Work type",
            "type": "array",
            "description": "Remote, hybrid or on-site. \"Remote\" alone is applied by Glassdoor itself. Hybrid and on-site match the jobs Glassdoor tags as such, which is about a third of listings, so these return fewer jobs.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            },
            "default": []
          },
          "experienceLevel": {
            "title": "Experience level",
            "enum": [
              "any",
              "internship",
              "entry",
              "mid-senior",
              "director",
              "executive"
            ],
            "type": "string",
            "description": "Seniority. Applied by Glassdoor itself.",
            "default": "any"
          },
          "minCompanyRating": {
            "title": "Minimum company rating",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Only jobs at employers rated at least this on Glassdoor. Applied by Glassdoor itself.",
            "default": "0"
          },
          "companySize": {
            "title": "Company size",
            "enum": [
              "any",
              "1-200",
              "201-500",
              "501-1000",
              "1001-5000",
              "5001+"
            ],
            "type": "string",
            "description": "Only jobs at companies of this size. Applied by Glassdoor itself.",
            "default": "any"
          },
          "searchRadius": {
            "title": "Search radius",
            "enum": [
              "default",
              "0",
              "5",
              "10",
              "15",
              "25",
              "50",
              "100"
            ],
            "type": "string",
            "description": "How far around a city to search. Only matters for city locations, not countries or states.",
            "default": "default"
          },
          "easyApplyOnly": {
            "title": "Easy Apply only",
            "type": "boolean",
            "description": "Only jobs you can apply to directly on Glassdoor. Applied by Glassdoor itself.",
            "default": false
          },
          "minSalary": {
            "title": "Minimum salary (per year)",
            "minimum": 0,
            "type": "integer",
            "description": "Only jobs paying at least this much per year, in the job's own currency (e.g. 100000 for USD 100k, 1200000 for INR 12 lakh). Hourly and monthly pay is converted to yearly. Jobs with no salary are skipped. 0 = any.",
            "default": 0
          },
          "salaryOnly": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Skip jobs that show no pay at all (neither employer-stated nor a Glassdoor estimate). Skipped jobs are not charged.",
            "default": false
          },
          "employerSalaryOnly": {
            "title": "Only employer-stated salaries",
            "type": "boolean",
            "description": "Only jobs whose pay range the employer published itself (salarySource EMPLOYER_PROVIDED), not a Glassdoor estimate. Implies \"Only jobs with a salary\".",
            "default": false
          },
          "hideSponsored": {
            "title": "Hide sponsored jobs",
            "type": "boolean",
            "description": "Skip paid (promoted) listings. Skipped jobs are not charged.",
            "default": false
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Leave out jobs from these employers, e.g. staffing agencies. Matched by name, case-insensitive, anywhere in the company name.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "fetchDetails": {
            "title": "Get full job details",
            "type": "boolean",
            "description": "Adds the full job description, apply link, education, years of experience, exact city / state / country with coordinates, and the company profile: size, revenue, industry, sector, type, founded year, website, headquarters, CEO and sub-ratings (culture, work-life balance, pay, career, management, CEO approval). One extra request per job, priced as a detailed job.",
            "default": false
          },
          "includeDescriptionHtml": {
            "title": "Include description HTML",
            "type": "boolean",
            "description": "Also return the full description as HTML (needs full job details).",
            "default": false
          },
          "onlyNewJobs": {
            "title": "Only new jobs",
            "type": "boolean",
            "description": "Skip jobs returned by your previous runs (remembered for 60 days). Ideal for scheduled runs: you only pay for new jobs.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave the default. Glassdoor blocks datacenter IPs, so the Actor uses Apify residential proxy for its requests; that cost is included in the price.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}