Glassdoor Company Reviews Scraper
Pricing
$2.50 / 1,000 review returneds
Glassdoor Company Reviews Scraper
Scrape Glassdoor company reviews and ratings. Per-review rows with overall rating, pros, cons, summary, job title, employment status, location, date, recommends and CEO approval, plus company overall rating and review count. Real browser beats Cloudflare; never charges blocked/empty runs.
Pricing
$2.50 / 1,000 review returneds
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Scrape company reviews and ratings from Glassdoor — one row per review, carrying the company context.
Glassdoor sits behind Cloudflare Bot Management (the Just a moment… interstitial), which is why plain HTTP scrapers get blocked instantly. This actor runs a real browser with anti-detection, reads reviews straight from Glassdoor's own Next.js __NEXT_DATA__ Apollo GraphQL cache, and rotates a fresh residential IP whenever a page is challenged — so it returns reviews or an honest BLOCKED, never silent-empty.
Input
| Field | Notes |
|---|---|
mode | sample (default) returns a few built-in example reviews instantly — no proxy, no charge — so you can preview the output shape for free. Switch to live to scrape real Glassdoor reviews. |
companyUrls | Glassdoor reviews URLs, e.g. https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm. The employer id is read from the E{id} in the URL. |
companyNames | Company names to resolve to an employer first (e.g. Netflix) when you don't have the URL. |
maxReviews | Reviews to collect per company (paginates by 10s). |
proxyConfiguration | RESIDENTIAL proxy recommended (required to beat Cloudflare). |
Quick start: the default
samplemode lets you try the actor for free and see exactly what a review row looks like. When you're ready for real data, setmodetoliveand add a residential proxy.
Provide companyUrls, companyNames, or both. Submitting neither returns an uncharged BAD_INPUT diagnostic row (not a crashed run).
Output
One row per review, each carrying its company context:
- Company:
companyName,employerId,overallRating,reviewCount,companyUrl - Review:
ratingOverall,summary,pros,cons,advice,jobTitle,employmentStatus,isCurrentJob,location,reviewDate,recommends,ceoApproval,businessOutlook, and sub-ratings (ratingWorkLifeBalance,ratingCultureAndValues,ratingCareerOpportunities,ratingCompensationAndBenefits,ratingSeniorLeadership,ratingDiversityAndInclusion).
Nullable fields: Glassdoor reviewers fill these in optionally, so most review-level fields can be
nullwhen the reviewer left them blank —advice,jobTitle,location,employmentStatus,isCurrentJob,recommends,ceoApproval,businessOutlook, and any of the sub-ratings. Every row always carries the company context plus at least one ofsummary/pros/cons/ratingOverall(rows with none of these are dropped, never charged).
Each successful review is charged as one review unit. Blocked, bad-input, or empty runs return a coded diagnostic row (BLOCKED / BAD_INPUT / NO_RESULTS, all with ok:false) and are not charged.
Notes
Data is read from Glassdoor's embedded GraphQL cache (props.pageProps.apolloCache), not brittle HTML selectors. Cloudflare challenges trigger a full browser + residential-IP rotation (up to 7 times) before giving up with a BLOCKED diagnostic.