Glassdoor Jobs Scraper — Salaries, Skills & Company Ratings avatar

Glassdoor Jobs Scraper — Salaries, Skills & Company Ratings

Pricing

from $0.40 / 1,000 jobs

Go to Apify Store
Glassdoor Jobs Scraper — Salaries, Skills & Company Ratings

Glassdoor Jobs Scraper — Salaries, Skills & Company Ratings

Scrape Glassdoor job listings by keyword and location — US, Canada, UK and more. Salary range with source, skills, benefits, job type, seniority, company rating, and optional full description plus company profile. No login.

Pricing

from $0.40 / 1,000 jobs

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape job listings from Glassdoor by job title and location — in the United States, Canada, the UK, Ireland, India, Australia and every other country Glassdoor covers. Each job comes with its salary range and where that number came from, the skills, benefits, job type, work setting and seniority Glassdoor extracts from the posting, the company rating, and — optionally — the full job description plus a complete company profile (size, revenue, headquarters, founded year, industry, CEO, competitors and every Glassdoor sub-rating).

No Glassdoor account, no cookies, no browser. Fast: 100 jobs per request, thousands of jobs per search.

What you get

FieldExample
title, companyName, companyRatingAnalyst - People Analytics (Hybrid) · United Airlines · 3.8
location, locationType, countryIdChicago, IL · CITY · 1
salaryMin / salaryMedian / salaryMax66500 / 76558 / 86616
salaryPeriod, salaryCurrency, salarySourceANNUAL · USD · EMPLOYER_PROVIDED (or ESTIMATED)
salaryText$66,500 – $86,616 per year (employer provided)
postedDate, ageInDays2026-09-19 · 5
easyApply, isSponsoredfalse · true
skillsSQL, Python, Workday, Forecasting…
benefitsHealth insurance, Dental insurance, 401(k), Paid time off…
jobTypes, workSetting, seniority, scheduleFull-time · Hybrid work · Mid-level · Monday to Friday
education, experience, licenses, requirementsBachelor's degree · 3 years · RN License · Background check
url, applyUrl, companyUrl, companyLogolinks to the job, Glassdoor's apply link, the company page

With Full description + company profile turned on, each job also gets descriptionHtml, descriptionText, discoveredAt, jobSource, latitude / longitude, and companyDetails: size, revenue, headquarters, website, founded, type, industry, sector, stock ticker, CEO, competitors and ratings (overall, CEO approval, recommend to a friend, business outlook, career opportunities, compensation & benefits, culture & values, diversity & inclusion, senior management, work-life balance).

Sample row

{
"jobId": 1010267244215,
"title": "Analyst - People Analytics (Hybrid)",
"companyName": "United Airlines",
"companyRating": 3.8,
"location": "Chicago, IL",
"salaryMin": 66500,
"salaryMedian": 76558,
"salaryMax": 86616,
"salaryPeriod": "ANNUAL",
"salaryCurrency": "USD",
"salarySource": "EMPLOYER_PROVIDED",
"salaryText": "$66,500 – $86,616 per year (employer provided)",
"postedDate": "2026-09-19",
"ageInDays": 5,
"easyApply": false,
"url": "https://www.glassdoor.com/job-listing/analyst-people-analytics-hybrid-united-airlines-JV_IC1128808_KO0,31_KE32,47.htm?jl=1010267244215",
"normalizedTitle": "hr analyst",
"companyId": 683,
"companyLegalName": "UAL Corporation",
"companyUrl": "https://www.glassdoor.com/Overview/W-EI_IE683.htm",
"skills": ["Process improvement", "SQL", "Analysis skills", "Requirements analysis", "Forecasting", "Business requirements", "Python", "Workday"],
"jobTypes": ["Full-time"],
"workSetting": [],
"seniority": ["Mid-level"],
"benefits": ["Paid holidays", "Disability insurance", "Health insurance", "Dental insurance", "401(k)", "Paid time off", "Parental leave", "Employee assistance program", "Vision insurance", "Bonus opportunities"],
"searchKeyword": "data analyst",
"searchLocation": "Chicago",
"scrapedAt": "2026-09-24T12:00:00.000Z"
}

How to use it

  1. Type a job title (e.g. data analyst) and a location (e.g. Toronto, Chicago, IL, Ontario, London, England, Canada, Remote).
  2. Set Max jobs per search.
  3. Optionally add filters and more job titles / locations — every job title is searched in every location.
  4. Run. Download as JSON, CSV, Excel, or use the API.

You can also paste Glassdoor URLs: a search results page (its filters are kept) or individual job links (…?jl=1010267244215).

Input example

{
"keywords": "software engineer",
"location": "Toronto",
"additionalLocations": ["Vancouver", "Montreal"],
"limit": 500,
"daysOld": 7,
"remoteWorkType": false,
"minRating": 3.5,
"includeDetails": true
}

