Glassdoor Scraper — Reviews, Jobs & Salaries (No Login)
Pricing
Pay per usage
Glassdoor Scraper — Reviews, Jobs & Salaries (No Login)
Scrape Glassdoor company reviews, job listings, salaries and ratings using Glassdoor's internal GraphQL API without any login or official API key.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Hector
Maintained by CommunityActor stats
2
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
🏢 Glassdoor Scraper — Reviews, Jobs, Salaries & Company Overviews
Scrape Glassdoor company reviews, job listings, salary data and company profiles — no login required, no official API key needed.
This actor uses Glassdoor's internal GraphQL API via session bootstrapping and CSRF token extraction. It is significantly more advanced than standard HTTP scrapers due to Glassdoor's anti-bot protections.
✨ Features
-
4 Scraping Modes:
- 📝 Reviews — Employee ratings, pros/cons, CEO approval, work-life balance
- 💼 Jobs — Active job listings with descriptions, salaries, and apply URLs
- 💰 Salaries — Median, P10, P90 salary ranges by job title
- 🏢 Overview — Company description, size, revenue, CEO, website, ratings
-
Zero login required — Works with public data only
-
Auto-resolves company names to internal Glassdoor IDs via typeahead API
-
Multi-company support — Scrape multiple companies in one run
-
Cursor-based & offset pagination — Collects deep datasets beyond the first page
-
512MB RAM — Lightweight GraphQL approach, no browser needed
🔧 How It Works (Technical)
This actor is impossible to build using simple REST endpoint sniffing. It requires:
1. Session Bootstrapping (CSRF Token)
Glassdoor protects its GraphQL API with a CSRF token stored in cookies. The actor performs a preliminary GET request to the homepage, extracts GD_CSRF_TOKEN from Set-Cookie headers, and carries it in all subsequent POST requests via the gd-csrf-token header.
2. GraphQL Protocol
All data is fetched via POST /graph with Apollo-style query documents. Unlike Reddit (.json) or Hacker News (Algolia API), there are no public GET endpoints.
3. Apollo __ref Resolver
Glassdoor's GraphQL uses Apollo Client's normalized cache format. Response objects contain {"__ref": "Employer:1234"} pointers instead of nested data. The actor resolves these automatically.
4. Company ID Resolution
Users provide company names; the actor resolves them to numeric Glassdoor company IDs via the typeahead/autocomplete endpoint before scraping begins.
📥 Input
{"mode": "reviews","companyNames": ["Google", "Meta", "Apple"],"maxReviewsPerCompany": 50,"reviewSort": "DATE","language": "en","proxyConfiguration": { "useApifyProxy": true }}
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | reviews | Scraping mode: reviews, jobs, salaries, overview |
companyNames | string[] | ["Google"] | Company names to scrape (auto-resolved to IDs) |
companyIds | string[] | [] | Optional: Glassdoor company IDs (skips name resolution) |
maxReviewsPerCompany | integer | 50 | Max reviews per company |
maxJobsPerCompany | integer | 40 | Max jobs per company |
reviewSort | string | DATE | Sort: DATE, RELEVANCE, RATING |
jobLocation | string | `` | Optional location filter for jobs |
language | string | en | Language code for review filtering |
proxyConfiguration | object | Apify Proxy | Proxy config (residential recommended) |
📤 Output
Reviews Mode
{"type": "review","companyName": "Google","companyOverallRating": 4.3,"jobTitle": "Software Engineer","location": "Mountain View, CA","reviewDateTime": "2024-01-15T10:30:00Z","isCurrentEmployee": true,"ratingOverall": 5,"ratingWorkLifeBalance": 4,"ratingCulture": 5,"pros": "Amazing benefits, smart colleagues, cutting-edge projects","cons": "Can be slow-moving bureaucracy at times","summary": "Best place to work in tech"}
Jobs Mode
{"type": "job","companyName": "Google","jobTitle": "Staff Software Engineer, Core ML","location": "Mountain View, CA","employmentType": "FULL_TIME","description": "We are looking for...","applyUrl": "https://careers.google.com/..."}
Salaries Mode
{"type": "salary","companyName": "Google","jobTitle": "Software Engineer","currency": "USD","baseSalaryMedian": 185000,"baseSalaryP10": 140000,"baseSalaryP90": 240000,"totalCompMedian": 320000}
⚠️ Anti-Bot Notes
Glassdoor employs Cloudflare protection. For best results:
- Enable Apify Proxy with residential IPs (strongly recommended)
- The actor uses a fresh session per company to minimize fingerprinting
- Politeness delays are built-in between requests
💰 Pricing
Pay-per-result: $0.80 / 1,000 records — competitive with bebity/glassdoor-jobs-scraper which charges significantly more.
Built with got-scraping (TLS fingerprint emulation), cheerio (HTML parsing), and Apify SDK v3.