Glassdoor Jobs Scraper avatar

Glassdoor Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Glassdoor Jobs Scraper

Glassdoor Jobs Scraper

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Search Glassdoor and get the postings back as rows: title, employer, that employer's Glassdoor rating, location, and the salary range with a note saying who produced it.

No login, no cookie, no API key, no browser.

What you get

  • Salary on most rows, parsed into salary_min, salary_max and a currency rather than left as a string
  • Where the salary came from. salary_source says "Employer provided" or "Glassdoor est.", and salary_is_estimate is the boolean. In testing, 68 of 80 salaried rows were the employer's own published figure and 12 were Glassdoor's model output. Those are different kinds of number, and averaging them together quietly turns a salary dataset into half opinion
  • The employer's Glassdoor rating on the same row as the job, which is the pairing Glassdoor exists for
  • How many jobs actually match, per search. A search returns 30 rows out of 58.544, and totalAvailablePerSearch tells you that instead of letting you assume 30 is the answer
  • Location, posting age, Easy Apply flag and the description snippet
  • Many searches per run. Pass a list of terms and each contributes its own 30, deduplicated on job id

One thing worth knowing about the data

The obvious source on the page is a decoy. Glassdoor ships a JSON-LD ItemList of 30 jobs that looks like the clean structured feed, and it carries only a name and a URL. Salary, employer, rating and location exist only in the rendered cards, which is what this Actor reads.

No login, no API key and no browser are needed on your side.

Input

FieldTypeRequiredDefaultWhat it does
queriesarrayone of the two["software engineer"]One search per term, 30 jobs each
urlsarrayone of the twoGlassdoor search URLs, for location-filtered searches
limitintegerno200Total jobs to return, 1 to 600
retriesintegerno3Retry attempts per search

Output

{
"position": 2,
"job_id": "1010249450590",
"url": "https://www.glassdoor.com/job-listing/ai-systems-engineer-...",
"title": "AI Systems Engineer - DevOps & Observability Manager",
"employer": "EY",
"employer_rating": 3.6,
"location": "Atlanta, GA",
"salary_text": "$126K - $262K (Employer provided)",
"salary_min": 126000.0,
"salary_max": 262000.0,
"salary_currency": "$",
"salary_source": "Employer provided",
"salary_is_estimate": false,
"posted_age": "20d",
"easy_apply": false,
"snippet": "Design and operate observability platforms across...",
"query": "software engineer"
}

Use cases

Salary benchmarking you can defend. Filter to salary_is_estimate: false and you have only figures employers published themselves. That is the subset worth quoting in a compensation review; mixing in Glassdoor's estimates makes the number softer than it looks.

Tracking who is hiring and what they pay. Group by employer and watch salary_min over repeated runs. A company raising its posted range is competing for the same people you are.

Reputation-weighted job sourcing. employer_rating sits on every row, so a candidate-facing product can rank openings by what employees say rather than by posting date.

Market sizing before you commit. totalAvailablePerSearch returns Glassdoor's own count per term. Comparing 58.544 software engineer roles against 11.125 data analyst roles is a market read that costs one run.

Wide sweeps. Because each search is capped at 30, a list of twenty specific terms beats one broad term. "Senior Rust engineer" returns a more useful 30 than "engineer" does.

How it compares

this actorvalig/glassdoor-jobs-scraperorgupdate/glassdoor-jobs-scraper
Per 1.000 jobs$4,00free$4,00
Actor-start fee$0,002none$0,002
Salary parsed into numbersyesnot statednot stated
Employer-provided vs estimated salaryyesnono
Employer rating on the job rowyesnot statednot stated
Result count per searchyesnono
Monthly usersnew1.408159

Honest about the other side, and it is a big other side: the category leader is free. valig has 1.408 monthly users, charges neither a start fee nor a per-row rate, and no price competes with that. The reason to pay for this one is the salary provenance and the employer rating, not the cost. If those do not matter to you, use the free one.

Pricing

Two events. run_start costs $0,0020 per run. job costs $0,0040 per job written to the dataset, which is $4,00 per 1.000. Searches that are refused never reach the dataset and are never billed.

Limits and gotchas

  • 30 jobs per search, and there is no page two. Five URL forms were tested (_IP2, ?p=2, ?pageNo=2, the jobs.htm query form and the plain page) and every one returns the same first job. Glassdoor loads more results through a button that fires its own request. Add search terms, not pages.
  • locKeyword in a URL is ignored. A search for "Austin" that way silently returns United States results. For a location-filtered search, pick the location on the site and paste the resulting URL into urls; those carry a location id and do work.
  • Salary is missing on roughly one row in nine. Those postings simply do not show one.
  • Employer rating is missing on about one row in five, usually for companies with too few reviews.
  • A 403 means the identity was rejected, not that the search was bad. It is reported as forbidden with that explanation rather than as an empty result.
  • US results by default. Results are US-based. Other Glassdoor domains are not covered.

FAQ

Can I scrape Glassdoor without a browser? Yes, that is what this actor does. It needs no browser, no cookies and no solver.

Why only 30 jobs per search? Because Glassdoor does not paginate its HTML. The fix is more searches, and queries takes a list for exactly that reason.

How do I search a specific city? Pick the city on Glassdoor, then paste the URL from your browser into urls. Location keywords passed as plain query parameters are ignored by the site.

Is the salary the real salary? It is what Glassdoor printed. salary_source tells you whether the employer published it or Glassdoor estimated it, which is the distinction that matters.

Does it get company reviews? No, this reads job search results. Reviews are a different surface.