# Glassdoor Jobs Scraper: Salaries, Ratings & Company Data (`molded_mountainpass/glassdoor-jobs-scraper`) Actor

Glassdoor scraper for jobs, salaries and company data. Scrape Glassdoor job listings with salary ranges (low / median / high), company ratings and sub-ratings, skills, Easy Apply and full company profiles. All 20 Glassdoor countries, 14 filters, no login. JSON, CSV, Excel. $0.40 per 1,000 jobs.

- **URL**: https://apify.com/molded_mountainpass/glassdoor-jobs-scraper.md
- **Developed by:** [Divya Raj](https://apify.com/molded_mountainpass) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Glassdoor Jobs Scraper: Salaries, Ratings & Company Data

**Glassdoor Jobs Scraper** extracts job listings from Glassdoor in seconds, with the data that makes
Glassdoor worth scraping: **salary ranges (low / median / high) and whether the employer stated
them**, company ratings, skills, Easy Apply, sponsored flags, Glassdoor awards, and with full
details the **complete company profile**: size, revenue, industry, founded year, CEO and
sub-ratings for culture, pay, work-life balance and more.

Use it as a **Glassdoor scraper API**, a **Glassdoor jobs API**, a **Glassdoor salary scraper** or a
**Glassdoor company data scraper**: search any keyword in any city, state or country on every Glassdoor site (US, UK, India,
Canada, Australia, Germany and more) and export the results to JSON, CSV, Excel or Google Sheets.

No login, no cookies, no browser. Plain HTTP against Glassdoor's own search API, which is why it is
fast and cheap. **From $0.40 per 1,000 jobs, no start fee.**

**1,000 jobs in 34 seconds. 300 jobs with full descriptions and company profiles in 47 seconds.**

Also need a **LinkedIn job scraper**? The sister Actor
[LinkedIn Jobs Scraper + Glassdoor](https://apify.com/molded_mountainpass/linkedin-glassdoor-jobs-scraper)
scrapes both sites in one run into one deduplicated dataset.

***

### Why this one

| | **This Actor** | valig/glassdoor-jobs-scraper | bebity/glassdoor-jobs-scraper |
|---|---|---|---|
| Price per 1,000 jobs | **$0.40, no start fee** | $0.40 + $0.001 per run | $0.40 |
| Company profile (size, revenue, industry, CEO, sub-ratings) | **included in $1.20 detailed** | not offered | +$1.00 per 1,000 add-on |
| Salary low / **median** / high + employer-stated vs estimate | **yes** | - | - |
| Filter: only **employer-stated** salaries | **yes** | - | - |
| Filter: minimum salary | **yes** | - | yes |
| Filter: hide **sponsored** listings | **yes** | - | - |
| Filter: exclude companies | **yes** | - | yes |
| Filters: posted within, job type, remote, seniority, Easy Apply, rating, company size, radius | **yes** | most | yes |
| Several keywords x several locations in one run | **yes** | one of each | one of each |
| "Only new jobs" memory for scheduled runs | **built in** | manual id list | - |
| Skills | **Glassdoor's tags + skills read from the description** | - | - |
| Awards (Best Places to Work, Best-Led Companies, Top CEO) | **yes** | - | - |

Competitor columns are from their public input schemas and prices on 2026-10-22; "-" means the
option is not in their input.

### Who uses it

- **Recruiters and staffing agencies**: every company hiring for a role in a city, with the pay
  range to pitch against and the employer's rating.
- **Salary and labour-market research**: Glassdoor pay percentiles by title, location and
  company, with `salarySource` telling employer-published figures from estimates.
- **Job boards and job-alert apps**: a daily feed of fresh postings with `onlyNewJobs`, so you
  never pay twice for the same job.
- **Sales and lead generation**: companies that are hiring have budget; with full details you get
  their size, revenue, industry, website and CEO.
- **AI agents and LLM apps**: structured job data through the Apify API or MCP server.

### How to scrape Glassdoor jobs

1. Enter **keywords** (e.g. `data analyst`) and **locations** (e.g. `New York`, `California`,
   `London`, `India`), or paste a Glassdoor search URL.
2. Pick filters and how many jobs you want.
3. Click **Start**. Download JSON, CSV or Excel, or fetch the results through the API.

Locations are matched to Glassdoor's own location ids, so `India` means the country (not
Indianapolis) and `Bangalore` finds Bengaluru. An over-specified name such as `Austin, Texas, USA`
falls back to its parts; a place Glassdoor does not know is skipped with a clear warning. Leave locations empty to search the whole US.

### Glassdoor scraper for every country

Type any city, state or country, or paste a search URL from any Glassdoor site. Glassdoor runs
20 country domains, all supported:

| Region | Glassdoor sites |
|---|---|
| North America | glassdoor.com (United States), glassdoor.ca (Canada), glassdoor.com.mx (Mexico) |
| Europe | glassdoor.co.uk (UK), glassdoor.ie (Ireland), glassdoor.de (Germany), glassdoor.fr (France), glassdoor.es (Spain), glassdoor.it (Italy), glassdoor.nl (Netherlands), glassdoor.be (Belgium), glassdoor.at (Austria), glassdoor.ch (Switzerland) |
| Asia-Pacific | glassdoor.co.in (India), glassdoor.sg (Singapore), glassdoor.com.hk (Hong Kong), glassdoor.com.au (Australia), glassdoor.co.nz (New Zealand) |
| South America | glassdoor.com.br (Brazil), glassdoor.com.ar (Argentina) |

Locations are resolved through Glassdoor's own location ids, so you never have to pick a country
site: `London`, `Zurich` or `Bengaluru` in **Locations** is enough. Accents are optional
(`Zurich` finds Zürich, `Sao Paulo` finds São Paulo).

**Tested on all 20 sites** (2026-10-22, "data analyst", 20 jobs each from a search URL of that site):
every run succeeded with 20/20 jobs in the right city. How often a salary is shown depends on
the country, because it is Glassdoor's own data:

| Site | Salary shown | Rating | Site | Salary shown | Rating |
|---|---|---|---|---|---|
| .com (New York) | 100% | 100% | .ca (Toronto) | 100% | 95% |
| .com.au (Sydney) | 95% | 90% | .co.uk (London) | 90% | 90% |
| .co.in (Bengaluru) | 85% | 95% | .co.nz (Auckland) | 80% | 95% |
| .ie (Dublin) | 75% | 95% | .it (Milan) | 70% | 90% |
| .com.hk (Hong Kong) | 70% | 95% | .sg (Singapore) | 65% | 90% |
| .nl (Amsterdam) | 55% | 100% | .fr (Paris) | 30% | 100% |
| .es (Madrid) | 25% | 100% | .com.mx (Mexico) | 25% | 95% |
| .de (Berlin) | 10% | 90% | .be (Brussels) | 10% | 100% |
| .ch (Zürich) | 5% | 100% | .com.br (São Paulo) | 5% | 90% |
| .at (Vienna) | 0% | 95% | .com.ar (Buenos Aires) | 0% | 100% |

Job type and skill tags are read in the site's language too (`Vollzeit`, `Tiempo completo`, `CDI`,
`全職` all become `full-time`).

