Glassdoor Jobs Scraper avatar

Glassdoor Jobs Scraper

Pricing

from $12.00 / 1,000 job scrapeds

Go to Apify Store
Glassdoor Jobs Scraper

Glassdoor Jobs Scraper

Scrape Glassdoor job listings with title, company, location, salary, posted date, rating, apply URL, and source URL. MCP optimized for recruiters and job-market research.

Pricing

from $12.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Scrape Glassdoor job listings for recruiters, HR analytics teams, job-market researchers, and AI agents that need structured job data with source links and predictable pricing.

What It Extracts

The actor searches Glassdoor jobs by role, skill, company, location, and optional recency filters. It returns one flat dataset row per job so downstream systems can read it directly from Apify datasets, CSV, JSON, or the Apify MCP server.

FieldDescription
titleJob title shown by Glassdoor
companyNameHiring company name
companyRatingVisible Glassdoor company rating when available
locationJob location or remote label
salaryTextRaw visible salary range
salaryMin, salaryMax, salaryCurrency, salaryPeriodParsed salary fields when recognizable
datePostedPosted age or date visible on the listing
employmentType, easyApply, remoteTypeJob flags when Glassdoor exposes them
descriptionCompact listing text or embedded description
jobUrl, applyUrl, sourceUrlJob, apply, and source links

When To Use It

Use this actor when you need fresh Glassdoor job listings for salary benchmarking, hiring signal monitoring, recruiter sourcing, job-board enrichment, or LLM grounding. It is especially useful when an agent needs a small, current sample such as "find 25 software engineer jobs in New York with salaries and application links."

Do not use it for Glassdoor company reviews, interview questions, company overview pages, or salary-only pages. Those are separate Glassdoor data surfaces and need different contracts. This actor also does not log in to Glassdoor, ask for user cookies, or scrape private account data.

Input Options

The fastest path is a keyword and a location:

{
"searchQuery": "software engineer",
"location": "New York, NY",
"country": "US",
"maxResults": 50,
"daysOld": 7,
"includeNoSalaryJobs": true,
"deduplicate": true
}

maxResults is both the output cap and the billable job-event cap. Set includeNoSalaryJobs to false when you only want listings with visible compensation.

Output Example

{
"jobId": "1009550830112",
"title": "Senior Software Engineer",
"companyName": "Scribd Inc.",
"companyRating": 3.8,
"location": "New York, NY",
"salaryText": "$126K - $196K (Employer provided)",
"salaryMin": 126000,
"salaryMax": 196000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"datePosted": "3d",
"jobUrl": "https://www.glassdoor.com/job-listing/example-JV.htm",
"searchQuery": "software engineer",
"requestedLocation": "New York, NY",
"source": "glassdoor",
"scrapedAt": "2026-06-12T12:00:00.000Z"
}

The run also writes OUTPUT and SUMMARY records to the default key-value store. These include counts, warnings, duplicate skips, charged event counts, backend run IDs, backend dataset IDs, and the dataset URL for quick canary verification.

Pricing

This actor uses pay per event with predictable billing.

EventPrice
Actor start$0.00005 per run start
Job scraped$0.012 per saved job

A 50-job run costs up to about $0.600 in job events plus the small start event. The actor logs the maximum cost before scraping and keeps a dedicated charge counter so it cannot bill more job events than maxResults.

Reliability Notes

Glassdoor is protected and can return security pages, empty responses, or rate limits to direct browser runs. During build canaries, direct local and direct cloud requests were blocked, so this actor uses the internal khadinakbar/jobs-scraper Glassdoor backend and normalizes its output into a dedicated Glassdoor jobs schema.

  • User input issues finish with a warning instead of a failed run.
  • Backend run IDs and dataset IDs are written into OUTPUT and SUMMARY.
  • Partial results are saved before warnings are reported.
  • Duplicate jobs are skipped by default using job ID, URL, or a title-company-location hash.
  • If the backend fails, the actor fails loudly instead of pretending an empty dataset is valid.

API Usage

apify call khadinakbar/glassdoor-jobs-scraper --input='{
"searchQuery": "data engineer",
"location": "Austin, TX",
"maxResults": 25,
"daysOld": 7
}'

With the Apify API:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/glassdoor-jobs-scraper').call({
searchQuery: 'product manager',
location: 'San Francisco, CA',
maxResults: 50,
});
console.log(run.defaultDatasetId);

MCP And AI Agents

The actor is MCP optimized. Field names are flat, descriptions are semantic, and every row keeps source links so an agent can cite or inspect the originating page. Use it when Claude, ChatGPT, or another agent needs current job listings with salary text, company names, locations, and URLs.

Tool routing summary: scrape Glassdoor jobs for recruiting, salary benchmarking, labor-market research, and hiring-signal workflows. Do not use for reviews, interviews, or private account data. Returns one row per job with job, company, salary, location, date, and source URL. Charged $0.012 per job returned plus a $0.00005 start event.

Use this actor responsibly and only for use cases where you have a lawful basis to process the data. Review Glassdoor's terms, robots guidance, and applicable laws before running large jobs or redistributing output. The actor is designed for public job-listing research and does not bypass login-only content.