Glassdoor Reviews Universal Scraper avatar

Glassdoor Reviews Universal Scraper

Pricing

from $2.04 / 1,000 results

Go to Apify Store
Glassdoor Reviews Universal Scraper

Glassdoor Reviews Universal Scraper

⭐ Scrape Glassdoor company reviews by name or URL. Get the full review β€” overall + sub-ratings, pros, cons, advice, job title, location, employment status, company responses & dates β€” as clean structured data. No login and no proxy needed.

Pricing

from $2.04 / 1,000 results

Rating

5.0

(1)

Developer

Scrapifier

Scrapifier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 hours ago

Last modified

Categories

Share

Glassdoor Reviews Scraper

Scrape employee reviews from Glassdoor by company name or Glassdoor URL and export them as JSON, CSV or Excel, or pull them straight from the API.

⚑ For every review you get the overall rating and all six sub-ratings (work-life balance, culture and values, career opportunities, compensation and benefits, senior leadership, diversity), the pros, cons and advice to management, the reviewer's job title, location and employment status, current or former employee, years of employment, helpful votes, the official company response and the date. Works on any Glassdoor country site, with no login, no cookies and no proxy. You pay per review.

Apify Actor

🎯 Why scrape Glassdoor reviews?

  • Employer branding: track your own rating, sub-ratings and the tone of new reviews every week, and compare them with your competitors.
  • HR and people analytics: quantify what employees praise or complain about (management, pay, remote work) across thousands of reviews instead of reading them one by one.
  • Due diligence and investing: employee sentiment, business outlook and CEO approval are leading indicators of a company's health. Pull them for a whole portfolio.
  • Recruiting and job search: read the real pros and cons of a future employer, filtered by job title, location or keyword.
  • Research and journalism: build datasets of reviews by industry, country or period for sentiment analysis and NLP.
  • Reputation monitoring: get alerted when a low-rated review lands, and check whether the company answered it.

πŸ“Š What data does Glassdoor Reviews Scraper extract?

FieldDescription
reviewIdUnique Glassdoor review id
urlDirect link to the review on Glassdoor
employerId, employerNameGlassdoor employer id and company name
reviewDateTimeDate and time of the review
summaryReview title
pros, cons, advicePros, cons and advice to management, full text
ratingOverallOverall rating (1 to 5)
ratingWorkLifeBalance, ratingCultureAndValues, ratingCareerOpportunities, ratingCompensationAndBenefits, ratingSeniorLeadership, ratingDiversityAndInclusionThe six sub-ratings (1 to 5)
ratingBusinessOutlook, ratingRecommendToFriend, ratingCeoBusiness outlook, recommend to a friend and CEO approval (POSITIVE / NEGATIVE / NEUTRAL, APPROVE / DISAPPROVE)
jobTitleReviewer's job title
locationReviewer's location
employmentStatusREGULAR (full-time), PART_TIME, CONTRACT, INTERN or FREELANCE
isCurrentJobtrue for current employees, false for former employees
lengthOfEmploymentYears spent at the company
countHelpfulNumber of "helpful" votes
companyResponses[]The employer's official responses (text and date), when includeCompanyResponses is on
languageIdLanguage of the review (ISO-639-2, e.g. eng, fra)

With flatten enabled, a companyResponseCount column is added so the CSV stays flat.

πŸš€ How to scrape Glassdoor reviews

  1. Open the Actor and type one or more company names in companyNames (for example Google, Microsoft), or paste Glassdoor company URLs (Reviews or Overview page, any country site) in startUrls.
  2. Set Max reviews per company. Big employers have tens of thousands of reviews, so keep a cap for a first run.
  3. Optionally choose a sort order, a review language, a keyword or current employees only.
  4. Click Start. The Actor passes Glassdoor's anti-bot check once, then collects reviews in batches of 100.
  5. Open the Storage tab to preview the reviews and export them as JSON, CSV, Excel or XML, or read them from the dataset API.

The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule for weekly monitoring.

πŸ“₯ Input parameters

FieldKeyTypeDefaultDescription
Glassdoor company URLsstartUrlsarray of URLsnoneReviews or Overview URLs of the companies to scrape, from any Glassdoor country site.
Company namescompanyNamesarray of strings["Google"]Company names, resolved automatically on the chosen Glassdoor domain.
Max reviews per companymaxReviewsPerCompanyinteger100Reviews to collect per company. 0 = as many as Glassdoor exposes.
Sort reviews bysortselectrecentrecent (most recent), relevance (most relevant) or rating_high (highest rating).
Current employees onlyonlyCurrentEmployeesbooleanfalseSkip reviews written by former employees.
Review languagereviewLanguagestringengISO-639-2 code: eng, fra, deu, spa, ita, por, nld.
Keyword searchtextSearchstringnoneOnly reviews mentioning this word (salary, management, remote).
Glassdoor domaincountryselectwwwDomain used to resolve company names: glassdoor.com, .co.uk, .ca, .com.au, .co.in or .ie (pasted URLs keep their own domain).
Include company responsesincludeCompanyResponsesbooleantrueAttach the employer's official replies to each review.
Flat columnsflattenbooleanfalseAdd a companyResponseCount column for CSV and Excel.
Report input statusemitInputStatusbooleantrueWrite an input_status report (which input returned nothing and why) to the run's OUTPUT record.
Max challenge retriesmaxChallengeRetriesinteger6Retries when a page fails to load. Increase only if runs report being blocked.
Proxy configurationproxyConfigurationobjectoffLeave off. A proxy usually makes Glassdoor runs fail.

Example input:

