# Glassdoor Company Search Universal Scraper (`scrapifier/glassdoor-company-search-universal-scraper`) Actor

🏢 Search Glassdoor companies by location, sector, industry, job title, minimum rating or size and get one complete profile per company: rating & 6 sub-ratings, CEO approval, recommend-to-friend, review/salary/job counts, size, HQ, revenue, website, CEO, competitors, awards. No login, no proxy.

- **URL**: https://apify.com/scrapifier/glassdoor-company-search-universal-scraper.md
- **Developed by:** [Scrapifier](https://apify.com/scrapifier) (community)
- **Categories:** Business, Lead generation, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.40 / 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 Company Search Scraper

Scrape company profiles from Glassdoor's company directory by location, sector, industry, job function, job title, minimum rating and company size (the same filters as Glassdoor's Company Explorer) and export them as JSON, CSV or Excel, or pull them straight from the API.

⚡ For every company you get the **overall rating and all six sub-ratings** (career opportunities, compensation and benefits, culture and values, diversity and inclusion, senior management, work/life balance), **CEO approval**, recommend-to-friend and business outlook percentages, the **review, salary, benefit and job counts**, **size, headquarters, industry, revenue and website**, founding year, company type, stock symbol, CEO name, description, mission, competitors, awards, direct links to the reviews, salaries, interviews and jobs pages and, optionally, ratings by demographic group. Filters are **applied server-side by Glassdoor**. **No login, no cookies and no proxy**. You **pay per company**.

