Indeed jobs API in 2026
Prices compared, open roles as rows.
Indeed's old public job search API is retired. SerpApi's Indeed Jobs API returns one page of up to 15 postings per search, from $25 a month for 1,000 searches. HasData charges from $0.83 per 1,000 searches, and an Apify Actor $3.43 per 1,000 jobs.
SpecStream is the live web data engine for teams and agents. Describe the open roles you track in plain words, and Deep Search returns every match on the live web as rows at 5¢, 15¢ or $1, with the company's facts joined in.
New accounts get $10 of credit, no card.
Indeed job APIs side by side
| SpecStream | SerpApi Indeed Jobs API | HasData Indeed API | Apify Indeed Jobs API | |
|---|---|---|---|---|
| What you send | The roles you track in plain words, with the conditions every row must meet: title, team, city, salary, company size, date posted | A query q and a location l, with filters for radius, job type jt and days since posting fromage | A keyword and a location, with date posted, sort and a result offset | Keywords and a location on any of about 60 Indeed country sites, search result URLs, or a company jobs page |
| What a row carries | The fields you name, from the posting and the company's own pages joined into one record. Source URL and read time on every value | Title, company, rating, location, salary and salary range, job types, benefits and a snippet | Title, company, location and the description for each listing | Title, company, structured pay, job type, benefits, apply link, listing flags and the full description |
| Results per call | Every match, up to 500 rows in one call to /v1/agent/lists | One page: up to 15 organic postings. Indeed requires signing in to see more than one page, so there are no offsets | One page of listings, with the next page from nextPage | Up to 1,000 jobs per keyword, search URL or company page |
| Price | 5¢, 15¢ or $1 a delivered row, by how much the row needs. Only rows that meet every condition are billed | Starter: $25 a month for 1,000 searches. Developer: $75 a month for 5,000 | Startup: $49 a month for 20K job searches. Basic: $99 a month for 100K. From $0.83 per 1,000 searches at volume | From $3.43 per 1,000 jobs returned |
| Smallest start | $10 of credit on sign-up, no card. A top-up starts at $10 | Free: 250 searches a month | Free: 100 job searches a month | Pay per job returned, with no start fee and no minimum |
| What is not charged | Duplicates, rows you already own, rows a page contradicts, and a run that finds nothing | Cached searches, served for the same search within 1 hour | Requests that fail: only successful requests are billed | Empty runs and failed inputs |
| New and changed roles | A saved request reruns hourly to yearly. Each row comes back labeled changed, unchanged or no longer matching. A changed or new row costs half its rate, an unchanged row 1¢ | You call the search again on a schedule you build, and each call counts as a search | You call the search again on a schedule you build, and each call counts as a job search | You schedule the Actor yourself, and each run pays for every job it returns again |
| Where the data goes | Google Sheets, Excel, Airtable, Notion, HubSpot, Salesforce, Pipedrive, Attio, Slack, Teams, Zapier, Make, n8n, signed webhooks, the API and MCP | JSON, HTML or Markdown from the API | JSON from the API | An Apify dataset, read through the API |
Why job data buyers choose SpecStream
The roles you track, with the company in the row
An Indeed search API returns what one results page shows for a keyword and a place. Most teams that buy job data want something narrower: the accounts hiring for a team they sell to, or the competitors opening an office. On SpecStream you write that as the request, for example "companies in the United States with an open registered nurse role posted in the last 14 days, with the job title, the posting URL, the city, the salary range, the date posted and the company's website". SpecStream reads it back as conditions you can edit, finds every match on the live web and returns one row per open role. A row can also carry facts from the company's own pages, such as its size or its website, and each value has the URL it was read on and the time.
Every match, past the first page
SerpApi's Indeed Jobs API returns a single page of up to 15 organic postings per search, because Indeed requires signing in to see more. Covering a market means one search per keyword, city and filter. A SpecStream request returns up to 500 rows in one call, and a role that fails a condition is left out and not billed.
New and changed roles, as often as every hour
With a search API, fresh roles mean running the same searches again on a schedule you build and paying for each one. A saved SpecStream request reruns hourly to yearly. Each row comes back labeled changed, unchanged or no longer matching, so a filled role shows as no longer matching. A changed or new row costs half its rate (3¢, 8¢ or 50¢), and an unchanged row costs 1¢. Read how schedules work.
In the tool your team uses
SpecStream sends new matches to Slack, Teams, email, Google Sheets, HubSpot, Salesforce, Pipedrive, Attio or a signed webhook, and to your agent through the MCP server at https://api.specstream.ai/mcp.
A price before the run
SpecStream quotes the most a run can cost before it starts, and nothing runs until you approve it. Duplicates and rows you already own are not charged, a run that finds nothing costs nothing, and whatever a run does not use goes back to your balance. Every rate is on the pricing page.
Other ways to get Indeed job data
SpecStream
The live web data engine. Deep Search returns the open roles you describe as rows at 5¢, 15¢ or $1 a row, reruns them hourly to yearly with every change labeled, and delivers them to your sheet, CRM, Slack or agent. Source URL and read time on every value.
Indeed's own APIs
Indeed's public job search API, the old Publisher API, is retired, and 100Hires' October 2026 guide finds no self-serve official route to individual public job listings. Indeed's current APIs serve ATS partners and advertisers. SpecStream needs no partner status: sign up and you get $10 of credit.
SerpApi Indeed Jobs API
A SerpApi engine, engine=indeed_jobs, on the same plans as its other APIs: Free has 250 searches a month, and Starter is $25 a month for 1,000. Each search is one page of up to 15 organic postings. A SpecStream request returns every matching role in one call.
HasData Indeed API
A scraper API for Indeed listings by keyword and location, on plans from $49 a month for 20K job searches, and from $0.83 per 1,000 at volume. Only successful requests are billed. SpecStream bills a row only when it meets every condition in your request.
Apify Indeed Jobs API
A community Actor in the Apify Store that reads Indeed search results, URLs and company pages, from $3.43 per 1,000 jobs returned, with empty runs free. Fresh roles come from scheduling it yourself. A saved SpecStream request reruns on its own and labels every row changed, unchanged or no longer matching.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to start
Write the roles you track in plain words, in place of the searches you would run. Sign up and you get $10 of credit, no card. At 5¢ a row, that is up to 200 roles.
Or send the request from code. This call spends nothing: the 402 reply shows how SpecStream read the request, the columns and the most it can cost.
curl -i https://api.specstream.ai/v1/agent/lists \
-H "Content-Type: application/json" \
-d '{"request": "Companies in the United States with an open registered nurse role posted in the last 14 days, with the job title, the posting URL, the city, the salary range, the date posted and the company website", "count": 25}'Approve that maximum by card through Stripe's Link agent wallet, or in USDC on Base, Arbitrum or Polygon, and you pay for the rows found. On an account, your agent uses the MCP server at https://api.specstream.ai/mcp and your team uses the workspace, from the same balance. Save the request to rerun it on a schedule.
Frequently asked questions
Something we didn't answer? Talk to a human
Does Indeed have a public jobs API?
How much does an Indeed jobs API cost?
How many results does the SerpApi Indeed Jobs API return?
What is the best alternative to an Indeed jobs API?
Can I get only new job postings?
Does SpecStream have an API and an MCP server?
https://api.specstream.ai/mcp over Streamable HTTP, with OAuth or an API key, and the REST API uses the same balance. A request sent to /v1/agent/lists returns the most it can cost before anything runs.Sources
SpecStream wrote this page. Each rival figure comes from that company's own page, and the state of Indeed's APIs from 100Hires' guide.
- SpecStream pricingspecstream.ai/pricing, read Nov 12, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 12, 2026
- SpecStream schedulesspecstream.ai/docs/schedules, read Nov 12, 2026
- SerpApi Indeed Jobs APIserpapi.com/indeed-jobs-api, read Nov 12, 2026
- SerpApi pricingserpapi.com/pricing, read Nov 12, 2026
- HasData Indeed APIhasdata.com/apis/indeed-api, read Nov 12, 2026
- Apify Indeed Jobs APIapify.com/johnvc/indeed-jobs-api, read Nov 12, 2026
- 100Hires: Does Indeed have an API?100hires.com/indeed-api.html, read Nov 12, 2026




