Glassdoor Reviews Scraper avatar

Glassdoor Reviews Scraper

Pricing

Pay per event

Go to Apify Store
Glassdoor Reviews Scraper

Glassdoor Reviews Scraper

Scrape employee reviews from Glassdoor. Extract ratings, pros, cons, job titles, and more for any company. Uses multiple filter strategies to collect diverse reviews.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

Scrape employee reviews from Glassdoor for any company. Extract ratings, pros, cons, job titles, recommendations, CEO approval, and more -- structured and ready for analysis.

What does Glassdoor Reviews Scraper do?

This actor scrapes employee reviews from Glassdoor company pages. It handles Glassdoor's aggressive anti-bot protection (Cloudflare Managed Challenge) using residential proxies and an anti-fingerprint browser. You can provide direct Glassdoor review URLs or simply type a company name -- the scraper will find the right page automatically.

Key features

  • 🔗 Direct URL or company name -- paste a Glassdoor reviews URL or just type "Google", "Apple", etc.
  • 🏢 Multiple companies -- scrape employee reviews for several companies in a single run
  • 🔢 Configurable limits -- set how many reviews to extract per company (limited by Glassdoor's public access -- typically ~3 per company without login)
  • 🔃 Sort control -- sort by newest or highest rating
  • 📊 Full review data -- ratings, pros, cons, advice, job title, employment status, and sentiment indicators
  • 🛡️ Anti-bot resilient -- automatic retry with fresh browser sessions, anti-fingerprint browser technology, and residential proxy rotation

Who is it for?

  • 👩‍💼 HR professionals -- benchmark your employer brand against competitors, track employee sentiment trends, and identify retention risk factors before they become crises
  • 🔍 Job seekers -- research prospective employers at scale, compare culture and compensation across target companies, and make data-driven career decisions
  • 📈 Investors and analysts -- evaluate company culture and management quality as part of due diligence for investments, acquisitions, or equity research
  • 🧑‍💻 Management consultants -- deliver client reports backed by quantitative employee sentiment data rather than anecdotal evidence
  • 🎓 Academic researchers -- study workplace satisfaction, organizational behavior, and labor market dynamics across thousands of companies
  • 🤝 Recruitment agencies -- identify companies with high turnover signals to prospect for new business, or validate client claims about company culture

Why use this scraper instead of doing it manually?

  • Scale: Manually copying Glassdoor reviews is slow -- 50 reviews would take over an hour. This scraper does it in minutes
  • 🗂️ Structure: Get clean, structured JSON/CSV/Excel data ready for analysis instead of copy-pasting text
  • 🕒 Automation: Schedule recurring runs to track review trends over time using Apify's built-in scheduling
  • 🛡️ Anti-bot handling: Glassdoor uses aggressive Cloudflare protection that blocks simple scrapers. This actor handles it with residential proxies and anti-fingerprint browser technology
  • 🔌 API access: Integrate review data directly into your applications, dashboards, or AI workflows

Data you can extract

FieldTypeDescription
companyNameStringName of the company
companyUrlStringGlassdoor reviews URL for the company
reviewerTitleStringJob title of the reviewer
currentEmployeeBoolean/nulltrue if current employee, false if former, null if unknown
ratingNumber/nullOverall rating (1-5 stars)
reviewDateStringDate the review was posted
headlineStringReview headline/summary
prosStringPositive aspects mentioned by the reviewer
consStringNegative aspects mentioned by the reviewer
adviceStringAdvice to management (if provided)
recommendBoolean/nullWhether the reviewer recommends the company
ceoApprovalBoolean/nullWhether the reviewer approves of the CEO
businessOutlookStringBusiness outlook: Positive, Negative, Neutral, or empty
ratingWorkLifeBalanceNumber/nullWork-life balance sub-rating (1-5)
ratingCultureAndValuesNumber/nullCulture & values sub-rating (1-5)
ratingDiversityAndInclusionNumber/nullDiversity & inclusion sub-rating (1-5)
ratingSeniorLeadershipNumber/nullSenior leadership sub-rating (1-5)
ratingCareerOpportunitiesNumber/nullCareer opportunities sub-rating (1-5)
ratingCompensationAndBenefitsNumber/nullCompensation & benefits sub-rating (1-5)
scrapedAtStringISO 8601 timestamp when the review was scraped

How much does it cost to scrape Glassdoor reviews?

The scraper uses a pay-per-event pricing model. You only pay for what you use.

EventFree planBronzeSilverGoldPlatinumDiamondDescription
Run started$0.01$0.01$0.01$0.01$0.01$0.01One-time charge per run
Review scraped$0.00345$0.003$0.00234$0.0018$0.0012$0.00084Per review extracted

Cost examples (Free plan pricing)

ScenarioReviewsEstimated cost
Quick check (1 company)~3~$0.02
Competitor comparison (5 companies)~15~$0.06
Industry scan (10 companies)~30~$0.11
Large-scale research (50 companies)~150~$0.53

Note: Glassdoor currently limits unauthenticated access to approximately 3 reviews per company. The scraper extracts all publicly visible reviews per company, so total output scales with the number of companies rather than the maxReviews setting.

Paid plan users pay less per review — the more you use Apify, the lower the per-review cost.

Free plan: Apify provides $5 in free monthly credits -- enough for many company lookups.

Note: Actual costs include Apify platform fees for compute and residential proxy usage. The estimates above cover only the actor's per-event charges.

How to scrape Glassdoor reviews step by step

  1. Go to the Glassdoor Reviews Scraper page on Apify Store
  2. Click Start to open the input configuration
  3. Enter one or more company URLs or names in the Company URLs or names field
  4. Set the Max reviews per company (default: 50, start small for testing)
  5. Choose the Sort order -- "Most recent" or "Highest rating"
  6. Click Start to begin scraping
  7. Wait for the run to complete (1-5 minutes depending on review count)
  8. Download your results from the Dataset tab in JSON, CSV, or Excel format

Input parameters

FieldTypeDescriptionDefault
companyUrlsArray of stringsGlassdoor review URLs or company namesRequired
maxReviewsIntegerMax reviews per company (1-1000)50
sortByStringSort order: newest or ratingnewest
proxyObjectProxy configuration (SHADER with RESIDENTIAL fallback)Auto-configured

Input example

{
"companyUrls": [
"https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
"Apple",
"Microsoft"
],
"maxReviews": 50,
"sortBy": "newest"
}

Accepted URL formats

The scraper accepts various Glassdoor URL formats:

  • Review page URL: https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm
  • Any Glassdoor URL with employer ID: https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.htm
  • Company name: Google (the scraper will search Glassdoor and find the right page)

Output

Each review is output as a JSON object:

{
"companyName": "Google",
"companyUrl": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
"reviewerTitle": "Software Engineer",
"currentEmployee": true,
"rating": 4,
"reviewDate": "Mar 15, 2026",
"headline": "Great company with room to grow",
"pros": "Excellent benefits, smart colleagues, interesting projects, great work-life balance",
"cons": "Can be bureaucratic, promotion process is slow, some teams have unclear direction",
"advice": "More transparency in the promotion process would help retain talent",
"recommend": true,
"ceoApproval": true,
"businessOutlook": "Positive",
"ratingWorkLifeBalance": 4,
"ratingCultureAndValues": 4,
"ratingDiversityAndInclusion": 4,
"ratingSeniorLeadership": 3,
"ratingCareerOpportunities": 4,
"ratingCompensationAndBenefits": 5,
"scrapedAt": "2026-03-27T12:00:00.000Z"
}

Tips for best results

  • 🐣 Start small: Set maxReviews to 10-20 for your first run to verify it works, then increase
  • 🔗 Use URLs when possible: Direct Glassdoor review URLs are faster and more reliable than company name search
  • 💸 Monitor costs: Each employee review costs ~$0.003 in per-event charges plus platform compute costs. Large runs (500+ reviews) use more resources
  • 🗓️ Schedule recurring runs: Use Apify's scheduling to track review trends weekly or monthly
  • 🔗 Combine with other scrapers: Pair with Glassdoor Jobs Scraper for a complete company research dataset
  • 🔄 Handle Cloudflare blocks: If a run fails due to Cloudflare challenges, wait a few minutes and retry -- protection levels fluctuate

Integrations

Connect Glassdoor Reviews Scraper with your existing tools and workflows:

  • 📊 Google Sheets -- automatically export new employee reviews to a spreadsheet for team dashboards. Set up a recurring schedule to track sentiment trends weekly
  • 💬 Slack / Microsoft Teams -- get notified when scraping completes so you can immediately review the data
  • 🔔 Webhooks -- trigger downstream processing (sentiment analysis, database updates) when a run finishes
  • 🔧 Zapier / Make -- build multi-step automations: scrape reviews, analyze sentiment with AI, update a CRM, and alert stakeholders
  • 🖥️ Custom API -- access results programmatically for integration into internal tools, BI platforms, or AI pipelines

API usage

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~glassdoor-reviews-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"companyUrls": ["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"],
"maxReviews": 50,
"sortBy": "newest"
}'

