Roundup

October 2026 · 12 min read

Glassdoor API: Is There One? 3 Alternatives for Reviews and Salaries

Glassdoor company data, reviews and salaries as JSON, without running a scraper. We ran the same company through 3 alternatives live and worked out what 1,000 reviews cost on each one.

Adam Ben-Ayoun

Adam Ben-Ayoun

CTO, OpenWeb Ninja

Glassdoor API · Company Reviews · Salaries · API Comparison

Glassdoor API alternatives for company reviews, salaries and jobs

Does Glassdoor Have an API?

Not directly. Glassdoor's help article "Glassdoor API" says it "no longer supports API partnerships", and a request to the old api.glassdoor.com endpoint returned HTTP 410 (Gone) on 8 October 2026. Glassdoor data is available through third-party APIs and scraper services, and the three below are the ones we ran live.

Quick Answer: Best Glassdoor API Alternatives at a Glance

Tested and priced 8 October 2026. "Per 1,000 reviews" assumes one review per record, and for OpenWeb Ninja 10 reviews per request, which we checked against the usage meter.

OptionBest forGlassdoor dataPer 1,000 reviewsFree tierOur live run (Stripe)
OpenWeb NinjaOne key for company, reviews, interviews, salaries and jobsCompany, reviews, interviews, salaries, jobs$0.25 Pro, $0.50 pay-as-you-go100 requests/mo5 of 5 endpoints, 0.6 to 1.5 s
Bright DataBulk records from lists of Glassdoor URLsCompanies, reviews, job listings$1.50 pay-as-you-go, $1.30 on Scale5,000 credits/moCompany: 1 record in 63 s. Reviews: 0 records, twice
Apify (johnvc)Pay per review, capped per companyReviews$4.01 ($0.004 per review)$5 usage/mo0 reviews after 4 min 20 s

We build option #1, so read its row with that in mind. It leads the list because it was the only option that returned every data type in our run.

The Official Route: Why Glassdoor Has No Open API

Three checks on 8 October 2026:

  • Help center: the "Glassdoor API" article reads, in Google's result for it, "Glassdoor no longer supports API partnerships. Please visit our Research page for specific questions about labor economics or Glassdoor's data." The article itself is rendered by JavaScript, so we read it through the search snippet.
  • Legacy endpoint: a request to api.glassdoor.com/api/api.htm returned HTTP 410.
  • Research: Glassdoor Economic Research publishes labor-market analysis. It is reading material, not a feed of reviews or salaries.

Google's AI Overview for "glassdoor api" says the same and points to third-party scraper services, which is where the options below come in.

How We Evaluated

  • One company: Stripe, Glassdoor company ID 671932, so every option answers the same question.
  • Live calls, 8 October 2026: OpenWeb Ninja three runs per endpoint (median time). Bright Data and Apify one or two runs each, because they are slow and billed per record.
  • Pricing: every number was read from the provider's own pricing page or API listing on 8 October 2026. Monthly billing unless stated.
  • Docs vs observations: prices and coverage come from each provider's own pages. Times and values come from our calls. Where we did not run something, the table says "Not tested".
  • Scope: one US company, in English. It is a smoke test, not a benchmark.
  • Order: by how much Glassdoor data each option returned in our run, then cost. We kept it to three options we could run ourselves.

We build one of these APIs, so read the OpenWeb Ninja section with that in mind. The other sections are as flattering as the published numbers allow.

Same Company, Two Sources: Stripe on OpenWeb Ninja and Bright Data

Values for Stripe (Glassdoor company ID 671932), as returned by each source on 8 October 2026.

FieldOpenWeb NinjaBright Data
Overall rating3.83.8
Review count1,6011,452
Salary countabout 4,6800
Jobs count8 (company search), 1 (company-jobs)0
Time0.6 s63 s

The ratings agree, and so do Stripe's founding year (2010), size band (1,001 to 5,000 employees) and headquarters (San Francisco). The counts do not, and we did not find out why. Two things to take from it: pick the field you care about and compare it with Glassdoor's own page before you build on it, and treat count fields as approximate. In our own API, the job count in company search (8) did not match the single job that company-jobs returned (1).

