- Jobs and hiring data
- Reviews
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
reviewemployer- Fields
- 40
- From
- $4.30 per 1,000 records
What you can request
Every request reads the inputs below.
| Request | What comes back | Inputs | Billed as |
|---|---|---|---|
| Default | One record per review for each employer, newest first or by relevance. With | employerUrls employerIds | review |
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();{ "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.
| Field | Type | What it holds | Present on |
|---|---|---|---|
employerId | integer | Glassdoor's numeric identifier for the employer. | All |
employerName | string | The employer's short display name. | All |
title | string | The review's headline. Null when absent. | All |
rating | integer | Overall star rating out of 5. Null when the review carries no overall rating. | All |
subRatings | object | Category ratings, with keys workLife, culture, career, compensation, management, diversity, recommend, ceo, outlook. | All |
pros | string | The upsides the reviewer described. Null when not given. | All |
cons | string | The downsides the reviewer described. Null when not given. | All |
advice | null | string | Advice the reviewer gave to management. Null when not given. | All |
employerResponse | null | The employer's first response, with keys text, respondedAt, responderTitle. Null when none. | All |
employerResponses | array | Every official employer response, same shape as employerResponse. Empty when none. | All |
employerResponseCount | integer | Number of official employer responses to this review. | All |
reviewedAt | string | When the review was posted, ISO 8601 date-time. | All |
jobTitle | null | string | The reviewer's job title. Null when not given. | All |
location | null | object | The reviewer's work location, with keys text, type, id. Null when not given. | All |
employmentStatus | null | string | The reviewer's employment status code, for example REGULAR. Null when absent. | All |
isCurrentEmployee | boolean | Whether the reviewer was a current employee at review time. Null when Glassdoor does not say. | All |
lengthOfEmployment | integer | How long the reviewer worked there, in years. Null when not given. | All |
isFeatured | boolean | Whether Glassdoor marks this review as featured. | All |
helpfulCount | integer | Number of readers who marked this review helpful. | All |
notHelpfulCount | integer | Number of readers who marked this review not helpful. | All |
language | string | The review's original language code. | All |
employer records
One employer's profile page, with its aggregate review ratings. Billed as employer-detail.
| Field | Type | What it holds | Present on |
|---|---|---|---|
rating | number | Average overall star rating out of 5. | All |
subRatings | object | Average category ratings, with keys workLife, culture, career, compensation, management, diversity, recommend, ceo, outlook. | All |
name | string | The employer's full display name. | All |
shortName | string | The employer's short display name, used in review URLs. | All |
website | string | The company's website domain or URL. Null when absent. | All |
headquarters | string | The company's headquarters location. Null when absent. | All |
size | string | The company's disclosed employee-count band, for example "1001 to 5000 Employees". Null when absent. | All |
founded | integer | The year the company was founded. Null when not given. | All |
companyType | string | The company's legal or ownership type, for example "Company - Private". Null when absent. | All |
revenue | string | The company's disclosed revenue band. Null when absent. | All |
industry | string | The company's primary industry name. Null when absent. | All |
industryId | integer | Glassdoor's numeric identifier for the primary industry. Null when absent. | All |
description | string | The employer's overview description. Null when absent. | All |
mission | string | The company's mission statement. Null when absent. | All |
logoUrl | string | URL of the company's square logo. Null when absent. | All |
overviewUrl | string | URL of the employer's overview page. Null when absent. | All |
competitors | array | Employers Glassdoor lists as competitors, each with id and name. Empty when none are listed. | All |
reviewCount | integer | Total number of reviews for this employer. | All |
filteredReviewCount | integer | Number of reviews matching the run's filters, for example language. | All |
ratedReviewCount | integer | Number of reviews that carry a star rating. | All |
ceo | object | The 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.
| Event | Per 1,000 records | Per 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/glassdoorreturns up to 500 records in one response. Ask for more and it answers413; send the same body toPOST /jobs/glassdoorinstead.- A request without
maxItemsreturns up to 100 records. - Your key's rate limit and quotas apply to every source.