Indeed Jobs Scraper — by Keyword & Zip Code (No Login) avatar

Indeed Jobs Scraper — by Keyword & Zip Code (No Login)

Deprecated

Pricing

$10.00 / 1,000 result scrapeds

Go to Apify Store
Indeed Jobs Scraper — by Keyword & Zip Code (No Login)

Indeed Jobs Scraper — by Keyword & Zip Code (No Login)

Deprecated

Scrape Indeed.com job listings by keyword, zip code, or city — no login, no API key required. Returns title, company, salary, description, posted date, apply URL across 7 countries (US, UK, CA, AU, IN, DE, FR). Pay per result $0.01/job. JSON, CSV, Excel.

Pricing

$10.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Web Data Labs

Web Data Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

Indeed Jobs Scraper — Job Listings, Salaries & Apply URLs at Scale

Scrape Indeed job listings by keyword and location across 7 countries — no login, no Indeed API access, no developer agreements. Returns structured records with job title, company, location, salary, full description, posted date, and a direct apply URL.

Pay-per-result pricing means you only pay for jobs you actually receive. Output ships as JSON, CSV, or Excel.


Why Scrape Indeed?

Indeed is the largest job board in the world — more than 250 million unique monthly visitors and tens of millions of active listings. For talent teams, market researchers, and aggregator builders, it's the canonical source of hiring data. But Indeed makes that data hard to use programmatically:

  • Indeed's official Publisher API was deprecated in 2023 — most external integrations broke overnight.
  • The newer Indeed Apply API is restricted to ATS partners and approved employers.
  • Manually paging through search results is slow, lossy, and impossible at scale.
  • Indeed's pages render with anti-bot protections — naive scrapers stop working within a week.
  • Salary data, which Indeed sometimes publishes and sometimes hides, is parsed inconsistently across competing tools.

This actor handles all of it. You give it a search query and a location, it returns clean, structured job records.


What Data You Get Per Job

Each job record includes:

  • Job title — exact title as posted
  • Company name — hiring organization
  • Company URL — Indeed company profile page
  • Location — city, state, country, or "Remote"
  • Job type — full-time, part-time, contract, internship, temporary
  • Salary — disclosed salary range (when available)
  • Posted date — when the listing first appeared
  • Description — full job description text (responsibilities, requirements, benefits)
  • Apply URL — direct link to apply (Indeed Apply or external ATS)
  • Job ID — Indeed's unique listing identifier
  • URL — direct link to the Indeed listing page

Output is delivered as a structured Apify dataset — exportable to JSON, CSV, Excel, or XML, or fetchable via the Apify API.


Use Cases

1. Job market and salary research

Track which roles are growing or shrinking in a specific market. Compare median salaries for "Data Engineer" vs "Software Engineer" across San Francisco, Austin, and Remote. Build the kind of compensation reports that recruiters and salary-benchmark sites charge thousands for.

2. Recruitment and sourcing automation

Build internal alerts that ping your team the moment a target company posts a new role. Scan a list of competitor companies daily and route fresh listings to your applicant tracker — useful for executive recruiters and contingent staffing firms.

3. Competitive intelligence

A company's hiring pattern is a public signal of its priorities. A surge in product engineering hires often means a new product launch is coming. A wave of sales hires signals a market expansion. Pull a competitor's Indeed footprint weekly and turn it into intelligence.

4. Job board and aggregator products

Power your own niche job board (e.g. "remote Python jobs" or "climate-tech jobs") without building a scraper from scratch. Pull Indeed listings, filter, deduplicate, and present on your own platform. Schedule daily refreshes to keep listings current.

5. Workforce trend analysis

Track how skill demand shifts in response to new technologies, regulatory changes, or economic events. Researchers, journalists, and economists use job-posting data to identify trends months before they show up in BLS statistics.

6. Recruitment marketing benchmarks

Compare your job descriptions to competitors in the same role and location. Are your titles too generic? Is your salary band below market? Pull 200 similar listings, parse the descriptions, and benchmark in an afternoon.

