Glassdoor Jobs Scraper
Pricing
from $1.00 / 1,000 scraped jobs
Glassdoor Jobs Scraper
Scrape Glassdoor job listings by keyword and location. Extract job titles, companies, salary estimates, employer ratings, required skills, and job URLs. Supports 23 country sites with optional enriched attributes (work arrangement, job type, seniority level, education).
Pricing
from $1.00 / 1,000 scraped jobs
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Scrape job listings from Glassdoor by keyword and location. Extract job titles, companies, salary estimates, employer ratings, required skills, and direct job URLs — all in structured JSON, ready for analysis, dashboards, or integrations.
Run this Actor on the Apify platform to get results via API, schedule recurring searches, or connect to Google Sheets, Slack, Zapier, and 100+ other tools.
What does Glassdoor Jobs Scraper do?
Glassdoor Jobs Scraper searches Glassdoor.com for job listings that match a keyword and location. It returns structured data for each job, including salary ranges, employer ratings, skills, and application links.
Type a city, state, or country name, and the Actor matches it to the correct Glassdoor location for you. The Actor supports 23 country sites — select the country that matches your location to get the best results. Pagination is handled automatically — no manual setup required.
Why use Glassdoor Jobs Scraper?
- Market research — Track which roles employers hire for, what salaries they offer, and what skills they require.
- Competitive intelligence — Monitor competitor hiring activity across regions.
- Job aggregation — Feed structured listings into your job board, newsletter, or talent platform.
- Salary benchmarking — Compare salary estimates (10th, 50th, 90th percentiles) across companies and locations.
- Recruitment analytics — Identify trending skills and measure how quickly roles fill (posting age in days).
- Multi-country coverage — Search across 23 Glassdoor country sites, from the US and UK to Germany, France, Brazil, and more.
How to scrape Glassdoor job listings
- Go to the Glassdoor Jobs Scraper page on Apify Store.
- Click Try for free.
- Enter a job keyword (e.g., "data scientist") and a location (e.g., "san francisco").
- Select the country site that matches your location (default: United States).
- Set the number of pages to scrape (each page returns up to 30 jobs).
- Optionally turn on Include enriched data for extra fields like work arrangement and seniority level.
- Click Start.
- When the run finishes, download or preview the results on the Output tab.
That's it. No coding, no login, no API key needed to get started.
Input
Configure the scraper on the Input tab or pass JSON via the API. See the full schema on the Input tab.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | String | Yes | software engineer | Job title or role to search for. |
location | String | Yes | new-york | City, state, or country to search in. |
country | String | No | us | Glassdoor country site. Choose from 23 supported countries. The scraper routes traffic through the matching country automatically. |
maxPages | Integer | No | 3 | Number of result pages to scrape (1–50). Each page returns up to 30 jobs. |
includeEnrichedData | Boolean | No | false | Add extra fields: work arrangement, job type, seniority level, education requirement, and more. |
Supported country sites
United States, United Kingdom, Canada (English), Canada (Français), India, Australia, Singapore, Hong Kong, New Zealand, Deutschland, France, España, Italia, Nederland, Ireland, Österreich, België (Nederlands), Belgique (Français), Schweiz (Deutsch), Suisse (Français), Brasil, México, Argentina.
Example input
{"keyword": "product manager","location": "london","country": "gb","maxPages": 5,"includeEnrichedData": true}
Output
The Actor stores results in a dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Example output (standard)
{"id": 1234567890,"title": "Senior Product Manager","employer": "Acme Corp","employerId": 12345,"employerRating": 4.2,"employerLogo": "https://media.glassdoor.com/sql/12345/acme-squarelogo.png","location": "London, England (UK)","ageInDays": 3,"easyApply": true,"sponsored": false,"salary": {"p10": 65000,"p50": 85000,"p90": 110000,"period": "ANNUAL","currency": "GBP","source": "ESTIMATED"},"occupation": "Product Manager","skills": ["Agile", "Roadmap Planning", "SQL"],"descriptionSnippet": "We are looking for a Senior Product Manager to lead our core platform...","url": "https://www.glassdoor.com/job-listing/senior-product-manager-acme-corp-JV_IC12345_KO0,22.htm"}
Example output (enriched)
When Include enriched data is enabled, each job includes these additional fields:
{"workArrangement": "Hybrid","jobType": "Full-time","seniorityLevel": "Senior-level","educationRequirement": "Bachelor's degree","schedule": null,"normalizedJobTitle": "Product Manager","expired": false,"otherAttributes": null}
Data fields
Standard fields
| Field | Type | Description |
|---|---|---|
id | Number | Glassdoor listing ID. |
title | String | Job title as posted. |
employer | String | Company name. |
employerId | Number | Glassdoor employer ID. |
employerRating | Number | Overall employer rating (out of 5). |
employerLogo | String | URL of the company logo. |
location | String | Job location (city, state, country). |
ageInDays | Number | Days since the job was posted. |
easyApply | Boolean | Whether Glassdoor Easy Apply is available. |
sponsored | Boolean | Whether the listing is a sponsored result. |
salary | Object | Salary estimate with p10, p50, p90 percentiles, period, currency, and source. |
occupation | String | Glassdoor occupation category. |
skills | Array | List of required skills extracted from the listing. |
descriptionSnippet | String | Short description snippet from the search results. |
url | String | Direct link to the full job listing on Glassdoor. |
Enriched fields (optional)
| Field | Type | Description |
|---|---|---|
workArrangement | String | Remote, Hybrid, or On-site. |
jobType | String | Full-time, Part-time, Contract, etc. |
seniorityLevel | String | Entry-level, Mid-level, Senior-level, etc. |
educationRequirement | String | Degree or certification requirement. |
schedule | String | Flexible schedule, Shift work, etc. |
normalizedJobTitle | String | Glassdoor's normalized job title. |
expired | Boolean | Whether the listing has expired. |
otherAttributes | Array | Additional job attributes that do not fit the categories above. |
How much does it cost to scrape Glassdoor?
Glassdoor Jobs Scraper uses pay-per-event (PPE) pricing on the Apify platform:
job-search— One event per run. Covers the cost of loading the search results.job-saved— One event per job saved to the dataset.job-enriched— One event per job when enriched data is enabled (optional add-on).
A typical run that scrapes 3 pages (~90 jobs) without enrichment costs a small fraction of a dollar. Enable enrichment only when you need the extra fields.
You can set a charge limit on each run to control spending. The Actor stops automatically when the limit is reached.
Check the current per-event prices on the Actor's pricing tab.
Tips for best results
- Start small. Set
maxPagesto 1 or 2 for your first run to verify the keyword and location work as expected. - Match the country to the location. Use the
gbcountry site for UK cities,defor German cities, and so on. The default isus. - Use specific locations. "San Francisco" returns more targeted results than "California" because Glassdoor scopes city-level searches more precisely.
- Enable enrichment selectively. Each enriched job is charged an additional event, so turn this on only when you need the extra fields.
- Schedule recurring runs. Use Apify Schedules to track new postings daily or weekly.
- Integrate with other tools. Connect the output to Google Sheets, Slack, or a webhook via Apify Integrations.
Limitations
- The Actor scrapes search results only. It does not open individual job pages for full descriptions. Use the
urlfield to access the full listing. - Salary data is a Glassdoor estimate (source:
ESTIMATED) unless the employer publishes an actual figure. - Glassdoor may change its website at any time. Report issues on the Issues tab.
FAQ
Is it legal to scrape Glassdoor?
Web scraping of publicly available data is generally legal, but you must follow Glassdoor's Terms of Service and applicable laws. Do not scrape personal data or use the results for prohibited purposes. Use this Actor responsibly.
Can I scrape jobs in languages other than English?
Yes. Select the country site that matches your target language. Job titles and descriptions appear in whatever language the employer used to post them.
What happens when the scraper cannot reach Glassdoor?
The Actor retries automatically. If all attempts fail, it exits with an error message that explains the problem.
Can I get the full job description?
The search results include only a short snippet. To get the full description, use the url field and scrape individual job pages with a separate Actor or crawler.
Need a custom Glassdoor integration or a feature not listed here? Open an issue on the Issues tab or contact us for a custom solution.