Glassdoor Reviews Scraper - Most Comprehensive avatar

Glassdoor Reviews Scraper - Most Comprehensive

Pricing

from $0.05 / 1,000 reviews

Go to Apify Store
Glassdoor Reviews Scraper - Most Comprehensive

Glassdoor Reviews Scraper - Most Comprehensive

๐Ÿ”ฅ ~$0.05/1K reviews ๐Ÿ”ฅ Extract structured company review data from Glassdoor. Get ratings, pros/cons, employment details, translation data, and employer responses, all in one scrape.

Pricing

from $0.05 / 1,000 reviews

Rating

0.0

(0)

Developer

Kai

Kai

Maintained by Community

Actor stats

4

Bookmarked

361

Total users

102

Monthly active users

2.7 hours

Issues response

10 days ago

Last modified

Share

Get the Glassdoor employee reviews of any company. Each review has the title, pros, cons, and advice to management. It also has the overall rating, six category ratings, CEO approval, business outlook, and recommendation. You also get the reviewer's job title, location, status, and tenure, and the employer's responses.

By default, each run also gives a free company summary: rating distributions, ratings by demographic group, office ratings, benefits, awards, and photos. There is no review limit. $0.05 per 1,000 reviews.

What can you do with it?

  • Employer brand monitoring. Track new reviews, ratings, and employer responses for your own company.
  • Competitor benchmarking. Compare overall and category ratings, CEO approval, and outlook across employers.
  • Recruiting and talent intelligence. Find employers whose staff give low ratings for career growth or pay. See the job titles and locations of those reviewers.
  • Investment research. Follow employee sentiment over time: outlook, CEO approval, and recommendation by review date.
  • Diversity, equity, and inclusion analysis. Compare diversity ratings, and ratings by gender, race and ethnicity, and other groups.
  • Due diligence. Study the culture of a company, its subsidiaries, and its offices before an acquisition or a partnership.
  • HR and people analytics. Find the themes in pros, cons, and advice to management.
  • Text and sentiment datasets. Get full review text with a 1 to 5 rating for each review.

What data does it extract?

DataWhen you get it
Review title, pros, cons, advice to management, post date, and review URLEvery run
Overall rating, and ratings for work-life balance, culture and values, senior leadership, compensation and benefits, career opportunities, and diversity and inclusionEvery run
CEO approval, business outlook, and recommendation to a friendEvery run
Job title, location, employment status, current or former employee, tenure, and job end yearEvery run
Helpful and unhelpful votes, and employer responses with date and responder job titleEvery run
Original-language text when Glassdoor translated a reviewEvery run
Company ratings, review counts, and the number of reviews for each star in each categoryincludeCompanyData (on by default)
Ratings by gender, race and ethnicity, disability, sexual orientation, veteran status, and parent or caregiver statusincludeCompanyData
Company profile: CEO, headquarters, size, revenue, industry, year founded, website, description, and missionincludeCompanyData
Office addresses, each with its overall ratingincludeCompanyData
Benefits rating, the employer's benefits summary, awards, Best Places to Work rankings, subsidiaries, and photosincludeCompanyData
A completeness report for the reviews of each employerincludeCompanyData

Glassdoor does not have every field for every review. A field without data is null or [].

Why this scraper?

This scraperOther Apify scrapers
Price per 1,000 reviews$0.05$1-19. The most-used ones charge $4.75 or more
Company summaryFree, in every run by defaultNot available at most, or a fee for each company
Category ratings in each reviewAll sixAll six at most, overall only at some
Employer responsesText, date, responder job title, and votesAt few scrapers. A yes/no flag at some
Original text of translated reviewsYesAt few scrapers
Ratings by demographic groupSix groupsAt few scrapers
Number of reviews for each starOverall, each of the six categories, and the recommendation splitOverall only, at few scrapers
Office locationsEach office with its ratingAddresses only, at few scrapers
Company photosUp to 100, with captionsA photo count at most
Completeness reportreviewCompletion for each employer, and a FAILED run when a pull stops earlyNot available