### Filters

Most filters are **applied by Glassdoor itself**, so you never pay for a job only for it to be
thrown away, and a narrow search reaches deeper into the results.

| Option | What it does | Applied by |
|---|---|---|
| `postedWithin` | 24 hours, 3 days, week, 14 days, month | Glassdoor |
| `jobType` | full-time, part-time, contract, temporary, internship | Glassdoor (one choice), tags (several) |
| `workType` | remote, hybrid, on-site | Glassdoor (remote only), tags (others) |
| `experienceLevel` | internship, entry, mid-senior, director, executive | Glassdoor |
| `minCompanyRating` | 1.0+ to 4.0+ | Glassdoor |
| `companySize` | 1-200 up to 5,001+ employees | Glassdoor |
| `searchRadius` | exact city up to 100 miles | Glassdoor |
| `easyApplyOnly` | only jobs you apply to on Glassdoor | Glassdoor |
| `minSalary` | yearly minimum in the job's currency; hourly and monthly pay converted | Glassdoor + exact check |
| `salaryOnly` | only jobs that show pay | before charging |
| `employerSalaryOnly` | only pay the employer published, not Glassdoor's estimate | before charging |
| `hideSponsored` | drop paid listings | before charging |
| `excludeCompanies` | e.g. staffing agencies, by name | before charging |
| `onlyNewJobs` | skip jobs from your previous runs (60-day memory) | before charging |

