πŸ’Ό

Glassdoor Employer Data APIs

Resolve any employer name to its Glassdoor company ID, then pull full profiles, employee reviews, salary benchmarks, live job postings and interview reports β€” all as JSON behind one platform API key. An unofficial data service built from publicly available content.

Open the standalone employer demo

Your first company search

Replace <API_KEY> with an authorized platform API key from your dashboard. The query URL contains your key; keep it out of shared links, screenshots and logs.

The example searches for the employer name google and returns a ranked list of matching companies. Each hit carries the company_id token (9079 for Google) that every other endpoint in this project accepts, plus rating, headquarters and logo. Rankings follow live data, so treat the response as a current sample rather than a fixed fixture.

Base URL https://api.opendata-api.com

curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-search?key=<API_KEY>&query=google&limit=10'
Employer-data request basics
  • Every company-scoped endpoint takes the numeric company_id that company-search returns per hit (9079 for Google). Run a name search once and cache the mapping; company-overview can also resolve an exact company name, but search is the reliable front door for ambiguous or partial names.
  • Every endpoint accepts an optional domain parameter selecting a regional Glassdoor site (glassdoor.co.uk, glassdoor.de, glassdoor.com.hk and more; default glassdoor.com). Ratings, salaries and listings are localized per site, so pin the domain that matches your audience and keep it consistent across chained calls.
  • company-reviews pages ten reviews at a time with the page parameter; combine query (keyword), language (a comma list such as en,es), employment_statuses, only_current_employees and four sort orders to cut a million-review employer down to a usable feed. The response reports filtered_review_count and page_count so crawlers can plan full sweeps.
  • job-search paginates with an opaque cursor instead of page numbers: send the data.cursor value from one response back as the cursor parameter for the next page, and control page size with limit (1-100). This avoids drift as new postings arrive mid-crawl. company-jobs, company-reviews and company-interviews use numeric page instead.
  • An unknown company ID is not an error: company-overview answers HTTP 200 with a successful business status and no data field. Treat a missing data key as the not-found signal, and re-resolve the name through company-search instead of retrying the same ID.

Read status before company fields

Check HTTP status separately from the gateway's code/message/data business status: code 200 indicates gateway business success, while HTTP 200 alone does not. Inside a successful envelope, a search with no matches returns an empty data array, and an unknown company ID on the overview endpoint comes back with no data field at all β€” treat a missing data key as the not-found signal, not an error.

Choose an employer-data workflow
Find and profile companies

company-search turns a typed name into ranked hits that carry the company_id token every other endpoint needs; company-overview then expands one ID into the full profile with sub-ratings, CEO approval and activity counters. Resolve names through search instead of inventing IDs.

Read employee reviews

company-reviews needs a company_id from company-search and returns structured pros, cons and per-category sub-ratings, ten per page. Keyword, language and employment-status filters plus four sort orders narrow the feed; filtered_review_count and page_count drive pagination math.

Browse job listings

job-search runs a global keyword-and-location search with date-posted, remote and easy-apply filters and cursor pagination; company-jobs lists every current opening at one employer from a company_id, with job-function, location and freshness cuts.

Benchmark salaries

company-salaries estimates min, median and max pay for one role at one employer (needs company_id and job_title); company-salaries-v2 pages through every reported role at that employer; salary-estimate returns a market range for any title and location with no company ID required.

Study interview reports

company-interviews needs a company_id and returns candidate-reported processes, the real questions asked, difficulty and offer outcomes. Filter by role or offer status, sort by recency or difficulty, and page with page and page_size.

Companies

GET /api/project/glassdoor/company-overview

Get Company Overview

Full docs β†’
Details