The most-used Glassdoor review scrapers in the Apify Store do not document these (checked in October 2026):

  • The number of reviews for each star in each rating category. Two of them give it for the overall rating only.
  • Office locations with a rating for each office.
  • Company photos with captions.
  • A completeness report for each employer.

Also:

  • A company summary at no charge, with ratings by demographic group.
  • $0.05 per 1,000 reviews. The most-used scrapers charge $4.75 or more.

Quick start

  1. Open the company on Glassdoor and copy the URL from the address bar.
  2. Paste it into Glassdoor Review URLs. Add more URLs for more companies.
  3. Set Max Reviews Per Company. Use 0 to get all reviews.
  4. Click Start. Download the results as JSON, CSV, Excel, or HTML.

The same input as JSON:

{
"urls": ["https://www.glassdoor.com/Reviews/Starbucks-Reviews-E2202.htm"],
"maxReviews": 100
}

Examples by use case

Employer brand monitoring. The 50 newest reviews of your company and its company summary. Schedule the run in Apify, for example every week. Set maxReviews above the number of reviews that the company gets in one period, and keep the rows whose reviewId you have not saved before:

{
"urls": ["https://www.glassdoor.com/Reviews/Starbucks-Reviews-E2202.htm"],
"maxReviews": 50,
"sort": "DATE"
}

Competitor benchmarking. The company ratings, rating distributions, and 200 newest reviews of each retailer. Compare the COMPANY rows side by side:

{
"urls": [
"https://www.glassdoor.com/Reviews/Walmart-Reviews-E715.htm",
"https://www.glassdoor.com/Reviews/Target-Reviews-E194.htm"
],
"maxReviews": 200
}

Recruiting and talent intelligence. The 1,000 newest reviews of each competitor. Sort the Dataset by ratings.careerOpportunities or ratings.compensationAndBenefits, and group it by employment.jobTitle:

{
"urls": [
"https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
"https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm",
"https://www.glassdoor.com/Reviews/Meta-Reviews-E40772.htm"
],
"maxReviews": 1000,
"includeCompanyData": false
}

Investment research. All reviews of a company, to follow ratings.outlook, ratings.ceo, and ratings.recommendation by postedAt:

{
"urls": ["https://www.glassdoor.com/Reviews/Nucor-Reviews-E489.htm"],
"maxReviews": 0
}

Diversity, equity, and inclusion analysis. Mostly company data: demographicRatings, the diversity rating, and its distribution. maxReviews: 1 keeps the review part small:

{
"urls": [
"https://www.glassdoor.com/Reviews/Deloitte-Reviews-E2763.htm",
"https://www.glassdoor.com/Reviews/IBM-Reviews-E354.htm"
],
"maxReviews": 1
}

Text and sentiment datasets. Every review of an employer, with no company summary:

{
"urls": ["https://www.glassdoor.com/Reviews/Nucor-Reviews-E489.htm"],
"maxReviews": 0,
"includeCompanyData": false
}

Choose the companies

Give one URL for each company. A Reviews, Overview, Salaries, or other company page works, also from another Glassdoor domain such as glassdoor.co.uk. The Actor reads only the employer ID in the URL, such as E2202 in Starbucks-Reviews-E2202.htm or EI_IE2202 in an Overview URL.

  • maxReviews applies to each employer separately.
  • Each employer is processed once, in the order of its first occurrence. Two URLs of the same employer give one set of reviews.
  • A URL without an employer ID is skipped. The run fails only when no URL has one.
  • sort: "DATE" returns the newest reviews first. sort: "RATING" returns the highest overall ratings first.

Input reference