Filters

InputWhat it does
daysOldPosted within N days (1 = last 24 hours)
easyApplyOnly Easy Apply jobs
remoteWorkTypeOnly remote jobs
minRatingMinimum company rating — decimals like 3.8 work
radiusDistance around a city
employerSizesCompany size bracket (1 = 1–200 … 5 = 5,001+)
jobTypeFull-time, part-time, contract, temporary, internship, permanent…
seniorityInternship, entry level, mid-senior, director, executive
minSalary / maxSalaryYearly pay range
industry, jobCategoryGlassdoor industry / job function
sortByMost relevant, or most recent first
excludeJobIdsSkip jobs you already have (incremental runs)
urlParamAny other Glassdoor search filter as key/value

Switching from another Glassdoor jobs actor? The inputs keywords, location, daysOld, easyApply, remoteWorkType, minRating, radius, employerSizes, sortBy, limit, urlParam and excludeJobIds work the same way, so your existing input keeps working.

Use cases

  • Salary benchmarking — employer-provided vs. estimated pay bands by title, city and company.
  • Skills demand — which tools and certifications employers ask for, per role and market.
  • Job boards & alerts — fresh listings with daysOld: 1 and excludeJobIds for daily incremental runs.
  • Recruiting & sales leads — who is hiring, how big they are, their rating and headquarters.
  • Labour-market research — Canada, UK and US side by side, with local currency preserved.
  • AI / LLM pipelines — clean descriptionText plus structured attributes.

FAQ

What happens when Glassdoor is slow, down or blocks the request? The run still finishes successfully with every job it managed to collect, and the status message says exactly what happened ("Partial — stopped at the run time limit: 1,240 jobs saved", "Glassdoor blocked every request this run — 0 jobs, no charge", …). Blocked requests rotate to a fresh IP, escalate to residential proxies and finally fall back to Glassdoor's own search page; a job is only ever charged once it has been written to your dataset. A RUN_REPORT record in the run's key-value store has the per-search breakdown.

Do I have to use your input names? No — query / keyword / jobTitle, city, maxResults / resultsLimit, urls, fetchDetails and other common names from similar scrapers are accepted as aliases.

How many jobs can I get per search? Thousands. The scraper keeps asking Glassdoor for jobs it hasn't seen yet instead of stopping at the page limit you hit on the website, and very large searches are split automatically. Glassdoor's "total matches" count is an estimate — the number you can actually collect can be lower for narrow searches.

My location matched the wrong place. The run log shows exactly which Glassdoor location each name matched (📍 lines). A bare name follows Glassdoor's own suggestions — "Toronto" is Toronto, ON; a state or province wins over a same-named city ("Ontario" is the province). Add the region to be specific ("London, ON", "Ontario, CA", "Portland, ME"), or set the exact locationId + locationType from a Glassdoor URL.

Which countries work? Any country Glassdoor lists jobs for. Salaries keep their local currency (USD, CAD, GBP, EUR, INR…).

Is the salary real? salarySource tells you: EMPLOYER_PROVIDED means the employer published it; ESTIMATED is Glassdoor's estimate for that role. Hourly jobs have salaryPeriod: HOURLY.

What is applyUrl? Glassdoor's apply link for the job. Opened in a browser it takes you to the employer's application (or Glassdoor's Easy Apply).

"Most recent first" isn't strictly sorted — why? Newest jobs are collected first in posting-age groups (last 24 hours, 3 days, week, 2 weeks, month, older). Within a group, jobs are in Glassdoor's relevance order. Use postedDate / ageInDays to sort exactly.

Do I need a proxy? Apify Proxy is used automatically (datacenter by default, residential only if needed). You don't need to configure anything.

How is it priced? Per job saved. The full description + company profile is an optional add-on charged per job that actually received a description. Duplicates across your searches are removed before saving, so you never pay twice for the same job.

Is it legal to scrape Glassdoor? This actor only collects publicly available data: the job listings, salary ranges, company ratings and company profiles that Glassdoor shows to anyone without an account. It doesn't log in and doesn't touch anything behind a login. Collecting publicly available data is generally legal, but you're responsible for how you use it. Job listings describe roles, not people, but some fields can still be personal data: the company profile includes the CEO's name, and a job description written by the employer can occasionally mention a recruiter or hiring manager by name or email. If you store or reuse that kind of data, follow the data protection laws that apply to you (such as GDPR, PIPEDA or CCPA) and Glassdoor's terms. If you're unsure whether your use case is legitimate, check with a lawyer. You can read more in Apify's article Is web scraping legal?

Does it access any private data? No. Everything comes from what Glassdoor shows to any visitor without logging in. It never uses a login or anyone's account, never collects individual employee reviews or reviewer profiles (only the company's overall ratings that appear with its jobs), and never reaches password-protected areas.