Hybrid and on-site are matched on the tags Glassdoor gives a listing, which about a third of
listings carry, so those two return fewer jobs. The run log lists how many jobs each option
removed.

### What you get for every job

Every field is always present (unknown values are `null`), so CSV and Excel columns never shift.
Salary fields are flat, one column each.

| Group | Fields |
|---|---|
| Job | `id`, `url`, `title`, `jobFunction`, `jobType`, `workType`, `experienceLevel`, `skills[]`, `education[]`, `description` |
| Pay | `salaryMin` (p10), `salaryMedian` (p50), `salaryMax` (p90), `salaryCurrency`, `salaryPeriod`, `salarySource`, `salaryText` |
| Timing & signals | `ageInDays`, `postedAt`, `easyApply`, `isSponsored` |
| Company | `company`, `employerId`, `companyUrl`, `companyLogo`, `companyRating`, `awards[]` |
| Full details | `applyUrl`, full `description` (+ `descriptionHtml`), `yearsOfExperience`, `city`, `state`, `country`, `latitude`, `longitude`, `companySize`, `companyRevenue`, `companyIndustry`, `companySector`, `companyType`, `companyFounded`, `companyWebsite`, `companyHeadquarters`, `companyCeo`, `companyRatings` |
| Provenance | `searchKeyword`, `searchLocation`, `detailsFetched`, `scrapedAt` |

`salarySource` is `EMPLOYER_PROVIDED` (published by the employer), `ESTIMATED` (Glassdoor's
estimate) or `DESCRIPTION` (read from the job text with full details). `companyRatings` holds
`careerOpportunities`, `compensationAndBenefits`, `cultureAndValues`, `seniorManagement`,
`workLifeBalance` (1-5) and `recommendToFriend`, `ceoApproval` (0-1 shares).

#### How often each field is filled

Measured on live runs, 2026-10-22:

| Field | New York, data analyst (50) | India, data analyst (50) | California, nurse (300) |
|---|---|---|---|
| title, company, location, url, postedAt, easyApply, isSponsored | 100% | 100% | 100% |
| salary (min / median / max) | **98-100%** | 74% | 99% |
| companyRating | 98% | 90% | 72% |
| skills | 98% | 100% | 100% |
| jobType | 72-74% | 68% | 95% |
| experienceLevel | 100% | 0% (not tagged in India) | 100% |
| full details: companySize / industry / website | 92% / 88% / 98% | 90% / 80% / 90% | 60% / 60% / 78% |
| full details: companyRatings / CEO / founded | 98% / 86% / 72% | 90% / 72% / 78% | 71% / 48% / 38% |
| full details: yearsOfExperience | 78% | 76% | 64% |

Fields Glassdoor does not publish for a listing stay `null`. Nothing is guessed.

#### Example output

```json
{
  "id": "1009613832416",
  "url": "https://www.glassdoor.com/job-listing/sector-analyst-mi-data-point72-JV_IC1132348_KO0,22_KE23,30.htm",
  "title": "Sector Analyst, MI-Data",
  "company": "Point72 Asset Management, L.P",
  "employerId": 1032703,
  "companyRating": 4,
  "location": "New York, NY",
  "experienceLevel": "Mid-level",
  "jobFunction": "data analyst",
  "salaryMin": 95000,
  "salaryMedian": 105000,
  "salaryMax": 115000,
  "salaryCurrency": "USD",
  "salaryPeriod": "year",
  "salarySource": "EMPLOYER_PROVIDED",
  "salaryText": "USD 95,000 - USD 115,000 per year",
  "ageInDays": 236,
  "postedAt": "2026-02-28",
  "easyApply": false,
  "isSponsored": false,
  "skills": ["Market research data", "Data visualization", "SQL", "Python"],
  "education": ["Bachelor's degree"],
  "awards": [],
  "searchKeyword": "data analyst",
  "searchLocation": "New York"
}
```

### Pricing

Pay per result. You are charged for jobs you receive, nothing else: filtered-out jobs, duplicates
and jobs from previous runs (with `onlyNewJobs`) are free.

| Event | What it is | Free plan | Bronze | Silver | Gold and up |
|---|---|---|---|---|---|
| `job` | job with salary, rating, skills, Easy Apply, sponsored flag, awards and link | **$0.40** | $0.36 | $0.32 | **$0.30** |
| `job-with-details` | plus the full description, apply link and complete company profile | **$1.20** | $1.08 | $0.96 | **$0.90** |

