Glassdoor Company Reviews Scraper
Pricing
from $0.50 / 1,000 results
Glassdoor Company Reviews Scraper
Scrape employee reviews from Glassdoor company pages. Extracts ratings, pros, cons, advice to management, job titles, dates, locations, and helpful counts.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Joren Maurissen
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape employee reviews from Glassdoor — ratings, pros, cons, advice to management, job titles, locations, dates, and helpful counts.
Overview
This Apify Actor scrapes publicly visible company reviews from Glassdoor. Given a Glassdoor company reviews URL, it paginates through review pages and extracts structured data for each review, including:
- ⭐ Overall rating (1–5 scale)
- 📝 Review title
- 👍 Pros
- 👎 Cons
- 💬 Advice to Management
- 👤 Employee status (Current / Former Employee)
- 💼 Job title
- 📅 Date
- 📍 Location
- 🔢 Helpful count (number of upvotes)
Features
- Multi-strategy parsing — uses
data-testattributes first, then falls back to legacy CSS class names, so the scraper keeps working even when Glassdoor changes its obfuscated class names - Pagination support — automatically navigates through review pages (
?p=2,?p=3, …) - Rate-limit friendly — configurable random delays between page requests
- Graceful blocking handling — detects Cloudflare bot protection and logs a clear warning instead of crashing, preserving any reviews already collected
- Apify residential proxy ready — designed to work with Apify's residential proxy pool for reliable access on the platform
Use Cases
- Employer brand monitoring — track sentiment trends for your company over time
- Competitive intelligence — compare review ratings and themes across competitors
- HR analytics — aggregate pros/cons text for qualitative analysis of workplace culture
- Job search research — collect reviews for companies you're considering
- Market research — analyze industry-wide employee satisfaction trends
- NLP / sentiment analysis — build datasets of employee review text for ML models
Input
The actor accepts the following input fields:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
companyUrl | string | ✅ | — | Full Glassdoor reviews URL, e.g. https://www.glassdoor.com/Reviews/Google-Reviews-E9049.htm |
maxReviews | integer | ❌ | 100 | Maximum number of reviews to collect |
maxPages | integer | ❌ | 10 | Maximum pages to paginate through (≈10 reviews per page) |
minDelay | number | ❌ | 2.0 | Minimum random delay (seconds) between page requests |
maxDelay | number | ❌ | 5.0 | Maximum random delay (seconds) between page requests |
Input Example
{"companyUrl": "https://www.glassdoor.com/Reviews/Google-Reviews-E9049.htm","maxReviews": 50,"maxPages": 5}
Output
Each review is pushed as a dataset item with the following structure:
{"companyName": "Google","rating": 4.0,"title": "Great place to work with smart people","pros": "Excellent benefits, free food, smart colleagues, great compensation...","cons": "Can be competitive, long hours during crunch periods...","adviceToManagement": "Continue to invest in employee growth and work-life balance.","employeeStatus": "Current Employee","jobTitle": "Software Engineer","date": "2024-06-15","location": "Mountain View, CA","helpfulCount": 12,"reviewPage": 1}
A summary is also saved to the OUTPUT key-value store:
{"companyName": "Google","overallRating": 4.3,"totalReviewsAvailable": 5000,"reviewsCollected": 50,"pagesScraped": 5,"wasBlocked": false,"reviews": [...]}
How to Use
On the Apify Platform
- Go to the actor page on Apify Store
- Click Try for free or Start with Apify
- Enter the company reviews URL and adjust limits
- Important: Enable residential proxies in the run settings:
- Proxy type: Apify Proxy
- Proxy group: RESIDENTIAL
- Country: US (recommended for Glassdoor)
- Click Start and wait for results
- Download data from the Dataset tab (JSON, CSV, Excel, etc.)
Locally
# Install the Apify CLInpm install -g apify# Run the actorapify run -i '{"companyUrl": "https://www.glassdoor.com/Reviews/Google-Reviews-E9049.htm", "maxReviews": 5, "maxPages": 1}'
⚠️ Local runs will likely be blocked by Cloudflare. Glassdoor's bot protection blocks non-browser HTTP clients without residential proxies. For reliable results, run on the Apify platform with residential proxies.
Via API (Python)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("glassdoor-reviews-scraper").call(run_input={"companyUrl": "https://www.glassdoor.com/Reviews/Google-Reviews-E9049.htm","maxReviews": 50,"maxPages": 5,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Pricing
This actor uses Pay Per Result pricing on the Apify platform.
| Resource | Cost |
|---|---|
| Per review scraped | $0.005 |
| Minimum run cost | $0.05 |
Example costs:
- 50 reviews → $0.25
- 100 reviews → $0.50
- 500 reviews → $2.50
- 1,000 reviews → $5.00
Proxy costs (residential proxies) are included in the per-result price.
Limitations & Important Notes
Bot Protection
Glassdoor uses Cloudflare bot detection with IP reputation scoring and rate limiting. This means:
- Local runs will likely get 403 blocked — this is expected behavior
- Apify platform runs with residential proxies are required for reliable access
- The actor detects blocking and exits gracefully, preserving any data collected before the block
Review Cap
Glassdoor typically shows a maximum of ~2,000 reviews per company in pagination. The maxReviews parameter caps at 5,000 but actual results may be lower depending on the company.
Selectors May Change
Glassdoor periodically changes its HTML class names (obfuscated CSS). This actor uses multiple fallback selector strategies, but if all fail, the parser may need updating. The data-test attribute approach is the most stable.
Legal & Ethical Use
- Only scrape publicly visible review data — do not bypass Glassdoor's login wall
- Respect Glassdoor's Terms of Service and
robots.txt - Do not store or republish reviewer personal data
- Use the data for legitimate research and analysis purposes
- Consider using Glassdoor's official API if available for your use case
Technical Details
- Runtime: Python 3.14 on
apify/actor-python:3.14 - HTTP client:
httpxwith realistic Chrome browser headers - HTML parser:
BeautifulSoupwithlxml - Pagination: URL-based (
?p={page}) - Rate limiting: Configurable random delays between requests
Support
If you encounter issues:
- Check that your URL is a valid Glassdoor reviews page (must contain
/Reviews/andE{companyId}.htm) - Ensure you're using residential proxies on the Apify platform
- If no reviews are found, the page structure may have changed — check logs for selector warnings