#1

OpenWeb Ninja Real-Time Glassdoor Data

this site

Best for: company profile, reviews, interviews, salaries and jobs behind one key and one company ID

The Real-Time Glassdoor Data API is a GET API with seven endpoints we ran: company-search, company-overview, company-reviews, company-interviews, company-salaries, company-jobs and job-search. All seven returned data for Stripe. The script below chains search, reviews and salaries.

1. Search a company, pull reviews, then a salary benchmark

# openwebninja_glassdoor.py

import requests

headers = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.openwebninja.com/realtime-glassdoor-data"

company = requests.get(
    f"{base}/company-search",
    headers=headers,
    params={"query": "Stripe", "limit": 1},
).json()["data"][0]
print(company["company_id"], company["name"], company["rating"], company["review_count"], company["salary_count"])

reviews = requests.get(
    f"{base}/company-reviews",
    headers=headers,
    params={"company_id": company["company_id"]},
).json()["data"]
print(len(reviews["reviews"]), reviews["page_count"], reviews["reviews"][0]["rating"], reviews["reviews"][0]["job_title"])

pay = requests.get(
    f"{base}/company-salaries",
    headers=headers,
    params={"company_id": company["company_id"], "job_title": "software engineer"},
).json()["data"]
print(pay["job_title"], pay["median_salary"], pay["median_base_salary"], pay["salary_count"], pay["confidence"])

Output of that script

# output

671932 Stripe 3.8 1601 4682
10 155 5 Sales Development Representative (SDR)
Software Engineer 296384.51 184074.54 784 CONFIDENT

Response: company search (trimmed)

{
  "status": "OK",
  "data": [
    {
      "company_id": 671932,
      "name": "Stripe",
      "rating": 3.8,
      "review_count": 1601,
      "salary_count": 4682,
      "job_count": 8,
      "headquarters_location": "San Francisco, CA",
      "company_size": "1001 to 5000 Employees",
      "industry": "Internet & Web Services",
      "career_opportunities_rating": 3.6,
      "work_life_balance_rating": 3.3,
      ... more fields
    }
  ]
}

Response: reviews (trimmed)

{
  "status": "OK",
  "data": {
    "reviews": [
      {
        "review_id": 104411194,
        "summary": "Great pay and benefits, but complex product suite",
        "rating": 5,
        "job_title": "Sales Development Representative (SDR)",
        "review_datetime": "2026-06-16T08:54:11.687Z",
        "employment_status": "REGULAR",
        "is_current_employee": true,
        "location": "Chicago, IL",
        ... pros, cons, 7 category ratings, more fields
      },
      ... 9 more reviews
    ],
    "page_count": 155,
    "rating": 3.8,
    "review_count": 1601,
    "filtered_review_count": 1548
  }
}

Response: salaries (trimmed)

{
  "status": "OK",
  "data": {
    "location": "United States",
    "job_title": "Software Engineer",
    "company_id": 671932,
    "company_name": "Stripe",
    "min_salary": 242837.71,
    "max_salary": 370867.75,
    "median_salary": 296384.51,
    "median_base_salary": 184074.54,
    "median_additional_pay": 112309.97,
    "salary_period": "YEAR",
    "salary_currency": "USD",
    "confidence": "CONFIDENT",
    "salary_count": 784
  }
}

Pricing: free 100 requests a month; Pro $25 for 10,000 requests ($2.50 per 1,000 requests); Ultra $75 for 50,000; Mega $150 for 200,000; pay-as-you-go $0.005 per request. A reviews request returns 10 reviews and used one request on our usage meter, so 1,000 reviews is about 100 requests: roughly $0.25 on Pro.

Median of three runs: company search 0.6 s, overview 0.6 s, interviews 0.6 s, salaries 0.9 s, jobs 0.8 s, reviews 1.5 s. The slowest single call was 3.7 s. Repeat calls for the same company may be served faster than a first call, so treat these as best-case.

Pros

  • +All five Glassdoor data types on one key, one ID
  • +Lowest cost per 1,000 reviews in this comparison
  • +Salaries by job title with min, median and max, base and additional pay

