Glassdoor Jobs Scraper & New Job Monitor - Pay Range & Ratings
Pricing
from $3.60 / 1,000 job returneds
Glassdoor Jobs Scraper & New Job Monitor - Pay Range & Ratings
For recruiters, staffing agencies and job seekers: Glassdoor jobs by search term and place with company, rating, pay range, remote/hybrid tags, days since posted and link. Pay range was on 95% of 222 jobs checked on 2026-10-10. Jobs found twice are charged once; watch mode returns only new jobs.
Pricing
from $3.60 / 1,000 job returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Glassdoor Jobs Scraper & New Job Monitor
Glassdoor job alerts and job data with pay ranges and company ratings. Get job listings from Glassdoor's public job search by search term and place (country, or any city you pick on glassdoor.com), with filters for posting date, remote, job type, pay and company rating. One row per job: title, company, company rating, location, remote / hybrid / in-person tags, job types, pay range with currency, period and source (employer-provided or Glassdoor estimate), days since posted, Easy Apply, a short description and the job link. Watch mode turns a search into a feed: run it on a schedule and each run returns only the jobs posted since the watch started that you have not received yet.
No Glassdoor account, cookies or API key needed. Run up to 20 searches at once: the same job found by two searches is returned and charged once. Export as JSON, CSV or Excel, or push new jobs to Slack, email or a sheet with an Apify integration.
What you can do with it
- Recruiters and staffing agencies: watch
registered nursein Texas orsoftware engineerin New York every morning and get only the new openings, with the hiring company and its rating, then push them to Slack, email or a sheet with an Apify integration. - Job seekers: remote data analyst jobs posted in the last 3 days at companies rated 4 stars or more, paying at least $90,000 a year.
- Market research: how many jobs Glassdoor lists for a title and place (
jobsInSearch), which companies are hiring, pay ranges and how often they are employer-provided or estimated.
Input
| Field | What it does |
|---|---|
searchQueries | Job titles or keywords, one per line: data analyst, registered nurse, software engineer. |
country | Country for the search terms: United States (default), United Kingdom, Canada, India, Australia, Germany, France. |
searchUrls | Or paste a Glassdoor job search address for any city or region, such as https://www.glassdoor.com/Job/new-york-software-engineer-jobs-SRCH_IL.0,8_IC1132348_KO9,26.htm. Choose the place in Glassdoor's own search box, then copy the address. The filters fromAge, remoteWorkType, jobTypeIndeed, minSalary, minRating and applicationType in the address are kept. |
postedWithinDays | 1, 3, 7, 14 or 30. |
remoteOnly | Only jobs tagged Remote. |
jobType | full-time, part-time, contract, permanent or temp-to-hire. |
minSalary | Minimum pay per year in the search's currency (hourly pay counts as 2,080 hours a year). |
minCompanyRating | 1 to 4 (stars and up). |
easyApplyOnly | Only Easy Apply jobs. |
maxResultsPerSearch | Jobs per search, 1 to 30 (default 30). |
onlyNew | Watch mode (see below). |
watchName | Keeps separate memories for separate schedules of the same search. |
resetMonitoringState | Start a watch over. |
Example: { "searchQueries": ["data analyst"], "country": "United States", "postedWithinDays": "3" }
Output
One row per job (status: "ok"):
| Column | Meaning |
|---|---|
jobId | Glassdoor's job listing ID. |
title, company, companyRating | Job title; company name as Glassdoor shows it on the job card; the company's Glassdoor rating (1 to 5, null when the company has none). |
companyNameInListing | The employer name written in the listing itself (can be the legal name, such as "Dillard's, Inc." for the card name "Dillard's"). |
location, locationType | Place as Glassdoor shows it (New York, NY, United States for remote jobs) and its kind (city, state, country). |
workSetting | Tags Glassdoor gives the job: Remote, Hybrid, In-person. Empty when the job has no such tag (not "in-person"). |
jobTypes, experienceLevels | Tags such as Full-time, Contract, Part-time; Entry level, Mid-level, Senior level. |
payLow, payMedian, payHigh, payCurrency, payPeriod | The pay range shown on the job card and its unit (year, hour, month…). null when Glassdoor shows no pay — never 0. |
paySource | employer (Employer provided) or glassdoor-estimate (Glassdoor est.). |
ageInDays, postedDateApprox | Days since posted, as Glassdoor shows it, and the date that gives (approximate, day precision). |
easyApply, isSponsored | Easy Apply job; sponsored placement on the search page. |
normalizedTitle, descriptionSnippet, attributes | Glassdoor's standard title, the short description shown on the card, and the skill / benefit / schedule tags Glassdoor extracted from the listing. |
url | The job's page on Glassdoor. |
positionInSearch, jobsInSearch | Place on the search page and how many jobs Glassdoor lists for the search. |
changeType | Watch mode only: first-check or new. |
Measured on 222 real jobs from 8 searches (United States and United Kingdom, 2026-10-10): pay range 95%, company rating 89%, job type tag 77%, experience level tag 86%, remote/hybrid/in-person tag 44%, job link 100%.
Searches that return nothing come back as one free row with a reason in note (no-results, no-new-jobs, not-found, blocked, login-required, unreadable, more-need-login, budget-reached, bad-input).
Covering a whole market in one run
Put up to 20 searches in one run: several places, several job titles, or the same title split by postedWithinDays, jobType or remoteOnly. The same job found by two searches is returned and charged once. Each row also says how many jobs the search has in total on Glassdoor, so you can see where to split further. With postedWithinDays: 1 or 3, each search holds the freshest jobs.
Watch mode
Turn on onlyNew and schedule the same input (for example every morning):
- The first run returns the current jobs (
changeType: "first-check") and remembers them. - Later runs return only jobs posted from the day the watch started that were not returned before (
changeType: "new"). Older jobs that move into the first page later are not called new. - When nothing is new, you get one free
no-new-jobsrow.
The memory is per search and per watchName. A job that could not be returned (for example because the run hit its maximum charge) is not marked as sent and comes back in the next run.
Pricing
Pay per event: job-returned for each job row. In watch mode, a search that returns nothing new is charged one search-checked event. Free rows that say why something was not returned are never charged.
Filters are checked on every row
Glassdoor's own filters are not always exact (on a real "4.0+ rating" page, 6 of 30 companies were rated 3.9). This Actor checks every returned job against the filters you set — date, remote tag, job type tag, pay, rating, Easy Apply — and leaves out the ones that do not match. It also checks that Glassdoor answered for the place and filters you asked for; when it does not know a place it falls back to the whole United States, and this Actor then returns a free not-found row instead of a different list.
Notes
- Glassdoor shows signed-out visitors the first 30 jobs of a search, so each search returns up to 30 jobs (split the search as above to get more). The order is Glassdoor's own relevance order; sorting pages are not requested because Glassdoor's robots.txt asks crawlers not to.
- Unofficial and not affiliated with Glassdoor. Only public job search pages are read, as a signed-out visitor sees them. No login, no check pages solved, nothing behind the sign-in prompt.
- No personal data: the rows hold job and company information only.
- Glassdoor may change its pages; if a page cannot be read, you get a free
unreadablerow and nothing is charged.
Thanks for using this Actor
We build these tools for people who run them every day, and we improve them from what users tell us.
- Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
- Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.
If this Actor saved you time, a short review helps other people find it.