Node.js (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('automation-lab/glassdoor-reviews-scraper').call({
companyUrls: ['https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm'],
maxReviews: 50,
sortBy: 'newest',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} reviews`);
for (const review of items) {
console.log(`${review.rating}/5 - ${review.headline} (${review.reviewerTitle})`);
}

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation-lab/glassdoor-reviews-scraper").call(run_input={
"companyUrls": ["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"],
"maxReviews": 50,
"sortBy": "newest",
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in items:
print(f"{item['companyName']}: {item['headline']} ({item['rating']}/5)")

Use with AI agents via MCP

Glassdoor Reviews Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/glassdoor-reviews-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/glassdoor-reviews-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

  • "Use automation-lab/glassdoor-reviews-scraper to get the latest 20 employee reviews for Google and summarize the main pros and cons"
  • "Compare employee sentiment between Apple and Microsoft using their Glassdoor reviews"
  • "Get 50 Glassdoor reviews for Amazon and identify the most common complaints about management"

Learn more in the Apify MCP documentation.

Legality

This actor scrapes only publicly available data from Glassdoor's website. No login credentials are used, and no private or user-specific data is accessed. The scraping complies with standard web scraping practices:

  • Only publicly visible reviews are collected
  • No account creation or login bypass is involved
  • Data is accessed through a standard web browser (the same way any user would view it)
  • The actor respects rate limits by processing pages sequentially with natural delays

Users are responsible for ensuring their use of the scraped data complies with applicable laws and Glassdoor's Terms of Service in their jurisdiction.

FAQ

Q: Why did my run fail with 0 reviews? A: Glassdoor uses aggressive Cloudflare anti-bot protection. If all retry attempts get blocked, the run completes with 0 results. This can happen when Cloudflare is in heightened protection mode. Try again after 15-30 minutes -- protection levels fluctuate throughout the day.

Q: Why are some fields empty (recommend, ceoApproval, businessOutlook)? A: In Glassdoor's current design, sentiment indicators (recommend, CEO approval, business outlook) are shown as page-level aggregate statistics rather than per-review data. These fields may be null for individual reviews.

Q: Can I scrape reviews in languages other than English? A: The scraper currently returns reviews in the default language shown on Glassdoor for the given URL. Most Glassdoor pages default to English. International Glassdoor sites (e.g., glassdoor.de) may return reviews in other languages.

Q: How many reviews can I scrape per company? A: Glassdoor currently shows approximately 3 reviews per page for unauthenticated sessions and requires login to view additional pages. This means each company typically yields around 3 reviews per run. The maxReviews parameter still controls the upper limit, but actual output depends on what Glassdoor makes publicly available without authentication.

Q: Why does this scraper use residential proxies? A: Glassdoor uses Cloudflare Managed Challenge which blocks datacenter IP addresses. The scraper uses a tiered proxy strategy: it first tries SHADER proxies (cheaper) and automatically falls back to RESIDENTIAL proxies if Cloudflare blocks the request. This optimizes cost while maintaining reliability.

Technical details

Anti-bot handling

Glassdoor uses Cloudflare Managed Challenge to protect against automated access. This scraper:

  1. Uses a tiered proxy strategy -- SHADER proxies first for cost savings, with automatic fallback to RESIDENTIAL proxies
  2. Launches an anti-fingerprint browser (camoufox) when available, falling back to Chromium with stealth patches
  3. Rotates proxy sessions with fresh browser contexts per retry
  4. Detects Cloudflare challenge pages and automatically retries with new sessions
  5. Employs realistic browser fingerprints (viewport, locale, headers)

Pagination

Reviews are paginated at ~3 per page (Glassdoor's current layout for unauthenticated users). The scraper automatically navigates through pages until the requested number of reviews is collected or no more reviews are available.

Rate limiting

The scraper processes one page at a time with natural delays between requests. Each retry uses a completely new browser session to avoid session-based blocking.