Glassdoor Jobs Scraper - Most Comprehensive
Pricing
from $0.09 / 1,000 jobs
Glassdoor Jobs Scraper - Most Comprehensive
๐ฅ ~$0.1/1K jobs ๐ฅ Scrape Glassdoor job listings with title, description, salary, location, and company details.
Pricing
from $0.09 / 1,000 jobs
Rating
4.7
(2)
Developer
Kai
Maintained by CommunityActor stats
2
Bookmarked
105
Total users
51
Monthly active users
2 days ago
Last modified
Categories
Share
Glassdoor Jobs Scraper
Scrape job listings from Glassdoor by keyword and location, or from an employer page or search URL. Results include listing data plus available job-detail, salary, employer, location, skill, and education fields.
Why use this scraper?
- Full HTML job description when available
- Salary range (min/median/max), currency, period, and source (employer-provided vs Glassdoor estimate)
- Employer profile: size, revenue, HQ, industry, CEO, year founded, website
- 8 employer rating categories: overall, career opportunities, comp & benefits, culture, management, work-life balance, CEO approval, recommend to friend
- Geo coordinates (lat/lng), city, state, and country when available
- Extracted skills, education requirements, years of experience
- Job type, remote work type, easy apply flag, expired status
- Search by keyword and location, or use supported Glassdoor employer and search URLs
- Filter by date posted, job type, seniority, remote work, salary, radius, company size, posting source, and Easy Apply
Use cases
- Build a job board or aggregator with rich structured data
- Track open positions at specific companies over time
- Analyze salary ranges by role, location, or company
- Feed job descriptions into NLP pipelines for skill extraction
- Compare employer profiles and ratings across companies
How to use
Search by keyword + location
{"keyword": "Software Engineer","location": "San Francisco, CA"}
Search with filters
{"keyword": "Software Engineer","location": "San Francisco, CA","fromAge": "7","jobType": ["fulltime"],"remoteWorkType": ["1"],"seniorityType": ["midseniorlevel"],"minSalary": 100000,"maxJobs": 50}
Search by keyword only (all locations)
{"keyword": "Data Scientist","maxJobs": 50}
Scrape a specific company
{"urls": ["https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm"]}
Scrape multiple companies
{"urls": ["https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm","https://www.glassdoor.com/Jobs/Meta-Jobs-E40772.htm"],"maxJobs": 50}
Scrape a search results URL
{"urls": ["https://www.glassdoor.com/Job/san-francisco-software-engineer-jobs-SRCH_IL.0,13_IC1147401_KO14,31.htm"]}
Combine keyword + URL targets
{"keyword": "Product Manager","location": "New York","urls": ["https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm"],"maxJobs": 30}
Input
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
| keyword | string | โ | Job title, skill, or company name |
| location | string | โ | City, state, or country |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
| maxJobs | integer | 20 | Maximum results per target. Set to 0 for no limit. |
| fromAge | string | No filter | Posted within "1", "3", "7", "14", or "30" days |
| jobType | string[] | No filter | fulltime, parttime, contract, internship, temporary |
| seniorityType | string[] | No filter | entrylevel, midseniorlevel, director, executive |
| remoteWorkType | string[] | No filter | 1 (Remote), 2 (Hybrid), 3 (On-site) |
| easyApply | boolean | false | Only Easy Apply jobs |
| minSalary | integer | โ | Minimum annual salary (local currency) |
| maxSalary | integer | โ | Maximum annual salary (local currency) |
| radius | string | โ | Search radius in miles: "5", "10", "15", "25", "50", "100" |
| employerSizes | string[] | No filter | 1to50, 51to200, 201to500, 501to1000, 1001to5000, 5001to10000, 10001+ |
| postedBy | string[] | No filter | jobPoster (Employer), staffingAgency (Staffing Agency) |
Filters apply to all targets (keyword search and URLs).
URL lookup
| Parameter | Type | Default | Description |
|---|---|---|---|
| urls | string[] | โ | HTTPS Glassdoor employer pages (/Jobs/...-E<ID>) or search pages under /Job/. Optional if keyword is provided. |
Advanced
| Parameter | Type | Default | Description |
|---|---|---|---|
| proxyConfiguration | object | {"useApifyProxy":true} | Uses Apify Proxy by default; supply settings to customize or disable it |
Provide a nonblank keyword or at least one URL. location requires keyword, and minSalary must be less than or equal to maxSalary. Unknown input fields are rejected.
Supported URLs use HTTPS on glassdoor.com or glassdoor.co.uk. Employer URLs contain /Jobs/...-E<ID>; SEO-path and query-style search URLs under /Job/ are supported. Pasted search URLs supply their keyword and encoded location when present; set other filters with the input fields above. An unsupported URL is skipped if another valid target remains, but the run fails when no valid target remains.
Output
The Actor writes one job object per item in the default dataset. The Actor output's jobs link points to those dataset items. Each object contains:
jobIdand the canonical joburlprofile: title, description, age, status, job type, remote type, skills, education, and experiencelocation: display name, type, city, state, country, latitude, and longitudecompensation: salary range, median, currency, period, and sourceemployer: identity, profile, industry, leadership, and ratingsmeta: canonical link, collection time, and detail status
Unavailable optional values are null; unavailable lists are []. A complete detail status means job-detail information was available, not that every optional field is populated. A partial status means the item contains listing-level information only.
The following selected fields come from one verified live result collected on July 29, 2026. Long descriptions, images, and contact-bearing fields are omitted; the shown values are unchanged.
{"jobId": 1010195521007,"url": "https://www.glassdoor.com/job-listing/administrative-business-partner-iii-cloud-ai-google-JV_IC1147442_KO0,44_KE45,51.htm?jl=1010195521007","profile": {"title": "Administrative Business Partner III, Cloud AI","normalizedTitle": "hr business partner","ageInDays": 19,"expired": false,"easyApply": false,"jobType": ["Full-time"],"remoteWorkTypes": []},"location": {"name": "Sunnyvale, CA","type": "C","city": "Sunnyvale, CA","state": "California","country": "United States","lat": 37.36889,"lng": -122.03528},"compensation": {"salaryMin": 96000,"salaryMax": 138000,"salaryMedian": 117000,"currency": "USD","period": "ANNUAL","source": "EMPLOYER_PROVIDED"},"employer": {"id": 9079,"name": "Google Inc.","shortName": "Google","size": "10000+ Employees","headquarters": "Mountain View, CA","industry": "Internet & Web Services","ratings": {"overall": 4.4,"careerOpportunities": 4.2,"compensationAndBenefits": 4.5,"cultureAndValues": 4.3,"seniorManagement": 3.9,"workLifeBalance": 4.2,"ceoRating": 0.83,"recommendToFriend": 0.87}},"meta": {"seoJobLink": "https://www.glassdoor.com/job-listing/administrative-business-partner-iii-cloud-ai-google-JV_IC1147442_KO0,44_KE45,51.htm?jl=1010195521007","scrapedAt": "2026-07-29T20:09:13.687Z","detailStatus": "complete"}}
Result behavior
- A valid search with no matches succeeds with an empty dataset.
- URL targets run in input order; a combined keyword target runs last.
- Duplicate job IDs are stored once, at their first occurrence. Ordering within a target can change between runs.
- Missing job-detail information produces a
partialitem and does not fail the run. - If scraping a target fails, the Actor attempts the remaining targets, keeps items already written, and then marks the run as failed.
- Input validation and an unresolved keyword location fail before target scraping begins.
Limitations
- Employer fields describe the company; detail-derived fields may be absent on
partialitems. maxJobsis per target, not total across all targets.salaryMin,salaryMedian, andsalaryMaxmap to the source's P10, P50, and P90 values and are not guaranteed offer bounds.- A requested location that cannot be resolved fails the run instead of silently widening it to all locations.
- Job descriptions and employer data can contain publicly available personal information. Collect only the fields you need, limit access, choose an appropriate retention period, and delete data when it is no longer needed.