App Logo
glassdoor.com

Search Glassdoor jobs

TL;DR

Automatically search Glassdoor jobs on glassdoor.com. Page-one Glassdoor job cards for a keyword and city, with company, rating, salary text, post age

About

Give it a keyword and an optional city and you get Glassdoor's headline job count plus the roughly 30 listings on its first results page. Each listing carries a title, company, the employer's rating out of 5, location, a truncated snippet, the salary text when the card shows one, and a relative post age such as 8T. A backend developer weighing a move to Lyon would pass query "backend developer" with location "Lyon", drop anything rated under 3.5, and open the few that remain. Only page one is supported, because Glassdoor loads more results through a button that broke the page when clicked. Labels and links follow the locale Glassdoor picks for your connection, so a run from France can return French text and glassdoor.fr links. A location Glassdoor cannot match, or one it does not apply to the results, makes the run throw instead of searching everywhere.

Input

query required

Free-text job search query, same as Glassdoor's own search box (e.g. "data engineer").

location optional

Free-text city (e.g. "Paris", "Los Angeles"). Omit to search without a location filter. Resolved via Glassdoor's own autocomplete; an unrecognized or non-filtering location throws rather than silently returning unrelated/broader results.

Output

jobs required
total required

Matching job count reported by Glassdoor's results headline. null if the headline couldn't be parsed.

Example output

Shape only: placeholder values generated from the output schema, not a real run.

{ "jobs": [ { "url": "https://example.com/item/123", "jobId": "abc123", "title": "Example", "rating": 3.5, "salary": "…", "company": "…", "snippet": "…", "location": "…", "postedAgo": "…" } ], "total": 3 }

FAQ

Search Glassdoor job listings by keyword and optional free-text location (city). Returns total and jobs (jobId, title, url, company, rating, location, salary, snippet, postedAgo) for the first results page (~30 listings — Glassdoor's pagination is a JS "load more" action, not a URL param, and was observed to break the page outright on click, so only page 1 is supported here). Location is resolved via Glassdoor's own place-autocomplete, preferring the first city-level match, because the top overall suggestion can be a broader state or region record that Glassdoor then silently fails to filter by; an unrecognized or non-filtering location throws. Glassdoor serves the UI (and some listing labels like the skills line) in whatever language/locale it geo-resolves the session to, independent of the job's own country — text fields may not be in English or in the language of the job itself. Distinct from the existing search_companies/get_company scripts, which cover company profiles and reviews, not job postings.
Ask an AI agent connected to Reduck to run reduck/glassdoor.com/search_jobs, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/glassdoor.com/search_jobs
You do not need one. "Search Glassdoor jobs" drives the real glassdoor.com pages in a browser, so it works whether or not glassdoor.com offers an API for this.
Required: query. Optional: location.
It returns jobs, total.
No. It only uses pages of glassdoor.com that are reachable without signing in.
It only reads. It looks things up on glassdoor.com and changes nothing there.
Ask an AI agent connected to Reduck to run reduck/glassdoor.com/search_jobs, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/glassdoor.com/search_jobs
It is part of Reduck's official curated catalogue.
A Glassdoor job search returns only the first results page, about 30 listings, even when the headline total is far larger. Glassdoor loads more through a load more button rather than a page number in the URL, and clicking it broke the page when observed. To cover more ground, run several narrower searches, such as keyword variants or nearby cities, and merge the results on jobId.
Glassdoor picks its interface language from where your connection appears to be, not from the job's country. Snippets, the skills line and the postedAgo label can come back localized, with values like 8T or 30T+, and listing links can point to a country domain such as glassdoor.fr instead of glassdoor.com.
Job results give the company name but no employer ID, so look the name up with search_companies and check the match by hand, since it returns fuzzy suggestions that can include near-names. The employerId from the right match goes into get_company for the overall rating and related company figures. Pay data is not per company: get_salaries works per job title and country.

Start building not clicking