7. ATS and HRIS integration

Feed Indeed job data into your applicant tracking system or HR platform to enrich applicant context, surface duplicate listings, or build a unified job catalog across multiple sources.


How to Use

  1. Open the actor on Apify: apify.com/cryptosignals/indeed-jobs-scraper
  2. Click Try for free — no credit card required for small runs
  3. Configure your inputs (see below):
    • keywords — what to search for
    • location — where to search
    • country — which Indeed domain to use (US, UK, CA, AU, IN, DE, FR)
    • maxItems — how many jobs to return (1–100)
  4. Click Start — most batches of 25 jobs complete in 1–2 minutes
  5. Download results as JSON, CSV, Excel, or fetch via the Apify API

You can also schedule recurring runs (hourly, daily, weekly) and route results to webhooks, Google Sheets, Airtable, Slack, or any Apify integration.


Input Parameters

ParameterTypeRequiredDefaultDescription
keywordsstringYespython developerJob search keywords (e.g. data scientist, marketing manager)
locationstringNoRemoteCity, state, or "Remote" (e.g. San Francisco, CA, London)
countrystringNoUSIndeed country domain — one of US, UK, CA, AU, IN, DE, FR
maxItemsintegerNo25Maximum number of job listings to scrape (1–100)
proxyConfigurationobjectNoApify residentialProxy settings — residential IPs strongly recommended
{
"keywords": "data engineer",
"location": "Austin, TX",
"country": "US",
"maxItems": 50
}

Example input — remote roles in the UK

{
"keywords": "product manager",
"location": "Remote",
"country": "UK",
"maxItems": 100
}

Example input — Germany

{
"keywords": "machine learning engineer",
"location": "Berlin",
"country": "DE",
"maxItems": 30
}

Country Coverage

The actor supports the following Indeed country domains:

CodeCountryIndeed Domain
USUnited Statesindeed.com
UKUnited Kingdomuk.indeed.com
CACanadaca.indeed.com
AUAustraliaau.indeed.com
INIndiain.indeed.com
DEGermanyde.indeed.com
FRFrancefr.indeed.com

Pass the country code in the country parameter and Indeed routes to the appropriate regional domain automatically.


Output Example

Each result is a JSON object. Example record:

{
"jobId": "0a1b2c3d4e5f6789",
"title": "Senior Data Engineer",
"company": "Acme Analytics",
"companyUrl": "https://www.indeed.com/cmp/Acme-Analytics",
"location": "Austin, TX",
"jobType": "Full-time",
"salary": "$130,000 - $170,000 a year",
"postedAt": "2026-05-04",
"description": "Acme Analytics is hiring a Senior Data Engineer to lead our data platform team. You'll design pipelines, mentor engineers, and partner with product to ship customer-facing analytics features...",
"applyUrl": "https://www.indeed.com/jobs/apply/0a1b2c3d4e5f6789",
"url": "https://www.indeed.com/viewjob?jk=0a1b2c3d4e5f6789",
"country": "US",
"scrapedAt": "2026-05-07T09:14:23Z"
}

Datasets can be exported as JSON, CSV, XML, or Excel from the Apify console, or fetched programmatically via the dataset API.


Calling the Actor Programmatically

Python — apify-client

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cryptosignals/indeed-jobs-scraper").call(run_input={
"keywords": "data engineer",
"location": "Austin, TX",
"country": "US",
"maxItems": 50,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{job['title']} at {job['company']}{job.get('salary', 'salary not listed')}")

Python — multi-country sweep

