Glassdoor Jobs Scraper —  Hiring Data, Salaries & Ratings avatar

Glassdoor Jobs Scraper — Hiring Data, Salaries & Ratings

Pricing

from $0.90 / 1,000 jobs

Go to Apify Store
Glassdoor Jobs Scraper —  Hiring Data, Salaries & Ratings

Glassdoor Jobs Scraper — Hiring Data, Salaries & Ratings

Collect Glassdoor job listings as clean JSON in real time. Keyword search, salary ranges, company ratings, Easy Apply, remote filters & full job descriptions. Up to 1,000 jobs per keyword. LLM-ready, webhook & API output. For recruiters, job boards, hiring intel & market research. Fast Apify actor.

Pricing

from $0.90 / 1,000 jobs

Rating

0.0

(0)

Developer

Chidubem Aneke

Chidubem Aneke

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Glassdoor Jobs Real-Time Data

The fastest way to collect Glassdoor job postings on Apify. Turn any job search into clean, structured JSON — ready for spreadsheets, dashboards, automations, and AI workflows. Results land in your dataset in real time, as each job is found.

Built for recruiters, talent teams, job boards, market researchers, and builders who need reliable hiring data at scale — without slow setups or messy exports.


Why this Actor

Glassdoor Jobs Real-Time DataTypical job data tool
Speed~1–3 s per job5–15 s per job
Memory256–512 MB default2–4 GB+
SetupRun in seconds — no loginOften requires accounts & maintenance
CostLow compute, efficient runsHigh
OutputStructured JSON, LLM-readyOften messy HTML
ScaleUp to 1,000 jobs per keywordOften capped lower
FiltersFull Glassdoor Jobs filtersOften keyword-only
Ratings & payCompany ratings and salary signals when publishedOften missing

What you get — every job, fully structured

Each record is one job posting with featureType: "job" and scrapedAt so you can sort, filter, and join with your own data.

FieldWhat it tells you
title, company, location, isRemoteRole, employer, place, and remote status
companyId, companyShortName, divisionEmployerNameStable employer IDs, display names, and staffing/agency detection
jobUrl, applyUrl, companyUrl, companyLogoDirect links and company branding
companyRatingGlassdoor employer rating when available
descriptionText, descriptionHtmlFull job description (when detail fetch is on)
salary, salarySource, payMin, payMax, payMedianCompensation and whether pay is employer-reported or estimated
jobTitleId, occupationCategory, occupationCategoryIdNormalized title and occupation taxonomy for analytics
advertiserType, sponsorshipLevel, isSponsoredOrganic vs promoted listing signals
easyApplyWhether Glassdoor Easy Apply is available
postedAt, postedTimeAgo, ageInDaysHow fresh the listing is
locationIdGlassdoor location ID for geo joins
searchQuery, searchLocation, positionWhich search produced this row and its rank

Set includeRaw: true if you need the extended source payload for custom processing.


Search like Glassdoor Jobs — get data like a database

Use the same filters job seekers use on Glassdoor:

  • Keywords — one search per keyword (e.g. software engineer, product manager fintech)
  • Title — narrow to a specific role name
  • Company — jobs at Google, Stripe, or any employer
  • Location — United States, San Francisco, Remote, and more
  • Job type — full-time, part-time, contract, temporary, internship
  • Date posted — any time, past month, week, or 24 hours
  • Easy Apply — only listings with one-click apply
  • Remote only — remote roles only
  • Company rating — filter by minimum employer rating (0–5)
  • Company size — startup through enterprise buckets
  • Sort — relevance or most recent
  • Volume — up to 1,000 jobs per keyword
  • Full details — toggle rich descriptions on or off
  • Import from URL — optionally add Glassdoor search or job-listing URLs

Use cases — real outcomes

  • Recruiting pipelines — build candidate-ready job lists by role, location, and company rating
  • Job boards & aggregators — feed your product with fresh Glassdoor listings daily
  • Salary & market research — track pay ranges, employer ratings, and hiring trends by skill and region
  • Competitive intelligence — monitor competitor hiring by company and function
  • Sales & BD — spot companies in hiring mode for timely outreach
  • AI assistants & agents — summarize listings, score fit, draft outreach, or answer hiring questions
  • Data warehouses & CRMs — push JSON into Snowflake, BigQuery, HubSpot, Airtable, or your stack via API

LLM & MCP integration

Output is structured JSON — ideal for ChatGPT, Claude, Gemini, LangChain, LlamaIndex, CrewAI, and custom agents. No cleanup step. No HTML stripping. Just records your model can read.

  1. Run the Actor with your keywords and filters.
  2. Pull dataset items via Apify API, webhook, or export JSON/CSV.
  3. Pass records to your LLM, vector store, or automation — one job per row.

Example: one job record for an LLM prompt

{
"featureType": "job",
"title": "Senior Software Engineer",
"company": "Stripe",
"companyId": 12345,
"companyShortName": "Stripe",
"divisionEmployerName": null,
"location": "San Francisco, CA",
"locationId": 1147401,
"isRemote": false,
"companyRating": 4.1,
"descriptionText": "We're looking for a senior engineer to...",
"salary": "USD 150000-200000 annual",
"salarySource": "EMPLOYER_PROVIDED",
"payMin": 150000,
"payMax": 200000,
"occupationCategory": "Software Engineer",
"jobTitleId": 98765,
"advertiserType": "EMPLOYER",
"easyApply": true,
"applyUrl": "https://www.glassdoor.com/job-listing/j?jl=1010062906489",
"postedAt": "2026-07-06",
"postedTimeAgo": "4 days ago",
"ageInDays": 4,
"jobUrl": "https://www.glassdoor.com/job-listing/j?jl=1010062906489",
"searchQuery": "software engineer",
"scrapedAt": "2026-07-08T12:00:00.000Z"
}

