Glassdoor API — Reviews, Salaries & Interviews as JSON | FetchLayer
Unofficial Third-party API
6 endpoints live

Four employer datasets.
From one company ID.

Reviews & ratings Pay percentiles by role Interview reports AI-ready JSON

Ratings, employee reviews, reported pay by role and candidate interview reports — four separate Glassdoor surfaces, all keyed on the same company id, all returned as structured JSON. No Glassdoor account, no partner agreement, no HTML parsing.

Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

494,430 served today

POST /glassdoor/company-reviews
200 OK

Request

$ curl -X POST \
  https://api.fetchlayer.dev/glassdoor/company-salaries \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"company":"671954","limit":25}'

Response

{
  "companyName": "Stripe",
  "roles": [{
    "jobTitle": "Software Engineer",
    "salaryCount": 412,
    "currency": "USD",
    "basePay": { "p50": 192000, "p90": 254000 },
    "totalPay": { "p50": 253000, "p90": 358000 }
  }],
  "notes": ["First page of the salaries listing only."]
}

Used by developers at

Individual developers or teams — not official partnerships

Built for feedback workflows

Fetch the public signal. Use it wherever your team works.

Employer brand as numbers

One profile call returns overall and per-category ratings on the 1-5 scale, the full star distribution behind each average, CEO approval, recommend-to-a-friend rate and six-month business outlook — no paging through a single review.

The reviews behind the score

Pros, cons, advice to management, per-category stars, job title, location, employment status, tenure, helpful counts and any public employer reply. Walk pages in one request, or resume later with a cursor.

Pay at five percentiles

Base pay and total pay — base plus bonus, stock and other additional pay — at p10, p25, p50, p75 and p90 for the most-reported roles, with the sample size, the currency, and when the newest salary was reported.

The interview loop, from the candidate

Difficulty, outcome, the written account of the process, how the candidate applied, how many days it took end to end, and the actual questions they were asked — the surface nobody else exposes as data.

One handle across all four

Resolve a company name to an employer id once and every surface reads from it. Any Glassdoor URL containing an id works as the handle too, so a pasted link is a valid input.

Ceilings stated, not discovered

Salaries are the first page of the listing and there is no pagination past it. Sorting is applied locally, over the window a request collected. Both are in the docs, and every response carries a notes array reporting truncated walks and upstream limits.

AI-ready JSON

Hand ratings, review text, pay percentiles and interview questions to an LLM or an MCP agent to cluster themes, benchmark comp, and write the brief — no HTML parsing, no wrapper code.

FetchLayer Research Chat

Benchmark a competitor’s employer brand with AI—then export it.

Prefer not to write code? Give FetchLayer Research Chat a company name, ask how its ratings, pay and interview loop compare to yours, and turn the whole picture into a structured file for your people team, board deck, or comp review.

  • Ask questions in plain English
  • Analyze themes, sentiment, and pain points
  • Download the structured results as CSV or JSON
Research employers in Chat

No code or setup required · Uses your FetchLayer credits

Glassdoor research

Compare this company’s Glassdoor ratings and reported pay to ours, pull the recurring themes in the last 200 reviews, and export it as CSV.

Y

I pulled both ratings profiles, 200 reviews each, and the reported pay for the twelve overlapping roles. Work-life balance is the widest gap, base pay at the median is 8% behind for engineering, and the review themes are broken out by category in the file.

glassdoor-employer-benchmark.csv

412 rows · 14 columns · ready to download

CSV

From raw feedback to action

One request is the start of the workflow.

Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.

  1. 01

    Resolve the company

    Search a company or brand name to get its employer id, or hand over any Glassdoor URL you already have — parsing one is free.

  2. 02

    Pull the surfaces you need

    Read the ratings profile in one call, then walk the reviews and interview reports as deep as you want and pull the reported pay by role.

  3. 03

    Turn it into a decision

    Benchmark your employer brand against a competitor, price a role against real reported pay, track rating drift month over month, or brief a hiring loop against what candidates actually report.

MCP & agents

Live

Your AI already knows how to use this.

Use the Glassdoor endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.

