# Glassdoor Scraper - Jobs, Salaries & Company Reviews (`thirdwatch/glassdoor-scraper`) Actor

Scrape Glassdoor job listings, salary data, and company reviews. Extracts job title, company, location, salary estimates, ratings, descriptions, pros/cons. No login needed.

- **URL**: https://apify.com/thirdwatch/glassdoor-scraper.md
- **Developed by:** [Thirdwatch](https://apify.com/thirdwatch) (community)
- **Categories:** Jobs, Lead generation, Social media
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.80 / 1,000 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/actors/running/actors-in-store.md#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 Scraper - Jobs, Salaries & Company Reviews

> **Thirdwatch portfolio:** 5K users across 88 public Actors, 2M+ records delivered, and >99% run success. [Explore all Thirdwatch Actors](https://apify.com/thirdwatch).

> Scrape Glassdoor job listings, salary data, and company reviews. Get titles, salary estimates, ratings, and descriptions.

### What you get

Extract job listings, salary information, and company reviews from Glassdoor. Get job titles, companies, locations, salary estimates, company ratings, descriptions, and employee pros/cons. No Glassdoor login needed.

### Output fields

| Field | Description |
|-------|-------------|
| `title` | Job title |
| `company_name` | Hiring company |
| `location` | Job location |
| `salary_estimate` | Glassdoor salary estimate |
| `company_rating` | Company rating |
| `description` | Job description |
| `pros` | Employee-reported pros |
| `cons` | Employee-reported cons |
| `url` | Glassdoor listing URL |

### Example output

```json
{
    "title": "Software Engineer",
    "company_name": "Microsoft",
    "location": "Redmond, WA",
    "salary_estimate": "$120,000 - $160,000",
    "company_rating": 4.2,
    "description": "Join our team to build innovative software...",
    "url": "https://www.glassdoor.com/job-listing/..."
}
```

### Input parameters

| Parameter | Required | Description |
|-----------|----------|-------------|
| `queries` | Yes | Search terms. Jobs: `"software engineer seattle"`. Reviews: `"google"`. Salaries: `"data scientist"`. |
| `scrapeType` | No | What to scrape: `jobs`, `salaries`, or `reviews`. Default `jobs`. |
| `maxResults` | No | Max results across all queries. Default `5`, max `500`. |
| `country` | No | Country for results: `us`, `uk`, `in`, `ca`, `au`, `de`, `fr`. Default `us`. |
| `proxyConfiguration` | No | Proxy settings. Leave default for best results. |

### Use cases

- **Job seekers**: Research companies with salary data and reviews before applying.
- **HR and total-rewards teams**: Benchmark compensation against Glassdoor's crowd-sourced salary data.
- **Recruiters**: Calibrate offers to candidate expectations from real salary reports.
- **Employer-brand teams**: Monitor your company's reputation and watch competitor ratings.
- **Market researchers**: Track hiring activity and sentiment in any industry or geography.

### Use cases & recipes

Step-by-step guides on [thirdwatch.dev/blog](https://thirdwatch.dev/blog):

- [Find Glassdoor Interview Questions by Role (2026)](https://thirdwatch.dev/blog/find-glassdoor-interview-questions-by-role)
- [Research Company Reviews on Glassdoor at Scale (2026)](https://thirdwatch.dev/blog/research-company-reviews-on-glassdoor)
- [Scrape Glassdoor Salaries for Compensation Benchmarking (2026)](https://thirdwatch.dev/blog/scrape-glassdoor-salaries-for-comp-benchmarking)
- [Track Glassdoor Rating Changes Over Time (2026)](https://thirdwatch.dev/blog/track-glassdoor-rating-changes-over-time)

### Limitations

- Salary estimates are Glassdoor's projections based on user-submitted data — not guaranteed offers.
- Reviews are captured as company-level summaries with pros/cons; full individual review bodies depend on what Glassdoor renders on the page.
- Fresh job listings may miss the Glassdoor salary estimate for a few hours after posting.
- Country filter switches the Glassdoor domain (glassdoor.co.uk, glassdoor.co.in, etc.) — results are scoped to that country's index.

### Compared to alternatives

- **vs. orgupdate/glassdoor-scraper (~$0.15/result, 477 users)**: Our $0.004–$0.008 tiered pricing is up to ~19x cheaper for the same core fields.
- **vs. Glassdoor's API**: Glassdoor no longer offers a public partner API. This actor is the structured-data alternative.

Pairs well with [Indeed Scraper](https://apify.com/thirdwatch/indeed-scraper?fpr=9m2cd6), [LinkedIn Jobs Scraper](https://apify.com/thirdwatch/linkedin-jobs-scraper?fpr=9m2cd6), and [AmbitionBox Scraper](https://apify.com/thirdwatch/ambitionbox-scraper?fpr=9m2cd6) for complete hiring-market coverage.

### FAQ

**Do I need a Glassdoor account?**
No. The scraper accesses publicly visible listings, salaries, and review summaries.

**How do I get company reviews instead of jobs?**
Set `scrapeType` to `reviews` and pass the company name (e.g., `"google"`) as the query.

**How fresh is the data?**
Pulled live at run time — as fresh as Glassdoor itself.

**Does this work for non-US Glassdoor sites?**
Yes. Set `country` to `uk`, `in`, `ca`, `au`, `de`, or `fr` to search the local Glassdoor index.

Last verified: 2026-05

More scrapers at [thirdwatch.dev](https://thirdwatch.dev).

# Actor input Schema

## `queries` (type: `array`):

Search terms. For jobs: 'software engineer', for reviews: 'google', for salaries: 'data scientist'.

## `scrapeType` (type: `string`):

What to scrape from Glassdoor.

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

Maximum number of results to scrape across all queries.

## `country` (type: `string`):

Country for search results (affects Glassdoor domain).

## `proxyConfiguration` (type: `object`):

Proxy settings. Leave default for best results.

## Actor input object example

```json
{
  "queries": [
    "software engineer"
  ],
  "scrapeType": "jobs",
  "maxResults": 5,
  "country": "us",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "queries": [
        "software engineer"
    ],
    "maxResults": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("thirdwatch/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 = {
    "queries": ["software engineer"],
    "maxResults": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("thirdwatch/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 '{
  "queries": [
    "software engineer"
  ],
  "maxResults": 5
}' |
apify call thirdwatch/glassdoor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,thirdwatch/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/0GrKCUYNymZjhjcTX/builds/3UWWAdc2DwLxJBfzE/openapi.json