Cons

  • -Reviews come 10 per request
  • -Count fields are approximate and can differ between endpoints

Salaries needs a job_title, and returned a 400 error without one. Building an agent? See the MCP server post.

#2

Bright Data Glassdoor Scraper

URL in, records out

Best for: bulk records from lists of Glassdoor URLs, delivered as JSON or to cloud storage

Bright Data's Glassdoor scraper has three products on its page: company overview, reviews and job listings. Each takes Glassdoor URLs, up to 5,000 per call. Pricing from the page: $1.50 per 1,000 records pay-as-you-go, or $499 a month for 384,000 records with $1.30 per 1,000 beyond that. The free tier is 5,000 credits a month.

# brightdata_glassdoor_company.sh

curl -X POST "https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_l7j0bx501ockwldaqf&format=json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"url": "https://www.glassdoor.com/Overview/Working-at-Stripe-EI_IE671932.11,17.htm"}]'

Response after 60 s: still running

{
  "snapshot_id": "sd_muz5hccp7tl9w74dc",
  "message": "Your request is still in progress and cannot be retrieved in this call. ..."
}

The synchronous call returned after 60 seconds with a snapshot ID, so we polled the progress endpoint and downloaded the snapshot. The company record was ready after a collection time of 63 s.

Snapshot (trimmed)

[
  {
    "id": "671932",
    "company": "Stripe",
    "ratings_overall": 3.8,
    "details_size": "1001 to 5000 Employees",
    "details_founded": 2010,
    "details_headquarters": "San Francisco, CA",
    "details_industry": "Internet & Web Services",
    "ratings_work_life_balance": 3.3,
    "reviews_count": 1452,
    "salaries_count": 0,
    "interviews_count": 0,
    "jobs_count": 0,
    ... more fields
  }
]

Reviews are a different dataset and need a days field (the call returned a validation error without it).

# brightdata_glassdoor_reviews.sh

curl -X POST "https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_l7j1po0921hbu0ri1z&format=json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"url": "https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm", "days": 365}]'

With days set to 30 the snapshot came back after 170 s with no records, and with 365 after 126 s, also with no records. Bright Data's message was "No records found. The data may not be available or has changed." We ran each once, so this may be a bad moment rather than a pattern.

Pros

  • +Large batches: up to 5,000 URLs per call
  • +Delivery to S3, Azure, Snowflake and other storage
  • +Free tier of 5,000 credits a month

Cons

  • -About a minute for a company record in our run
  • -Company, reviews and job listings products, without salaries or interviews
  • -The reviews dataset returned no records in our two runs
#3

Apify Glassdoor Reviews API

Apify Actor

Best for: paying per review, with a cap per company, when you already use Apify

An Actor in the Apify Store published by the user johnvc. It takes Glassdoor company URLs (up to 100 per run) and returns one row per review with category ratings, pros, cons, employment details and the review URL. Pricing is pay-per-event: $0.004 per review, plus $0.00001 per result row, so about $4.01 per 1,000 reviews. The page shows "from $3.88 / 1,000". The Free plan includes $5 of usage a month, and the Actor's log showed a free-usage cap of $1.00 for this Actor.

# apify_glassdoor_reviews.sh

curl -X POST "https://api.apify.com/v2/acts/johnvc~glassdoor-reviews-api/run-sync-get-dataset-items?timeout=240&format=json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companyUrls": ["https://www.glassdoor.com/Reviews/Stripe-Reviews-E671932.htm"], "maxReviewsPerCompany": 10}'

The synchronous call timed out at 240 seconds with no data. We started it again as an asynchronous run. It finished in 4 minutes 20 seconds with status SUCCEEDED and an empty dataset: []. The Actor's status message had said "Glassdoor is slow; this can take a while." The run cost $0.00001, so a run that returns nothing costs almost nothing, but it also gave us no reviews. We ran it twice, for Stripe only, so treat it as one data point.

Pros

  • +Pay per review, with a cap per company
  • +Reviews include category ratings and employment details
  • +Free plan with $5 of usage a month

Cons

  • -Reviews only: no salaries, interviews or jobs
  • -No reviews returned in our two runs, at 4 minutes or more per run
  • -Highest cost per 1,000 reviews here

