<!-- twin of https://specstream.ai/indeed-jobs-api -->
# Indeed jobs API in 2026: prices compared, open roles as rows

Compared on Nov 12, 2026. The page: https://specstream.ai/indeed-jobs-api

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.

[Describe the roles you track](https://specstream.ai/signup?src=alternatives-indeed-jobs-api&utm_source=alternatives-md&utm_campaign=indeed-jobs-api&returnTo=%2Fworkspace%2Fask%3Fq%3DCompanies%2520in%2520the%2520United%2520States%2520with%2520an%2520open%2520registered%2520nurse%2520role%2520posted%2520in%2520the%2520last%252014%2520days%252C%2520with%2520the%2520job%2520title%252C%2520the%2520posting%2520URL%252C%2520the%2520city%252C%2520the%2520salary%2520range%252C%2520the%2520date%2520posted%2520and%2520the%2520company%2527s%2520website) 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](https://specstream.ai/docs/schedules?utm_source=alternatives&utm_campaign=indeed-jobs-api) 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](https://specstream.ai/pricing?utm_source=alternatives&utm_campaign=indeed-jobs-api).

## 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 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](https://specstream.ai/docs/schedules?utm_source=alternatives&utm_campaign=indeed-jobs-api).

## Frequently asked questions

### Does Indeed have a public jobs API?

No. Indeed's old public job search API, the Publisher API, is retired, and its current APIs serve ATS partners and advertisers. Job data today comes from third party APIs such as SerpApi, HasData and Apify, or from SpecStream, which returns the open roles you describe as rows from 5¢.

### How much does an Indeed jobs API cost?

SerpApi's Starter plan is $25 a month for 1,000 searches of up to 15 postings each. HasData's Startup plan is $49 a month for 20K job searches, and an Apify Actor charges from $3.43 per 1,000 jobs. SpecStream costs 5¢, 15¢ or $1 a delivered row, with $10 of credit on sign-up and no minimum.

### How many results does the SerpApi Indeed Jobs API return?

Up to 15 organic postings per search, on a single page. Indeed requires signing in to see more than one page, so the API takes no result offset. A SpecStream request returns up to 500 rows in one call.

### What is the best alternative to an Indeed jobs API?

SpecStream. You describe the roles you track in plain words, approve the most the run can cost, and get one row per open role that meets every condition, with the company's facts joined in, in your sheet, your CRM, Slack or your agent. It reruns as often as every hour, and only delivered rows are billed.

### Can I get only new job postings?

Yes. A saved SpecStream request reruns as often as every hour and labels each row changed, unchanged or no longer matching. A new or changed row costs half its rate, and an unchanged row costs 1¢.

### Does SpecStream have an API and an MCP server?

Yes. The MCP server is at `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 pricing](https://specstream.ai/pricing), read Nov 12, 2026
- [SpecStream for agents](https://specstream.ai/agents.md), read Nov 12, 2026
- [SpecStream schedules](https://specstream.ai/docs/schedules), read Nov 12, 2026
- [SerpApi Indeed Jobs API](https://serpapi.com/indeed-jobs-api), read Nov 12, 2026
- [SerpApi pricing](https://serpapi.com/pricing), read Nov 12, 2026
- [HasData Indeed API](https://hasdata.com/apis/indeed-api), read Nov 12, 2026
- [Apify Indeed Jobs API](https://apify.com/johnvc/indeed-jobs-api), read Nov 12, 2026
- [100Hires: Does Indeed have an API?](https://100hires.com/indeed-api.html), read Nov 12, 2026