{
"companyNames": ["Google", "Microsoft"],
"maxReviewsPerCompany": 200,
"sort": "recent",
"reviewLanguage": "eng"
}

Reviews are language-specific on Glassdoor: a French company's reviews are mostly under fra, so set reviewLanguage accordingly. To target one country office, paste that country's Glassdoor URL (for example https://www.glassdoor.fr/Avis/...) instead of the company name.

πŸ“€ Output example

Each review is one dataset item, exportable as JSON, CSV, Excel or via the API.

{
"reviewId": 104536483,
"url": "https://www.glassdoor.com/Reviews/Employer-Reviews-E9079.htm#Review104536483",
"employerName": "Google",
"reviewDateTime": "2026-06-25T10:14:02.000",
"summary": "Great place to grow",
"pros": "Excellent benefits, smart colleagues, real impact.",
"cons": "Bureaucracy can slow things down.",
"advice": "Keep investing in teams.",
"ratingOverall": 5,
"ratingWorkLifeBalance": 5,
"ratingCultureAndValues": 5,
"ratingCareerOpportunities": 5,
"ratingCompensationAndBenefits": 5,
"ratingSeniorLeadership": 4,
"ratingBusinessOutlook": "POSITIVE",
"ratingRecommendToFriend": "POSITIVE",
"ratingCeo": "APPROVE",
"jobTitle": "Software Engineer",
"location": "Paris",
"employmentStatus": "REGULAR",
"isCurrentJob": true,
"lengthOfEmployment": 3,
"countHelpful": 12,
"companyResponses": [],
"languageId": "eng"
}

The run's OUTPUT record also holds the run statistics and, per company, an input_status entry (ok, not_found, or the error) so you can see at a glance which input produced nothing.

πŸ’‘ Ready-to-run examples

Latest 200 English reviews of two companies

{ "companyNames": ["Google", "Microsoft"], "maxReviewsPerCompany": 200, "sort": "recent", "reviewLanguage": "eng" }

Current employees only, sorted by highest rating

{ "companyNames": ["Airbnb"], "maxReviewsPerCompany": 100, "sort": "rating_high", "onlyCurrentEmployees": true }

Reviews that mention a keyword

{ "companyNames": ["Amazon"], "textSearch": "remote", "maxReviewsPerCompany": 300 }

One country office, from its Glassdoor URL

{ "startUrls": [{ "url": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm" }], "reviewLanguage": "fra", "maxReviewsPerCompany": 100 }

πŸ’° Pricing: how much does it cost to scrape Glassdoor reviews?

From $3.00 per 1,000 reviews on the free plan, with automatic volume discounts down to $2.04 per 1,000 on higher Apify plans. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.

Cost is driven purely by the number of reviews returned: use maxReviewsPerCompany to cap each company, and textSearch, onlyCurrentEmployees or reviewLanguage to narrow the set before you pay for it.

βš™οΈ Performance, proxies and limits

  • No proxy needed, and not recommended. Glassdoor sits behind Cloudflare. The Actor opens a real browser, clears the check once, then calls Glassdoor's own reviews back-end from the page, 100 reviews per request. A proxy usually makes runs fail.
  • Speed: after a few seconds spent on the anti-bot check, reviews are collected 100 at a time without re-navigating between pages.
  • Volume: very large employers expose tens of thousands of reviews. 0 in maxReviewsPerCompany collects everything Glassdoor exposes; set a cap to control cost and runtime.
  • Languages: reviews are served per language. Run the Actor once per language you need (eng, fra, deu...).
  • Deduplication: reviews are deduplicated by reviewId within a run.
  • Blocked runs: if a run reports being blocked, retry later or raise maxChallengeRetries. The input_status report tells you which company failed.

πŸ”Œ Integrations and API

Run Glassdoor Reviews Scraper from the Apify API, the Python or JavaScript client, or on a schedule. Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through Apify integrations. Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.

curl -X POST "https://api.apify.com/v2/acts/scrapifier~glassdoor-reviews-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "companyNames": ["Google"], "maxReviewsPerCompany": 50, "sort": "recent" }'

❓ FAQ

Is it legal to scrape Glassdoor reviews?

The Actor only reads reviews that Glassdoor publishes to anyone without logging in. Reviews may contain personal data (job titles, locations), so process them in line with GDPR and other privacy laws, respect Glassdoor's terms of use, and stay responsible for how you use the data. This is not legal advice.

Do I need a Glassdoor account, login or cookies?

No. Nothing to log in to, no cookies to paste, no proxy to configure.

Can I export Glassdoor reviews to Excel or Google Sheets?

Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML from the Storage tab, and the Google Sheets integration can push new reviews to a sheet automatically.

How many reviews can I scrape per company?

As many as Glassdoor exposes (set maxReviewsPerCompany to 0). Large companies have tens of thousands, so most users cap each run and sort by recent to fetch only new reviews.

Can I scrape reviews for a specific country or office?

Yes. Paste that country's Glassdoor company URL in startUrls (works on any Glassdoor domain: .com, .fr, .de, .co.uk...), or pick one of the English-speaking domains in country when resolving names, and set the matching reviewLanguage.

Can I filter reviews by keyword or by current employees?

Yes. textSearch keeps only reviews mentioning your keyword, and onlyCurrentEmployees removes former employees. Both filters are applied by Glassdoor before you pay for the results.

How fresh is the data?

Every run scrapes Glassdoor live. Schedule the Actor daily or weekly to keep a rolling history.

Does it also get salaries, interviews or job offers?

Not this Actor: use the sibling scrapers below, which share the same input style.

πŸ’¬ Support

Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If Glassdoor Reviews Scraper saves you time, a rating on the Store helps others find it.