Prices are per 1,000 jobs. No start fee, no monthly rent. If a job's details cannot be loaded it is
delivered and charged as a basic job.

Set a **max cost per run** in the run options and the Actor stops the moment it is reached.

### Input examples

**Keywords and locations.** Every keyword is searched in every location.

```json
{
  "keywords": ["data analyst", "business analyst"],
  "locations": ["New York", "California"],
  "maxItems": 500,
  "postedWithin": "week",
  "employerSalaryOnly": true,
  "hideSponsored": true,
  "fetchDetails": false
}
```

**Paste a search URL** from any Glassdoor country site. The keyword and location are read from the
URL; filters come from the options.

```json
{
  "startUrls": ["https://www.glassdoor.co.in/Job/bengaluru-react-developer-jobs-SRCH_IL.0,9_IC2940587_KO10,25.htm"],
  "maxItems": 200
}
```

### Limits worth knowing

- Glassdoor repeats some listings across its result pages; duplicates are removed and never
  charged, and the log says how many.
- `experienceLevel` comes from Glassdoor's own tags, which US listings carry and Indian listings
  mostly do not.
- An empty input runs a 20-job sample search ("data analyst" in the United States), so you can see the output before spending anything.

### Integrations

The output is a standard Apify dataset:

- **API**: `GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json` (also `csv`,
  `xlsx`, `xml`, `rss`)
- **Make, Zapier, n8n** through the Apify connectors
- **Scheduled runs**: a daily schedule plus `onlyNewJobs: true` gives you a feed of new postings
- **Webhooks** on run completion to push results into your own system

### FAQ

#### Do I need a Glassdoor account or cookies?

No. Only public job listings are read. You are never asked for a login, credentials or cookies.

#### How much does it cost to scrape 1,000 Glassdoor jobs?

$0.40, or $1.20 with full descriptions and company profiles. No start fee.

#### Can I get Glassdoor salary data?

Yes: low, median and high pay for most listings (98-100% of US data-analyst listings in our test),
with `salarySource` saying whether the employer published it or Glassdoor estimated it. Use
`employerSalaryOnly` to keep only employer-published pay.

#### Is there an official Glassdoor jobs API?

Glassdoor does not offer an open public jobs API. This Actor works as one: start
it through the Apify API and get JSON back, with no Glassdoor account or API key.

#### Can I scrape Glassdoor company reviews and ratings?

Every job carries the employer's overall rating, and with full details the sub-ratings (culture,
pay and benefits, work-life balance, career, management, CEO approval and recommend-to-friend).
Individual review texts are not collected.

#### Which countries work?

All 20 Glassdoor country sites (see the table above): type a city, state or country, or paste a
URL from any of them.

#### Is it legal to scrape Glassdoor jobs?

The Actor reads publicly available job postings only. It collects no personal data, reviews or
candidate profiles. How you use the data is your responsibility, so check the rules that apply to
your use case.

#### How do I get only new jobs every day?

Create a daily schedule and set `onlyNewJobs: true`. The Actor remembers every job it has returned
to you for 60 days and skips it next time, so you only pay for postings you have not seen.

#### Why is a field empty?

Because Glassdoor did not publish it for that listing. Nothing is inferred, so an empty field is
information too.

#### Something is missing?

Tell us on the Issues tab. Requests decide what gets added next.

# Actor input Schema

## `keywords` (type: `array`):

What to search for, e.g. "data analyst", "software engineer". Each keyword is searched in every location. Optional if you paste Glassdoor search URLs below.

## `locations` (type: `array`):

Cities, states or countries, e.g. "New York", "California", "London", "India", "Bengaluru". Each name is matched to Glassdoor's own location, so "India" means the country, not Indianapolis. Leave empty to search the whole United States.

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

Search URLs copied from Glassdoor (any country site), e.g. https://www.glassdoor.com/Job/new-york-data-analyst-jobs-SRCH_IL.0,8_IC1132348_KO9,21.htm. The keyword and location are read from the URL; filters come from the options below. Run in addition to the keywords above.

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

Stop after this many jobs in total. You only pay for jobs you get, and the run also stops at your maximum charge per run.

## `postedWithin` (type: `string`):

