Indeed Scraper API
for jobs, companies and salaries
Send an Indeed URL and get clean data back: every job on a search page, the full description of a single job, company pages and salaries. Take our structure, or ask for exactly the fields you want.
Search page, last 24 hours
{"type": "search","jobCount": 43,"sponsoredCount": 36,"jobs": [{"title": "Merchandiser Supervisor","company": "Example Retail Co.","location": "Columbus, OH 43214","salaryMin": 22,"salaryMax": 24,"salaryPeriod": "HOURLY","sponsored": false},...42 more]}
per page, and a US search page holds about 40 jobs
typical time to read a page
Indeed country sites returned results in our tests
for a page that cannot be delivered
Every kind of Indeed page
One call, whichever page you point it at.
Job search results
Every job on the page as structured data: title, company, location, posted date, pay, job type and more.
indeed.com/jobs?q=nurse&l=TexasSingle job pages
The full job description and details. Paste a link as it came from Indeed, tracking tokens and all.
indeed.com/viewjob?jk=...Company pages
Company overview, reviews, salaries, jobs and FAQs, as markdown plus the structured data on the page.
indeed.com/cmp/Example-Co/reviewsSalary and career pages
Average pay by job title and place, with the structured data Indeed publishes alongside it.
indeed.com/career/cashier/salariesSearch landing pages
Indeed's own pages for a job title in a place, read the same way as a search.
indeed.com/q-merchandiser-l-Ohio-jobs.htmlCountry sites
uk.indeed.com, ca.indeed.com, de.indeed.com, ng.indeed.com, jp.indeed.com and the rest, in their own languages.
de.indeed.com/jobs?q=verkaeuferIndeed in every country
Each country site has its own language and its own jobs. They all go through the same call.
Paste the link you have
Copy a job link from Indeed and it comes with a thousand characters of tracking. You do not have to clean it up first.
Blue is what identifies the job. Red is click and ad tracking that never changes what the page shows. Spidra keeps the first and drops the second before it opens the job.
One call, structured jobs
Point the scrape call at an Indeed URL. With JSON output and no prompt, you get the structured job data straight from the page for 1 credit, with no AI cost.
Paste links exactly as Indeed gives them. Spidra removes the tracking tokens, so a 1,000-character job link works as it is.
{"source": "indeed","type": "search","page": {"what": "merchandiser","where": "Ohio"},"jobCount": 43,"sponsoredCount": 36,"jobs": [{"id": "ae1d27e8b8f083f1","title": "Merchandiser Supervisor","company": "Example Retail Co.","location": "Columbus, OH 43214","postedAt": "2026-10-07T04:00:00.000Z","salaryText": "$22 - $24 an hour","salaryMin": 22,"salaryMax": 24,"salaryPeriod": "HOURLY","jobTypes": ["Full-time"],"sponsored": false,"url": "https://www.indeed.com/viewjob?jk=ae1d..."}]}
Your schema, your prompt
The structured data is a starting point, not a mold. Describe the answer you want, as a prompt, a JSON schema or both, and Spidra reads the page and returns exactly that. It works the same on Indeed as on any other page.
{"total_jobs_seen": 44,"how_many_mention_hourly_pay": 13,"top_three_employers": ["Cafe Chain A","Cafe Chain B","Retailer C"],"one_sentence_summary": "Mostly hourly roles, $8 to $28."}
AI answers add the cost of the tokens they use on top of the page's 1 credit. A full US search page is a large input, so for plain data use JSON output with no prompt.
Need more than one page?
Indeed shows one page per search. To collect a lot of listings, search many narrow combinations, such as every job title in every city. Bulk search does that in one call, then merges the results and removes the duplicates.
It costs 1 credit per page, and you can see the total before you run anything.
From one of our own test runs: 4 job titles across 20 US cities.
What you get for each job
Nothing is filtered out. You decide what to keep.
What teams build with it
Hiring data is a signal for recruiters, sellers and analysts alike.
Recruiting and sourcing
Watch what employers are posting for a role in a city, once a day, and catch new postings the day they appear.
You only pay for pages you get
Indeed does not make this easy for scripts. Spidra takes care of proxies, CAPTCHAs and retries, so you send a URL and get data back.
- A page that cannot be delivered is never charged, including any CAPTCHA solved along the way.
- Pages Indeed keeps behind sign-in are refused instantly, with a clear message.
- No browsers or proxies to run, and nothing to maintain on your side.
One credit covers one page, however many jobs are on it.
How Spidra compares
There are good Indeed scrapers. Here is an honest look at when each one is the better choice.
| Apify Indeed actors | Bright Data | Spidra | |
|---|---|---|---|
| Price as published | $0.07 to $5.00 per 1,000 results, depending on the actor | $1.30 to $1.50 per 1,000 records | 1 credit per page. About $0.11 to $0.21 per 1,000 listings, and $2 to $4 per 1,000 with full descriptions |
| Results from one input | Up to about 1,000 per search | No limit stated | One page per URL. Bulk search runs many narrow searches and merges them |
| Pages it reads | Search and job pages, some company details | Job, search and company pages | Search, job, company, salary and career pages, and any other site |
| Output | Fixed fields | Fixed fields | Your own schema or prompt, or the structured data as it is |
| A page that fails | Pay per delivered result | Not stated | Never charged |
| Free to try | Varies by actor | 5,000 free credits a month | 300 free credits |
Choose an Apify actor if
You want thousands of listings from one search at the lowest possible price, and fixed output fields suit you.
Choose Spidra if
You want Indeed and other sites through one API, output in the shape you define, single pages with full detail, or an AI agent that can read any page.
Competitor details are as published on their own pages on 8 October 2026 and may have changed. Sources: Apify: Vali G, Apify: Curious Coder, Apify: borderline, Bright Data.
What to know before you build
We would rather you hear the limits from us than find them in production.
- Only the first page of each search. Indeed asks visitors who are not signed in to sign in before page 2, and Spidra does not try to get around that. Use narrower searches instead: a place, a title variant, or the last 24 hours.
- Most jobs on a search page are sponsored. They come back marked as sponsored so you can drop them, but they count toward the page.
- Not every posting lists pay, benefits or requirements, and coordinates appear only when an employer publishes an address. Missing fields come back empty, never guessed.
- Jobs expire. If a job has been removed, the request fails with a clear message and costs nothing.
- Very generic searches in big cities can fill a page. Split them by city or by a more specific title.
What it costs
1 credit per page. Failed pages are free. Work out your own monthly volume below.
Example: 40 cities and 3 job titles searched once a day is 120 pages a day, about 3,600 credits a month. Plain JSON output uses no AI tokens. Pages that need a CAPTCHA solved add 5 credits per solve; proxies are included.
| Plan | Price | Credits | Per 1,000 pages |
|---|---|---|---|
| Free | $0 | 300 (one time) | Free to try |
| Starter | $19/mo | 5,000 | $3.80 |
| BuilderPopular | $79/mo | 25,000 | $3.16 |
| Pro | $249/mo | 125,000 | $1.99 |
FAQs
Common questions about scraping Indeed with Spidra.
Spidra is not affiliated with, endorsed by, or sponsored by Indeed. Indeed is a trademark of its owner. Check Indeed's terms of service and the laws that apply to you before you collect data, and use the data responsibly.
