Indeed Jobs Scraper - Salary & Company Data ($0.25/1k) avatar

Indeed Jobs Scraper - Salary & Company Data ($0.25/1k)

Pricing

from $0.20 / 1,000 job listings

Go to Apify Store
Indeed Jobs Scraper - Salary & Company Data ($0.25/1k)

Indeed Jobs Scraper - Salary & Company Data ($0.25/1k)

Scrape Indeed job listings by keyword, location, or any search URL across 60+ country sites - no API key, no login. Get salary (parsed min/max), company profile, hiring signals, and the full description as text, Markdown & HTML. Pay only per result. Works with AI Agents, MCP, n8n, Make & Zapier.

Pricing

from $0.20 / 1,000 job listings

Rating

5.0

(1)

Developer

Harsh Maur

Harsh Maur

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Categories

Share

Indeed Jobs Scraper — Scrape Indeed Jobs, Salaries & Company Data in 60+ Countries (No API Key)

Pull job listings from Indeed at scale — by job title and location on any country's Indeed site, or directly from Indeed search URLs. Each job comes back with the company, salary, location, posting date, hiring signals, company profile, and the full description — exported to JSON, CSV, or Excel, or via the Apify API. No Indeed API key, login, or cookies needed.

What does Indeed Jobs Scraper do? {#what-does-it-do}

It converts an Indeed search into a structured dataset — one row per job, consistent shape, ready for analysis or automation.

✅ No API key or account

Just a job title and location (or a search URL). Nothing to sign up for.

🌍 60+ country sites

Search US, UK, Canada, Germany, India, Australia, and dozens more — one input field switches the Indeed domain.

💵 Salary, parsed

Compensation as a display string plus numeric salaryMin/salaryMax with currency and pay period — including Indeed's estimated ranges, flagged as estimates.

🏢 Company profile included

Industry, revenue band, employee band, CEO, website, logo, and a short company blurb — alongside the job.

🚩 Hiring signals

Flags for urgent hiring and high-volume hiring, plus a remote indicator.

📝 Full descriptions inline

The complete job description (text + HTML) ships with every listing — no extra per-job requests.

🔄 Export anywhere

JSON, CSV, Excel, HTML table, RSS, or JSONL — plus the Apify API and integrations.

How to scrape jobs from Indeed {#how-to-scrape}

Enter a job title, a location, and a country, then run. The scraper pulls every matching Indeed listing, paginating automatically up to Indeed's ~1,000-result-per-search ceiling. Prefer to build the search on Indeed itself? Paste one or more Indeed search URLs and they're scraped as-is. Use the keyword fields, the URLs, or both — results combine and de-duplicate.

What data can you extract from Indeed? {#what-data}

Every job is one dataset item (fields Indeed omits come back as null):

FieldDescription
title, normalizedTitleListing title + Indeed's normalized title
company, companyUrl, companyLogoEmployer name, Indeed company page, logo
companyIndustry, companyRevenue, companyEmployeeCount, companyCeo, companyWebsite, companyDescriptionCompany profile (dossier)
location, city, state, country, postalCode, latitude, longitudeParsed location + coordinates
isRemoteRemote indicator
salary, salaryMin, salaryMax, salaryType, salaryCurrency, salaryIsEstimatedCompensation (real or Indeed-estimated)
jobType, occupations, attributesEmployment type, occupation tags, skills/benefits
isUrgentHire, isHighVolumeHiring, expiredHiring signals + expiry
postedAtISO posting date
descriptionText, descriptionMarkdown, descriptionHtmlFull description as clean text, Markdown, and HTML
url, jobKey, refNumApply/view URL + Indeed keys
searchTerm, searchPosition, scrapedAtSearch context + timestamp

Indeed job scraping use cases {#use-cases}

  • Labor-market & salary analytics — chart pay ranges and demand by role, region, and country.
  • Recruiting pipelines — bulk-source live openings with employer context and apply links.
  • Lead generation — find companies actively hiring, enriched with industry, size, and website.
  • Job boards & aggregators — keep a vertical board fresh with structured Indeed listings.
  • Competitive & hiring intelligence — watch competitors' openings, locations, and urgency signals.
  • AI & RAG pipelines — feed clean descriptions into matching, tagging, or summarization.

How to scrape Indeed jobs by title and location {#scrape-by-keyword}

All jobs for a role in a city

{ "position": "software engineer", "location": "New York, NY", "country": "us", "maxItems": 500 }

Remote jobs across a whole country

{ "position": "customer support", "location": "Remote", "country": "us", "maxItems": 200 }

Search another country's Indeed site

{ "position": "data analyst", "location": "London", "country": "uk", "datePosted": "7" }

Only the freshest postings (last 24 hours)

{ "position": "registered nurse", "location": "Chicago, IL", "datePosted": "1" }

How to scrape Indeed jobs from a search URL {#scrape-by-url}

{ "startUrls": [{ "url": "https://www.indeed.com/jobs?q=python+developer&l=Austin%2C+TX" }], "maxItems": 300 }

Fast, lightweight runs {#fast-mode}

Skip the full description for a leaner, cheaper run that still returns title, company, salary, location, rating, and posting date:

{ "position": "warehouse associate", "location": "Dallas, TX", "scrapeDescription": false, "maxItems": 0 }

Limiting results {#limits}

  • Max jobs (maxItems) caps the total across all searches + URLs; 0 = no cap.
  • A single search tops out at Indeed's ~1,000-result ceiling — combine several keywords, locations, or URLs to gather more.

Output example {#output-example}

{
"dataType": "job",
"jobKey": "9ded925f7e009b39",
"title": "Software Development Engineer II - Network Performance Monitoring",
"normalizedTitle": "software engineer",
"url": "https://www.amazon.jobs/jobs/10444205/...",
"company": "Amazon.com",
"companyUrl": "https://www.indeed.com/cmp/Amazon.com",
"companyRating": null,
"companyLogo": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/...",
"companyWebsite": "https://www.amazon.jobs",
"companyIndustry": "Internet and Software",
"companyRevenue": "more than $10B (USD)",
"companyEmployeeCount": "10,000+",
"companyCeo": "Andrew Jassy",
"companyDescription": "Our mission is to be Earth's most customer-centric company.",
"location": "Santa Clara, CA",
"city": "Santa Clara",
"state": "CA",
"country": "US",
"isRemote": false,
"salary": "$165,200 - $223,600 a year",
"salaryMin": 165200,
"salaryMax": 223600,
"salaryType": "YEAR",
"salaryCurrency": "USD",
"salaryIsEstimated": false,
"jobType": ["Full-time"],
"occupations": ["Software Development Occupations"],
"attributes": ["AWS", "Distributed computing", "401(k) matching"],
"isUrgentHire": false,
"isHighVolumeHiring": true,
"expired": false,
"refNum": "10444205",
"postedAt": "2026-06-08T05:00:00.000Z",
"descriptionText": "DESCRIPTION\n\nAWS Infrastructure Services owns the design…",
"descriptionMarkdown": "## DESCRIPTION\n\nAWS Infrastructure Services owns the design…",
"descriptionHtml": "<p>DESCRIPTION…</p>",
"searchTerm": "software engineer",
"searchPosition": 6,
"scrapedAt": "2026-06-10T10:11:31.362Z"
}

Note: companyRating is exposed but Indeed's search API populates it inconsistently (often null).

How much does it cost to scrape Indeed jobs? {#pricing}

Pay only for results — no start fee, no monthly subscription. From $0.25 per 1,000 jobs, billed per unique job returned (duplicates across overlapping pages are removed before charging). That's a fraction of the price of the popular Indeed scrapers — and you get more per job: parsed salary (min/max + currency), full company profile, hiring signals, and the complete description as text, Markdown & HTML. Turn Scrape full job description off for an even leaner, cheaper run.

How the Indeed scraper works {#how-it-works}

It reads the same GraphQL API Indeed's mobile app uses (apis.indeed.com/graphql) through a proxy. That endpoint returns up to 100 fully-detailed jobs per request — with the complete description inline — and paginates via cursor, so one search can yield thousands of jobs. (Indeed's public HTML pages cap at ~15 jobs and block deep pagination.) No headless browser is involved, so runs are fast and cheap: 250 jobs is just 3 requests.

Use Indeed Jobs Scraper with AI agents and MCP {#ai-mcp}

This Actor is callable by AI agents via the Apify MCP server, so assistants like Claude can run it and read results as a tool. It also slots into LLM workflows — route descriptionText into screening, tagging, or summarization prompts.

Integrate with n8n, Zapier, and Make {#integrations}

Run and get results synchronously (small scrapes):

POST https://api.apify.com/v2/acts/harshmaur~indeed-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN
Content-Type: application/json
{ "position": "data analyst", "location": "Remote", "country": "us", "maxItems": 100 }

Run asynchronously (large scrapes), then fetch the dataset when finished:

POST https://api.apify.com/v2/acts/harshmaur~indeed-scraper/runs?token=YOUR_TOKEN

Schedule recurring runs from the Apify console for a continuously refreshed Indeed feed.

Support {#support}

Spotted a bug or want an extra field? Open an issue on the Actor's Issues tab — feedback and feature requests are welcome.

FAQ {#faq}

Do I need an Indeed API key or login?

No. Provide a job title and location (or paste an Indeed search URL) and run — no account, cookies, or API key.

How many jobs can I scrape from Indeed?

A single search returns up to ~1,000 listings (Indeed's per-search ceiling) via automatic pagination; combine multiple keywords, locations, or Search URLs to pull more.

Which countries are supported?

60+ Indeed country sites — pick the Country (US, UK, Canada, Germany, India, Australia, and many more).

Can I scrape only remote jobs?

Yes — set Location to Remote, or paste an Indeed remote-filtered search URL.

Does every job include salary?

When Indeed lists or estimates pay, you get the display string plus numeric min/max, currency, and period; salaryIsEstimated flags Indeed's estimates. Listings without pay return null salary fields.

Does it include the full job description?

Yes — every listing's description is returned as clean text, Markdown (descriptionMarkdown), and raw HTML. Turn scrapeDescription off for a faster, lighter run with the core fields only.

Which export formats are supported?

JSON, CSV, Excel, HTML table, RSS, and JSONL, plus the Apify API.

Can AI agents use this scraper?

Yes — it's available as a tool via the Apify MCP server.

Other Actors {#other-actors}

Part of a family of no-login, pay-per-result scrapers:

ActorDescription
LinkedIn Jobs ScraperLinkedIn listings with salary, recruiter contact, and company details
Reddit ScraperPosts, comments, communities, and user profiles
Reddit Comments ScraperEvery comment and nested reply from any post
Reddit Search ScraperKeyword search across posts, comments, and communities
Reddit Subreddit ScraperEntire subreddits, past the listing cap

Run the Indeed and LinkedIn scrapers together to build a cross-source jobs dataset.

Resources {#resources}