Glassdoor Data Pricing: Cost per 1,000 Reviews, Tiers and Free Limits

Read from each provider's own page or API listing on 8 October 2026. OpenWeb Ninja returns 10 reviews per request, so 1,000 reviews is 100 requests.

OptionTierPricePer 1,000 reviews
OpenWeb NinjaFree$0, 100 requests/mo, hard limit$0 (about 1,000 reviews)
Pro$25/mo, 10,000 requests$0.25
Ultra$75/mo, 50,000 requests$0.15
Mega$150/mo, 200,000 requests$0.075
Pay As You Go$0.005 per request, no monthly fee$0.50
Bright DataFree5,000 credits/mo$0 (up to 5,000 records)
Pay as you go$1.50 per 1,000 records$1.50
Scale$499/mo, 384,000 records, then $1.30 per 1,000$1.30
Apify (johnvc)Free plan$0.004 per review, $5 usage/mo included$4.01
Bronze and Silver$0.00396 and $0.00392 per review$3.97 and $3.93
Gold and above$0.003881 per review$3.89

Apify adds $0.00001 per result row (included in the per-1,000 figures) and lists the Actor as "from $3.88 / 1,000". Its run log showed a free-usage cap of $1.00 for this Actor on a free account.

Per-page pricing (OpenWeb Ninja) is cheapest when you pull many reviews for the same company. Per-record pricing (Bright Data, Apify) is simpler to forecast, because one review is one billed record.

Measured Response Time (One Company, Stripe)

OpenWeb Ninja: median of three runs per endpoint. Bright Data and Apify: one or two runs each. Small sample, rough ordering.

Option and callTimeResult
OpenWeb Ninja company search, overview, interviews0.6 sData returned
OpenWeb Ninja jobs, salaries0.8 to 0.9 sData returned
OpenWeb Ninja reviews (10 per page)1.5 s10 reviews
Bright Data company overview63 s1 record
Bright Data reviews (30 and 365 days)170 s and 126 s0 records
Apify reviews Actor (10 reviews requested)4 min 20 s0 reviews

The slowest single OpenWeb Ninja call was 3.7 s. Repeat calls for the same company may be served faster than a first call, so treat OpenWeb Ninja times as best-case.

How to Choose: 3 Common Scenarios

Employer research: reviews, salaries and interview questions for a company

You look up a company, then pull its reviews, a salary benchmark for one job title and recent interview reports, ideally in one script and one billing unit.

Best choice: OpenWeb Ninja. Search, reviews, salaries, interviews and jobs share one key and one company ID, and the free plan is 100 requests a month.

Bulk company records from a list of Glassdoor URLs

You already have the URLs and want records delivered to storage, with no per-company lookup step.

Best choice: Bright Data. Up to 5,000 URLs per call and delivery to S3, Azure and Snowflake. Expect about a minute per company record.

Reviews only, with a hard cap per company

You already run Apify jobs and want only reviews, with a maximum number per company so cost stays predictable.

Best choice: Apify. The Actor takes up to 100 company URLs per run and a maxReviewsPerCompany cap. It returned no reviews in our runs.

Sources

Prices and docs read on 8 October 2026. They change; check before you commit.

More on jobs data: Best Job Posting APIs in 2026, job postings as a buying signal, and the recruiting and job intelligence and reputation monitoring use cases. For the same question about another site, see Zillow API alternatives.

FAQ

Does Glassdoor have an API?

Is there a free Glassdoor API?

How can I extract data from Glassdoor?

Is there a Glassdoor jobs API?

How much does Glassdoor data cost per 1,000 reviews?

Adam Ben-Ayoun

Written by

Adam Ben-Ayoun

CTO at OpenWeb Ninja

Adam leads engineering at OpenWeb Ninja, building the APIs and infrastructure that make public web data accessible to developers and AI agents.

Connect on LinkedIn

One key. 50+ APIs. Start free.

100 free requests a month, no credit card. Glassdoor company data, reviews, salaries and jobs, plus Google Search, Maps, Amazon and 50+ other APIs on the same key.