Glassdoor Reviews Scraper - Most Comprehensive
Pricing
from $0.05 / 1,000 reviews
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
Maintained by CommunityActor stats
4
Bookmarked
361
Total users
102
Monthly active users
2.7 hours
Issues response
10 days ago
Last modified
Categories
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?
| Data | When you get it |
|---|---|
| Review title, pros, cons, advice to management, post date, and review URL | Every run |
| Overall rating, and ratings for work-life balance, culture and values, senior leadership, compensation and benefits, career opportunities, and diversity and inclusion | Every run |
| CEO approval, business outlook, and recommendation to a friend | Every run |
| Job title, location, employment status, current or former employee, tenure, and job end year | Every run |
| Helpful and unhelpful votes, and employer responses with date and responder job title | Every run |
| Original-language text when Glassdoor translated a review | Every run |
| Company ratings, review counts, and the number of reviews for each star in each category | includeCompanyData (on by default) |
| Ratings by gender, race and ethnicity, disability, sexual orientation, veteran status, and parent or caregiver status | includeCompanyData |
| Company profile: CEO, headquarters, size, revenue, industry, year founded, website, description, and mission | includeCompanyData |
| Office addresses, each with its overall rating | includeCompanyData |
| Benefits rating, the employer's benefits summary, awards, Best Places to Work rankings, subsidiaries, and photos | includeCompanyData |
| A completeness report for the reviews of each employer | includeCompanyData |
Glassdoor does not have every field for every review. A field without data is
null or [].
Why this scraper?
| This scraper | Other Apify scrapers | |
|---|---|---|
| Price per 1,000 reviews | $0.05 | $1-19. The most-used ones charge $4.75 or more |
| Company summary | Free, in every run by default | Not available at most, or a fee for each company |
| Category ratings in each review | All six | All six at most, overall only at some |
| Employer responses | Text, date, responder job title, and votes | At few scrapers. A yes/no flag at some |
| Original text of translated reviews | Yes | At few scrapers |
| Ratings by demographic group | Six groups | At few scrapers |
| Number of reviews for each star | Overall, each of the six categories, and the recommendation split | Overall only, at few scrapers |
| Office locations | Each office with its rating | Addresses only, at few scrapers |
| Company photos | Up to 100, with captions | A photo count at most |
| Completeness report | reviewCompletion for each employer, and a FAILED run when a pull stops early | Not 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
- Open the company on Glassdoor and copy the URL from the address bar.
- Paste it into Glassdoor Review URLs. Add more URLs for more companies.
- Set Max Reviews Per Company. Use
0to get all reviews. - 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.
maxReviewsapplies 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
| Field | Type | Default | Behavior |
|---|---|---|---|
urls | string[] | required | Glassdoor 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. |
maxReviews | integer, 0 or greater | 20 | Maximum reviews per employer. Use 0 for no limit. Glassdoor's default review filters still apply. |
sort | DATE or RATING | DATE | Sort by newest review or highest overall rating. |
includeCompanyData | boolean | true | Write one company summary when Glassdoor returns aggregate review statistics. Company rows have no charge. |
proxyConfiguration | object | {"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:
| Dataset | One item for each | When |
|---|---|---|
| default | Review | Every run |
COMPANY | Employer with aggregate review statistics | includeCompanyData: 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
0when the reviewer did not rate that category, or when Glassdoor did not have the category yet. CEO approval (APPROVE,DISAPPROVE, orNO_OPINION), business outlook (POSITIVE,NEUTRAL, orNEGATIVE), and recommendation (POSITIVEorNEGATIVE). - Employment. Current or former employee, employment status (such as
REGULAR,PART_TIME,INTERN, orCONTRACT), 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
| Path | Type and nullability |
|---|---|
reviewId | number |
url, postedAt | string |
content.summary, pros, cons, advice | string or null |
content.languageId | string |
content.originalLanguageId, summaryOriginal, prosOriginal, consOriginal, adviceOriginal | string or null |
ratings.overall | number from 1 to 5 |
ratings.workLifeBalance, cultureAndValues, seniorLeadership, compensationAndBenefits, careerOpportunities, diversityAndInclusion | number from 1 to 5, 0 when the reviewer did not rate the category, or null |
ratings.ceo, outlook, recommendation | string or null |
employment.isCurrentJob | boolean |
employment.status, divisionName, divisionLink | string or null |
employment.employmentLength, jobEndingYear | number 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, unhelpful | number |
engagement.featured | boolean |
employer.id | number |
employer.shortName | string |
employer.name, logoUrl | string or null |
employer.hasResponse | boolean |
employer.responses | response object array; can be empty |
employer.responses[].id, helpful, unhelpful | number |
employer.responses[].response, responseDateTime | string |
employer.responses[].userJobTitle, responseOriginal, languageId, originalLanguageId, translationMethod | string or null |
meta.isLegal, isCovid19 | boolean |
meta.translationMethod, reviewDetailUrl | string or null |
meta.flaggingDisabled, isLanguageMismatch | boolean or null |
meta.relatedStructures | object array with variable fields; can be empty |
meta.topLevelDomainId | number or null |
meta.scrapedAt | string |
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.
stopReason | Meaning | complete |
|---|---|---|
limit | The pull reached maxReviews. | true |
exhausted | The pull reached Glassdoor's last stated review page. | true |
empty-page | A page before the last stated page was empty, also on a second try. | false |
charge-limit | The run reached the maximum cost that you set. | false |
error | The 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
SUCCEEDEDonly when every employer reachedmaxReviewsor Glassdoor's last review page. Otherwise it finishes withFAILED. 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
COMPANYrow 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.