Glassdoor Jobs Scraper & New Job Monitor - Pay Range & Ratings avatar

Glassdoor Jobs Scraper & New Job Monitor - Pay Range & Ratings

Pricing

from $3.60 / 1,000 job returneds

Go to Apify Store
Glassdoor Jobs Scraper & New Job Monitor - Pay Range & Ratings

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

NeverEmpty

Maintained by Community

Actor 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 nurse in Texas or software engineer in 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

FieldWhat it does
searchQueriesJob titles or keywords, one per line: data analyst, registered nurse, software engineer.
countryCountry for the search terms: United States (default), United Kingdom, Canada, India, Australia, Germany, France.
searchUrlsOr 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.
postedWithinDays1, 3, 7, 14 or 30.
remoteOnlyOnly jobs tagged Remote.
jobTypefull-time, part-time, contract, permanent or temp-to-hire.
minSalaryMinimum pay per year in the search's currency (hourly pay counts as 2,080 hours a year).
minCompanyRating1 to 4 (stars and up).
easyApplyOnlyOnly Easy Apply jobs.
maxResultsPerSearchJobs per search, 1 to 30 (default 30).
onlyNewWatch mode (see below).
watchNameKeeps separate memories for separate schedules of the same search.
resetMonitoringStateStart a watch over.

Example: { "searchQueries": ["data analyst"], "country": "United States", "postedWithinDays": "3" }

Output

One row per job (status: "ok"):

ColumnMeaning
jobIdGlassdoor's job listing ID.
title, company, companyRatingJob 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).
companyNameInListingThe employer name written in the listing itself (can be the legal name, such as "Dillard's, Inc." for the card name "Dillard's").
location, locationTypePlace as Glassdoor shows it (New York, NY, United States for remote jobs) and its kind (city, state, country).
workSettingTags Glassdoor gives the job: Remote, Hybrid, In-person. Empty when the job has no such tag (not "in-person").
jobTypes, experienceLevelsTags such as Full-time, Contract, Part-time; Entry level, Mid-level, Senior level.
payLow, payMedian, payHigh, payCurrency, payPeriodThe pay range shown on the job card and its unit (year, hour, month…). null when Glassdoor shows no pay — never 0.
paySourceemployer (Employer provided) or glassdoor-estimate (Glassdoor est.).
ageInDays, postedDateApproxDays since posted, as Glassdoor shows it, and the date that gives (approximate, day precision).
easyApply, isSponsoredEasy Apply job; sponsored placement on the search page.
normalizedTitle, descriptionSnippet, attributesGlassdoor's standard title, the short description shown on the card, and the skill / benefit / schedule tags Glassdoor extracted from the listing.
urlThe job's page on Glassdoor.
positionInSearch, jobsInSearchPlace on the search page and how many jobs Glassdoor lists for the search.
changeTypeWatch 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):

  1. The first run returns the current jobs (changeType: "first-check") and remembers them.
  2. 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.
  3. When nothing is new, you get one free no-new-jobs row.

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 unreadable row 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.