Glassdor Reviews Scraper
Pricing
from $6.00 / 1,000 record scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
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
targetDateto only collect reviews submitted after a specific date, perfect for incremental runs - Review cap — set
maxNumberOfReviewsto 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:
| Format | When it appears |
|---|---|
| Next.js App Router (RSC / BFF) | Most company pages today |
| Single-review detail page | Companies with very few reviews |
Legacy __NEXT_DATA__ format | Older 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | ✅ | — | One or more Glassdoor company review page URLs |
maxNumberOfReviews | Integer | ❌ | 0 (no limit) | Maximum reviews to collect per company |
targetDate | String (YYYY-MM-DD) | ❌ | — | Only collect reviews on or after this date |
proxyConfiguration | Object | ❌ | RESIDENTIAL | Proxy 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
targetDateto the date of your last run to only fetch new reviews — ideal for scheduled monitoring. - Cost control: Use
maxNumberOfReviewswhen 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
| Field | Description |
|---|---|
id | Glassdoor internal company ID |
keyword | Company short name as used by Glassdoor |
totalRating | Overall average rating (out of 5) |
totalReviews | Total number of rated reviews on Glassdoor |
ratingDetails | Count of reviews per star rating (1–5) |
sourceUrl | The input URL provided for this company |
reviews array — each item
| Field | Description |
|---|---|
reviewId | Unique Glassdoor review ID |
date | Date the review was submitted (ISO 8601) |
rating | Star rating given by the reviewer (1–5) |
title | Review headline / summary |
location | Reviewer's work location |
points.positivePoints | Pros section of the review |
points.negativePoints | Cons section of the review |
reviewBody | Full review body (when available) |
author.jobTitle | Reviewer's job title |
author.isCurrentlyWorking | Whether the reviewer is a current employee |
comment.body | Official employer response text |
comment.date | Date of the employer response |
url | Direct link to the review on Glassdoor |
scrapedAt | Timestamp of when this review was scraped |
▶️ How to Use
On the Apify Platform (Recommended)
- Open the actor in the Apify Store and click Try for free
- In the Input tab, paste one or more Glassdoor company review URLs into
startUrls - Optionally set
maxNumberOfReviewsand/ortargetDate - Make sure Proxy configuration is set to use RESIDENTIAL proxies
- Click Save & Run
- 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)
- Go to Schedules in your Apify account
- Create a new schedule (e.g., every Monday at 9am)
- Attach this actor with
targetDateset to the previous week - 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.
| Event | Price |
|---|---|
| 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
