ParseForge Scrapers

Glassdoor Jobs Scraper

parseforge/glassdoor-jobs-scraper

JobsDeveloper toolsAutomation

Scrapes Glassdoor job listings from keyword searches, location filters, company pages, or direct URLs. Returns each job as a flat row with title, company, location, salary estimate, and optional full description.

Run this scraper See the API call
Total users
6
Monthly active
1
Total runs
188
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Glassdoor Jobs Scraper

Scrape Glassdoor job listings by keyword, location, or company, up to a million per run. Each job comes with its title, company, location, salary estimate, and optional full description. No login or API key. Export to CSV, JSON, Excel, or XML.

Glassdoor's job board holds millions of listings with salary data and company reviews, but browsing page by page is slow and manual collection does not scale. This Actor reads the public job search results directly, letting you filter by job title, city, or employer name, and returns every match in one flat dataset. You can also feed it any Glassdoor search URL you have already built.

Who uses it What they scrape Glassdoor for
Recruiters Build a live feed of open roles at target companies without checking each career page.
Job market analysts Track hiring volume and salary ranges by role, city, or industry over time.
Job board aggregators Pull fresh Glassdoor listings into a multi-source job search platform.
Sales teams Identify companies that are hiring for roles your product serves.

What it does

This Actor collects Glassdoor job listings from keyword searches, location filters, company pages, or direct URLs and returns each job as a flat row.

  • ๐Ÿ”Ž Keyword search: supply a job title or skill and a location, and the Actor builds the search URL for you.
  • ๐Ÿข Company search: give a company name to scrape every open role that employer has posted on Glassdoor.
  • ๐Ÿ”— Direct URL: paste any Glassdoor job search URL you have already filtered, and the Actor reads it page by page.
  • ๐Ÿ“‹ Full descriptions: enable the optional detail fetch to collect the complete job body text, not the snippet.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Glassdoor data

๐Ÿ“Š Monitor hiring trends.

A market analyst runs the Actor weekly for "data engineer" in five cities and plots salary estimate changes and listing counts over the quarter.

๐ŸŽฏ Build a target account list.

A sales team scrapes all open roles at 50 enterprise companies, then filters for departments that match their buyer persona.

๐Ÿค– Feed a job aggregator.

A developer runs the Actor daily, pipes the JSON output into a multi-board job site, and keeps Glassdoor listings fresh alongside other sources.

๐Ÿ“ Research job descriptions.

An HR consultant enables full descriptions, scrapes 200 "product manager" postings, and analyzes the most requested skills for a competency model.

Why choose this scraper

What you get
No API key Reads the public job feeds. No Glassdoor account or developer registration needed.
Flat output Every job lands as one row with a fixed schema, ready for Excel, SQL, or a dashboard.
Scale Collect up to a million listings in a single run, limited only by the cap you set.
Optional depth Toggle full job descriptions on when you need the body text, off when you want speed.

How it compares

No other Store actor targets Glassdoor the same way, so the honest comparison is with the alternatives teams actually weigh.

Glassdoor Jobs Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Glassdoor changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a keyword and location, a company name, or a direct Glassdoor search URL, and set a maximum item count so the run stops when you have enough. The Input tab lists every parameter.

A first run with the defaults:

{
 "startUrl": "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=software+engineer",
 "maxItems": 10
}

A larger pull:

{
 "startUrl": "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=software+engineer",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.03866 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $3.87
1,000 results $38.66
10,000 results $386.60

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Glassdoor Jobs Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Glassdoor through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/glassdoor-jobs-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your keyword, location, or company name matches how Glassdoor writes it. Try the search on glassdoor.com first. If it works there, copy the exact URL and paste it into the Start URL field.

The run is very slow with full descriptions enabled.

That is expected. The Actor visits one detail page per job. Lower the Maximum jobs count, or disable "Include Job Descriptions" for a faster listing-only scrape.

Some jobs are missing the salary field.

Glassdoor does not show a salary estimate on every listing. If the site does not display it, the Actor cannot collect it. The field will be empty in your output.

I get fewer results than my Maximum jobs setting.

The Actor stops when Glassdoor has no more matching listings. Your search may return fewer jobs than the cap you set. Try broadening the keyword or location.

The Actor returns an error or times out.

Glassdoor may be rate-limiting the requests. Try again after a few minutes, reduce the Maximum jobs count, or run the Actor with a lower concurrency setting if you are using a custom Apify plan.

FAQ

Question Answer
Do I need a Glassdoor account or API key? No. The Actor reads the public job search pages that anyone can visit in a browser. No login, no API registration, and no Glassdoor partner agreement is required.
Can I scrape jobs for a specific company? Yes. Use the Company Name field to search for all open roles at one employer, or paste a direct company jobs URL into the Start URL field.
How do I get the full job description? Enable the "Include Job Descriptions" checkbox. The Actor will visit each job detail page and collect the complete body text. Runs take longer with this option on.
What location formats work? City names like "San Francisco", "London", or "Berlin" work best. You can also try state names or "Remote". The Actor passes your text directly to the Glassdoor location filter.
How many jobs can I collect in one run? Set the Maximum jobs field to any number up to 1,000,000. The Actor stops when it reaches your limit or when Glassdoor runs out of matching listings.
Can I combine keyword and company search? Not in the same run through the input fields. Use the keyword and location fields for a broad search, or the company name field for one employer. For a combined filter, build the URL on Glassdoor first and paste it into the Start URL field.
Does this Actor collect salary information? Yes. When Glassdoor shows a salary estimate or employer-provided range on the listing, that data appears in the output row.
What output formats are supported? You can export your dataset to CSV, JSON, Excel, or XML from the Apify storage tab after the run finishes.
Is this Actor legal to use? The Actor only accesses publicly available web pages. You are responsible for complying with Glassdoor's terms of service and any applicable laws in your jurisdiction.
Can I schedule this Actor to run automatically? Yes. Apify supports scheduled runs. Set a daily or weekly trigger, and the Actor will collect fresh listings on your chosen cadence.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Glassdoor, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Direct Glassdoor job search URL. Use this OR the keyword/company fields below. https://www.glassdoor.com/Job/jobs.htm?s
maxItems integer How many job listings to collect per run. 10
keyword string Search keyword for job listings. Example: software engineer, data analyst, product manager not set
location string Location filter for job search. Example: New York, San Francisco, London not set
companyName string Search for jobs at a specific company. Example: Google, Apple, Microsoft not set
includeJobDetails boolean Fetch full job descriptions from detail pages. Slower but provides complete job information. false

Pricing

from $28.99 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged once when the run starts. $0.005
Result Item Charged once per result collected. $0.02899 to $0.03866

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~glassdoor-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrl": "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=software+engineer",
    "maxItems": 3
  }'

Examples

Input that runs as-is.

input.json
{
  "startUrl": "https://www.glassdoor.com/Job/jobs.htm?sc.keyword=software+engineer",
  "maxItems": 3
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Glassdoor Jobs Scraper on Apify All scrapers