Glassdor Reviews Scraper avatar

Glassdor Reviews Scraper

Pricing

from $6.00 / 1,000 record scrapeds

Go to Apify Store
Glassdor Reviews Scraper

Glassdor Reviews Scraper

Scrape company reviews from Glassdoor with pagination, date filtering, and multi-company support.

Pricing

from $6.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

Reviewly

Reviewly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Glassdoor Reviews Scraper — Extract Company Reviews at Scale

Turn Glassdoor employee reviews into structured data — no API key, no manual copy-paste, no limits.

Scrape hundreds or thousands of Glassdoor company reviews in minutes. Get ratings, pros & cons, job titles, employer responses, and more — all delivered in clean JSON, ready for analysis or integration.

  • ✅ Scrape multiple companies in a single run
  • ✅ Filter reviews by date to get only recent feedback
  • ✅ Set a maximum review count to control costs
  • ✅ Automatic pagination — no page-by-page setup needed
  • ✅ Built-in duplicate detection and residential proxy rotation

📌 What This Actor Does

This Apify Actor scrapes employee reviews from Glassdoor France (glassdoor.fr). It navigates company review pages, handles Glassdoor's anti-bot protections automatically, and collects structured review data for every company you provide.

Who is it for?

  • HR & People teams monitoring employer brand and benchmarking against competitors
  • Consultants & agencies running employee experience audits for clients
  • Data analysts & researchers studying workplace trends at scale
  • Businesses tracking their own Glassdoor reputation over time

✨ Key Features

  • Multi-company support — provide a list of Glassdoor URLs and scrape all of them in one run
  • Date filtering — set a targetDate to only collect reviews submitted after a specific date, perfect for incremental runs
  • Review cap — set maxNumberOfReviews to limit how many reviews are collected per company, keeping costs predictable
  • Full pagination — automatically fetches all pages using both HTML scraping (page 1) and Glassdoor's internal GraphQL API (pages 2+)
  • Duplicate detection — built-in deduplication across all pages ensures clean data
  • Employer responses — captures official company replies alongside each review
  • Residential proxy rotation — uses RESIDENTIAL proxies by default to stay undetected

🧠 Why This Actor is Different

Most Glassdoor scrapers break within days because they rely on brittle CSS selectors or a single parsing strategy. This actor handles all three Glassdoor page formats that exist in the wild:

FormatWhen it appears
Next.js App Router (RSC / BFF)Most company pages today
Single-review detail pageCompanies with very few reviews
Legacy __NEXT_DATA__ formatOlder company profiles

It automatically detects which format is served and parses each one correctly — so you never get empty results due to a page layout change.

It also uses exponential backoff retries (up to 10 attempts per page) and random delays between requests, making it significantly more robust against rate limiting than basic scrapers.


⚙️ Input Configuration

Fields

FieldTypeRequiredDefaultDescription
startUrlsArrayOne or more Glassdoor company review page URLs
maxNumberOfReviewsInteger0 (no limit)Maximum reviews to collect per company
targetDateString (YYYY-MM-DD)Only collect reviews on or after this date
proxyConfigurationObjectRESIDENTIALProxy settings (Apify proxy recommended)

Example Input

{
"startUrls": [
{ "url": "https://www.glassdoor.fr/Avis/Partoo-Avis-E1897958.htm" },
{ "url": "https://www.glassdoor.fr/Avis/Leboncoin-Avis-E781588.htm" }
],
"maxNumberOfReviews": 200,
"targetDate": "2024-01-01",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Tips for Best Results

  • Finding the URL: Go to the company's Glassdoor page, click "Reviews", and copy the URL from your browser. It should look like https://www.glassdoor.fr/Avis/CompanyName-Avis-EXXXXXXX.htm.
  • Incremental runs: Set targetDate to the date of your last run to only fetch new reviews — ideal for scheduled monitoring.
  • Cost control: Use maxNumberOfReviews when you only need a sample (e.g., the 100 most recent reviews).
  • Proxies: Always keep residential proxies enabled. Glassdoor aggressively blocks datacenter IPs.

📤 Output Format

Each company produces one dataset item containing the company metadata and all collected reviews.

Structure

{
"entity": {
"id": 1897958,
"keyword": "Partoo",
"totalRating": 4.2,
"totalReviews": 312,
"ratingDetails": {
"5": 150,
"4": 80,
"3": 40,
"2": 25,
"1": 17
},
"sourceUrl": "https://www.glassdoor.fr/Avis/Partoo-Avis-E1897958.htm"
},
"reviews": [
{
"reviewId": 98765432,
"date": "2024-11-15T00:00:00.000Z",
"rating": 5,
"title": "Great place to grow",
"location": "Paris",
"reviewBody": "",
"points": {
"positivePoints": "Excellent team culture, lots of autonomy, real impact on the product.",
"negativePoints": "Rapid growth means processes are still maturing."
},
"author": {
"jobTitle": "Software Engineer",
"isCurrentlyWorking": true
},
"comment": {
"body": "Thank you for your feedback! We're working hard on our processes.",
"date": "2024-11-20T00:00:00.000Z"
},
"url": "https://www.glassdoor.fr/Avis/avis-employé-Partoo-RVW98765432.htm",
"scrapedAt": "2025-05-17T10:32:00.000Z"
}
]
}

Field Reference

entity object

FieldDescription
idGlassdoor internal company ID
keywordCompany short name as used by Glassdoor
totalRatingOverall average rating (out of 5)
totalReviewsTotal number of rated reviews on Glassdoor
ratingDetailsCount of reviews per star rating (1–5)
sourceUrlThe input URL provided for this company

reviews array — each item

FieldDescription
reviewIdUnique Glassdoor review ID
dateDate the review was submitted (ISO 8601)
ratingStar rating given by the reviewer (1–5)
titleReview headline / summary
locationReviewer's work location
points.positivePointsPros section of the review
points.negativePointsCons section of the review
reviewBodyFull review body (when available)
author.jobTitleReviewer's job title
author.isCurrentlyWorkingWhether the reviewer is a current employee
comment.bodyOfficial employer response text
comment.dateDate of the employer response
urlDirect link to the review on Glassdoor
scrapedAtTimestamp of when this review was scraped

▶️ How to Use

  1. Open the actor in the Apify Store and click Try for free
  2. In the Input tab, paste one or more Glassdoor company review URLs into startUrls
  3. Optionally set maxNumberOfReviews and/or targetDate
  4. Make sure Proxy configuration is set to use RESIDENTIAL proxies
  5. Click Save & Run
  6. Once finished, open the Dataset tab to view or export your results (JSON, CSV, Excel)

Via the Apify API

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{ "url": "https://www.glassdoor.fr/Avis/Partoo-Avis-E1897958.htm" }],
"maxNumberOfReviews": 100,
"targetDate": "2024-01-01"
}'

