Glassdoor Jobs Scraper avatar

Glassdoor Jobs Scraper

Pricing

from $3.20 / 1,000 results

Go to Apify Store
Glassdoor Jobs Scraper

Glassdoor Jobs Scraper

Scrape Glassdoor job listings by keyword, country, location, remote, job type, and recency with structured roles, salaries, company data, and ratings.

Pricing

from $3.20 / 1,000 results

Rating

5.0

(2)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

7

Bookmarked

352

Total users

102

Monthly active users

4 hours ago

Last modified

Share

Glassdoor Jobs Scraper - Jobs, Salaries & Employer Data API for 23 Markets

Glassdoor Jobs Scraper exports up to 10,000 structured job listings per run across 23 supported markets. Search by keyword and country, optionally narrow by location, distance, posting age, or employment type, and receive a consistent 41-field dataset covering job details, salary, employer profiles, ratings, application signals, and public contacts when available.

TL;DR: Enter a keyword, choose a country, set the result limit, and add only the optional filters you need. The Actor searches public Glassdoor job pages without requesting Glassdoor credentials and stores normalized results in the default dataset.

Glassdoor 23 Markets 41 Fields


Why Choose This API

Glassdoor job and employer data with a stable contract

๐ŸŒ 23 supported markets

Search Argentina, Australia, Austria, Belgium, Brazil, Canada, France, Germany, Hong Kong, India, Ireland, Italy, Mexico, Netherlands, New Zealand, Portugal, Singapore, South Africa, Spain, Sweden, Switzerland, United Kingdom, or United States.

๐ŸŽฏ Flexible optional filters

Use location, distance, posting-age, and employment-type controls. Each optional filter is applied only when supplied.

๐Ÿ“‹ 41 normalized fields

Every result uses the same field names for source URLs, job attributes, salary, employer data, ratings, application signals, and public contacts. Source-dependent values remain null when unavailable.

๐Ÿ’ฐ Compensation and employer research

Collect disclosed or estimated salary ranges, employer ratings, company profile details, and job descriptions when Glassdoor exposes them. The optional currency field converts available salary values after collection.

๐Ÿ  Honest remote semantics

Collected listings can identify remote or hybrid language when present, but the Actor does not offer a dedicated Remote Only search control.


Quick Start Guide

Export Glassdoor jobs in 3 steps

Open Actor Input

Enter keyword, choose country, and set max_results. Add only the optional filters you want to apply.

Step 2: Run the Actor

Click Start. Leave location empty for a country-level search, or enter a city or region and optionally set distance.

Step 3: Use the dataset

Preview the default dataset or export it in JSON, CSV, Excel, XML, RSS, or another format supported by Apify.


Input Parameters

Configuration fields

ParameterTypeRequiredDescriptionExample
keywordstringYesJob title, skill, or company nameData Scientist
countryselectYesOne of 23 supported Glassdoor marketsSweden
max_resultsintegerYesMaximum jobs to return, from 1 to 10,000500
distanceintegerNoSearch radius in miles, from 50 to 10,00050
locationstringNoCity or region; country-level search is used when omittedStockholm
posted_sincedateNoLimit results to a relative or absolute posting window2 days
job_typeselectNofulltime, parttime, contract, or internshipcontract
currencyselectNoTarget currency for converting available salary valuesEUR

Filter behavior

  • location is resolved within the selected country when supplied.
  • distance is applied only when explicitly supplied.
  • posted_since is rounded up to the next whole day.
  • job_type supports full-time, part-time, contract, or internship roles.
  • currency is a post-collection salary conversion, not a Glassdoor search filter.
  • There is no remote_only input; remote or hybrid signals may still appear in collected records.

Example input

{
"keyword": "Data Scientist",
"country": "Sweden",
"max_results": 500,
"location": "Stockholm",
"distance": 50,
"posted_since": "2 days",
"job_type": "contract",
"currency": "EUR"
}

Output Data Schema

Complete 41-field job record

Every dataset item uses the fields below. Nullable fields make missing source data explicit.

Run and source fields

FieldTypeDescription
processorstring or nullApify Actor URL that processed the record
processed_atstring or nullUTC processing timestamp
platformstring or nullSource platform, normally Glassdoor
platform_urlstring or nullGlassdoor job listing URL
official_urlstring or nullEmployer's original listing URL when available

Core job fields