1
Pick your editor
2
Agent discovers 6+ tools
3
Query any platform instantly
connect your agent ~30s

Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.

Get your free API key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Compare our Glassdoor ratings and engineering pay against this competitor, and tell me what their interview loop looks like.

Used fetchlayer.glassdoor_company_profile

Pulled both ratings profiles, 200 reviews each and reported pay for twelve overlapping roles. Work-life balance is the widest gap at 0.7 stars, median engineering base is 8% behind, and their loop runs 28 days across five stages.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 6 endpoints exposed as tools
Official & maintained
Free to install

Use cases

What teams build with Glassdoor data.

Same API, endless applications. Here is what teams ship with public employer data.

01

Employer brand benchmarking

Compare overall ratings, CEO approval and recommend rates across your company and everyone you hire against.

competitorsratingsresearch
02

AI agent context

Hand Claude, Codex, or your MCP agent structured reviews, pay percentiles and interview questions as clean JSON.

llmagentsmcp
03

Review monitoring

Poll new employee reviews on a schedule and alert people leaders when a complaint theme starts to grow.

alertsmonitoringcron
04

Attrition research

Turn pros, cons and advice to management into a clean dataset of why people actually leave a company.

feedbackretentioninsight
05

Compensation benchmarking

Pull base and total pay at five percentiles per role and export a comp band you can actually defend.

salariescompcsv
06

Interview-loop research

Read candidate accounts of difficulty, outcome and timeline, with the real questions asked, role by role.

hiringinterviewscandidates

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
Employer data without a Glassdoor accountNo public APIYou build it
Four surfaces from one company idn/aFour scrapers
Pay percentiles with sample sizesn/aYou parse it
Interview reports and questionsn/aYou build it
Upstream limits reported per response✓ notes[]n/aYou guess
Ready for AI and MCP workflowsn/aYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Pricing

Start free. Scale when ready.

Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.

Free plan — 30 requests

Verify responses, inspect the API, no credit card required.

Try free

Pay as you go

$1.99

per 1,000 requests

$0.00199 per request · credits never expire

How credits work — no multipliers

One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.

  • No multipliers — 1 request = 1 credit
  • No monthly commitment
  • Credits never expire
  • Same API & MCP access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Expiry

Credits stay until you use them. No monthly reset, no pressure to hit a quota.

0

Commitments

No subscription, no contract, no minimums. Start, pause, or scale whenever.

100%

Access

Every endpoint and MCP included. Not a limited tier — same data as any subscriber.

API reference

Every parameter, documented.

All requests are POST with a JSON body and Bearer auth header.

POST /glassdoor/search-companies

Find companies by name or brand. Returns the employer id every other endpoint takes, plus the overall rating, review and salary counts, industry, headquarters and employee-count band. The entry point: run it once, keep the id.

query* string Company or brand name to look up
limit number Maximum companies returned (max 100), or -1 for everything available. Defaults to 30.
POST /glassdoor/company-profile

A company’s employer brand as numbers, in one call and with no paging: overall and per-category ratings on the 1-5 scale, the star distribution behind each average, CEO approval, recommend-to-a-friend rate, six-month business outlook, and the rated CEO.

company* string Glassdoor company id, or any Glassdoor URL containing one
POST /glassdoor/company-reviews

Employee reviews with the reviewer’s headline, pros, cons and advice to management, their overall and per-category stars, job title, location, employment status and tenure, helpful counts, and any public employer reply. Walk pages in one request or resume with a cursor.

company* string Glassdoor company id, or any Glassdoor URL containing one
limit number Maximum reviews returned (max 2000), or -1 for everything available.
pages number Pages of results to collect in one request (max 100). Each page counts as one request.
cursor string Resume from a previous response's nextCursor.
delayMs number Milliseconds to wait between pages (max 30000).
sortBy string 'date' | 'rating' | 'helpful' | 'none'. Applied locally over the reviews this response collected — not across the whole listing.
sortDirection string 'asc' | 'desc'. Defaults to desc.
POST /glassdoor/company-salaries

