Guide

How to pull Indeed job data via API

Indeed has no public job-search API. Get Indeed postings from 60 countries as JSON with parsed salary, company rating and apply URL, from one HTTP call or Python.

Published 2026-10-28 by Atlas Data

Indeed has no public job-search API for developers. If you need Indeed postings in a spreadsheet, a database or your own job board, the Indeed Jobs Scraper & API on Apify works like one. You send a keyword and a location and get clean JSON job records back. It covers 60 Indeed country sites and costs $0.06 per 1,000 jobs plus a $0.0005 start fee.

What you get per job

Job key, title, company, company rating and review count, location (city, state, postcode, country), salary parsed into min / max / period / currency with a yearly equivalent, job type, schedule, benefits, experience level, posted date, the full description, the Indeed job URL and the direct apply URL, plus a remote flag. Fields like salary, rating and benefits are filled only when Indeed shows them (salary on about 62% of jobs in our tests).

Option 1: No code

  1. Open the Indeed Jobs Scraper and click Try for free.
  2. Enter keywords (data analyst), a location (Austin, TX) and the country.
  3. Optionally set radius, date posted, job type, remote only, minimum salary and max jobs.
  4. Run it, then export the dataset as CSV, Excel or JSON.

You can also paste any Indeed search URL, for example https://uk.indeed.com/jobs?q=chef&l=Manchester&fromage=7. The country, query, location, radius, date and job-type filters are read from the URL.

Option 2: One HTTP call

run-sync-get-dataset-items runs the Actor and returns the jobs in the response:

curl -X POST "https://api.apify.com/v2/acts/atlasdata~indeed-jobs-scraper-reliable/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "keywords": ["software engineer"],
    "location": "New York, NY",
    "datePosted": "3",
    "maxResults": 100
  }'

Your API token is under Settings → API & Integrations in Apify Console.

Option 3: Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("atlasdata/indeed-jobs-scraper-reliable").call(run_input={
    "keywords": ["registered nurse"],
    "location": "Houston, TX",
    "country": "us",
    "jobType": "full-time",
    "maxResults": 200,
})
for job in client.dataset(run.default_dataset_id).iterate_items():
    print(job["title"], "|", job["companyName"], "|", job.get("salaryMin"), job.get("salaryPeriod"), "|", job["applyUrl"])

(pip install apify-client; this uses apify-client v3, on v2 write run["defaultDatasetId"]. A JavaScript client, apify-client on npm, works the same way.)

Useful input options

Input Example Notes
keywords ["nurse", "data analyst"] Each keyword is a separate search
location "London" Leave it empty to search a whole country
country "gb" Which Indeed country site to search (60 available)
radius 10 Distance around the location
datePosted "1", "3", "7" Posted in the last N days
jobType "part-time" full-time, part-time, contract, temporary, internship
remoteOnly true Remote jobs only
minSalary 120000 Applied to the parsed yearly salary. Jobs with no salary are skipped
maxResults 1000 Larger requests are split into date windows and de-duplicated
startUrls Indeed search URLs Use instead of keywords

Keep a feed fresh

To get only new postings every day, save an input with "datePosted": "1" as a task and add a daily Schedule. Then send each new dataset to Google Sheets, Slack, a webhook or your database with Apify integrations. You pay only for unique jobs saved, and a search with no results costs only the start fee.

Speed and cost

In our tests a 50-job run took about 3 seconds, 1,000 jobs about 24 seconds and 2,000 jobs about 108 seconds. Costs: 100 jobs ≈ $0.0065, 10,000 jobs ≈ $0.60.

More job sources

Use it from an AI agent

The Indeed scraper is also available as an MCP tool through the hosted Apify MCP server, alongside Google Jobs and Glassdoor:

https://mcp.apify.com/?tools=atlasdata/indeed-jobs-scraper-reliable,atlasdata/google-jobs-scraper-reliable,atlasdata/glassdoor-jobs-scraper-reliable

Configs for Claude, Cursor and VS Code are in the atlas-data-mcp repository.

Further reading

Rather get a finished report? Atlas Data turns this data into a competitor intelligence PDF for agencies within 48 hours. See a sample report or email hello@getatlasdata.com.