Indeed Jobs API avatar

Indeed Jobs API

Pricing

from $0.50 / 1,000 jobs

Go to Apify Store
Indeed Jobs API

Indeed Jobs API

Search Indeed jobs by keyword, location and posting time in the US, UK, Canada, Australia, India, Germany and 21 more countries. Every job comes with its full description, salary range, job type, remote/hybrid, company details and apply link. Newest first, past Indeed's search limit. No login.

Pricing

from $0.50 / 1,000 jobs

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

Indeed scraper and jobs API: search Indeed jobs by keyword, location and posting time in 27 countries. Every job comes with its full description, salary (text plus min/max numbers), job type, remote/hybrid, experience level, company details (logo, size, revenue, website) and the employer's apply link. Newest jobs first, past Indeed's per-search limit.

πŸ’Ό Title🏒 CompanyπŸ“ LocationπŸ’° SalaryπŸ•’ Job Type🏠 WorkplaceπŸ“… Posted
Business AnalystTeachers Retirement SystemManhattan, NY 10004$105,000 - $115,000 a yearFull-timeHybrid2026-09-26T13:36:07Z
Workday HR Reporting AnalystHoulihan LokeyNew York, NY$85,000 - $115,000 a yearFull-time–2026-09-26T05:34:13Z
Data Analytics SpecialistFederal Reserve Bank of New YorkNew York, NY$165,000 - $195,000 a yearFull-time–2026-09-25T20:59:20Z

$0.80 per 1,000 jobs on the Starter plan ($1.00 Free, $0.65 Scale, $0.50 Business), descriptions and company details included. The prefilled run (100 jobs) costs about $0.08 and takes a few seconds.

No Indeed account, no cookies, no login.

Why this one

  • Everything in one row. Full description, salary, job type, workplace, level, company logo, size, revenue, website, Indeed company page and the employer's own apply link, with no second pass per job.
  • Salary you can filter. salary reads like Indeed shows it ($20 - $25 an hour); salaryMin, salaryMax, salaryCurrency and salaryPeriod are numbers and codes you can sort and filter. In our test runs 63-92% of US jobs had a pay range, depending on the search.
  • Past Indeed's search limit. Indeed stops a search after several hundred jobs (640 in our test). With a time period, this Actor reads the newest jobs first, hour window by hour window, so one search can return thousands. In our test, "registered nurse" in the US over 3 days gave 2,000 unique jobs in 39 seconds; re-reading five slices of that period found 308 of 309 of their jobs in the result.
  • Newest first. Each keyword's jobs come sorted by the time they appeared on Indeed: what you want for alerts, lead lists and job feeds.
  • Several keywords, no duplicates. Each keyword is its own search, and results come keyword by keyword in your order. A job that several keywords find comes back once, under the first of them (keyword).
  • Rows arrive as they're read. Jobs go into your dataset during the run, so a long run shows results within seconds and keeps them even if you abort it.
  • 27 countries. US, UK, Canada, Australia, Ireland, New Zealand, India, Singapore, Philippines, Malaysia, South Africa, UAE, Germany, Austria, Switzerland, France, Belgium, Netherlands, Spain, Italy, Portugal, Poland, Sweden, Mexico, Brazil, Argentina and Japan, each with its local jobs, links and currency.
  • Fails loudly. A run never ends "succeeded" with an empty dataset because Indeed refused it. Searches that fail after retries on other IPs fail the run with a clear message (the jobs already found are still delivered). An empty answer is double-checked with a control search. Every run saves a summary (OUTPUT).
  • Fast and light. Plain HTTPS calls, no browser, datacenter proxies. 100 jobs arrive in about 4 seconds, 2,000 in about 40.

Input

FieldWhat it doesDefault
keywordsJob titles, skills or companies, as you'd type them in Indeed's search box. Each is its own search. An empty list = every job in the place.["data analyst"]
locationCity, state, region or ZIP code, e.g. New York, NY, Texas, 90210, London. Empty = the whole country.–
countryWhich Indeed site to search (two-letter code, e.g. US, GB, DE).US
postedWithinpast24Hours, past3Days, pastWeek, past2Weeks or pastMonth.pastWeek
workplaceany, remote or hybrid.any
maxResultsStop each keyword's search after this many jobs. You pay per job, so this also caps the cost.100
jobTypeMore filters: any, fullTime, partTime, contract, temporary or internship.any
radiusMore filters: miles around the location.25
includeHtmlAdvanced: also return the description with Indeed's formatting (descriptionHtml).off
proxyConfigurationAdvanced: Apify Proxy. Datacenter by default; residential works too but costs more.Apify datacenter

Example:

{
"keywords": ["registered nurse", "LPN"],
"location": "Texas",
"postedWithin": "past3Days",
"jobType": "fullTime",
"maxResults": 500
}

Output

One dataset, πŸ’Ό All Jobs, one row per job. Views:

  • πŸ“Š Overview: πŸ–ΌοΈ Logo, πŸ’Ό Title, 🏒 Company, πŸ“ Location, πŸ’° Salary, πŸ•’ Job Type, 🏠 Workplace, πŸ“… Posted, πŸ”— Indeed, πŸ“¨ Apply, πŸ” Keyword
  • πŸ’° Salaries: πŸ’Ό Title, 🏒 Company, πŸ“ Location, πŸ’° Salary, πŸ’° Salary Min, πŸ’° Salary Max, πŸ’± Currency, ⏱️ Pay Period, πŸ•’ Job Type, πŸ“… Posted, πŸ”— Indeed
  • πŸ“ Details: πŸ’Ό Title, 🏒 Company, πŸŽ“ Level, πŸ•’ Job Type, 🏠 Workplace, πŸ’° Salary, πŸ“ Description, πŸ“¨ Apply, πŸ”— Indeed
  • 🏒 Companies: πŸ–ΌοΈ Logo, 🏒 Company, πŸ‘₯ Company Size, πŸ’΅ Revenue, 🌍 Website, 🌐 Company Page, πŸ’Ό Title, πŸ“ Location, πŸ”— Indeed

