Jobs
Glassdoor Company Reviews Scraper
Structured Glassdoor company reviews by company name — rating breakdowns, pros/cons, job title, employment status, CEO approval, and recommend-to-friend signals, plus a company rating summary — with anonymous-access economics priced honestly instead of promised as cheap bulk collection.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
For each company you request, this Actor visits Glassdoor's public company Overview page and its Reviews pages and emits two kinds of rows into one dataset:
1. company_summary — one row per company: overall rating, CEO approval, business outlook, and recommend-to-friend percentage. 2. review — one row per individual review: overall + sub-category ratings (work-life balance, culture, career opportunities, compensation, senior management, diversity), pros, cons, advice to management, job title, employment status, review date, and helpful-vote counts.
What we handle for you
- We clear the bot defenses guarding Glassdoor's review pages — a hardened browser layer with a proven navigation sequence gets through where a plain HTTP request gets turned away.
- We rotate proxy sessions on every retry — a fresh exit IP and session whenever a company's fetch fails.
- Per-company fault isolation — one company that fails to resolve or parse never fails the whole run; it's logged and skipped, and every other company still completes.
- Pydantic v2 input + output validation — every row is a typed, schema-enforced record; fields Glassdoor doesn't expose come back
null, never guessed. - Pay-Per-Event pricing — you're charged per row actually written to your dataset, not per request attempted.
- Honest throughput — Glassdoor's own anonymous-access limits cap full review text at a few reviews per page load;
maxReviewsPerCompanyand pricing reflect that reality rather than promising cheap bulk collection we can't deliver without a login we refuse to use.
Use cases
- Employer-brand monitoring — track how your own company's reviews and ratings trend over time.
- Recruiting intelligence — pull culture and compensation signals for target companies before an outreach campaign.
- Competitive talent research — compare rating breakdowns and CEO approval across a peer set.
- Investment due diligence — culture and leadership signals as a qualitative input alongside financials.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
companyNames | array | yes | Company names to scrape reviews for, e.g. ['Google', 'Meta']. Required. |
employerIds | array | no | Power-user shortcut: known Glassdoor employerId values, paired positionally with companyNames (one employerId per company). Skips company-search resolution entirely — the always-reliable path. |
maxReviewsPerCompany | integer | no | Hard cap on review rows fetched per company. Anonymous (no-login) access renders only ~3 full reviews per Reviews-page load — each page costs one full browser navigation pair, so higher values cost proportionally more… |
includeCompanySummary | boolean | no | When true, emits one company_summary row per company from the mandatory warm-up page's aggregate rating fields — no extra request. |
countryCode | string | no | Pinned proxy exit country (2-letter ISO), never geo-random — Glassdoor locale-routes by exit geography. |
{
"companyNames": [
"Google"
],
"employerIds": [
9079
],
"maxReviewsPerCompany": 30,
"includeCompanySummary": true,
"countryCode": "US"
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
row_typecompany_nameemployer_idreview_idreview_datejob_titleemployment_statusoverall_ratingrating_work_life_balanceprosconsadvice_to_managementrecommend_to_friendcompany_overall_ratingcompany_ceo_approval_pct
{
"row_type": "review",
"company_name": "Google",
"employer_id": 9079,
"review_id": "105125064",
"review_date": "2026-08-09T23:03:51.940",
"job_title": "Hair Transplant Technician",
"employment_status": "Current Employee, 2 year(s)",
"overall_rating": 3,
"pros": "Good learning experience and flexible working environment.",
"cons": "Long working hours and sometimes limited career growth.",
"advice_to_management": "Provide better training opportunities.",
"count_helpful": 0,
"count_not_helpful": 0,
"source_url": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
"scraped_at": "2026-08-12T09:00:00+00:00"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Review row | $0.0100 | Per result written to the dataset. |
| Company summary row | $0.0100 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
FAQ
Is this legal?
Why is a field `null`?
Do I need my own proxy?
proxyConfiguration is optional if you want to bring your own.Why did I get fewer reviews than `maxReviewsPerCompany`?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors