DEV Community

Cover image for Glassdoor API in 2026: Scrape Company Reviews into Clean JSON
Truffle Pig Data
Truffle Pig Data

Posted on

Glassdoor API in 2026: Scrape Company Reviews into Clean JSON

Employee reviews on Glassdoor are the closest thing we have to ground truth on what working somewhere is like, and they are locked inside a page built for reading, not analysis. If you want pros, cons, and per-category ratings across a few hundred reviews, you need them as rows, not paragraphs. This post walks the DIY route and then the shortcut: the Glassdoor Reviews API on Apify, which takes company review URLs and returns each review as structured JSON.

Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.

Does Glassdoor have an API?

Effectively no. Glassdoor once ran a partner API, but it is closed to new developers, which is why a search for "glassdoor api" turns up forum threads and scrapers rather than a signup page. If you need review data today, the practical route is a scraper you call like an API: send a company review URL, get the reviews back as JSON, capped and filtered the way an endpoint would do it.

What the Glassdoor Reviews API returns

The Glassdoor Reviews API returns one JSON row per employee review with the rating, summary, pros, cons, employment details, and date, plus a per-category ratings breakdown view.

Field Example Notes
companyName Google With the source companyUrl
overallRating 4 Per review, 1 to 5
pros / cons "Great company to be at" The review text, split
employmentType Former employee With employmentStatus like CONTRACT
datePublished 2026-07-05T00:00:00.000Z Feeds the days filter
ratingWorkLife 4 Breakdown view, with ratingCultureValues, ratingSeniorLeadership, and more

The breakdown view carries category ratings for career opportunities, compensation, culture, work-life balance, leadership, and diversity, which is where the analyzable signal lives.

Who this is for

Employer-brand and HR teams tracking employer reputation against competitors. People-analytics folks running employee sentiment analysis over review text. And recruiters or diligence analysts who want workplace ratings for a shortlist of companies without reading five hundred reviews by hand.

The manual way, and where it breaks

Reading reviews in a browser works until the question becomes quantitative: has work-life balance sentiment moved since the layoffs? Copying reviews into a sheet does not scale past a page or two. Scripting against the site is a fight, since review pages render through JavaScript, pagination hides behind dynamic requests, and anti-bot pressure on Glassdoor is heavier than on most sites. Every layout change resets your progress. This is the category of scraper I least enjoy maintaining, which is exactly why I run it as a service.

The faster way: run the Glassdoor scraper

Apify Console

  1. Open the Glassdoor Reviews API and click Try for free.
  2. Paste one or more company review URLs into companyUrls, set maxReviewsPerCompany and days.
  3. Run it and export the reviews as JSON, CSV, or Excel.

REST

curl -X POST "https://api.apify.com/v2/acts/johnvc~glassdoor-reviews-api/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "companyUrls": ["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"], "maxReviewsPerCompany": 100, "days": 30 }'
Enter fullscreen mode Exit fullscreen mode

Endpoint details: the Apify API docs.

Pull reviews in Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("johnvc/glassdoor-reviews-api").call(
    run_input={
        "companyUrls": ["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"],
        "maxReviewsPerCompany": 50,
        "days": 90,
    }
)

for review in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(review.get("overallRating"), review.get("employmentType"), review.get("pros"))
Enter fullscreen mode Exit fullscreen mode

A ready-to-run copy lives in the task Glassdoor Reviews API in Python.

Export reviews to JSON by company URL

The base recipe, one URL in and clean rows out, is the task Scrape Glassdoor reviews to JSON.

Analyze employee sentiment

Feed the pros and cons text into your sentiment pipeline or an LLM and score themes over time. The starting point is Employee sentiment from Glassdoor reviews.

Break ratings down by category

Work-life, compensation, leadership, and culture arrive as separate numbers per company in the breakdown view: Glassdoor ratings breakdown by category.

Benchmark employer reputation

Run several competitors in one input and compare their category ratings side by side, per the task Employer reputation from Glassdoor.

Monitor new reviews on a schedule

With days set to your cadence, each scheduled run collects only the fresh window, which turns the Actor into a review monitoring feed: Glassdoor review monitoring.

Read Glassdoor from Claude over MCP

Through the Model Context Protocol, Claude, Claude Code, and Cursor can call the Actor as a tool and summarize live reviews mid-conversation. The config is in the task Pull Glassdoor reviews in Claude via MCP, and you can read more about Claude at claude.ai.

FAQ about scraping Glassdoor reviews

Is there an official Glassdoor API, or is a scraper the only way?

The old partner API is closed to new applicants, so for review data a scraper is the realistic option. This one behaves like the API you wish existed: documented input, structured output, predictable caps.

What does the Glassdoor reviews scraper cost?

Billing is per review returned, with no per-run setup fee, and the current per-review price is listed on the Actor's Store page. maxReviewsPerCompany caps volume and therefore cost before a run starts.

Is it legal to run a scraper on Glassdoor reviews?

The Actor collects only publicly visible review pages, nothing behind a login. Whether scraped review data fits your use case commercially is a question for your counsel and jurisdiction, and the honest answer is that norms differ.

Can Claude use the Glassdoor scraper through MCP?

Yes. Connect the Apify MCP server and the Actor shows up as a callable tool, so an agent can fetch reviews for a company and reason over the ratings in one exchange.

How do I schedule the scraper for continuous review monitoring?

Save a task with your company URLs, set days to match the cadence, and attach an Apify schedule. Each run appends the new window to your dataset. Start from the Glassdoor Reviews API.

Are the reviews the scraper returns reliable?

They are what Glassdoor shows: anonymous, self-selected, and skewed toward strong feelings, so treat single reviews as anecdotes and aggregates as the signal. Companies with few or no public reviews return few or no rows, and the scraper will not pad the difference.

More from Truffle Pig Data

Employer intelligence pairs well with two neighbors: the G2 Reviews API covers how a company's products are reviewed, and the LinkedIn Company API adds firmographics like size and industry for the same employers.

Wrapping up

Glassdoor never reopened its API, but the review data is still reachable as clean JSON. Point the Glassdoor Reviews API at a company page and see the breakdown for yourself.

Top comments (0)