Only jobs posted within this period. Applied by Glassdoor, so narrower periods are faster and cheaper.

## `jobType` (type: `array`):

Employment type. One choice is applied by Glassdoor itself; with several, jobs are matched on the type Glassdoor tags them with.

## `workType` (type: `array`):

Remote, hybrid or on-site. "Remote" alone is applied by Glassdoor itself. Hybrid and on-site match the jobs Glassdoor tags as such, which is about a third of listings, so these return fewer jobs.

## `experienceLevel` (type: `string`):

Seniority. Applied by Glassdoor itself.

## `minCompanyRating` (type: `string`):

Only jobs at employers rated at least this on Glassdoor. Applied by Glassdoor itself.

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

Only jobs at companies of this size. Applied by Glassdoor itself.

## `searchRadius` (type: `string`):

How far around a city to search. Only matters for city locations, not countries or states.

## `easyApplyOnly` (type: `boolean`):

Only jobs you can apply to directly on Glassdoor. Applied by Glassdoor itself.

## `minSalary` (type: `integer`):

Only jobs paying at least this much per year, in the job's own currency (e.g. 100000 for USD 100k, 1200000 for INR 12 lakh). Hourly and monthly pay is converted to yearly. Jobs with no salary are skipped. 0 = any.

## `salaryOnly` (type: `boolean`):

Skip jobs that show no pay at all (neither employer-stated nor a Glassdoor estimate). Skipped jobs are not charged.

## `employerSalaryOnly` (type: `boolean`):

Only jobs whose pay range the employer published itself (salarySource EMPLOYER_PROVIDED), not a Glassdoor estimate. Implies "Only jobs with a salary".

## `hideSponsored` (type: `boolean`):

Skip paid (promoted) listings. Skipped jobs are not charged.

## `excludeCompanies` (type: `array`):

Leave out jobs from these employers, e.g. staffing agencies. Matched by name, case-insensitive, anywhere in the company name.

## `fetchDetails` (type: `boolean`):

Adds the full job description, apply link, education, years of experience, exact city / state / country with coordinates, and the company profile: size, revenue, industry, sector, type, founded year, website, headquarters, CEO and sub-ratings (culture, work-life balance, pay, career, management, CEO approval). One extra request per job, priced as a detailed job.

## `includeDescriptionHtml` (type: `boolean`):

Also return the full description as HTML (needs full job details).

## `onlyNewJobs` (type: `boolean`):

Skip jobs returned by your previous runs (remembered for 60 days). Ideal for scheduled runs: you only pay for new jobs.

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

Leave the default. Glassdoor blocks datacenter IPs, so the Actor uses Apify residential proxy for its requests; that cost is included in the price.

## Actor input object example

```json
{
  "keywords": [
    "data analyst"
  ],
  "locations": [
    "United States"
  ],
  "startUrls": [],
  "maxItems": 100,
  "postedWithin": "any",
  "jobType": [],
  "workType": [],
  "experienceLevel": "any",
  "minCompanyRating": "0",
  "companySize": "any",
  "searchRadius": "default",
  "easyApplyOnly": false,
  "minSalary": 0,
  "salaryOnly": false,
  "employerSalaryOnly": false,
  "hideSponsored": false,
  "excludeCompanies": [],
  "fetchDetails": false,
  "includeDescriptionHtml": false,
  "onlyNewJobs": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `jobs` (type: `string`):

Every job found: title, company, location, salary, rating and link.

## `salaries` (type: `string`):

Low / median / high pay per job and whether the employer stated it.

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

Employer ratings, awards and company profile.

## `jobDetails` (type: `string`):

Every field, including the description and skills.

## `runStats` (type: `string`):

Jobs delivered, filtered out and request counts.

# 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 = {
    "keywords": [
        "data analyst"
    ],
    "locations": [
        "United States"
    ],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("molded_mountainpass/glassdoor-jobs-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 = {
    "keywords": ["data analyst"],
    "locations": ["United States"],
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("molded_mountainpass/glassdoor-jobs-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 '{
  "keywords": [
    "data analyst"
  ],
  "locations": [
    "United States"
  ],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call molded_mountainpass/glassdoor-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,molded_mountainpass/glassdoor-jobs-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/AO4guefo28pIf5b1V/builds/mM77scOY0zWorlBTF/openapi.json
