# Glassdoor Company Ratings, Reviews & Salary Scraper (`scrapers_lat/glassdoor-scraper`) Actor

Scrape Glassdoor company profiles by name or URL: overall rating, rating breakdowns, CEO approval, recommend rate, industry, size, HQ, reviews and salary ranges. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/glassdoor-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $37.82 / 1,000 company results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![Glassdoor Company Ratings, Reviews & Salary Scraper](https://scrapers.lat/banners/glassdoor-scraper.png)](https://console.apify.com/actors/GTniCkUopmqKrU4dH/input)

## Glassdoor Company Ratings, Reviews & Salary Scraper

Here is one real result, with every field the actor returns (reviews and salaries arrays trimmed for space):

```json
{
  "query": "Google",
  "companyName": "Google",
  "employerId": "9079",
  "glassdoorUrl": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
  "overallRating": 4.4,
  "reviewCount": 52498,
  "recommendToFriendPct": 87,
  "ceoApprovalPct": 83,
  "ceoName": "Sundar Pichai",
  "cultureAndValuesRating": 4.2,
  "workLifeBalanceRating": 4.2,
  "compensationAndBenefitsRating": 4.5,
  "seniorManagementRating": 3.9,
  "careerOpportunitiesRating": 4.2,
  "diversityAndInclusionRating": 4.4,
  "businessOutlookPct": 82,
  "industry": "Internet & Web Services",
  "sector": "Information Technology",
  "size": "10000+ Employees",
  "headquarters": "Mountain View, CA",
  "founded": null,
  "website": "https://goo.gle/4ehVuXi",
  "description": "Since our founding in 1998, Google has grown by leaps and bounds...",
  "reviewsReturned": 3,
  "reviews": [
    {
      "summary": "Great salary and benefits, with occasional late meetings",
      "pros": "Competetive Salary, a lot of benefits, good food",
      "cons": "no such con i have noticed except some late night meetings",
      "rating": 5,
      "jobTitle": "Software Engineer",
      "location": "Bengaluru",
      "employmentStatus": "REGULAR",
      "isCurrentJob": true,
      "recommendToFriend": "POSITIVE",
      "ceoApproval": "APPROVE",
      "reviewDate": "2026-08-18",
      "reviewId": 105233392
    }
  ],
  "salariesReturned": 10,
  "salaries": [
    {
      "jobTitle": "Software Engineer",
      "currency": "USD",
      "salaryCount": 51112,
      "baseMedian": 184175,
      "baseLow": 133976,
      "baseHigh": 253181,
      "totalMedian": 309517,
      "totalLow": 206675,
      "totalHigh": 482558
    }
  ],
  "aiSentiment": "Positive",
  "aiProsSummary": "Employees appreciate the good work culture and the quality of people they work with.",
  "aiConsSummary": "Common complaints include distance from upper management and meaningless work at lower levels.",
  "aiCultureTags": ["good culture", "great people", "structured", "food", "work-life balance", "management"],
  "source": "glassdoor.com",
  "observedAt": "2026-08-20T02:31:37.040Z"
}
```

The most complete Glassdoor company scraper available. It returns every rating Glassdoor exposes for an employer (overall, culture, work life balance, compensation, senior management, career opportunities, diversity), plus CEO approval, recommend rate, business outlook, the full company profile (industry, sector, size, headquarters, website, description), the publicly listed reviews, and optional salary ranges by job title and an AI employer summary.

**📥 [Input](https://apify.com/scrapers_lat/glassdoor-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/glassdoor-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/glassdoor-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/glassdoor-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Glassdoor-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### Table of contents

- [What it does](#what-it-does)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)

### What it does

Give the actor one or more company names (or Glassdoor company URLs) and it returns a normalized record per company with the overall rating, every rating sub-category, CEO approval, recommend rate, business outlook, and the full company profile (industry, sector, size, headquarters, website, description). The publicly listed employee reviews are attached to each record with pros, cons, summary, star rating, job title, location and date.

Two optional add-ons enrich each company when you turn them on: salary ranges by job title (base and total pay with low, median and high figures) and an AI employer summary (sentiment, a one line pros summary, a one line cons summary and culture tags). Everything is handled for you: you never configure logins, headers or anything else. Numbers are parsed, missing values are returned as `null`, and each record carries the `glassdoorUrl` and an `observedAt` timestamp.

### Quickstart

Open the actor, paste this into the input, and press Run. It returns the profiles, ratings and reviews for two companies.

```json
{
  "companyNames": ["Google", "Microsoft"],
  "includeReviews": true,
  "reviewsPerCompany": 10,
  "includeSalaries": true,
  "aiEmployerSummary": false,
  "maxResults": 10
}
```

You can also target exact employers by URL:

```json
{
  "companyUrls": ["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"],
  "includeSalaries": true
}
```

### Input reference

| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| `companyNames` | array of strings | one input required | Company names to match on Glassdoor. | `["Google", "Netflix"]` |
| `companyUrls` | array of strings | one input required | Glassdoor company page URLs (Overview, Reviews or Salaries) to target exact employers. | `["https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm"]` |
| `searchQuery` | string | one input required | A single company search term; the closest matching employer is collected. | `"Deloitte"` |
| `includeReviews` | boolean | no | Attach the publicly listed reviews to each company record (no extra charge). Default `true`. | `true` |
| `reviewsPerCompany` | integer | no | Maximum publicly listed reviews to attach per company. | `10` |
| `includeSalaries` | boolean | no | Paid add-on. Also collect salary ranges by job title. Default `false`. | `true` |
| `aiEmployerSummary` | boolean | no | Paid add-on. Add an AI summary of each employer from its reviews. Default `false`. | `false` |
| `maxResults` | integer | no | Maximum companies to collect per run. Free plans are capped at 10. | `10` |

Provide at least one of `companyNames`, `companyUrls` or `searchQuery`.

### Output reference

| Name | Type | Description |
|---|---|---|
| `query` | string | Company name, URL or query that produced this record |
| `companyName` | string | Company name as listed on Glassdoor |
| `employerId` | string | Glassdoor employer id |
| `glassdoorUrl` | string | Glassdoor company reviews page URL |
| `overallRating` | number | Overall company rating (1 to 5) |
| `reviewCount` | integer | Total number of reviews on Glassdoor |
| `recommendToFriendPct` | integer | Percent who would recommend to a friend |
| `ceoApprovalPct` | integer | Percent who approve of the CEO |
| `ceoName` | string | Rated CEO name |
| `cultureAndValuesRating` | number | Culture and values rating (1 to 5) |
| `workLifeBalanceRating` | number | Work life balance rating (1 to 5) |
| `compensationAndBenefitsRating` | number | Compensation and benefits rating (1 to 5) |
| `seniorManagementRating` | number | Senior management rating (1 to 5) |
| `careerOpportunitiesRating` | number | Career opportunities rating (1 to 5) |
| `diversityAndInclusionRating` | number | Diversity and inclusion rating (1 to 5) |
| `businessOutlookPct` | integer | Percent with a positive business outlook |
| `industry` | string | Primary industry |
| `sector` | string | Sector |
| `size` | string | Company size band |
| `headquarters` | string | Headquarters location |
| `founded` | integer | Year founded when available |
| `website` | string | Company website |
| `description` | string | Company description / about text |
| `reviewsReturned` | integer | Number of reviews attached |
| `reviews` | array | Employee reviews (summary, pros, cons, rating, job title, location, date, sub-ratings) |
| `salariesReturned` | integer | Number of salary rows attached (salaries add-on) |
| `salaries` | array | Salary ranges by job title with base and total pay low, median and high (salaries add-on) |
| `aiSentiment` | string | AI overall sentiment (AI add-on) |
| `aiProsSummary` | string | AI one line summary of what employees like (AI add-on) |
| `aiConsSummary` | string | AI one line summary of common complaints (AI add-on) |
| `aiCultureTags` | array | AI culture tags (AI add-on) |
| `source` | string | Data source |
| `observedAt` | string | ISO timestamp collected |

### Example output record

```json
{
  "companyName": "Microsoft",
  "employerId": "1651",
  "glassdoorUrl": "https://www.glassdoor.com/Reviews/Microsoft-Reviews-E1651.htm",
  "overallRating": 4.0,
  "reviewCount": 56996,
  "recommendToFriendPct": 77,
  "ceoApprovalPct": 76,
  "ceoName": "Satya Nadella",
  "cultureAndValuesRating": 3.8,
  "workLifeBalanceRating": 3.9,
  "compensationAndBenefitsRating": 3.8,
  "seniorManagementRating": 3.4,
  "careerOpportunitiesRating": 3.8,
  "diversityAndInclusionRating": 4.1,
  "businessOutlookPct": 69,
  "industry": "Computer Hardware Development",
  "sector": "Information Technology",
  "size": "10000+ Employees",
  "headquarters": "Redmond, WA",
  "website": "https://www.microsoft.com/en-gb/",
  "reviewsReturned": 3,
  "salariesReturned": 10,
  "salaries": [
    {
      "jobTitle": "Software Engineer",
      "currency": "USD",
      "salaryCount": 44692,
      "baseMedian": 161388,
      "baseLow": 121312,
      "baseHigh": 214703,
      "totalMedian": 218457,
      "totalLow": 154412,
      "totalHigh": 319139
    }
  ],
  "source": "glassdoor.com",
  "observedAt": "2026-08-20T02:31:37.040Z"
}
```

### Run via API and CLI

Start a run with the Apify API:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~glassdoor-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"companyNames":["Google","Microsoft"],"includeSalaries":true,"maxResults":10}'
```

Or with the Apify CLI:

```bash
apify call scrapers_lat/glassdoor-scraper \
  --input '{"companyNames":["Google"],"includeSalaries":true}'
```

### Fetch results

Download the dataset items once the run finishes:

```bash
curl "https://api.apify.com/v2/acts/scrapers_lat~glassdoor-scraper/runs/last/dataset/items?token=YOUR_TOKEN&format=json"
```

Swap `format=json` for `csv` or `xlsx` to export to a spreadsheet.

### Billing and limits

This actor is billed pay per result. You are charged one primary `result` event per company returned. Optional add-ons are billed separately and only when they actually return data: `salaries` is charged only when salary rows are returned, and `ai_employer_summary` is charged only when a usable AI summary is returned. A one time `apify-actor-start` event covers run initialization.

- Failed or empty lookups are never charged. A company that cannot be resolved or loaded is written as an `error` row with no billable event.
- Free Apify plans are capped at 10 results per run, and the paid add-ons are disabled on free plans. Upgrade for higher volumes.
- Set a spend limit with `maxTotalChargeUsd` and the actor stops returning billable results once that limit is reached.

### FAQ and troubleshooting

**How do I look up a company?** Pass its name in `companyNames`, paste a Glassdoor URL in `companyUrls`, or use `searchQuery`. Names are matched to the closest Glassdoor employer.

**How many reviews do I get?** The actor returns the reviews Glassdoor lists publicly on the company page. `reviewCount` still reports the full total on Glassdoor.

**What is in the salary data?** For each job title you get the number of salaries reported and the base and total pay at the low, median and high points, in the company's currency.

**Do I need a Glassdoor login or any keys?** No. You only provide company names or URLs.

**Why is a field null?** Glassdoor does not publish that value for that company (for example `founded` is not always listed). Missing values are returned as `null` so the record shape stays consistent.

**Empty result?** Confirm the company name or URL is correct. Unresolvable companies are returned as `error` rows and are not billed.

### More scrapers at scrapers.lat

- [Yelp Business Leads & Reviews Scraper](https://apify.com/scrapers_lat/yelp-scraper)
- Browse the full catalog at [scrapers.lat](https://scrapers.lat)

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Glassdoor.

# Actor input Schema

## `companyNames` (type: `array`):

One or more company names to look up on Glassdoor, for example Google, Netflix, Deloitte. Each name is matched to the closest Glassdoor employer.

## `companyUrls` (type: `array`):

Optional. Paste Glassdoor company page URLs (Overview, Reviews or Salaries) to target exact employers and skip name matching.

## `searchQuery` (type: `string`):

Optional. A single company search term. The closest matching Glassdoor employer is collected.

## `includeReviews` (type: `boolean`):

Attach the publicly listed employee reviews (pros, cons, rating, job title, location, date) to each company record. Included in the company result at no extra charge.

## `reviewsPerCompany` (type: `integer`):

Maximum number of publicly listed reviews to attach to each company record.

## `includeSalaries` (type: `boolean`):

Also collect salary ranges by job title (median, low and high for base and total pay). Charged only when real salary data is returned. Disabled on free plans.

## `aiEmployerSummary` (type: `boolean`):

Use AI to summarize each employer from its reviews: sentiment, a pros summary, a cons summary and culture tags. Charged only when a usable summary is returned. Disabled on free plans.

## `maxResults` (type: `integer`):

Maximum number of companies to collect in the run. Free Apify plans are capped at 10 per run.

## Actor input object example

```json
{
  "companyNames": [
    "Google"
  ],
  "companyUrls": [],
  "includeReviews": true,
  "reviewsPerCompany": 10,
  "includeSalaries": false,
  "aiEmployerSummary": false,
  "maxResults": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyNames": [
        "Google"
    ],
    "reviewsPerCompany": 10,
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/glassdoor-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companyNames": ["Google"],
    "reviewsPerCompany": 10,
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/glassdoor-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyNames": [
    "Google"
  ],
  "reviewsPerCompany": 10,
  "maxResults": 10
}' |
apify call scrapers_lat/glassdoor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/glassdoor-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GTniCkUopmqKrU4dH/builds/BGCWJ2bijuIHI7gZK/openapi.json