Full profile for one employer. Pass company_id (the numeric ID from company-search; an exact company name also resolves) and receive data with company_id, name, rating, review_count, salary_count, job_count, headquarters_location, logo, company_size, company_description, industry, website, company_type, revenue, year_founded, stock ticker and the CEO's name plus approval score. Also included: sub-ratings for work-life balance, culture and values, career opportunities, compensation and benefits, senior management, diversity and inclusion, recommend-to-a-friend and business outlook, a competitors list, best-places-to-work award history, and links to the employer's reviews, jobs and FAQ pages. An unknown ID returns HTTP 200 with status OK and no data field β€” treat a missing data key as the not-found signal.

Test this employer-data endpoint 1 required Β· 1 optional
ParameterInValue
query
Optional filters and page controls (1)
ParameterInValue
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-overview?key=<API_KEY>&company_id=9079'
GET /api/project/glassdoor/company-reviews

Get Employee Reviews

Full docs β†’
Details

Paginated employee reviews for one company. Pass company_id and receive data.reviews, where each review carries review_id, summary, pros, cons, a 1-5 rating, job_title, review_datetime, employment_status, is_current_employee, years_of_employment, location, helpful counts and per-category sub-ratings (work-life balance, culture and values, compensation, senior management, diversity and inclusion, career opportunities) plus CEO-approval, recommend-to-friend and business-outlook labels. Filter by review keyword (query), language (comma list such as en,es), employment_statuses (REGULAR, INTERN, PART_TIME, CONTRACT, FREELANCE), or current employees only; sort by POPULAR, MOST_RECENT, HIGHEST_RATING or LOWEST_RATING; page 10 reviews at a time with page. Set extended_rating_data=true to attach rating-breakdown aggregates. data also reports the company rating, review_count, filtered_review_count and page_count for pagination math. Verified live: Google's newest review was dated 2026-10-06 across 6,588 pages.

Test this employer-data endpoint 1 required Β· 8 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (4)
ParameterInValue
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-reviews?key=<API_KEY>&company_id=9079&page=1'

Job Listings

GET /api/project/glassdoor/company-jobs

List a Company's Job Postings

Full docs β†’
Details

Every current opening at one employer. Pass company_id and receive data.total_count plus data.jobs (40 per page), where each listing carries job_id, job_title, company_name, company_logo, location_name, job_link, easy_apply, age_in_days and a salary range (min/max with currency and period) when the employer discloses pay. Restrict the feed to a job_function (engineering, sales, finance and 20 more categories), to a location with location_type, or to fresh postings with max_age_days; sort by MOST_RELEVANT or MOST_RECENT and page through with page. Pair with company-search to keep a watchlist of employer IDs fresh. Verified live: Google listed 3,822 open roles.

Test this employer-data endpoint 1 required Β· 7 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (3)
ParameterInValue
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-jobs?key=<API_KEY>&company_id=9079&page=1'

Salaries

GET /api/project/glassdoor/company-salaries

Salary Estimate at One Company

Full docs β†’
Details

Pay benchmark for one role at one employer. Pass company_id and job_title (e.g. software engineer), plus an optional location with location_type and a years_of_experience band, and receive a single data estimate: min_salary, median_salary and max_salary for total pay, min/median/max_base_salary and min/median/max_additional_pay splits, salary_period (e.g. YEAR), salary_currency (e.g. USD), the salary_count of employee reports behind the figure and a confidence label (e.g. CONFIDENT). Verified live: a software-engineer estimate at Google resolved nationally with more than 51,000 reports and a CONFIDENT grade. Use it for like-for-like comparisons at a specific company; use salary-estimate for company-agnostic market rates.

Test this employer-data endpoint 2 required Β· 4 optional
ParameterInValue
query
query
query
query
Optional filters and page controls (2)
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-salaries?key=<API_KEY>&company_id=9079&job_title=software+engineer'
GET /api/project/glassdoor/company-salaries-v2

Browse All Salary Reports at a Company

Full docs β†’
Details

