Indeed Jobs Scraper API - Salary, ATS & Company Data avatar

Indeed Jobs Scraper API - Salary, ATS & Company Data

Pricing

from $1.00 / 1,000 indeed job listings

Go to Apify Store
Indeed Jobs Scraper API - Salary, ATS & Company Data

Indeed Jobs Scraper API - Salary, ATS & Company Data

Fast Indeed jobs API for search, monitoring, and enrichment across 60+ markets. Get salaries, benefits, coordinates, descriptions, company data, public emails, and external ATS apply links.

Pricing

from $1.00 / 1,000 indeed job listings

Rating

2.2

(2)

Developer

Newbs

Newbs

Maintained by Community

Actor stats

14

Bookmarked

449

Total users

2

Monthly active users

2 days ago

Last modified

Share

Collect current Indeed job listings without maintaining a browser or signing in. This API-first Indeed jobs scraper searches 60+ country markets and returns structured salaries, benefits, skills, full descriptions, coordinates, company data, public emails, and external employer or ATS apply links.

Use it for recruiting research, job-board feeds, salary benchmarking, hiring intelligence, company lead generation, and scheduled new-job alerts. Results are available as nested JSON or a flat table ready for CSV, Excel, Google Sheets, Make, Zapier, n8n, webhooks, and the Apify API.

Quick start

{
"keyword": "software engineer",
"country": "united states",
"city": "Austin, TX",
"numberOfResults": 50,
"maxResultsTotal": 50,
"postedWithinDays": 7,
"dataDepth": "standard"
}

The legacy job array remains supported for existing Tasks and API integrations. New users can start with one keyword and add more searches only when needed.

Why use this Indeed jobs API?

  • Fast API-first collection: keyword searches use Indeed's structured job response rather than loading every listing in a browser.
  • Useful salary fields: original salary text, pay period, currency, estimated-pay flag, minimum, maximum, and annualized compensation.
  • Recruiting-ready data: benefits, skills, work arrangement, experience level, job type, full description, company profile, and direct application URL.
  • Precise location data: formatted and split city/state fields, latitude, longitude, requested location, and radius provenance.
  • Predictable limits: set both results per search and a hard maximum across the complete run.
  • Monitoring mode: return only jobs that were not seen by the same recurring search during the selected retention window.
  • Clean exports: choose complete nested JSON or flat spreadsheet-friendly columns.
  • Operational diagnostics: every run writes an OUTPUT summary with results, scanned rows, filters, duplicates, failures, and limit status.

Choose the data depth

ModeBest forIncluded data
basicHigh-volume feeds and fast monitoringTitle, company, location, coordinates, date, salary, attributes, and apply URL
standardRecruiting and job-market analysisBasic fields plus full description, benefits, skills, and public emails
fullCompany leads and enriched datasetsStandard fields plus employer website, industry, size, revenue, locations, CEO, and images

Existing integrations that omit dataDepth keep the previous full-data behavior. The Store form recommends standard for a better speed-to-detail balance.

Search options

InputDescription
keywordOne role, skill, company, or Indeed search expression
jobAdditional keywords; retained for backward compatibility
startUrlsIndeed search URLs or direct job URLs
jobKeysjk identifiers from direct Indeed job URLs
country / cityHiring market and optional city, state, region, or postal code
numberOfResultsMaximum accepted jobs for each search
maxResultsTotalHard result cap across all searches; 0 disables the global cap
postedWithinDaysFreshness filter; 0 includes all available dates
remoteModeAny, remote, hybrid, or on-site
jobTypesFull-time, part-time, contract, temporary, internship, and more
requireSalaryReturn only jobs with exposed compensation
minimumAnnualSalaryFilter using annualized compensation in the market currency
experienceLevelEntry, mid, or senior heuristic classification

Indeed search URLs preserve their keyword, location, radius, freshness, and sort settings. Direct job URLs are best effort because individual job pages can require verification; keyword and search-URL collection remains the recommended high-reliability path.

Indeed search expressions

Indeed accepts useful expressions in keyword. Validate important expressions with a small run before scaling them.

"data engineer"
title:("senior data engineer") -intern
title:("data engineer" or "data scientist")
company:Google

Output fields

Each nested result has schemaVersion: "2.0" and can include:

  • title, subTitle, jobKey, jobDate, jobType, workArrangement, and experienceLevel
  • formattedLocation plus city, state, postal code, country, latitude, and longitude
  • salary with original, parsed, currency, estimated, and annualized values
  • benefits, skills, attributes, emails, and full text/HTML descriptions
  • indeedJobLink and applicationInfo.externalApplyUrl
  • company profile, review URL, website, industry, employee count, revenue, locations, CEO, logo, and description
  • searchQuery, source, and optional dataQuality metadata

Set outputFormat to flat for top-level fields such as companyName, salaryMin, latitude, externalApplyUrl, and completenessScore.

Incremental job monitoring

Use onlyNewJobs: true in a scheduled Task to skip jobs already returned by the same search configuration. The Actor stores job keys in a dedicated named key-value store and automatically removes entries older than seenJobTtlDays.

{
"keyword": "data engineer",
"country": "united states",
"city": "Remote",
"postedWithinDays": 7,
"sortType": "date",
"onlyNewJobs": true,
"seenJobTtlDays": 30,
"maxResultsTotal": 100
}

Use a custom incrementalStoreName when multiple Tasks should intentionally share monitoring state. Otherwise, the Actor isolates state using a fingerprint of the search configuration.

Pricing

Pay $4 per 1,000 successfully saved jobs, plus a $0.005 Actor start event. Apify platform usage is included, so there is no separate compute, storage, data-transfer, or proxy charge from this Actor.

Apify applies a notice period to price increases. During that transition, an existing user may temporarily see the previous tiered result price in the Pricing tab; the price displayed by Apify at run time is authoritative.

Empty searches, filtered jobs, previously seen jobs, and duplicates do not create billable result events. Use Apify's maximum charge per run together with maxResultsTotal for strict spending control.

API and automation

curl "https://api.apify.com/v2/acts/newbs~Indeed-Job-Scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"data engineer","country":"united states","maxResultsTotal":100,"dataDepth":"standard"}'

Save common configurations as Apify Tasks, schedule them, and connect successful runs to webhooks, Make, Zapier, n8n, a database, or a spreadsheet. The Actor can also be called through Apify's MCP integration for AI-agent workflows.

Reliability and diagnostics

The Actor distinguishes a valid empty search from a source failure:

  • SUCCEEDED: jobs were saved.
  • EMPTY: Indeed returned no source jobs.
  • FILTERED: source jobs were found but none matched the filters.
  • UNCHANGED: every matched job was already returned by the same incremental monitor.
  • MAX_RESULTS_REACHED: the configured global result cap stopped additional searches.
  • CHARGE_LIMIT_REACHED: Apify's spending limit stopped additional results.
  • FAILED: the source request did not complete.

Check the OUTPUT record in the run's default key-value store for request-level details. Restrictive combinations can require scanning more source jobs; the Actor adjusts page sizes using observed filter acceptance while respecting the scan cap.

Responsible use

This Actor extracts publicly available job-posting data. Results can contain employer-provided content or public contact information. Your use must comply with applicable laws, privacy requirements, contractual obligations, and platform terms. This Actor is not affiliated with, endorsed by, or sponsored by Indeed.