FieldTypeDescription
titlestring or nullJob title
posted_datestring or nullPosting date or age
valid_throughstring or nullClosing or expiration date when available
locationobject or nullStructured location with raw and standardized values
applicant_countinteger or nullApplicant count when available
is_remoteboolean or nullRemote or hybrid signal identified in the listing
descriptionstring or nullJob description and requirements

Classification fields

FieldTypeDescription
job_typestring or nullEmployment type
job_levelstring or nullSeniority level
job_functionstring or nullDepartment or job function
listing_typestring or nullListing classification when available
skillsstring or nullSkills and attributes identified for the role
work_from_homestring or nullRemote or hybrid arrangement
vacancy_countinteger or nullNumber of openings when available
experience_rangestring or nullExperience requirement when available
easy_applyboolean or nullWhether direct application is available

Salary fields

FieldTypeDescription
salary_periodstring or nullPay period, such as yearly or hourly
salary_minimumnumber or nullMinimum disclosed or estimated salary
salary_maximumnumber or nullMaximum disclosed or estimated salary
salary_currencystring or nullISO currency code

Employer fields

FieldTypeDescription
company_namestring or nullHiring company name
company_typestring or nullCompany ownership type when available
company_foundedinteger or nullFounding year when available
company_industrystring or nullIndustry or sector
company_urlstring or nullGlassdoor company profile URL
company_websitestring or nullOfficial company website
company_logostring or nullCompany logo URL
company_addressesstring or nullCompany address text
company_revenuestring or nullRevenue range when available
company_descriptionstring or nullCompany overview
company_ratingnumber or nullGlassdoor employer rating when available
employee_countstring or nullEmployee range when available
review_countinteger or nullReview count when available

Public contact fields

FieldTypeDescription
emailsarray or nullPublic company or hiring emails when discoverable
phonesarray or nullPublic company or hiring phone numbers when discoverable
social_linksobject or nullPublic company social URLs grouped by platform

Integration Examples & Options

