Glassdoor Jobs Scraper
Pricing
from $12.00 / 1,000 job scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
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.
| Field | Description |
|---|---|
title | Job title shown by Glassdoor |
companyName | Hiring company name |
companyRating | Visible Glassdoor company rating when available |
location | Job location or remote label |
salaryText | Raw visible salary range |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | Parsed salary fields when recognizable |
datePosted | Posted age or date visible on the listing |
employmentType, easyApply, remoteType | Job flags when Glassdoor exposes them |
description | Compact listing text or embedded description |
jobUrl, applyUrl, sourceUrl | Job, 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.
| Event | Price |
|---|---|
| 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
OUTPUTandSUMMARY. - 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.
Legal And Compliance
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.