Glassdoor reviews data API

Name a company or paste its Glassdoor URL. Each review comes back as one record with its ratings, pros, cons and dates, and you can add the employer's own profile.

Record types
review employer
Fields
40
From
$4.30 per 1,000 records

What you can request

Every request reads the inputs below.

RequestWhat comes backInputsBilled as
DefaultOne record per review for each employer, newest first or by relevance.

With includeEmployer: true, each company also gets one employer record, billed as employer-detail.

employerUrls employerIdsreview

Every request also takes maxItems (records for the whole request) and maxItemsPerInput (records per search, URL or name).

Example request and record

The request below is the one this example record answers. The names, usernames, photos and contact details of people in it are fictional. Long values in the record are shortened.

curl

curl -X POST https://api.urakimon.com/records/glassdoor \
  -H "x-api-key: $URAKIMON_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "employerIds": ["9079"],
    "reviewSort": "recent",
    "maxItemsPerInput": 150
  }'

Python

import os
import requests

res = requests.post(
    "https://api.urakimon.com/records/glassdoor",
    headers={"x-api-key": os.environ["URAKIMON_API_KEY"]},
    json={
        "employerIds": [
            "9079"
        ],
        "reviewSort": "recent",
        "maxItemsPerInput": 150
    },
)
res.raise_for_status()
records = res.json()["records"]

Node

const res = await fetch("https://api.urakimon.com/records/glassdoor", {
  method: "POST",
  headers: {
    "x-api-key": process.env.URAKIMON_API_KEY,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    "employerIds": ["9079"],
    "reviewSort": "recent",
    "maxItemsPerInput": 150
  }),
});
const { records } = await res.json();
Example Glassdoor recordDownload
{  "source": "glassdoor",  "type": "review",  "id": "105649533",  "url": "https://www.glassdoor.com/Reviews/Employee-Review-Google-RVW105649533.htm",  "employerId": 9079,  "employerName": "Google",  "title": "Strong investment in seller development, but slow processes",  "rating": 5,  "subRatings": {    "workLife": 5,    "culture": 5,    "career": 5,    "compensation": 4,    "management": 4,    "diversity": 5,    "recommend": "POSITIVE",    "ceo": "APPROVE",    "outlook": "POSITIVE"  },  "pros": "Lots of investment in development of sellers",  "cons": "Takes time to get things done",  "advice": null,  "employerResponse": null,  "employerResponses": [],  "employerResponseCount": 0,  "reviewedAt": "2026-09-18T21:39:40.660Z",  "jobTitle": "Account Executive",  "location": {    "text": "New York, NY",    "type": "CITY",    "id": 1132348  },  "employmentStatus": "REGULAR",  "isCurrentEmployee": true,  "lengthOfEmployment": 4,  "isFeatured": false,  "helpfulCount": 0,  "notHelpfulCount": 0,  "language": "eng",  "event": "review",  "collectedAt": "2026-09-20T19:43:59.965Z"}

Fields

Every record starts with the same envelope: source, type, event, id, url, collectedAt. What the envelope means. The tables below list the fields after it, read from real Glassdoor records. Where a field does not apply to an item it is null or an empty list, not left out. "Present on" names the billed events a field comes with when it is not on every record of that type.

review records

One employee review of a single employer. Billed as review.

21 fields on review records, besides the envelope
FieldTypeWhat it holdsPresent on
employerIdintegerGlassdoor's numeric identifier for the employer.All
employerNamestringThe employer's short display name.All
titlestringThe review's headline. Null when absent.All
ratingintegerOverall star rating out of 5. Null when the review carries no overall rating.All
subRatingsobjectCategory ratings, with keys workLife, culture, career, compensation, management, diversity, recommend, ceo, outlook.All
prosstringThe upsides the reviewer described. Null when not given.All
consstringThe downsides the reviewer described. Null when not given.All
advicenull | stringAdvice the reviewer gave to management. Null when not given.All
employerResponsenullThe employer's first response, with keys text, respondedAt, responderTitle. Null when none.All
employerResponsesarrayEvery official employer response, same shape as employerResponse. Empty when none.All
employerResponseCountintegerNumber of official employer responses to this review.All
reviewedAtstringWhen the review was posted, ISO 8601 date-time.All
jobTitlenull | stringThe reviewer's job title. Null when not given.All
locationnull | objectThe reviewer's work location, with keys text, type, id. Null when not given.All
employmentStatusnull | stringThe reviewer's employment status code, for example REGULAR. Null when absent.All
isCurrentEmployeebooleanWhether the reviewer was a current employee at review time. Null when Glassdoor does not say.All
lengthOfEmploymentintegerHow long the reviewer worked there, in years. Null when not given.All
isFeaturedbooleanWhether Glassdoor marks this review as featured.All
helpfulCountintegerNumber of readers who marked this review helpful.All
notHelpfulCountintegerNumber of readers who marked this review not helpful.All
languagestringThe review's original language code.All

employer records

One employer's profile page, with its aggregate review ratings. Billed as employer-detail.

21 fields on employer records, besides the envelope
FieldTypeWhat it holdsPresent on
ratingnumberAverage overall star rating out of 5.All
subRatingsobjectAverage category ratings, with keys workLife, culture, career, compensation, management, diversity, recommend, ceo, outlook.All
namestringThe employer's full display name.All
shortNamestringThe employer's short display name, used in review URLs.All
websitestringThe company's website domain or URL. Null when absent.All
headquartersstringThe company's headquarters location. Null when absent.All
sizestringThe company's disclosed employee-count band, for example "1001 to 5000 Employees". Null when absent.All
foundedintegerThe year the company was founded. Null when not given.All
companyTypestringThe company's legal or ownership type, for example "Company - Private". Null when absent.All
revenuestringThe company's disclosed revenue band. Null when absent.All
industrystringThe company's primary industry name. Null when absent.All
industryIdintegerGlassdoor's numeric identifier for the primary industry. Null when absent.All
descriptionstringThe employer's overview description. Null when absent.All
missionstringThe company's mission statement. Null when absent.All
logoUrlstringURL of the company's square logo. Null when absent.All
overviewUrlstringURL of the employer's overview page. Null when absent.All
competitorsarrayEmployers Glassdoor lists as competitors, each with id and name. Empty when none are listed.All
reviewCountintegerTotal number of reviews for this employer.All
filteredReviewCountintegerNumber of reviews matching the run's filters, for example language.All
ratedReviewCountintegerNumber of reviews that carry a star rating.All
ceoobjectThe rated CEO, with keys id, name, title, approval (0 to 1), photoUrl. Null when there is no rated CEO.All

Glassdoor data pricing

You pay once for each record you receive, at the price of the event it carries. A request that returns nothing costs nothing.

EventPer 1,000 recordsPer record
employer-detail$4.30$0.00430
review$4.30$0.00430

Freshness and limits

  • Records are collected when you send the request. Each one carries collectedAt, the UTC time it was read.
  • POST /records/glassdoor returns up to 500 records in one response. Ask for more and it answers 413; send the same body to POST /jobs/glassdoor instead.
  • A request without maxItems returns up to 100 records.
  • Your key's rate limit and quotas apply to every source.

Next steps