Fields, in row order (empty = null):

FieldExample
companyLogohttps://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/fd1cb8806a2e54dae9c6079efd0876a7 (doesn't expire; 77-91% of jobs in our tests)
titleData Analytics Specialist
companyFederal Reserve Bank of New York
locationNew York, NY (as Indeed shows it; Remote for remote jobs without a place)
salary$165,000 - $195,000 a year, $33 an hour, From $50,000 a year: the pay the employer gave Indeed
salaryMin, salaryMax165000, 195000 (numbers, per salaryPeriod; equal when the employer gave one figure)
salaryCurrencyUSD, GBP, EUR, INR…
salaryPeriodyear, month, week, day or hour
jobTypeFull-time, Part-time, Contract, Temporary, Internship, Per diem…; several are comma-separated
workplaceRemote, Hybrid or In-person, when Indeed tags it
seniorityEntry level, Mid-level, Senior level, No experience needed
postedAt2026-09-25T20:59:20Z: when the job appeared on Indeed (UTC). postedWithin filters on this time.
jobUrlhttps://www.indeed.com/viewjob?jk=8501d92db19ba6de
applyUrlhttps://rb.wd5.myworkdayjobs.com/en-US/FRS/job/New-York-NY/Data-Analytics-Specialist_R-0000033525: the employer's own apply page; empty when you apply on Indeed itself (then use jobUrl)
companyUrlhttps://www.indeed.com/cmp/Federal-Reserve-Bank-of-New-York: the company's Indeed page (reviews, salaries, all its jobs)
companyWebsiteUrlhttps://www.newyorkfed.org
companySize1,001 to 5,000, 10,000+ (Indeed's employee bands)
companyRevenuemore than $10B (USD)
descriptionSnippetCompany Federal Reserve Bank of New York When you… (first 50 characters, without a repeated title)
descriptionFull description as plain text: a line per paragraph, β€’ list items
descriptionHtmlOnly in runs with includeHtml on: the description with Indeed's formatting
jobId8501d92db19ba6de (Indeed's job key, the jk in job links)
keyworddata analyst: the keyword whose search delivered this job (the first in your list, when several found it; empty when you searched all jobs)
scrapedAt2026-09-27T19:40:58Z

Run summary (OUTPUT)

{
"results": 100,
"stopReason": "complete",
"jobsFound": 100,
"searches": [
{"keyword": "data analyst", "status": "ok", "stopReason": "maxResults", "jobsFound": 100,
"delivered": 100, "alreadyDeliveredByEarlierKeyword": 0, "pages": 1, "hourWindows": 1,
"denseHours": 0, "filteredOut": 0}
],
"requests": 1,
"statusMessage": "100 jobs from 1 search in New York, NY, US, past week. Download them from the Output tab (CSV, Excel, JSON) or schedule this run to get new jobs daily. …"
}
  • Per search, jobsFound counts every job its search found and delivered the rows it added; alreadyDeliveredByEarlierKeyword counts jobs an earlier keyword in your list had already delivered.

  • stopReason for the run is complete, or spendingLimit when your spending limit for the run was reached.

  • Per search, stopReason is maxResults (there were more jobs), complete (you got every job Indeed lists for it), pageBudget (the run's request limit, which scales with maxResults) or spendingLimit.

  • denseHours counts hours that held more jobs than one Indeed search returns (several hundred). This happens only for very broad searches, such as every job in the US. Some jobs from those hours are missing; add keywords or a location to split the search.

  • A search that fails after retries on other IPs has status: "error" and a reason, and the run fails after delivering the other searches' jobs.

Pricing

Pay per job, no start fee and no minimum. Each job is charged once, even when several keywords find it.

Your Apify planPer 1,000 jobs
Free$1.00
Starter$0.80
Scale$0.65
Business$0.50

You're billed only for rows that reach your dataset. When your spending limit is reached, the run stops, and you never pay more than the limit.

FAQ

Do I need an Indeed account? No. The Actor reads Indeed's public job search, logged out.

Why do some jobs have no salary? Indeed shows pay only when the employer gives it. Many descriptions state pay in their text.

Why is applyUrl empty on some jobs? Those jobs take applications on Indeed itself ("Apply now" on Indeed). jobUrl opens them.

How fresh are the jobs? Indeed lists a new job about an hour after it comes in, so the newest rows are usually about an hour old. For a job feed, schedule a past24Hours run as often as you like and dedupe on jobId.

Which locations work? Anything Indeed's own "Where" box understands: a city, a state or region, or a ZIP/postal code. For remote jobs, set workplace to remote (typing "Remote" as the location does the same).

Can I search several countries? One country per run (Indeed keeps a separate job list per country). Save a task per country or run the Actor once per country.

Feedback

Missing a field, or a search that doesn't come back the way you expect? Open an issue on the Issues tab and we'll look into it. If the data helped you, a short review on this page helps other people find it.