Four employer datasets.
From one company ID.
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.
Trusted by developers shipping real products.
494,430 served today
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."]
} 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.
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
No code or setup required · Uses your FetchLayer credits
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.
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
Solutions
Build the workflow around the feedback.
Read the customer side
Public location reviews in the same JSON shape, for the brand your employees are reviewing.
Explore →Find the unfiltered version
Search public discussions where candidates and employees talk without a rating attached.
Explore →See how they recruit
Pull the ads a competitor is running, including the employer-brand and hiring creative.
Explore →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.
- 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.
- 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.
- 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
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.
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 keyFree tier · no credit card · any MCP host
Compare our Glassdoor ratings and engineering pay against this competitor, and tell me what their interview loop looks like.
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.
Works with every MCP-compatible tool
Use cases
What teams build with Glassdoor data.
Same API, endless applications. Here is what teams ship with public employer data.
Employer brand benchmarking
Compare overall ratings, CEO approval and recommend rates across your company and everyone you hire against.
AI agent context
Hand Claude, Codex, or your MCP agent structured reviews, pay percentiles and interview questions as clean JSON.
Review monitoring
Poll new employee reviews on a schedule and alert people leaders when a complaint theme starts to grow.
Attrition research
Turn pros, cons and advice to management into a clean dataset of why people actually leave a company.
Compensation benchmarking
Pull base and total pay at five percentiles per role and export a comp band you can actually defend.
Interview-loop research
Read candidate accounts of difficulty, outcome and timeline, with the real questions asked, role by role.
Compare approaches
Spend time on the insight, not the collection layer.
| What you need | FetchLayer | Official API | Build it yourself |
|---|---|---|---|
| Employer data without a Glassdoor account | ✓ | No public API | You build it |
| Four surfaces from one company id | ✓ | n/a | Four scrapers |
| Pay percentiles with sample sizes | ✓ | n/a | You parse it |
| Interview reports and questions | ✓ | n/a | You build it |
| Upstream limits reported per response | ✓ notes[] | n/a | You guess |
| Ready for AI and MCP workflows | ✓ | n/a | Your 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.
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
∞
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.
Used by developers at
Individual developers or teams — not official partnerships