Scheduled Monitoring (Automated)

  1. Go to Schedules in your Apify account
  2. Create a new schedule (e.g., every Monday at 9am)
  3. Attach this actor with targetDate set to the previous week
  4. Connect the output dataset to your BI tool, spreadsheet, or webhook

📈 Use Cases

1. Employer Brand Monitoring

Track how employee sentiment evolves month over month. Feed the data into a dashboard to visualize rating trends, identify recurring complaints, and measure the impact of internal initiatives.

2. Competitive Benchmarking

Collect reviews for 10–20 competitors in your industry. Compare average ratings, common pros/cons, and response rates to understand where you stand in the talent market.

3. HR Audit & Due Diligence

Before a merger, acquisition, or partnership, scrape the target company's reviews to get an unfiltered view of their culture, management style, and employee satisfaction.

4. Recruitment & Talent Intelligence

Identify what employees value most at top companies in your sector. Use the data to refine your own job postings and employer value proposition.

5. Academic & Market Research

Gather large-scale workplace data for research on topics like remote work adoption, management practices, compensation satisfaction, or industry-specific trends.


🛠️ Advanced Tips

Running Multiple Companies Efficiently

Add all company URLs to startUrls in a single run rather than running the actor separately per company. This is more efficient and uses fewer compute units.

Incremental Scraping with targetDate

For ongoing monitoring, store the last run date and pass it as targetDate on the next run. This ensures you only pay for new reviews and keeps your dataset fresh without duplicating old data.

Adjusting Proxy Settings

The actor defaults to French RESIDENTIAL proxies (countryCode: FR). If you need to scrape companies on other Glassdoor locales, you may need to adjust the proxy country in the configuration.

Exporting Data

From the Apify dataset view you can export results as:

  • JSON — for API integrations and developers
  • CSV / Excel — for analysts and spreadsheet workflows
  • XML / RSS — for legacy system integrations

💰 Pricing

This actor uses pay-per-event pricing — you are only charged for the reviews actually scraped, not for failed attempts or filtered results.

EventPrice
1 review scraped$0.006
100 reviews$0.60
1,000 reviews$6.00
10,000 reviews$60.00

Example: Scraping a company with 250 reviews costs $1.50.

There are no subscriptions, no seat fees, and no charges if the actor fails to retrieve results. You pay only for what you get.

Apify platform compute and proxy costs are billed separately by Apify and are typically negligible (a few cents per run).


❓ FAQ / Troubleshooting

Q: The actor runs but returns 0 reviews — what's wrong?
A: This almost always means the proxy is blocked. Make sure you have RESIDENTIAL proxies enabled, not datacenter proxies. Glassdoor blocks datacenter IPs aggressively.

Q: Some reviews are missing the title field — is that a bug?
A: No. When Glassdoor serves a single-review detail page (companies with very few reviews), titles are not exposed in the page HTML. All other fields will still be populated.

Q: The actor stopped early and didn't reach my maxNumberOfReviews.
A: If you set targetDate, the actor stops as soon as it encounters a full page of reviews older than that date. This is intentional to avoid wasting compute. If you want all reviews regardless of date, leave targetDate empty.

Q: Can I scrape reviews in languages other than French?
A: The actor currently filters for French-language reviews (filter.iso3language=fra). Scraping other languages requires modifying the language filter in the source code.

Q: How many reviews can I scrape per run?
A: There is no hard limit — the actor will paginate through all available reviews. Very large companies (1000+ reviews) may take several minutes. Use maxNumberOfReviews to cap the run time if needed.

Q: Will this work on glassdoor.com (English) or other country versions?
A: The actor is built and tested against glassdoor.fr. Other locales have different URL structures and may require adaptation.

Q: How do I get a fresh GD_AUTH_TOKEN if the GraphQL calls stop working?
A: Log into the Glassdoor iOS app and capture the x-gd-auth-token header from any outgoing API request using a proxy tool like Charles Proxy or mitmproxy. Set the new value as the GD_AUTH_TOKEN environment variable on the actor.


📞 Support

  • Bug reports & feature requests: Open an issue in the actor repository
  • General questions: Use the Apify Community Discord or the actor's discussion tab in the Store
  • Direct support: Email the maintainer at me@ahmedhrid.com

💡 Conversion Improvement Suggestions