Glassdoor Jobs Scraper - Listings, Salaries & Ratings
Under maintenancePricing
from $2.75 / 1,000 results
Glassdoor Jobs Scraper - Listings, Salaries & Ratings
Under maintenanceScrape Glassdoor job listings by keyword and location. Export job title, company, company rating, salary estimate (min/median/max), location, posted date, skills, Easy Apply and the job URL. No login or API key required.
Glassdoor Jobs Scraper β Listings, Salaries & Company Ratings
Scrape job listings from Glassdoor by keyword and location. For every job you get the title, company, company rating, salary estimate (min / median / max), location, posted date, required skills, an Easy Apply flag and the job URL β exported as a clean spreadsheet or JSON.
No login, no API key, no browser extension. Enter a job keyword (and optionally a city), press Start, and download the results as JSON, CSV, Excel, HTML or XML or pull them from the API.
Why scrape Glassdoor jobs?
Glassdoor is one of the largest job marketplaces in the US and uniquely pairs each job with the employer's Glassdoor rating and a salary estimate. That makes it a great dataset for:
- Job seekers & career tools β pull every matching role in a city with salary ranges and company ratings side by side, instead of clicking through endless result pages.
- Recruiters & sourcers β monitor who is hiring for a role in a market, at what pay, and how the employer is rated.
- Compensation & market research β build salary benchmarks by title and location (min / median / max), track how many openings exist, and see which skills employers ask for.
- Talent & labor-market analytics β measure hiring demand by keyword and geography over time.
- Lead generation β collect hiring companies (with their Glassdoor rating and logo) for outreach.
Features
- π Search by keyword + location β any job title/keyword (e.g.
software engineer,registered nurse) and an optional city, state or country. Add multiple keywords; each is searched separately. - π° Salary estimates β minimum, median and maximum pay, with the pay period and currency, plus whether the number is employer-provided or a Glassdoor estimate.
- β Company rating on every job β the employer's overall Glassdoor star rating, company id and logo.
- π§ Extracted skills β the skills/requirements Glassdoor parsed from each posting.
- ποΈ Freshness & Easy Apply β how many days ago each job was posted and whether it supports Easy Apply.
- π Description snippet β a short preview of the job description.
- β‘ Fast & deep β powered by Glassdoor's job-search API behind the scenes; paginates through thousands of jobs per search.
- π Direct job URLs β clean Glassdoor links to every listing.
Input
| Field | Type | Description |
|---|---|---|
keyword | array of strings | One or more job titles/keywords to search. Each is searched separately. |
location | string | Optional city/state/country filter (e.g. Austin, TX, New York, NY, United States). Leave empty to search the whole US. |
maxItems | integer | Maximum jobs to save across all keywords (default 100). |
proxyConfiguration | object | Proxy settings. Residential is strongly recommended (see Proxy & Cloudflare). Defaults to Apify Residential. |
Example input
{"keyword": ["data scientist", "machine learning engineer"],"location": "Austin, TX","maxItems": 300,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output
One row per job listing.
Example record
{"jobListingId": "1010176347009","jobTitle": "Senior Data Scientist","normalizedJobTitle": "data scientist","jobUrl": "https://www.glassdoor.com/job-listing/senior-data-scientist-...-.htm?jl=1010176347009","companyName": "Example Corp","companyId": 35240,"companyRating": 4.3,"companyLogo": "https://media.glassdoor.com/sql/35240/example-squarelogo.png","location": "Austin, TX","locationType": "C","salaryMin": 112000,"salaryMedian": 141200,"salaryMax": 168000,"payPeriod": "ANNUAL","payCurrency": "USD","salarySource": "GLASSDOOR_ESTIMATE","ageInDays": 12,"easyApply": false,"isSponsored": false,"jobCategory": "engineer","descriptionSnippet": "Build and deploy ML models that power...","skills": ["Python", "SQL", "Machine learning", "Data modeling"],"searchKeyword": "data scientist","searchLocation": "Austin, TX","scrapedAt": "2026-10-12T12:30:00.000Z"}
Field reference
| Field | Description |
|---|---|
jobListingId | Glassdoor job listing id. |
jobTitle / normalizedJobTitle | The posted title and Glassdoor's normalized title. |
jobUrl | Direct link to the job on Glassdoor. |
companyName / companyId | Employer name and Glassdoor employer id. |
companyRating | Employer's overall Glassdoor rating (1β5), when available. |
companyLogo | Employer square logo URL. |
location / locationType | Job location and its type (C=city, S=state, N=country, M=metro). |
salaryMin / salaryMedian / salaryMax | Pay estimate (10th / 50th / 90th percentile), when available. |
payPeriod | ANNUAL, HOURLY, MONTHLY, β¦ |
payCurrency | Currency code (e.g. USD). |
salarySource | EMPLOYER_PROVIDED or GLASSDOOR_ESTIMATE. |
ageInDays | How many days ago the job was posted. |
easyApply | Whether the job supports Easy Apply. |
isSponsored | Whether the listing is a sponsored/ad placement. |
jobCategory | Glassdoor occupation group. |
descriptionSnippet | Short preview of the job description. |
skills | Skills/requirements Glassdoor extracted from the posting. |
searchKeyword / searchLocation | What you searched. |
scrapedAt | ISO timestamp. |
Note on coverage.
companyRating, salary fields and some attributes are data-dependent β they appear whenever Glassdoor has them for a posting. Core fields (title, company, location, URL, skills, posted date) are present on virtually every job.
How it works
Glassdoor is protected by a Cloudflare challenge. This actor passes it for you: it opens Glassdoor once with a real browser to obtain a verified session, then reuses that session over fast HTTP to call Glassdoor's own job-search API and paginate through results. You don't need to configure anything.
Proxy & Cloudflare
Because the verified Cloudflare session is tied to the IP that created it, the browser and all requests run through a single sticky proxy session. For reliability, use Residential proxies (the default) β datacenter IPs are more likely to be challenged by Cloudflare.
Tips
- Add several keywords to cover a role's variations (e.g.
data scientist,ML engineer,applied scientist). - Narrow with
locationto benchmark a specific market; leave it empty for nationwide coverage. - Set
maxItemsto control run length β a single keyword can have tens of thousands of jobs.
FAQ
Do I need a Glassdoor account or API key? No.
Can I search multiple keywords/cities? Add multiple keywords; set one location per run. Run again for other cities.
Why are some salaries or ratings empty? Not every posting has an employer-provided salary or a rated employer; the actor returns them whenever Glassdoor has them.
How many jobs can I get? As many as the search has β set maxItems accordingly. Popular keywords have tens of thousands of openings.
Does it get full job descriptions? It returns a description snippet per job. (Full descriptions live on each job's detail page.)
Related actors
Also check out scrapers for Indeed, LinkedIn, SEEK, StepStone and other job boards β plus a Glassdoor Reviews Scraper for company ratings and employee reviews β on the Apify Store.
Legal & ethical use
This actor collects publicly available job-listing information. Use the data responsibly and in compliance with Glassdoor's Terms of Service and applicable laws. You are responsible for how you use the output.