The full salary surface for one employer as a sorted, paginated list β€” the complement to the single-estimate company-salaries endpoint. Pass company_id and optionally narrow by job_title or location (with location_type); sort by MOST_SALARIES (roles with the most reports), HIGH_TO_LOW (highest pay first) or MOST_RECENT (freshest reports first), and page through the list with page. Rows follow the per-role salary layout of the employer's public salaries page, so the feed drops straight into distribution charts, spreadsheets and trend trackers without querying one title at a time.

Test this employer-data endpoint 1 required Β· 6 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (2)
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-salaries-v2?key=<API_KEY>&company_id=9079&page=1'
GET /api/project/glassdoor/salary-estimate

Market Salary Estimate by Title and City

Full docs β†’
Details

Company-agnostic pay estimate for any job title in any location. Pass job_title and location (both required), plus an optional years_of_experience band and location_type for precision, and receive an estimated pay range for that role in that market with the salary period and currency. Unlike company-salaries, no company_id is needed, so it answers open questions like what a marketing assistant makes in Chicago before an employer shortlist exists. Chain it with company-salaries to contrast the market rate against a specific employer's pay.

Test this employer-data endpoint 2 required Β· 3 optional
ParameterInValue
query
query
query
Optional filters and page controls (2)
ParameterInValue
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/salary-estimate?key=<API_KEY>&job_title=software+engineer&location=new+york'

Interviews

GET /api/project/glassdoor/company-interviews

Get Interview Reports

Full docs β†’
Details

Candidate-reported interview experiences for one company. Pass company_id and receive data.interviews, where each report carries interview_id, job_title, location, process_description, difficulty, experience (POSITIVE, NEUTRAL or NEGATIVE), outcome, duration_days, interview_datetime, review_datetime, advice, declined_reason, helpful counts and the actual questions candidates were asked. Filter by job_title, location, job_function or received_offer_only; sort by POPULAR, MOST_RECENT, OLDEST, EASIEST or MOST_DIFFICULT; page with page and page_size (1-100; beyond page 1000 the source caps pages at 5 items). Aggregate stats ride along: total_count, average interview_difficulty, experience and hiring-channel distributions, interview_question_count and newest_review_date, so dashboards can show freshness at a glance. Verified live: Google returned 26,187 reports with an average difficulty of 3.4.

Test this employer-data endpoint 1 required Β· 9 optional
ParameterInValue
query
query
query
query
query
Optional filters and page controls (5)
ParameterInValue
query
query
query
query
query
curl -X GET 'https://api.opendata-api.com/api/project/glassdoor/company-interviews?key=<API_KEY>&company_id=9079&page_size=10&page=1'

Capabilities and validation scope

Live Glassdoor employer, salary and job-listing data as clean, documented JSON. One API key replaces fragile scrapers, proxy pools and login-wall handling β€” search companies, pull ratings and reviews, benchmark pay and track hiring signals on demand.

  • Company search: resolve any employer name to its Glassdoor company ID, rating, logo and headquarters in one call
  • Company overview: full profile with rating breakdowns, CEO approval, review/salary/job counters, size, industry, competitors and award history
  • Employee reviews: pros, cons and per-category sub-ratings with keyword, language and employment-status filters plus deep pagination
  • Salaries: min/median/max total, base and additional pay by company, job title, city and experience band, or a market-wide estimate for any title and location
  • Job listings: global job search with date-posted, remote, easy-apply and minimum-rating filters plus cursor pagination, or every current opening at one company
  • Interview reports: real candidate experiences with process descriptions, questions asked, difficulty, outcomes and aggregate distributions

Verified live against Google (company ID 9079): search, overview, reviews, jobs, salary estimates and interviews all return current production data, and an unknown company ID returns a clean empty result rather than an error. Regional Glassdoor domains are selectable on every endpoint for localized results.

Built for HR-tech and compensation benchmarking, job aggregators, recruiters, labor-market researchers and data teams. Data is collected from publicly available content for research and informational purposes.

Guides