Job market and hiring-demand research
Use Indeed endpoints to turn job market and hiring-demand research into repeatable API requests with documented inputs and JSON responses.
Turn public Indeed job search into structured hiring data — keyword and location job search, one job's full detail by job key, and location autocomplete for building valid search queries. Credential-free.
Search Indeed job postings by keyword and location and get job detail and location autocomplete as structured JSON.
Endpoint families
3
Documented params
12
Examples
3
Live catalog snapshot
Active endpoints
3
Methods
GET
Required params
6
Schema refs
3
{
"platform": "Indeed",
"endpoint": "indeed-search",
"method": "GET",
"path": "/indeed/search",
"auth": "apiKey"
}Use cases
Search Indeed job postings by keyword and location and get job detail and location autocomplete as structured JSON.
Use Indeed endpoints to turn job market and hiring-demand research into repeatable API requests with documented inputs and JSON responses.
Use Indeed endpoints to turn job posting aggregation and monitoring into repeatable API requests with documented inputs and JSON responses.
Use Indeed endpoints to turn location-based job search tooling into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Indeed endpoint catalog — 3 endpoints, 12 documented request parameters, and 3 published response schemas — the same catalog Docs and Playground run against.
3 documented Indeed endpoints, grouped into 3 request families — Job, Locations and Search.
12 request parameters are documented across those Indeed endpoints, 6 of them required — the full input contract is public before you write any integration code.
3 of the 3 Indeed endpoints ship a recorded example response, and 3 carry a documented response schema — you can code against the real JSON before the first request.
Indeed endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
3 hosted MCP tools back the Indeed endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/indeed/job
/indeed/locations/suggest
/indeed/search
Endpoint catalog
/indeed/searchSearches Indeed job postings by keyword and location. `sort` enum: `relevance` (default), `date`.
Response notes
- A valid query with no matches returns `total: 0` and an empty `jobs` array (not an error). - `jobs[].company_rating` / `jobs[].company_review_count` / `jobs[].job_types` / `jobs[].posted_relative` / `jobs[].sponsored` / `jobs[].urgently_hiring` / `jobs[].new_job` / `jobs[].indeed_applyable` / `jobs[].salary_min` / `jobs[].salary_max` are not always populated and are omitted on some page-1 responses. `salary_text` and `salary_currency` are populated on every response. - `jobs[].snippet` on an unfiltered page-1 response is the job description truncated to roughly 300 characters, not Indeed's own SERP-highlighted snippet. - `jobs[].url` is always the canonical `https://www.indeed.com/viewjob?jk=...` link, not an upstream apply-through redirect. - An invalid `sort` value returns a `400` invalid-params error rather than being silently dropped.
Sampled 14 Oct 2026: 10 items, 9 fields filled in every item, 3 not. posted_at: 2026-09-30 to 2026-10-13; title: “Entry Level Software Engineer 0” and 8 other values.
MCP tool indeed_search
/indeed/jobReturns one Indeed job posting by its job key (the `job_key` field returned by search).
Response notes
- A nonexistent, expired, or no-longer-available job key returns a `404`. - `remote` / `employment_type` / `benefits` / `direct_apply` are only populated on some responses and are omitted otherwise. `description_text`, `description_html`, `salary_text`, `salary_currency`, and `company_url` are populated on every response. - `url` is always the canonical `https://www.indeed.com/viewjob?jk=...` link, not an upstream apply-through redirect.
Sampled 14 Oct 2026: 15 of 15 fields returned with a value. posted_at: 2026-06-29; title: “Sr. Backend Engineer”.
MCP tool indeed_job
/indeed/locations/suggestReturns Indeed's own location-search autocomplete suggestions for a partial location string -- the same suggestions the app's search bar offers -- for building a valid `l` value for search.
Response notes
- A query with no matches returns an empty `suggestions` array (not an error). - `suggestions[].name` is the exact string Indeed's own autocomplete formats (e.g. distinguishing two same-named cities in different counties/states) — pass it back verbatim as `/indeed/search`'s `l` parameter.
Sampled 14 Oct 2026: 10 items, 2 fields filled in every item. name: “Austin, TX (Travis County)” and 9 other values.
MCP tool indeed_locations_suggest
Related APIs
Business & Market Intelligence
Turn public GitHub ecosystem signals into structured data for developer-market research, open-source intelligence, recruiting, and AI-agent workflows.
Business & Market Intelligence
Collect public TrustMRR startup marketplace and leaderboard data as normalized JSON for startup research, SaaS discovery, and market intelligence workflows.
Business & Market Intelligence
Add website and competitive intelligence signals from SimilarWeb to research pipelines.
How to scrape Indeed
Crawlora's Indeed endpoints return job search, job detail, and location autocomplete as normalized JSON with one API key — no HTML parsing or account required. A pull on 2026-10-27 for data engineer jobs in Austin, TX reported 182 results at 10 per page, and location suggestions came back from a third-party address source.
Send a keyword and location to /indeed/search for normalized job postings.
Pass the job_key from a search result to /indeed/job for that posting's full detail.
Use /indeed/locations/suggest to turn a partial location string into a valid `l` value for /indeed/search.
Re-run searches on a schedule to track new postings and hiring-demand trends across keywords and locations.
search returned total 182 with 10 jobs on page one. Each job has a job_key, title, company, city and state, a salary_text such as $112,597.33 - $152,810.66 a year with a currency code, and a snippet. Page through with page.
locations suggest for Aus returned 5 suggestions, the first a street address (11718 Aus Tex Acres Ln, Austin, TX 78754) from a PRECISELY source. Treat suggestions as address candidates, not clean city names.
Agent skills
Install a Crawlora agent skill and your agent can pull Indeed data as JSON through the documented API, without writing a scraper. These skills cover Indeed:
Searches Indeed job postings and pulls single job listings via the Crawlora API — keyword + location search, location autocomplete, and job detail…
npx skills add github.com/Crawlora-org/crawlora-skills --skill indeed-researchCompare advertised job postings using Crawlora jobs datasets, employer ATS boards, and Indeed detail. Use for a role shortlist or posting comparison…
npx skills add github.com/Crawlora-org/crawlora-skills --skill job-posting-comparisonResearches job postings, hiring signals, and freelance gigs via the Crawlora API — Indeed, Google/Amazon/Apple/Meta/Tesla careers sites, any…
npx skills add github.com/Crawlora-org/crawlora-skills --skill job-market-researchFAQ
Send a keyword and location to Crawlora's /indeed/search endpoint and get normalized job postings as structured JSON.
No Indeed account or API key is required from the caller — only your Crawlora API key.
Pass the job_key returned by /indeed/search to /indeed/job for that posting's full detail.
Not anymore for new developers. Indeed retired its public Publisher API — the free job-search feed — in 2023, and the only remaining first-party access, Indeed Apply and Sponsored Jobs, requires a partner-approval sales process rather than self-serve registration. Crawlora's Indeed endpoints read public job-search and detail pages directly, with just one API key.
When the listing shows it. On 2026-10-27 the first Austin data engineer job carried a salary range with currency, and others may not.