Glassdoor Scraper — Reviews, Jobs & Salaries (No Login) avatar

Glassdoor Scraper — Reviews, Jobs & Salaries (No Login)

Pricing

Pay per usage

Go to Apify Store
Glassdoor Scraper — Reviews, Jobs & Salaries (No Login)

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

Hector

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

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 }
}
ParameterTypeDefaultDescription
modestringreviewsScraping mode: reviews, jobs, salaries, overview
companyNamesstring[]["Google"]Company names to scrape (auto-resolved to IDs)
companyIdsstring[][]Optional: Glassdoor company IDs (skips name resolution)
maxReviewsPerCompanyinteger50Max reviews per company
maxJobsPerCompanyinteger40Max jobs per company
reviewSortstringDATESort: DATE, RELEVANCE, RATING
jobLocationstring``Optional location filter for jobs
languagestringenLanguage code for review filtering
proxyConfigurationobjectApify ProxyProxy 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.