from apify_client import ApifyClient
import pandas as pd
client = ApifyClient("YOUR_APIFY_TOKEN")
countries = ["US", "UK", "CA", "DE", "FR"]
all_jobs = []
for c in countries:
run = client.actor("cryptosignals/indeed-jobs-scraper").call(run_input={
"keywords": "machine learning engineer",
"location": "",
"country": c,
"maxItems": 100,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
all_jobs.extend(items)
df = pd.DataFrame(all_jobs)
print(df.groupby("country").size())

Node.js — apify-client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('cryptosignals/indeed-jobs-scraper').call({
keywords: 'product manager',
location: 'Remote',
country: 'US',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(j => console.log(`${j.title}${j.company} (${j.location})`));

cURL — direct API call

curl -X POST \
"https://api.apify.com/v2/acts/cryptosignals~indeed-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keywords": "data engineer",
"location": "San Francisco, CA",
"country": "US",
"maxItems": 25
}'

Pricing

This actor uses Pay-per-event pricing — you only pay for the jobs you actually receive. No charges for failed runs, empty results, or compute time.

  • Cost: $0.01 per job result
  • Free tier: Apify's free plan includes $5/month of platform credits — enough to scrape ~500 jobs at no additional cost
  • Cost examples:
Use caseJobs/runCost
One-off keyword check25$0.25
Daily ATS feed50/day$0.50/day (~$15/month)
Weekly competitor sweep500/week$5/week
Research dataset5,000$50

View full Apify pricing →


FAQ

Scraping publicly visible data — pages anyone can see without logging in — is generally considered lawful in many jurisdictions. The U.S. Ninth Circuit's hiQ v. LinkedIn (2022) decision held that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act. This actor only collects data from Indeed's publicly visible job listings — no login, no private content, no bypassing of access controls. Consult your own legal counsel for your specific use case.

Do I need an Indeed account or Publisher API key?

No. Indeed's Publisher API was deprecated in 2023, and the actor uses publicly accessible job listings — no login, no API key, no developer agreement.

How fast is it?

A run of 25 jobs typically completes in 1–2 minutes. Larger runs (100+ jobs) generally finish within 5–8 minutes. Multiple runs can execute in parallel using Apify's concurrent-run feature.

What if Indeed blocks the request?

The actor uses Apify residential proxies by default, which rotate across thousands of geographic IPs. This bypasses the standard anti-bot protections Indeed uses. If a single request fails (rare), the actor retries automatically.

Can I get jobs from outside the 7 supported countries?

The 7 supported countries cover the majority of Indeed's English-language and major European markets. For other regions, contact us via web-data-labs.com and we can prioritize the country you need.

Can I schedule recurring runs?

Yes. Apify has a built-in scheduler — set any cron expression (hourly, daily, weekly), and have results pushed to a webhook, Google Sheets, Airtable, Slack, or your own database. Combine with Apify's Zapier and Make integrations for downstream automation.

What output formats are supported?

JSON, CSV, Excel, and XML are all supported natively in the Apify console. You can also fetch results programmatically via the dataset API in any language.

Why not just use the Indeed Publisher API?

You can't — Indeed deprecated the public Publisher API in 2023. The remaining Indeed Apply API is restricted to ATS partners and approved employers. For independent developers, agencies, and researchers, this scraper is the practical alternative.


Why This Actor vs Alternatives?

  • No login required. Some competing actors require a logged-in Indeed session. This one doesn't.
  • Pay-per-result. You only pay for jobs you actually receive. Failed runs cost zero.
  • 7-country coverage. Most Indeed scrapers only handle US listings. This one supports US, UK, CA, AU, IN, DE, FR.
  • Residential proxies built in. Anti-bot handling is automatic — no proxy configuration on your side.
  • Apify-native integrations. Pipe results into Zapier, Make, Google Sheets, Airtable, Slack, or any of Apify's 50+ integrations.
  • Maintained. The actor is updated as Indeed evolves its layout. You don't need to rebuild a parser every quarter.


About Web Data Labs

This actor is built and maintained by Web Data Labs — a team focused on production-grade web data extraction across jobs, e-commerce, social media, software reviews, and company data. We publish 100+ public actors on the Apify platform, all pay-per-result.

Need a custom build, enterprise SLA, or private actor? Reach out via web-data-labs.com or the Apify contact form.