Jobs & careers
Glassdoor Reviews Scraper
glassdoor.com
Glassdoor sits behind Cloudflare, and a reviews page needs the employer's exact slug and id next to each other, so a guessed URL is a 404. A dedicated plugin endpoint takes a Glassdoor company URL, an employer id or a company name, finds the right reviews page itself and returns the reviews already parsed: title, overall rating and the six sub-ratings (work/life balance, culture and values, diversity and inclusion, career opportunities, compensation and benefits, senior management), whether the reviewer recommends the company, approves of the CEO and sees a positive business outlook, the pros, cons and advice to management, the job title, employment status, current or former employee, years at the company, location, date, helpful votes and the employer's reply. The employer comes with them: overall rating, review counts, the recommend, CEO approval and business outlook shares, the CEO, sub-rating averages, the star distribution, reviews in the last 7 and 30 days, and company details such as industry, headquarters and size. Know what it can reach: it reads Glassdoor as a signed-out visitor, and Glassdoor shows signed-out visitors only the first page of each review view, three reviews, sending deeper pages to sign-in. Each sort order, star rating and filter is a view of its own, so sort, rating, job_title, keyword, topic, employment_status, language and current_only reach different reviews, and max_results up to 25 reads the other sort orders and star ratings in one call and merges the distinct reviews. That makes it a sample of an employer's reviews, not its full review history. It reads the US site with US exits only, and no Glassdoor account is involved.
What you can extract
- Review title, overall rating and six sub-ratings, from work/life balance to senior management
- Recommend to a friend, CEO approval and business outlook
- Pros, cons and advice to management
- Job title, employment status, current or former employee, years at the company and location
- Date, helpful and not-helpful votes, a featured flag and the employer's reply
- Employer summary: overall rating, review counts, recommend, CEO approval and outlook shares, the CEO, sub-rating averages, star distribution and reviews in the last 7 and 30 days
- Company details: name, logo, website, industry, sector, headquarters and size
- Three reviews per sort or filter view, up to 25 per call by merging the other sort orders and star ratings; US site only
Dedicated endpoints
/reviews/glassdoor Glassdoor company reviews
Employee reviews of a company given as a Glassdoor employer id, a Glassdoor company URL or a company name: a reviews array with id, url, title, rating, subratings, recommendToFriend, ceoApproval, businessOutlook, pros, cons, advice, jobTitle, employmentStatus, isCurrentEmployee, yearsOfEmployment, location, date, helpfulCount, notHelpfulCount, featured, employerResponse and view, plus summary (overallRating, reviewCount, allReviewsCount, recommend, CEO approval and business outlook percentages, ceo, subratings, ratingDistribution, reviewsLast7Days, reviewsLast30Days), companyMeta and totalReviews. sort is recent, helpful, highest or lowest; filter with rating (1-5), job_title, keyword, topic, employment_status, language (eng, fra, deu, nld, por, spa or ita) and current_only. Glassdoor shows signed-out visitors 3 reviews per view; max_results 1-25 (default 3) reads further views and merges the distinct reviews, and publicLimitReached says when they ran out. US exits only.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/reviews/glassdoor?company=9079&sort=recent&max_results=6"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/reviews/glassdoor",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"company": "9079", "sort": "recent", "max_results": "6"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const data = await su.glassdoorReviews('9079', {
sort: 'recent',
maxResults: 6,
});
console.log(data); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Example response
{
"company": "Google",
"employerId": 9079,
"slug": "Google",
"companyMeta": {
"employerId": 9079,
"name": "Google Inc.",
"shortName": "Google",
"overallRating": 4.4,
"logo": "https://media.glassdoor.com/sql/9079/google-squarelogo-1441130773284.png",
"website": "https://goo.gle/4ehVuXi",
"industry": "Internet & Web Services",
"sector": "Information Technology",
"headquarters": "Mountain View, CA",
"size": "10000+ Employees",
"salaryCount": 192427
},
"summary": {
"overallRating": 4.4,
"reviewCount": 52845,
"allReviewsCount": 71331,
"ratedReviewsCount": 52890,
"recommendToFriendPercent": 87,
"ceoApprovalPercent": 84,
"businessOutlookPercent": 83,
"ceo": {
"name": "Sundar Pichai",
"title": "CEO",
"photo": "https://media.glassdoor.com/people/sql/9079/google-sundar-pichai.png"
},
"subratings": {
"workLifeBalance": 4.2,
"cultureAndValues": 4.2,
"diversityAndInclusion": 4.4,
"careerOpportunities": 4.2,
"compensationAndBenefits": 4.5,
"seniorManagement": 3.9
},
"ratingDistribution": {
"overall": {
"1": 437,
"2": 456,
"3": 1917,
"4": 5490,
"5": 10343
},
"recommendToFriend": {
"recommend": 6708,
"wont_recommend": 1142
}
},
"reviewsLast7Days": 42,
"reviewsLast30Days": 196
},
"totalReviews": 49169,
"reviews": [
{
"id": 105832357,
"url": "https://www.glassdoor.com/Reviews/Employee-Review-Google-E9079-RVW105832357.htm",
"title": "Great wellness perks overshadowed by office politics",
"rating": 5,
"subratings": {
"workLifeBalance": 5,
"cultureAndValues": 5,
"diversityAndInclusion": 5,
"careerOpportunities": 5,
"compensationAndBenefits": 5,
"seniorManagement": 5
},
"recommendToFriend": true,
"ceoApproval": "approve",
"businessOutlook": "positive",
"pros": "Excellent wellness perks and health benefits. Access to the latest technology and research. Opportunities to advance and try other roles.",
"cons": "Office politics happened at the more senior level. Many instances of wasted work because of miscommunication and management changing decisions. Company is too big to scale quickly.",
"advice": null,
"jobTitle": "Technical Program Manager",
"employmentStatus": "full_time",
"isCurrentEmployee": false,
"yearsOfEmployment": 6,
"location": "San Francisco, CA",
"date": "2026-10-02T22:14:11.313",
"helpfulCount": 0,
"notHelpfulCount": 0,
"featured": false,
"employerResponse": null,
"view": "recent"
}
],
"resultsCollected": 3,
"viewsFetched": [
"recent"
],
"pagesFetched": 1,
"hasMore": false,
"nextPage": null,
"publicLimitReached": false,
"query": {
"company": "9079",
"sort": "recent",
"rating": null,
"job_title": null,
"keyword": null,
"topic": null,
"employment_status": [
"full_time",
"part_time"
],
"language": [
"eng"
],
"current_only": false,
"max_results": 3
}
} Frequently asked questions
Is it legal to scrape Glassdoor reviews?
Collecting publicly available Glassdoor reviews and ratings is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Reviews are posted without names, but job titles, locations and review text can still be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public reviews; what you collect and how you use it is your responsibility.
How do I scrape Glassdoor reviews without getting blocked?
Glassdoor sits behind Cloudflare and turns away plain requests. The /reviews/glassdoor plugin fetches each review view through ScrapeUnblocker's unblocking chain over US exits, reads the reviews from the data Glassdoor ships with the page, and fetches a view again when it comes back blocked. In ScrapeUnblocker's benchmark it returned reviews on 99.6% of 1,100 calls with a different employer each time, about 3.8s per call.
How many Glassdoor reviews can I get?
Glassdoor shows visitors who are not signed in only the first page of each review view, three reviews, and sends every deeper page to a sign-in screen; the plugin does not log in, so it has no page parameter. Each sort order (recent, helpful, highest, lowest), star rating and filter is a separate view with its own first three reviews, so raising max_results (up to 25) makes one call read the other sort orders, then each star rating, and merge the distinct reviews, while filters such as keyword, topic or job_title open further views in later calls. publicLimitReached is true when fewer reviews came back than you asked for because those views ran out. Use it to sample and track what employees say about an employer, not to download its full review history.
What data do I get for each review?
Each review has its id and link, the title, the overall rating and six sub-ratings (work/life balance, culture and values, diversity and inclusion, career opportunities, compensation and benefits, senior management), whether the reviewer recommends the company, approves of the CEO and sees a positive business outlook, the pros, cons and advice to management, the job title, employment status, whether they still work there and for how many years, the location, the date, helpful and not-helpful votes, a featured flag, the employer's reply and the view it came from. The employer summary adds the overall rating, review counts, the recommend, CEO approval and outlook percentages, the CEO, sub-rating averages, the star distribution and reviews in the last 7 and 30 days, and companyMeta the name, logo, website, industry, sector, headquarters and size. A value Glassdoor does not show comes back as null.
How do I pick the company?
Pass company as a Glassdoor company URL, a numeric employer id such as 9079 for Google, or a company name such as Bank of America, which is matched with Glassdoor's company search; a URL or id is the exact choice, and a name that matches no employer is a 404. The plugin uses US exits only and reads the US site, because Glassdoor sends visitors from other countries to their local site, where these pages do not exist; language picks review languages (English by default). For pay data, the Glassdoor salaries plugin, /salaries/glassdoor, takes the same company input.
How much does it cost to scrape Glassdoor reviews?
Each review view fetched is billed as one request: the default call reads one view and counts as 1 request, max_results=25 reads up to 9 views, and pagesFetched shows the exact number. Looking up the company from a name or id is not billed. 1 request = 1 credit, EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.