curl --request POST \
--url https://api.scrapeunblocker.com/reviews/glassdoor \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/reviews/glassdoor"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/reviews/glassdoor', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape Glassdoor company reviews
Returns a company’s Glassdoor employee reviews as JSON. Each review has id, url, title, rating (1-5), subratings (work/life balance, culture and values, diversity and inclusion, career opportunities, compensation and benefits, senior management), recommendToFriend, ceoApproval, businessOutlook, pros, cons, advice, jobTitle, employmentStatus, isCurrentEmployee, yearsOfEmployment, location, date, helpfulCount, notHelpfulCount, featured, employerResponse and view (the sort / filter view it came from). The response also carries summary (overall rating, review counts, recommend / CEO approval / business outlook percentages, the CEO, sub-rating averages, star distribution, reviews in the last 7 and 30 days), companyMeta (name, logo, website, industry, sector, headquarters, size) and totalReviews. The counts are Glassdoor’s own and measure different sets: totalReviews is the number of reviews matching every filter of the call (rating, job_title, keyword, topic, employment_status, language, current_only; the default view is English reviews by full-time and part-time employees), the set the views read from. summary.allReviewsCount is every review Glassdoor holds for the employer, rated or not, in any language and employment status; no filter changes it. summary.reviewCount is the number of ratings behind summary.overallRating, and summary.ratedReviewsCount the number of reviews that carry a star rating; Glassdoor counts the two separately, so they can differ by a few. Both follow rating but not the language or employment filters, so they are usually above totalReviews. summary.ratingDistribution holds the star counts Glassdoor sends for its rating bars (overall, each sub-rating, and recommendToFriend); for employers with many reviews they cover only part of them (Google: 18,643 overall against a reviewCount of 52,845), so read them as proportions, not totals, and with rating set only that star is counted. summary.reviewsLast7Days and reviewsLast30Days count reviews matching the filters. Give company as a Glassdoor employer id, a Glassdoor company URL or a company name. Only US exits are used (proxy_country accepts US or blank): Glassdoor redirects other countries to their local site, where these pages do not exist. Glassdoor shows anonymous visitors only the first page (3 reviews) of each sort / filter view and redirects deeper pages to sign-in, so there is no page parameter: use sort, rating and the filters to reach other reviews, or raise max_results to read several views in one call. hasMore is always false and nextPage null; publicLimitReached is true when fewer reviews came back than asked because the views anonymous visitors may read ran out. Every field is always present and is null when Glassdoor does not show it. Billed per review view fetched (pagesFetched).
curl --request POST \
--url https://api.scrapeunblocker.com/reviews/glassdoor \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/reviews/glassdoor"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/reviews/glassdoor', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
The company: a Glassdoor employer id (e.g. '9079'), any Glassdoor company URL (e.g. 'https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm'), or a company name (e.g. 'Bank of America', matched with Glassdoor's company search).
Review order: recent, helpful, highest, lowest.
Only reviews with this overall star rating (1-5).
1 <= x <= 5Only reviews from job titles matching this text, e.g. 'software engineer' (Glassdoor's own job-title search).
Only reviews mentioning this keyword, e.g. 'remote'.
Only reviews about one topic: compensation, culture, career_development, management, work_life_balance, diversity_and_inclusion.
Comma list of full_time, part_time, contract, intern, freelance. Defaults to Glassdoor's own view: full_time,part_time.
Comma list of review languages (ISO 639-3): eng, fra, deu, nld, por, spa, ita. Defaults to eng.
Only reviews by current employees.
How many reviews to return. Glassdoor shows anonymous visitors 3 reviews per view; above that the call also reads the other sort orders and each star rating, and merges the distinct reviews.
1 <= x <= 25Exit-IP country. Only US (or blank, the default) is accepted: Glassdoor redirects visitors from other countries to their local site, where the English reviews pages do not exist.
Response
JSON with a reviews array plus the employer summary.