The verified Actor ID is jSqkPD04NCwMZO4Uk.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("jSqkPD04NCwMZO4Uk").call(
run_input={
"keyword": "Data Scientist",
"country": "United States",
"max_results": 100,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('jSqkPD04NCwMZO4Uk').call({
keyword: 'Data Scientist',
country: 'United States',
max_results: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Direct API request

curl -X POST "https://api.apify.com/v2/acts/jSqkPD04NCwMZO4Uk/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"Data Scientist","country":"United States","max_results":100}'

Make and n8n

Use the Apify integration in Make or n8n, select Actor ID jSqkPD04NCwMZO4Uk, pass the same input object, wait for the run to finish, and read the default dataset items.

  • Open the Actor's API tab for generated requests in other supported languages.
  • Connect completed runs to webhooks or another Apify integration.
  • Read the default dataset directly or export it in an Apify-supported format.

JSON-LD Metadata

{
"@context": "https://schema.org",
"@graph": [
{
"@type": "SoftwareApplication",
"@id": "https://apify.com/agentx/glassdoor-jobs-scraper#software",
"name": "Glassdoor Jobs Scraper",
"description": "Scrape Glassdoor job listings across 23 markets and export 41 structured job, salary, employer, rating, application, and public contact fields when available.",
"applicationCategory": "BusinessApplication",
"applicationSubCategory": "Job Scraping API",
"operatingSystem": "Web, Cloud",
"url": "https://apify.com/agentx/glassdoor-jobs-scraper",
"dateModified": "2026-07-19",
"featureList": [
"Searches 23 supported Glassdoor markets",
"Returns a consistent 41-field dataset",
"Supports optional location, distance, posting-age, job-type, and salary-currency controls",
"Exports results through Apify datasets and integrations"
],
"author": { "@id": "https://apify.com/agentx#organization" },
"publisher": { "@id": "https://apify.com#organization" }
},
{
"@type": "Organization",
"@id": "https://apify.com/agentx#organization",
"name": "AgentX",
"url": "https://apify.com/agentx",
"sameAs": ["https://apify.com/agentx", "https://t.me/AiAgentApi"]
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How many Glassdoor markets can I select?",
"acceptedAnswer": { "@type": "Answer", "text": "The input offers 23 supported Glassdoor markets." }
},
{
"@type": "Question",
"name": "Can I filter for remote jobs only?",
"acceptedAnswer": { "@type": "Answer", "text": "No. The Actor can identify remote or hybrid language in collected jobs, but it does not expose a Remote Only search input." }
},
{
"@type": "Question",
"name": "How does posting age work?",
"acceptedAnswer": { "@type": "Answer", "text": "The supplied window is rounded up to the next whole day before the Glassdoor search is performed." }
},
{
"@type": "Question",
"name": "How much does 1,000 results cost?",
"acceptedAnswer": { "@type": "Answer", "text": "At the FREE tier, 1,000 results cost $3.20 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.88 plus the Actor start event." }
}
]
},
{
"@type": "HowTo",
"name": "How to export Glassdoor jobs with Glassdoor Jobs Scraper",
"step": [
{ "@type": "HowToStep", "position": 1, "name": "Configure the search", "text": "Enter a keyword, choose a country, set the maximum results, and add only the optional filters you need." },
{ "@type": "HowToStep", "position": 2, "name": "Run the Actor", "text": "Click Start. Leave Location empty for a country-level search or provide a city or region for a local search." },
{ "@type": "HowToStep", "position": 3, "name": "Use the dataset", "text": "Preview or export the default dataset, or connect the completed run to an Apify integration." }
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Apify", "item": "https://apify.com" },
{ "@type": "ListItem", "position": 2, "name": "AgentX", "item": "https://apify.com/agentx" },
{ "@type": "ListItem", "position": 3, "name": "Glassdoor Jobs Scraper", "item": "https://apify.com/agentx/glassdoor-jobs-scraper" }
]
}
]
}

Pricing & Cost Calculator

Pay-per-event pricing

Event or tierPriceBilling unit
Actor start$0.01Run start event; the count depends on Actor memory, with a minimum of one
FREE result$0.00320One default dataset result
BRONZE result$0.00309One default dataset result
SILVER result$0.00299One default dataset result
GOLD result$0.00288One default dataset result
PLATINUM result$0.00288One default dataset result
DIAMOND result$0.00288One default dataset result

Example costs at the default memory setting

PlanResultsResult costActor startEstimated total
FREE500$1.60$0.01$1.61
FREE1,000$3.20$0.01$3.21
FREE5,000$16.00$0.01$16.01
GOLD or higher1,000$2.88$0.01$2.89

Actual cost depends on the number of results produced, the user's plan, and the number of Actor start events charged for the selected memory.


Use Cases & Applications

Compensation and employer research

  • Compare disclosed or estimated salary ranges by role and market.
  • Analyze employer ratings, company size, industry, and revenue signals when available.
  • Normalize available salary values into a selected currency.

Recruiting and talent intelligence

  • Track open roles by title, skill, employer, country, or city.
  • Monitor competitor hiring activity with scheduled runs.
  • Analyze job type, seniority, skills, posting age, and remote signals.

Job products and automation

  • Populate a niche job board or internal opportunity feed.
  • Schedule recurring labor-market snapshots.
  • Send normalized datasets to a CRM, warehouse, dashboard, webhook, or automation platform.

FAQ

Which countries can I select?

Argentina, Australia, Austria, Belgium, Brazil, Canada, France, Germany, Hong Kong, India, Ireland, Italy, Mexico, Netherlands, New Zealand, Portugal, Singapore, South Africa, Spain, Sweden, Switzerland, United Kingdom, and United States.

Can I filter for remote jobs only?

No. The Actor can identify remote or hybrid language in collected jobs, but it does not offer a Remote Only filter.

How does posting age work?

The supplied window is rounded up to the next whole day before the search is performed.

Does currency filter jobs?

No. currency converts available salary values after collection and does not affect the Glassdoor search.

Does every result include salary, rating, and employer details?

No. Those values remain null when Glassdoor or the employer does not expose reliable data.

How much does 1,000 results cost?

At the FREE tier, 1,000 results cost $3.20 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.88 plus the Actor start event.


Trust & Data Responsibility

  • Verified inputs: every public filter is supported and optional filters are applied only when supplied.
  • Transparent billing: the Actor start event and every plan's result price are listed above.
  • Explicit nullability: missing source values are not presented as verified facts.
  • No Glassdoor credentials requested: the input schema does not ask for a Glassdoor username, password, cookie, or token.

Glassdoor Jobs Scraper is intended for lawful collection and analysis of publicly accessible job-listing data. You are responsible for reviewing Glassdoor's terms, applicable privacy and database laws, employment-data rules, and the permitted use of contact information in each jurisdiction. This documentation is not legal advice.


Enrich Your Workflow

Support & Community

Last Updated: 2026-07-19