Reported pay by role: base pay and total pay — base plus bonus, stock and other additional pay — at the 10th, 25th, 50th, 75th and 90th percentiles, with the sample size behind each figure, the currency, and when the newest salary was reported. Reads the first page of the salaries listing only; there is no pagination past it.

company* string Glassdoor company id, or any Glassdoor URL containing one
limit number Maximum roles returned from the first page (max 200), or -1 for everything on it.
POST /glassdoor/interview-reports

Candidate-reported interview experiences: the role, location, difficulty, whether the experience was positive, the outcome, the candidate’s account of the process, how they applied, how many days it took end to end, and the questions they were asked.

company* string Glassdoor company id, or any Glassdoor URL containing one
limit number Maximum interview reports returned (max 1000), or -1 for everything available.
pages number Pages of results to collect in one request (max 100). Each page counts as one request.
cursor string Resume from a previous response's nextCursor.
delayMs number Milliseconds to wait between pages (max 30000).
POST /glassdoor/resolve-url

Parse any Glassdoor URL into structured input — which kind of page it names, the company id and name it carries, the page number, and the search term. The cheap way to find out what a pasted URL points at. Free: it never consumes a credit.

url* string Any Glassdoor URL, to be parsed into structured input

Fields marked * are required. Full API reference →

FAQ

Common questions.

Is Glassdoor data public?

Yes. Company ratings, employee reviews, reported salaries and candidate interview reports are published on Glassdoor for anyone to read. FetchLayer retrieves those publicly available pages and returns them as structured JSON. FetchLayer is not affiliated with, endorsed by, or sponsored by Glassdoor.

Do I need a Glassdoor account or a partner agreement?

No. You authenticate with your FetchLayer API key — the same Bearer token you use for every other platform. There is no Glassdoor login, no employer account, no partner programme, and no token to refresh.

What can I actually pull?

Four distinct surfaces, all keyed on one company id. The ratings profile gives overall and per-category averages with the full star distribution behind each, CEO approval, recommend rate and business outlook. The reviews endpoint returns pros, cons, advice, per-category stars, tenure, job title, location and any public employer reply. The salaries endpoint returns base and total pay by role at five percentiles with sample sizes. The interview-reports endpoint returns difficulty, outcome, the candidate’s account of the process and the questions they were asked.

How do I identify a company?

Every endpoint but the search and the URL parser takes a company handle: a Glassdoor employer id, or any Glassdoor URL containing one. If you only have a name, /search-companies turns it into an id. If you have a URL someone pasted, /resolve-url reports which kind of page it names and pulls the id out of it — for free.

Can I page through everything?

Reviews and interview reports page: walk several pages in one request, or resume later with a cursor. Salaries do not. The upstream salaries listing is not routed past its first page, so /company-salaries reads page one and nothing beyond it — limit trims what comes back from that page rather than walking further. We say so here rather than letting you discover it: the result is the most-reported roles at a company, not every role.

Does sortBy sort the whole company?

No, and this matters at large employers. Sorting is applied locally, over the window your request collected. Ask for three pages of a 40,000-review company sorted by date and you get the newest of those three pages, not the newest reviews the company has. To get genuinely recent reviews at scale, widen the walk rather than trusting the sort.

How do I know a result is complete?

Read the notes array. Every response carries one — plain-language strings reporting a walk that stopped short, a listing with more pages, or an upstream limit that was hit. A capped result is still a well-formed 200, so notes is the only place it says so. Pair it with totalReviewCount and hasNextPage to see exactly how much of a listing you are holding.

Can I use this with an AI model or MCP agent?

Yes. Every response is structured JSON you can store, embed, or hand to an LLM, and all six endpoints are exposed through FetchLayer’s MCP server — so an agent can resolve a company, read its ratings, pull the reviews behind them and benchmark pay without any wrapper code.

How does billing work?

One API request equals one credit, the same as every other FetchLayer platform — no multipliers. Each page walked counts as one request, so pages: 10 bills as ten. Parsing a URL with /resolve-url is free and consumes nothing. Glassdoor is in Beta while coverage expands, at standard pricing.

Start pulling Glassdoor employer data today.

Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.