FieldTypeDefaultBehavior
urlsstring[]requiredGlassdoor company page URLs that contain an -E489/_E489 (Reviews, Salaries, ...) or EI_IE489 (Overview) employer marker. Invalid entries are skipped; each employer is processed once in first-occurrence order.
maxReviewsinteger, 0 or greater20Maximum reviews per employer. Use 0 for no limit. Glassdoor's default review filters still apply.
sortDATE or RATINGDATESort by newest review or highest overall rating.
includeCompanyDatabooleantrueWrite one company summary when Glassdoor returns aggregate review statistics. Company rows have no charge.
proxyConfigurationobject{"useApifyProxy":true}Connection settings. The default Apify Proxy works, so residential proxies are not needed.

Complete input example

This reference example covers every input field. It limits the result to 10 reviews and includes a company summary.

Output

The run writes two Datasets with different shapes:

DatasetOne item for eachWhen
defaultReviewEvery run
COMPANYEmployer with aggregate review statisticsincludeCompanyData: true

Through the API, read the ID of the company Dataset from storageIds.datasets.COMPANY in the run object.

Review fields by topic

  • Review. Review ID, URL, post date, title (summary), pros, cons, and advice to management. The language of the text, and the original text when Glassdoor translated the review.
  • Ratings. The overall rating and six category ratings, from 1 to 5. A category rating is 0 when the reviewer did not rate that category, or when Glassdoor did not have the category yet. CEO approval (APPROVE, DISAPPROVE, or NO_OPINION), business outlook (POSITIVE, NEUTRAL, or NEGATIVE), and recommendation (POSITIVE or NEGATIVE).
  • Employment. Current or former employee, employment status (such as REGULAR, PART_TIME, INTERN, or CONTRACT), tenure, job end year, job title, and location. The division, when Glassdoor shows one.
  • Engagement. Helpful and unhelpful votes, and the featured flag.
  • Employer. Employer ID, short and full name, logo, and responses with text, date, responder job title, and votes.
  • Meta. Glassdoor review flags, the relative review link, and the time of the scrape.

Review example

This is a complete review from a run on 10 October 2026.

Review field reference

PathType and nullability
reviewIdnumber
url, postedAtstring
content.summary, pros, cons, advicestring or null
content.languageIdstring
content.originalLanguageId, summaryOriginal, prosOriginal, consOriginal, adviceOriginalstring or null
ratings.overallnumber from 1 to 5
ratings.workLifeBalance, cultureAndValues, seniorLeadership, compensationAndBenefits, careerOpportunities, diversityAndInclusionnumber from 1 to 5, 0 when the reviewer did not rate the category, or null
ratings.ceo, outlook, recommendationstring or null
employment.isCurrentJobboolean
employment.status, divisionName, divisionLinkstring or null
employment.employmentLength, jobEndingYearnumber or null. jobEndingYear is null for current employees.
employment.jobTitle{ id: number, text: string } or null
employment.location{ id: number, name: string, type: string } or null
engagement.helpful, unhelpfulnumber
engagement.featuredboolean
employer.idnumber
employer.shortNamestring
employer.name, logoUrlstring or null
employer.hasResponseboolean
employer.responsesresponse object array; can be empty
employer.responses[].id, helpful, unhelpfulnumber
employer.responses[].response, responseDateTimestring
employer.responses[].userJobTitle, responseOriginal, languageId, originalLanguageId, translationMethodstring or null
meta.isLegal, isCovid19boolean
meta.translationMethod, reviewDetailUrlstring or null
meta.flaggingDisabled, isLanguageMismatchboolean or null
meta.relatedStructuresobject array with variable fields; can be empty
meta.topLevelDomainIdnumber or null
meta.scrapedAtstring

The Actor keeps Glassdoor's review order. A finite maxReviews value limits the rows for each employer. If Glassdoor has no more reviews, the Actor returns the reviews collected so far. The Actor does not deduplicate review rows. If Glassdoor shows a review twice, the Dataset keeps both rows in Glassdoor's order.

Company Dataset reference

