Indeed Jobs Scraper avatar

Indeed Jobs Scraper

Pricing

from $1.40 / 1,000 indeed job delivereds

Go to Apify Store
Indeed Jobs Scraper

Indeed Jobs Scraper

[💵 $2.50 / 1K - no start fee] Search Indeed jobs across 18 countries. Get titles, companies, salaries, full descriptions, remote status, structured salary fields and monitoring-ready job IDs.

Pricing

from $1.40 / 1,000 indeed job delivereds

Rating

0.0

(0)

Developer

WebData Labs

WebData Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Indeed Jobs Scraper | Jobs, Salaries and Full Descriptions

Search Indeed across 18 country sites and receive normalized job rows with salary fields, full descriptions, remote status, stable job IDs, and company links. This Indeed scraper is built for repeatable exports and monitoring, not one-off browser copy and paste. Run it in Apify Console, through the API, on a schedule, or from an automation.

✅ What you get / ❌ What this isn't

✅ One structured dataset row per public Indeed job listing
✅ Search by keyword, location, job type, posting age, or Indeed search URL
✅ Full plain-text and HTML descriptions when requested
✅ Numeric salary minimum, maximum, currency, and period when Indeed publishes structured pay
onlyNew monitoring mode that remembers job IDs for each search
✅ 18 Indeed country domains and a low-cost HTTP architecture

❌ This is not an official Indeed API or an Indeed partnership
❌ It does not apply to jobs, access accounts, solve CAPTCHAs, or collect private candidate data
❌ Missing salary or employer metadata is not invented when Indeed does not publish it

🔎 Why use this Indeed scraper

  • Recruiting intelligence: monitor roles, locations, skills, and hiring companies.
  • Salary research: compare published ranges using analysis-ready numeric fields.
  • Job alerts: schedule onlyNew: true and send fresh rows to Sheets, Slack, Make, Zapier, or a webhook.
  • Labor-market research: export reproducible JSON, CSV, Excel, XML, or HTML datasets.
  • Lead signals: identify companies actively hiring without mixing them with stale job IDs.

📊 What Indeed job data you get

FieldTypeDescription
jobIdstringStable Indeed job key used for deduplication
titlestringPublished job title
companystringHiring company name
locationstringPublished location or remote label
salarystringHuman-readable published salary
salaryMin, salaryMaxnumberStructured pay range when available
salaryCurrency, salaryPeriodstringCurrency and hour, month, or year period
jobTypearrayEmployment types published by Indeed
datePosteddatePosting date when available
descriptionstringClean full job description
descriptionHtmlstringOriginal description HTML
jobUrlURLCanonical Indeed detail URL
isRemotebooleanRemote-work indicator
companyUrl, companyLogoURLPublic company metadata when available
scrapedAtdateExtraction timestamp

👥 Who it's for

Recruiters, staffing agencies, job seekers, compensation analysts, sales teams, academic researchers, workforce planners, and developers building job-search or hiring-intelligence workflows.

⚙️ How to scrape Indeed jobs

  1. Open the Actor in Apify Console.
  2. Enter a job title, skill, or company in query.
  3. Add a location and choose the matching Indeed country.
  4. Optionally filter by job type or posting age.
  5. Keep includeDescription on for full descriptions, or turn it off for smaller summary rows.
  6. Set a cost-safe maxItems value and click Start.
  7. Download the dataset or connect it to an API, schedule, integration, or webhook.

For an existing Indeed search, supply its search-results URL in urls instead of query fields.

📥 Input

{
"query": "software engineer",
"location": "Austin, TX",
"country": "US",
"jobType": "fulltime",
"datePosted": "7",
"maxItems": 100,
"includeDescription": true,
"onlyNew": false
}
FieldTypeDefaultDescription
querystringprefilledJob title, keywords, or company
locationstringprefilledCity, region, postal code, or Remote
countryenumUSOne of 18 Indeed country sites
jobTypeenumemptyFull-time, part-time, contract, temporary, or internship
datePostedenumemptyLast 1, 3, 7, or 14 days
urlsarrayemptyIndeed search-result URLs
includeDescriptionbooleantrueInclude full plain-text and HTML descriptions
onlyNewbooleanfalseSkip job IDs emitted by previous matching runs
maxItemsinteger50Result cap; 0 means unlimited

📤 Output

{
"jobId": "abc123",
"title": "Senior Software Engineer",
"company": "Example Company",
"location": "Austin, TX",
"salary": "USD 140000 - 180000 / year",
"salaryMin": 140000,
"salaryMax": 180000,
"salaryCurrency": "USD",
"salaryPeriod": "YEAR",
"jobType": ["FULL_TIME"],
"datePosted": "2026-08-01T00:00:00.000Z",
"description": "Build reliable software products...",
"jobUrl": "https://www.indeed.com/viewjob?jk=abc123",
"isRemote": false,
"sourceDomain": "www.indeed.com",
"scrapedAt": "2026-08-08T10:00:00.000Z"
}

The Output tab includes separate Jobs, Salary data, and Full descriptions views. You can download the dataset in JSON, CSV, Excel, XML, or HTML formats.

💵 How much does it cost to scrape Indeed?

The Store price is $2.50 per 1,000 delivered jobs on the Free tier, with no Actor-start fee. A 100-row run costs about $0.25. Higher Apify plans receive volume discounts. You pay only for delivered rows, while Apify platform usage and residential proxy traffic are included in the event price.

Keep maxItems near the number you need. Turn off includeDescription when search-card summaries are sufficient, which reduces requests and run time without changing the per-row event.

🔁 Run it on the Apify platform

Start from one of the ready-made tasks, add a daily or weekly Schedule, consume results with the JavaScript or Python client, connect Make or Zapier, or receive a webhook when a run finishes. onlyNew is designed for recurring monitors and stores history separately for each search and filter combination.

⚠️ Limits and caveats

  • Indeed can rate-limit automated requests. The Actor uses a lightweight job-data API request through Apify residential proxy traffic and fails clearly when the source is unavailable.
  • Salary, industry, company size, revenue, and logos are optional source fields. Missing values remain null.
  • Search ranking and result availability vary by country, location, time, and Indeed experiments.
  • Data collection must remain proportionate. Avoid unlimited runs unless you have verified the target volume and cost.

❓ FAQ

Is this an official Indeed API?

No. It is an independent scraper for public listing pages and provides an API-shaped dataset through Apify.

Can it monitor only newly posted jobs?

Yes. Save an Apify Task with onlyNew: true and run it on a schedule. The first run returns matching jobs; later runs skip IDs already emitted for that same configuration.

Why is a salary field null?

Many employers do not publish compensation. The Actor returns structured pay only when the source provides it and does not manufacture estimates.

Use this Actor only for lawful purposes and public data you are permitted to process. Follow Indeed's terms, Apify's terms, applicable privacy and data-protection law, and the rules governing your organization and location. Job descriptions can contain personal data, so establish a lawful purpose and retention policy before processing at scale. Consult qualified counsel when unsure.

🛠️ Support

When reporting a problem, include the Apify run URL, redacted input, affected Indeed country, expected behavior, and one example public URL. Use the Actor's Issues tab so failures can be reproduced without exposing credentials.