[![Apify Actor](https://apify.com/actor-badge?actor=scrapifier/glassdoor-company-search-universal-scraper)](https://apify.com/scrapifier/glassdoor-company-search-universal-scraper)

### 🎯 Why scrape Glassdoor companies?

- **Lead generation**: every IT company with 1,001 or more employees and offices in Germany, with website, headquarters and headcount bucket, ready for your CRM.
- **Employer branding benchmarks**: the top-rated hospitals in Texas, with their culture, management and work/life balance sub-ratings next to yours.
- **Market research**: all Software Development companies in London rated 4 or more by engineers, with review and salary counts.
- **Investment and due diligence**: revenue bucket, size, stock ticker, CEO approval and business outlook for a whole sector in one dataset.
- **Job search**: which consulting firms in Paris do employees in your job title rate highest, and how many jobs are open there.
- **Seed lists for other scrapers**: the `links.reviews`, `links.salaries` and `links.interviews` URLs feed the sibling Glassdoor Reviews, Salaries and Interviews scrapers directly.

### 📊 What data does Glassdoor Company Search Scraper extract?

| Field | Description |
|---|---|
| `employerId` | Glassdoor employer id |
| `name` | Company name |
| `url` | Glassdoor Overview page of the company |
| `logoUrl` | Square logo |
| `website` | Company website |
| `headquarters` | Headquarters (city, state or country) |
| `yearFounded` | Founding year |
| `companyType` | `Company - Public`, `Company - Private`, `Nonprofit`... |
| `size`, `sizeCategory` | Employee count bucket (for example `10000+ Employees`) and its code (`SMALL` to `GIANT`) |
| `revenue` | Revenue bucket (for example `$10+ billion (USD)`) |
| `stockSymbol` | Ticker when the company is public |
| `industry`, `industryId`, `sector`, `sectorId` | Primary industry and sector, with Glassdoor's ids |
| `ceoName` | CEO name |
| `description`, `mission` | Company description and mission statement |
| `rating` | Overall rating (1 to 5) |
| `ratings.*` | Sub-ratings: `careerOpportunities`, `compensationAndBenefits`, `cultureAndValues`, `diversityAndInclusion`, `seniorManagement`, `workLifeBalance` |
| `recommendToFriendPercent`, `ceoApprovalPercent`, `positiveBusinessOutlookPercent` | Share of employees who recommend the company, approve of the CEO and see a positive outlook |
| `reviewCount`, `salaryCount`, `benefitCount`, `photoCount`, `jobCount` | Number of reviews, salary reports, benefit reviews, photos and open jobs |
| `competitors[]` | Competitors as `{employerId, name}` |
| `awards` | `bestPlacesToWork` years, `bestLedCompanies` years, `topCeo` flag |
| `links.*` | Direct URLs of the company's `reviews`, `salaries`, `interviews`, `jobs`, `benefits`, `photos` and `faq` pages |
| `demographicRatings` | Ratings by gender, race/ethnicity, sexual orientation, disability, parent/caregiver and veteran status, when `includeDemographicRatings` is on |
| `matchedInput` | The company name or URL that produced this item (only for companies given in `companyNames` or `startUrls`) |

With `flatten` enabled, sub-ratings become `rating_*` columns, links become `url_*` columns, awards become `award_bestPlacesToWork`, `award_bestLedCompanies` and `award_topCeo`, competitors become one `|` separated string and `demographicRatings` is dropped, so the CSV stays flat.

### 🚀 How to scrape Glassdoor companies

1. Open the Actor and type a **Location** (`United States`, `London`, `Texas`), or clear it to search worldwide. Optionally add a keyword in **Company name contains**.
2. Pick your filters: **Sectors**, **Industries** or **Job functions** from the dropdowns, a **Job title**, a **Minimum rating** with its **Rating dimension**, and a **Company size** bucket.
3. Set **Maximum companies**: keep a cap for a first run.
4. Optionally add specific companies by **URL** or **name**: each returns one profile on top of the search.
5. Click **Start**. The Actor passes Glassdoor's Cloudflare check once, then collects companies 10 per request, most popular first.
6. Open the **Storage** tab to preview the companies and export them as JSON, CSV, Excel or XML, or read them from the dataset API.

The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule to refresh a company list monthly.

### 📥 Input parameters

| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Company name contains | `query` | string | none | Keyword matched against company names (`bank`, `consulting`, `Deloitte`). Empty = every company matching the filters. |
| Location | `location` | string | `United States` | City, state or country as typed on Glassdoor (`Paris, France`, `London`, `California`). Only companies with offices there. Empty = worldwide. |
| Sectors | `sectors` | array of strings | none | Multi-select of 25 options (Information Technology, Financial Services, Healthcare...). Ids or exact names via the API. |
| Industries | `industries` | array of strings | none | Multi-select of 124 options, more granular than sectors (Software Development, Banking & Lending, Hospitals & Health Clinics...). |
| Job functions | `jobFunctions` | array of strings | none | Multi-select of 23 options. Only companies rated by employees in these functions; the ratings are then the ones given by that population. |
| Job title | `jobTitle` | string | none | Only companies that have reviews from this job title (`Software Engineer`, `Nurse`, `Account Manager`). |
| Minimum rating | `minRating` | integer | `4` | Only companies rated at least this many stars (1 to 5) on the chosen dimension. `0` = no rating filter. |
| Rating dimension | `ratingType` | select | `RATING_OVERALL` | Dimension the minimum applies to: overall, career opportunities, compensation, culture, diversity, senior management or work/life balance. |
| Company size | `companySize` | select | `ANY` | Glassdoor's employee buckets, `SMALL` (1 to 50) up to `GIANT` (10,000+). |
| Maximum companies | `maxItems` | integer | `100` | Stop after this many companies (`0` = no limit). Results come in pages of 10, in Glassdoor's relevance and popularity order. |
| Glassdoor company URLs | `startUrls` | array of URLs | none | Any Glassdoor page of a company (Overview, Reviews, Salaries, Interviews, Jobs or Benefits URL). One profile per URL, added to the search results. |
| Company names | `companyNames` | array of strings | none | Company names resolved with Glassdoor's own search (`Google`, `Deloitte`, `Airbnb`). Exact spelling is not required. |
| Include demographic ratings | `includeDemographicRatings` | boolean | `false` | Add the average rating given by each demographic group when Glassdoor publishes them. |
| Flatten output (CSV / Excel friendly) | `flatten` | boolean | `false` | One flat row per company: `rating_*`, `url_*` and `award_*` columns, competitors as a string. |
| Report input status | `emitInputStatus` | boolean | `true` | Write an `input_status` report to the OUTPUT record (which company or search returned nothing, and why). |
| Max Cloudflare retries | `maxChallengeRetries` | integer | `8` | Page reloads allowed while waiting for Glassdoor's Cloudflare check to clear (1 to 20). |
| Proxy (not recommended) | `proxyConfiguration` | object | off | Leave empty: Glassdoor blocks proxy IP ranges but accepts Apify's own egress IP. Only for a specific country egress. |

Example input:

```json
{
  "location": "United States",
  "sectors": ["10013"],
  "minRating": 4,
  "companySize": "GIANT",
  "maxItems": 50
}
```

`location` goes through Glassdoor's own autocomplete and the first suggestion wins: city, state and country names all work (`Paris`, `Texas`, `Germany`). Via the API, `sectors`, `industries` and `jobFunctions` accept the numeric id or the exact name; unknown values are ignored with a warning. To look up specific companies without a search, clear `location` and leave every other filter empty.

**Handy ids**: sectors 10013 Information Technology, 10010 Financial Services, 10012 Healthcare, 10006 Management & Consulting; industries 200155 Software Development, 200063 Internet & Web Services, 200048 Banking & Lending, 200151 Hospitals & Health Clinics; job functions 1007 Engineering, 1021 Sales. The Console dropdowns list all of them, and the API accepts exact names instead of ids.

### 📤 Output example

Each company is one dataset item, exportable as JSON, CSV, Excel or via the API.

```json
{
  "employerId": 9079,
  "name": "Google",
  "url": "https://www.glassdoor.com/Overview/Working-at-Google-EI_IE9079.11,17.htm",
  "website": "https://goo.gle/4ehVuXi",
  "headquarters": "Mountain View, CA",
  "yearFounded": 1998,
  "companyType": "Company - Public",
  "size": "10000+ Employees",
  "sizeCategory": "GIANT",
  "revenue": "$10+ billion (USD)",
  "stockSymbol": "GOOG",
  "industry": "Internet & Web Services",
  "industryId": 200063,
  "sector": "Information Technology",
  "sectorId": 10013,
  "ceoName": "Sundar Pichai",
  "mission": "Organize the world's information and make it universally accessible and useful.",
  "rating": 4.4,
  "ratings": {
    "careerOpportunities": 4.2,
    "compensationAndBenefits": 4.5,
    "cultureAndValues": 4.2,
    "diversityAndInclusion": 4.4,
    "seniorManagement": 3.9,
    "workLifeBalance": 4.2
  },
  "recommendToFriendPercent": 87,
  "ceoApprovalPercent": 83,
  "positiveBusinessOutlookPercent": 82,
  "reviewCount": 70954,
  "salaryCount": 191450,
  "benefitCount": 30289,
  "jobCount": 5419,
  "competitors": [
    { "employerId": 1651, "name": "Microsoft" },
    { "employerId": 1138, "name": "Apple" }
  ],
  "awards": { "bestPlacesToWork": ["2026"], "bestLedCompanies": [], "topCeo": false },
  "links": {
    "reviews": "https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm",
    "salaries": "https://www.glassdoor.com/Salary/Google-Salaries-E9079.htm",
    "interviews": "https://www.glassdoor.com/Interview/Google-Interview-Questions-E9079.htm",
    "jobs": "https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm"
  }
}
```

With `includeDemographicRatings` on, each item also carries a `demographicRatings` block (shortened here):

```json
{
  "demographicRatings": {
    "gender": { "man": 4.3, "woman": 4.2, "nonBinary": 4 },
    "disability": { "yes": 3.8, "no": 4.3 },
    "veteranStatus": { "yes": 4.1, "no": 4.3 }
  }
}
```

The run's OUTPUT record holds the run statistics, the location Glassdoor resolved in `resolved_location` (`Paris, France` becomes Paris (France)) and an `input_status` report: how many companies matched the search and were collected, plus, for each name or URL, whether it was found (`ok`, `ok_best_match`, `duplicate`, `not_found` or the error).

### 💡 Ready-to-run examples

**Best-rated giant IT companies in France** (tested)

```json
{ "location": "France", "sectors": ["10013"], "minRating": 4, "companySize": "GIANT", "maxItems": 50 }
```

**Software companies in London rated 4+ by engineers** (tested)

```json
{ "location": "London", "industries": ["200155"], "jobFunctions": ["1007"], "minRating": 4, "maxItems": 100 }
```

**Hospitals in Texas with a 4+ work/life balance rating** (tested)

```json
{ "location": "Texas", "industries": ["200151"], "minRating": 4, "ratingType": "RATING_WORK_LIFE_BALANCE", "maxItems": 100 }
```

**Banks worldwide by name keyword, as a flat CSV** (tested)

```json
{ "query": "bank", "sectors": ["10010"], "maxItems": 200, "flatten": true }
```

**Specific companies plus a search in one run** (tested)

```json
{ "companyNames": ["Google", "Deloitte"], "startUrls": [{ "url": "https://www.glassdoor.com/Reviews/Airbnb-Reviews-E391850.htm" }], "location": "Paris, France", "sectors": ["10006"], "maxItems": 30 }
```

### 💰 Pricing: how much does it cost to scrape Glassdoor companies?

From **$5.00 per 1,000 companies** on the free plan, with automatic volume discounts down to **$3.40 per 1,000** on higher Apify plans. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.

Cost is driven purely by the number of companies returned: `maxItems` caps the run (search results and specific companies combined), and since Glassdoor applies every filter before the results reach you, narrowing by `location`, `sectors`, `minRating` or `companySize` reduces what you pay.

### ⚙️ Performance, proxies and limits

- **No proxy needed, and not recommended.** Glassdoor sits behind Cloudflare. The Actor opens a real browser, clears the check once, then calls Glassdoor's own company back-end from the page, 10 companies per call with a 1.5 second pause. It runs from Apify's egress IP: Glassdoor blocks residential and datacenter proxy ranges, so leave `proxyConfiguration` empty. If you do set one, a single sticky IP is used for the whole run.
- **Speed**: roughly 400 companies per minute after a start-up of about 10 seconds, so 1,000 companies take about 3 minutes.
- **Memory**: the default run option is 2048 MB.
- **Volume**: broad searches match hundreds of thousands of companies. `0` in `maxItems` collects everything; a cap keeps cost and runtime under control.
- **Ordering**: Glassdoor's own relevance and popularity order, as in the Company Explorer. There is no sort option.
- **Location**: the resolved label is written to `OUTPUT.resolved_location`. If a `City, Country` form resolves to a region with no indexed companies, the Actor retries with the city alone; an unrecognised location ends with `location_not_recognised`.
- **Deduplication**: by `employerId` within a run, including between the search and the specific companies you list.
- **Blocked runs**: each page is retried up to 3 times with backoff and one Cloudflare re-check. If the check never clears, the OUTPUT record carries `cloudflare_blocked`: retry later or raise `maxChallengeRetries`.

### 🔌 Integrations and API

Run Glassdoor Company Search Scraper from the [Apify API](https://docs.apify.com/api/v2), the [Python](https://docs.apify.com/api/client/python) or [JavaScript](https://docs.apify.com/api/client/js) client, or on a [schedule](https://docs.apify.com/platform/schedules). Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through [Apify integrations](https://apify.com/integrations). Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapifier~glassdoor-company-search-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "location": "United States", "sectors": ["10013"], "minRating": 4, "companySize": "GIANT", "maxItems": 50 }'
```

### ❓ FAQ

**Is it legal to scrape Glassdoor company data?**

The Actor only reads pages Glassdoor publishes to anyone without logging in. Profiles include some personal data (CEO names), so process them in line with GDPR, respect Glassdoor's terms, and stay responsible for how you use the data. This is not legal advice.

**Do I need a Glassdoor account, login or cookies?**

No. Nothing to log in to, no cookies to paste, no proxy to configure.

**Can I export Glassdoor companies to Excel or Google Sheets?**

Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML, and the Google Sheets integration can push new companies to a sheet. Turn on `flatten` for one flat row per company.

**How many companies can I scrape?**

As many as Glassdoor exposes for your filters (set `maxItems` to `0`). A broad search can match hundreds of thousands of companies, so most users cap each run and tighten the filters instead.

**Which filters can I combine?**

All of them in one run. They are the exact options of Glassdoor's Company Explorer, applied server-side by Glassdoor itself.

**Can I search worldwide, or outside the United States?**

Yes. Clear `location` for a worldwide search, or type any city, state or country (`Germany`, `Paris, France`, `London`, `Texas`).

**Can I get the profile of specific companies instead of a search?**

Yes. Add Glassdoor URLs in `startUrls` or names in `companyNames`; each returns one profile. For lookups only, the sibling Glassdoor Company Overview Scraper has the same output with a simpler input.

**How fresh is the data?**

Every run scrapes Glassdoor live. Schedule the Actor weekly or monthly to keep a history of ratings, counts and rankings.

### 🔗 Related scrapers

- [Glassdoor Company Overview Scraper](https://apify.com/scrapifier/glassdoor-company-overview-universal-scraper): the same complete profile for a list of company names or URLs.
- [Glassdoor Reviews Scraper](https://apify.com/scrapifier/glassdoor-reviews-universal-scraper): employee reviews with ratings, pros, cons and advice to management.
- [Glassdoor Salaries Scraper](https://apify.com/scrapifier/glassdoor-salaries-universal-scraper): salary estimates per job title and company.
- [Glassdoor Interviews Scraper](https://apify.com/scrapifier/glassdoor-interviews-universal-scraper): interview experiences and the questions asked, by company.
- [Glassdoor Jobs Scraper](https://apify.com/scrapifier/glassdoor-jobs-universal-scraper): job listings by keyword and location, with salary estimates.

### 💬 Support

Questions, bugs or a feature request? Open an issue in the **Issues** tab of this Actor, I answer quickly. If Glassdoor Company Search Scraper saves you time, a rating on the Store helps others find it.

# Actor input Schema

## `query` (type: `string`):

Optional keyword matched against company names ("bank", "consulting", "Deloitte"). Leave empty to browse every company matching the filters below.

## `location` (type: `string`):

City, state or country, as you would type it on Glassdoor ("United States", "Paris, France", "London", "California"). Only companies with offices there are returned. Leave empty for worldwide.

## `sectors` (type: `array`):

Restrict to one or more sectors (Information Technology, Financial Services, Healthcare...).

## `industries` (type: `array`):

Restrict to one or more industries (more granular than sectors: Software Development, Banking & Lending, Hospitals & Health Clinics...).

## `jobFunctions` (type: `array`):

Only companies rated by employees working in these functions (Engineering, Sales, Healthcare...). Ratings are then the ones given by that population.

## `jobTitle` (type: `string`):

Only companies that have reviews from this job title ("Software Engineer", "Nurse", "Account Manager").

## `minRating` (type: `integer`):

Only companies rated at least this many stars (1 to 5) on the dimension chosen in "Rating dimension". 0 = no rating filter.

## `ratingType` (type: `string`):

Which rating the minimum applies to. Default: the overall rating.

## `companySize` (type: `string`):

Number of employees, in Glassdoor's buckets.

## `maxItems` (type: `integer`):

Stop after this many companies (0 = no limit; a broad search can return hundreds of thousands of companies, so keep a cap). Results come in pages of 10, sorted by Glassdoor's relevance/popularity.

## `startUrls` (type: `array`):

Any Glassdoor page of a company: Overview (`/Overview/Working-at-Google-EI_IE9079.11,17.htm`), Reviews, Salaries, Interviews, Jobs or Benefits URL. One company profile is returned per URL.

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

Company names, resolved with Glassdoor's own search ("Google", "Deloitte", "Airbnb"). Exact spelling is not required.

## `includeDemographicRatings` (type: `boolean`):

Add the average rating given by each demographic group (gender, race/ethnicity, sexual orientation, disability, parent/caregiver, veteran status) when Glassdoor publishes them.

## `flatten` (type: `boolean`):

One flat row per company: sub-ratings become `rating_*` columns, links `url_*` columns, competitors a `|` separated string. Demographic ratings are dropped.

## `emitInputStatus` (type: `boolean`):

Write an `input_status` report to the OUTPUT record (which company or search returned nothing, and why).

## `maxChallengeRetries` (type: `integer`):

How many times to reload the page while waiting for Glassdoor's Cloudflare check to clear.

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

Leave EMPTY: Glassdoor blocks proxy IP ranges (residential and datacenter) but accepts Apify's own egress IP, so the scraper works best with no proxy. Only set this if you need a specific country egress.

## Actor input object example

```json
{
  "location": "United States",
  "minRating": 4,
  "ratingType": "RATING_OVERALL",
  "companySize": "ANY",
  "maxItems": 50,
  "includeDemographicRatings": false,
  "flatten": false,
  "emitInputStatus": true,
  "maxChallengeRetries": 8
}
```

# Actor output Schema

## `companies` (type: `string`):

One complete Glassdoor profile per company extracted by this run.

# 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 = {
    "location": "United States",
    "minRating": 4,
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapifier/glassdoor-company-search-universal-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 = {
    "location": "United States",
    "minRating": 4,
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapifier/glassdoor-company-search-universal-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 '{
  "location": "United States",
  "minRating": 4,
  "maxItems": 50
}' |
apify call scrapifier/glassdoor-company-search-universal-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapifier/glassdoor-company-search-universal-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/ZLnIVl1uudZZL5MUn/builds/48riScWPVU4DDSUoU/openapi.json