Apify MCP (Model Context Protocol)

Connect the Apify MCP server so AI assistants can:

  • Run this Actor from natural-language instructions
  • Read job results directly in the chat
  • Chain with other Actors — enrich contacts, send alerts, update spreadsheets

Example MCP conversation:

User: "Find 50 remote data engineer jobs in the US posted this week with ratings above 4.0"
MCP runs Glassdoor Jobs Real-Time Data with jobKeywords, jobLocation, remoteOnly, minRating
MCP reads dataset items
LLM summarizes hiring trends and top-rated employers

API quick start

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jobKeywords": ["data engineer"],
"jobLocation": "United States",
"remoteOnly": true,
"minRating": 4.0,
"jobDatePosted": "week",
"jobsPerQuery": 50,
"fetchJobDetails": true
}'

Fetch results: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json

Dataset views in Apify Console: Overview (core fields) · Full details (includes descriptions)

Export as JSON, CSV, Excel, RSS, or via API.


Input reference

InputTypeDefaultDescription
jobKeywordsstring[]["software engineer"]Search keywords — one run per keyword
jobTitlestringTitle filter
jobCompanystringCompany filter
jobLocationstring"United States"Location
jobTypesenum[]all typesfull_time, part_time, contract, temporary, internship
jobDatePostedenumanyany, month, week, day
jobSortenumrelevantrelevance or date
easyApplybooleanfalseEasy Apply listings only
remoteOnlybooleanfalseRemote jobs only
minRatingnumberMinimum company rating (0–5)
employerSizesenumanyCompany size bucket
jobsPerQueryinteger25Max jobs per keyword (1–1000)
fetchJobDetailsbooleantrueFull description text and HTML
excludeJobIdsstring[][]Skip known listing IDs (incremental runs)
enableScrapeByUrlbooleanfalseAlso import from Glassdoor URLs
scrapeUrlsstring[][]Glassdoor search or job-listing URLs
includeRawbooleanfalseAttach extended source payload
webhookUrlstringOptional real-time POST URL — dataset is always written; webhook is additional
webhookFormatenumjsonjson (full record) or slack (Slack message)
proxyConfigurationobjectresidential USConnection settings (US residential recommended)

Advanced options (countryId, maxPagesPerQuery, urlParams) are supported via API JSON but are not shown in the Console form.

Full schema: Input tab on Apify Console or .actor/input_schema.json in this repository.


Quick start examples

Remote software roles — full details

{
"jobKeywords": ["software engineer", "backend developer"],
"jobLocation": "United States",
"remoteOnly": true,
"jobsPerQuery": 100,
"fetchJobDetails": true
}

Jobs at a specific company

{
"jobKeywords": ["engineer"],
"jobCompany": "Google",
"jobLocation": "United States",
"jobsPerQuery": 50
}

Highly rated employers — fast summary mode

{
"jobKeywords": ["product manager"],
"jobLocation": "London",
"minRating": 4.0,
"jobDatePosted": "week",
"jobSort": "date",
"jobsPerQuery": 75,
"fetchJobDetails": false
}

High-volume market scan

{
"jobKeywords": ["machine learning", "AI engineer", "data scientist"],
"jobLocation": "United States",
"jobsPerQuery": 500,
"fetchJobDetails": true
}

Import from a Glassdoor search URL

{
"jobKeywords": [],
"enableScrapeByUrl": true,
"scrapeUrls": ["https://www.glassdoor.com/Job/software-engineer-jobs-SRCH_KO0,17.htm"],
"jobsPerQuery": 100,
"fetchJobDetails": true
}

Search with Slack webhook

{
"jobKeywords": ["product manager"],
"jobLocation": "United States",
"jobsPerQuery": 50,
"webhookUrl": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
"webhookFormat": "slack"
}

Webhook delivery (optional)

Every record is always saved to the Apify dataset first. If you set webhookUrl in the Output section, each new record is also POSTed in real time to your endpoint — useful for CRMs, Slack, Zapier, Make, or custom pipelines.

InputDescription
webhookUrlYour endpoint (https). Leave empty to use dataset only.
webhookFormatjson — full job object. slack — compact Slack incoming-webhook message.

Webhook delivery is best-effort: a failed webhook never stops the run or prevents dataset writes.


Performance & reliability

  • Residential proxy (US recommended) — best results and consistent throughput.
  • Minimum memory: 256 MB · Default: 512 MB — sufficient because results are not buffered in RAM.
  • Streaming output — each job is mapped, enriched, and pushed to the dataset individually; long runs do not accumulate results in memory.
  • Smart search expansion — automatically broadens coverage when you request large result sets.

Limitations & compliance

  • This is an unofficial tool — not affiliated with Glassdoor.
  • Use responsibly and comply with applicable laws and Glassdoor's Terms of Service.
  • Some fields (e.g. salary, company rating) appear only when employers publish them.
  • Listing availability can change; expired postings may return summary data only.

Contact & custom work

Need something beyond this Actor? I design and build custom data solutions and full-stack products for teams that want results — not experiments.

Email: dubem115@gmail.com
GitHub: github.com/DrunkCodes

Reach out for:

  • Custom Apify Actors — any website, job board, or data source
  • Glassdoor & hiring data projects — pipelines, alerts, and dashboards at scale
  • LLM & MCP integrations — connect your data to ChatGPT, Claude, and agent workflows
  • Web apps & automation — internal tools, SaaS products, and client-facing platforms

Whether you need a one-off data feed or a production system, I can help you ship it.


Glassdoor Jobs Real-Time Data · by DrunkCodes