When includeCompanyData is true, the COMPANY Dataset receives one row for each employer that has aggregate review statistics. The Actor can add profile, office, demographic, review-location, benefit, and photo data. The Actor does not deduplicate the arrays in optional company sections or calculate new rating values.

allReviewsCount is Glassdoor's total number of reviews for the employer. filteredReviewsCount is the number after Glassdoor's default review filters, and the Actor uses it to check completeness.

Company record

This example is the Starbucks row from the same run on 10 October 2026. Long arrays keep one item. profile repeats most of the top-level profile fields, so the example shows only three of its keys. Square brackets mark a value removed from the documentation.

dataStatus is complete when all optional company sections are available. It is partial when one or more sections were unavailable. failedSections lists those sections. Company objects can gain new fields, so new keys can appear in later runs.

Review completeness report

Each COMPANY row carries a reviewCompletion object. It reports whether the review pull for that employer was complete, the stopReason, the stated review and page counts, the saved and unique review counts, the last accepted page, and the failed page when there was one. Read reviewCompletion.complete to verify a pull in code without comparing counts by hand.

stopReasonMeaningcomplete
limitThe pull reached maxReviews.true
exhaustedThe pull reached Glassdoor's last stated review page.true
empty-pageA page before the last stated page was empty, also on a second try.false
charge-limitThe run reached the maximum cost that you set.false
errorThe Actor could not get the reviews after repeated retries. failureCategory gives the class, such as blocked or rate-limit.false

Glassdoor counts some hidden reviews that it does not serve. A pull that reaches the last stated page is complete, even when it saved fewer reviews than the stated count.

Run status and completeness

  • The run finishes with SUCCEEDED only when every employer reached maxReviews or Glassdoor's last review page. Otherwise it finishes with FAILED. The reviews saved before the stop stay in the Dataset.
  • When the run reaches the maximum cost that you set, it stops, keeps the saved reviews, and finishes with SUCCEEDED. The status message gives the number of saved reviews and of employers that did not start.
  • The Actor tries every employer before it reports a failure. An employer with no reviews succeeds.
  • If the platform restarts the run, the Actor continues from its saved progress. It does not save or charge a review twice.
  • Each COMPANY row is saved when its employer is done. An aborted or timed-out run keeps the rows of the finished employers.

FAQ

How many reviews can I get?

There is no fixed limit. Set maxReviews to 0 to get every review that Glassdoor serves for each employer.

What does a run cost?

$0.05 per 1,000 reviews, and $0.00001 for each run. Company rows have no charge. Set a maximum cost for the run to cap the price. The Actor then stops at that cost and keeps the saved reviews.

Why did I get fewer reviews than Glassdoor shows?

Glassdoor applies its default review filters, and it counts some hidden reviews that it does not serve. Compare allReviewsCount and filteredReviewsCount in the COMPANY row. reviewCompletion.complete tells you if the Actor got every review that Glassdoor served.

How do I get only the new reviews?

The Actor has no date filter. Set sort to DATE, and set maxReviews above the number of new reviews that you expect. Schedule the run, and keep the rows whose reviewId you have not saved before.

Can I filter by location, job title, or current employees?

The input has no such filter. Each review has employment.location, employment.jobTitle, and employment.isCurrentJob, so you can filter the Dataset. If you need the filter in the input, tell us in the Issues tab.

Why is a category rating 0?

The reviewer did not rate that category, or Glassdoor did not have the category when the review was posted. For example, the diversity and inclusion rating is 0 in reviews from before 2020. Leave out 0 values when you calculate an average.

Can I get salaries, interviews, or job listings?

Use Glassdoor Company Scraper for salaries, interviews, benefits, and company profiles. Use Glassdoor Jobs Scraper for job listings.

A feature or field that I need is missing. What can I do?

Tell us in the Issues tab. Describe what you need and give an example company.

Where can I report a problem?

Open an issue in the Issues tab. Include the run ID and the input, so that we can reproduce it.