{
  "openapi": "3.0.1",
  "info": {
    "title": "🔥 Glassdoor jobs scraper",
    "description": "ℹ️ Elevate your job search with the sleek Glassdoor Scraper for Apify. Tailor-made for the modern job seeker, it's your secret weapon in the job market. Dive into a world of opportunities with custom searches, precise filtering. Fast, efficient, and incredibly user-friendly  🚀✨",
    "version": "0.1",
    "x-build-id": "L6EbQ2mCbMdg3Kx0p"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/bebity~glassdoor-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-bebity-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/bebity~glassdoor-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-bebity-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/bebity~glassdoor-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-bebity-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": {
          "keyword": {
            "title": "🔎 Job title or keywords",
            "type": "string",
            "description": "What kind of job are you looking for? For example: Software Engineer, Registered Nurse, Account Manager."
          },
          "matchTitle": {
            "title": "🎯 Title match",
            "enum": [
              "off",
              "loose",
              "strict"
            ],
            "type": "string",
            "description": "Optional filter on the job title itself, applied after Glassdoor returns its results. Off (default): you get every job Glassdoor considers a match for your keyword — a \"Web developer\" search keeps Full Stack Engineer, Frontend Engineer and the rest. Strict: only jobs whose title contains every word of your keyword — precise, but it discards most real matches, so pick it only when you want literal titles. Loose: the title must contain at least one of your words. Skipped jobs are reported at the end of the run and are never charged. Ignored when you search by company or by job ID.",
            "default": "off"
          },
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "City, state or country. For example: New York, California, United States. We match it against Glassdoor's own location list."
          },
          "searchUrls": {
            "title": "🔗 Glassdoor search URLs",
            "type": "array",
            "description": "Already built a search on Glassdoor? Paste the result page URLs here and we'll read the filters straight from them.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companyName": {
            "title": "🏢 Company name",
            "type": "string",
            "description": "Only return jobs posted by this company. For example: Apple, Thomson Reuters."
          },
          "excludeCompanies": {
            "title": "🚫 Exclude employers",
            "type": "array",
            "description": "Employers you never want to see, one per line. A job is left out when its company name contains what you type, so \"Amazon\" also removes \"Amazon.com Services LLC\" — but \"Apple\" leaves \"Applebee's\" alone. Excluded jobs never reach your dataset, and the run keeps going until it hits your maximum.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "jobIds": {
            "title": "🆔 Job IDs or job URLs",
            "type": "array",
            "description": "Refresh jobs you already know about. Skips searching entirely and fetches these listings directly.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 1,
            "type": "integer",
            "description": "How many jobs to return. Note: one Glassdoor search stops serving new results well before the total it reports finding, so asking for far more than a single search can deliver will not return more. We warn you in the log when that looks likely, and tell you at the end exactly how many the search reached. To collect more, split it into several narrower runs (by posted date, salary band, location or industry) and combine the results.",
            "default": 200
          },
          "scrapeDetails": {
            "title": "Fetch full job descriptions (slower)",
            "type": "boolean",
            "description": "On (default): every job carries its full description text. Off: everything else — job title, company, location, salary range, apply link, employment type, posting date, the complete company profile (size, industry, revenue, year founded, HQ, website) and all 10 detailed ratings. This does not change what you pay: the description is included in the price of a job either way. It does cost one extra request per job, so turning it off makes a run several times faster — turn it off whenever you don't need the description text itself.",
            "default": true
          },
          "scrapeCompanyDetails": {
            "title": "Add company insights (+$1.00 per 1,000 jobs)",
            "type": "boolean",
            "description": "Adds what Glassdoor knows about the employer itself, on top of the rating, size, industry, revenue, HQ and website that every job already carries: the company's own description and mission, its CEO, its competitors, its awards, links to its reviews and salaries pages, and how many reviews, salaries and interviews Glassdoor holds. Asked once per company rather than once per job, so 1,000 jobs cost about 10 extra requests and barely any extra time. You are charged only on jobs where these were actually found — employers with no Glassdoor page cost you nothing.",
            "default": false
          },
          "salaryBenchmark": {
            "title": "Add salary benchmark (+$1.00 per 1,000 jobs)",
            "type": "boolean",
            "description": "Adds what the market pays for each role, next to what the job pays: Glassdoor's base-pay, additional-pay and total-pay estimates from the 10th to the 90th percentile for that job title in that location, with its confidence rating. Nobody else on the Store sells this. Asked once per role and place rather than once per job, so 1,000 jobs cost a few dozen extra requests. You are charged only on jobs where a benchmark was actually found. Note the benchmark is always an ANNUAL figure, even for roles paid hourly — do not compare it directly against an hourly job without converting.",
            "default": false
          },
          "country": {
            "title": "🎌 Glassdoor country site",
            "enum": [
              "https://www.glassdoor.com",
              "https://www.glassdoor.ca",
              "https://www.glassdoor.co.uk",
              "https://www.glassdoor.ie",
              "https://www.glassdoor.fr",
              "https://www.glassdoor.de",
              "https://www.glassdoor.es",
              "https://www.glassdoor.it",
              "https://www.glassdoor.nl",
              "https://www.glassdoor.be",
              "https://www.glassdoor.at",
              "https://www.glassdoor.ch",
              "https://www.glassdoor.com.au",
              "https://www.glassdoor.co.nz",
              "https://www.glassdoor.co.in",
              "https://www.glassdoor.sg",
              "https://www.glassdoor.com.hk",
              "https://www.glassdoor.com.br",
              "https://www.glassdoor.com.mx",
              "https://www.glassdoor.com.ar"
            ],
            "type": "string",
            "description": "Which country's Glassdoor site to search. Results come from that country's listings.",
            "default": "https://www.glassdoor.com"
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only return jobs posted recently."
          },
          "jobType": {
            "title": "Type of employment (previous field name)",
            "description": "Kept so saved runs from the previous Glassdoor Jobs Scraper keep working — it accepts both the old single value (\"fulltime\") and a list. Use \"Type of employment\" above instead; if both are set, that one wins."
          },
          "employmentType": {
            "title": "Type of employment",
            "type": "array",
            "description": "Full-time, part-time, contract, and so on. Pick several to combine them (any match). Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "Full-time",
                "Part-time",
                "Contract",
                "Internship",
                "Temporary",
                "Apprenticeship",
                "Entry level"
              ]
            }
          },
          "seniority": {
            "title": "Seniority level",
            "type": "array",
            "description": "How senior the role is. Pick several to combine them (any match). Leave empty for all levels.",
            "items": {
              "type": "string",
              "enum": [
                "Internship",
                "Entry level",
                "Mid-senior",
                "Director",
                "Executive"
              ]
            }
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Only return jobs that can be done remotely.",
            "default": false
          },
          "easyApplyOnly": {
            "title": "Easy Apply jobs only",
            "type": "boolean",
            "description": "Only return jobs you can apply to directly on Glassdoor, without leaving for the company's own site.",
            "default": false
          },
          "minRating": {
            "title": "Minimum company rating",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "type": "string",
            "description": "Only return jobs from companies rated at least this well by their employees.",
            "default": "0"
          },
          "minSalary": {
            "title": "Minimum salary",
            "type": "integer",
            "description": "Only return jobs paying at least this much per year."
          },
          "maxSalary": {
            "title": "Maximum salary",
            "type": "integer",
            "description": "Only return jobs paying at most this much per year."
          },
          "includeJobsWithoutSalary": {
            "title": "Include jobs with no salary info",
            "type": "boolean",
            "description": "Many Glassdoor listings don't publish a salary. Turn this off to only get jobs that do.",
            "default": true
          },
          "radiusKm": {
            "title": "Search radius",
            "enum": [
              "0",
              "10",
              "20",
              "30",
              "50",
              "100",
              "200"
            ],
            "type": "string",
            "description": "How far around the location to look."
          },
          "companySize": {
            "title": "Company size",
            "enum": [
              "Any",
              "TINY",
              "SMALL",
              "MEDIUM",
              "LARGE",
              "HUGE"
            ],
            "type": "string",
            "description": "Only return jobs from companies of this size. Glassdoor allows just one size band at a time.",
            "default": "Any"
          },
          "industry": {
            "title": "Industry",
            "type": "array",
            "description": "Only return jobs from companies in these industries (Glassdoor's broad sector grouping). Pick several to combine them (any match). Leave empty for all industries.",
            "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"
              ]
            }
          },
          "jobFunction": {
            "title": "Job function",
            "type": "array",
            "description": "Narrow a broad search to one or more kinds of role. For example, searching \"manager\" with Accounting & Finance returns finance managers only. Pick several to combine them (any match). Works best combined with a keyword.",
            "items": {
              "type": "string",
              "enum": [
                "Accounting & Finance",
                "Administrative & Office Support",
                "Arts & Design",
                "Customer Service & Support",
                "Education & Training",
                "Engineering",
                "Healthcare & Medical",
                "Hospitality, Food & Retail",
                "Human Resources",
                "Legal",
                "Marketing",
                "Operations & Logistics",
                "Project & Program Management",
                "Research & Data Science",
                "Sales",
                "Security & Protective Services",
                "Skilled Trades & Manufacturing",
                "Transportation & Delivery"
              ]
            }
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Leave the default. The scraper picks the right IPs on its own — residential for the location lookup, which needs them, and cheaper datacenter IPs for the rest of the run.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}