(DEPRECATED) Indeed Scraper - use Indeed HTTP Scraper avatar

(DEPRECATED) Indeed Scraper - use Indeed HTTP Scraper

Deprecated

Pricing

from $5.00 / 1,000 job listings

Go to Apify Store
(DEPRECATED) Indeed Scraper - use Indeed HTTP Scraper

(DEPRECATED) Indeed Scraper - use Indeed HTTP Scraper

Deprecated

Deprecated and no longer maintained. Use Indeed HTTP Scraper (santamaria-automations/indeed-http-scraper) instead: same Indeed job data across 60+ countries, actively maintained. Existing runs keep working but get no fixes.

Pricing

from $5.00 / 1,000 job listings

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

1

Bookmarked

108

Total users

3

Monthly active users

a day ago

Last modified

Share

Indeed Scraper (browser fallback)

Deprecated. This actor is deprecated and no longer maintained. Use Indeed HTTP Scraper instead. Existing runs and schedules keep working for now, but get no fixes.

Input mapping to Indeed HTTP Scraper

Old input (this actor)New input (Indeed HTTP Scraper)Note
searchQueriessearchQueriesSame.
searchUrlssearchUrlsSame.
locationlocationSame.
countrycountrySame country codes.
sortBy (date, relevance)sortBy (newest, relevance)Rename the value date to newest.
postedWithinDayspostedWithinDaysSame.
maxResultsmaxResultsSame.
maxResultsPerQuerymaxResultsPerQuerySame.
startPagestartPageSame.
includeDetailsincludeJobDetailsRenamed. Defaults to true in the new actor, so set false explicitly for SERP-only runs.
includeCompanyDetailsincludeCompanyDetailsSame.
no equivalentdirectUrls, companyUrls, startUrlsNew only: scrape specific job or company pages.
no equivalentemploymentType, remoteOnly, titleFilterNew only: extra filters.
no equivalentmaxConcurrency, forceHTMLPathNew only: tuning options, safe to leave at defaults.

Output: common fields keep the same names (title, company, location, salary_text, posted_at_text, job_url, search_query, serp_page, serp_position). The new actor adds many more, such as parsed salary (salary_min, salary_max, salary_currency), description_md, employment_type, apply_url and company enrichment fields. See its dataset schema for the full list.

Extract job listings from Indeed across 60+ country sites: titles, companies, salaries, locations, posted dates, company ratings, benefits and hiring signals, with optional full descriptions and company profiles.

This is the browser fallback. For most workloads use the primary actor, Indeed HTTP Scraper. It is faster, runs on 128 MB, supports deep pagination and more filters, and is the one we keep tuned first. Use this actor when you specifically want a browser-based path or when you already depend on this input format.

How it works and what to expect

Indeed sits behind a Cloudflare challenge that blocks most bots. This actor is built to be honest about that instead of burning your credits:

  1. It opens a stealth Firefox browser (Camoufox) on a fresh residential proxy session and tries to load the search page. Two attempts at most.
  2. If Cloudflare blocks the browser, it automatically loads the search page over Apify's unblocker proxy with plain HTTP. This tier returns the first results page of each search (about 40 to 45 jobs), because Indeed shows anonymous visitors a sign-in wall on later pages.
  3. Descriptions and company profiles are fetched with light HTTP requests, never by opening more browser pages.
  4. If neither path gets a single results page, the run stops after about two minutes with a clear status message, delivers 0 rows and charges only the platform start fee. It never grinds for minutes producing nothing.

You are billed only for rows that were actually delivered to the dataset.

Need more than about 45 jobs per search? Use Indeed HTTP Scraper, which paginates with cursors.

Input

FieldTypeDescription
searchQueriesstring[]Search keywords. Default: ["software engineer"].
searchUrlsstring[]Pre-filtered Indeed search URLs from any indeed.* domain.
countryenumIndeed country site (default us).
locationstringCity, state, postal code or "remote".
sortByenumdate (newest first) or relevance. Default date.
postedWithinDaysintegerOnly jobs posted within the last N days (snaps to 1, 3, 7 or 14).
maxResultsintegerTotal cap across all queries (default 50).
maxResultsPerQueryintegerCap per query or URL (default 50).
startPageintegerSkip N result pages (0-indexed).
includeDetailsbooleanAdd full description (text, HTML, Markdown) and a requirements list.
includeCompanyDetailsbooleanAdd company profile fields, fetched once per unique company.

All inputs have defaults, so an empty input {} runs a US "software engineer" search and finishes in about two minutes.

Output

Each row has 25+ fields, including id, title, company, company_name, location, city, state, country, salary_text, salary_min, salary_max, salary_currency, salary_period, employment_type, posted_at_datetime, posted_at_text, company_rating, company_review_count, benefits, job_url, apply_url, external_apply_url, is_easy_apply, urgently_hiring, search_query and serp_page. Field names match Indeed HTTP Scraper, so the two actors can feed the same pipeline.

With includeDetails: description_full, description_html, description_md, requirements.

With includeCompanyDetails: company_overview_url, company_description, company_website, company_industry, company_size, company_revenue, company_founded, company_headquarters, ceo_name, ceo_approval, company_happiness_score, company_social_urls. Only jobs whose Indeed listing links to a company page get these fields; the rest carry null.

Pricing

Pay per event:

  • Actor start: $0.001 per GB of memory, once per run.
  • Job listing (job-item): $0.005 per job delivered.
  • Full description (job-detail): $0.005 per job that received a description, only when includeDetails is on.
  • Company details (company-enriched): $0.005 per unique company, only when includeCompanyDetails is on. Each company is fetched and billed once per run, however many jobs it has.

Blocked runs that deliver nothing cost only the start fee.

Use with AI agents (MCP)

{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.apify.com/?tools=santamaria-automations/indeed-scraper",
"--header",
"Authorization: Bearer <YOUR_API_TOKEN>"
]
}
}
}

For per-tool schemas see the MCP tab and for API access in any language see the API tab.

Example

{
"searchQueries": ["nurse", "data analyst"],
"country": "us",
"maxResults": 40,
"includeDetails": true
}

Limits and honest notes

  • Anonymous Indeed results beyond the first page are behind a sign-in wall on the HTTP tier. Expect up to about 45 jobs per query.
  • Indeed changes its protection often. If a run stops with a "blocked" status message, retry later or switch to the primary actor.
  • Company details are only available for employers that have an Indeed company page.

Questions or bugs? Open an issue.