Indeed Jobs Scraper avatar

Indeed Jobs Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Indeed Jobs Scraper

Indeed Jobs Scraper

Scrape Indeed.com job listings with salaries, company ratings, descriptions, and remote work info. Full JSON output, fast, residential-proxy-ready.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crikit

Crikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

What does this actor do?

The Indeed Jobs Scraper extracts job listings, salaries, company ratings, full job descriptions, and remote work info from Indeed.com without needing an account, an API key, or any setup. Give it a position keyword and a location (or paste full Indeed search URLs) and it pushes one structured JSON record per job into your dataset.

Built for production scraping: residential proxy rotation, Chrome TLS impersonation, automatic session refresh, and a clean output schema that drops straight into a database. Use it for job market research, salary benchmarking, hiring trend monitoring, automated job alerts, competitive intelligence, or building your own Indeed data API.

What data does it extract?

Per job:

  • Identifiers: Indeed job key (id), canonical job URL, scrape timestamp
  • Position: title, company name, full Indeed company URL, company logo
  • Location: formatted location string, plus city / state / postal code as separate fields
  • Salary: original text ($70 - $80 an hour) plus parsed min, max, currency, and pay frequency (HOURLY, YEARLY, etc.)
  • Job type: array of employment types (Fulltime, Contract, Part-time, etc.)
  • Remote work: FULLY_REMOTE, HYBRID, or null
  • Posted: relative time (3 days ago) and parsed ISO timestamp
  • Company signals: rating out of 5, review count, featured-employer flag, employer activity
  • Description: full HTML body and a plain-text version (typical 5,000+ characters, the entire job posting)
  • Benefits: array of highlighted employer benefits (Health insurance, 401(k), Paid time off, ...)
  • Flags: sponsored (ad), urgently hiring, high-volume hiring, Indeed Apply eligibility
  • Apply links: external ATS URL when present, plus the canonical Indeed apply URL
  • Echoes: the original position/location/country you searched for, and the start URL if applicable

How to use this actor

  1. Set position to your search keyword and location to a city, state, ZIP, or remote. Pick a country.
  2. Set maxItemsPerSearch to cap your run (the actor stops at this count to keep costs predictable).
  3. Click Start. Wait for the dataset to fill and export as JSON, CSV, Excel, or HTML.

For more advanced runs you can paste full Indeed search URLs (or single job URLs) into startUrls instead of using position / location. Filters supported: max age in days (fromage), employment type (jobType), experience level, remote-only mode, and search radius.

Input parameters

FieldTypeDescription
positionstringSearch keywords, e.g. python developer.
locationstringCity, state, ZIP, or remote. Leave blank for nationwide.
countryenumTwo-letter country code; picks the right Indeed regional site.
maxItemsPerSearchintHard cap per search. Default 100.
startUrlsarrayOptional. Full Indeed search URLs or job URLs.
parseCompanyDetailsboolWhen ON, fetches the detail page for each job to get the full description and company info. Default ON. Turn OFF for ~3x cheaper search-only runs.
saveOnlyUniqueItemsboolDeduplicate by Indeed job key. Default ON.
fromageintMax job age in days (1, 3, 7, 14, ...).
sortenumdate for newest first, blank for relevance.
jobTypeenumFilter to fulltime / parttime / contract / temporary / internship.
experienceLevelenumentry_level / mid_level / senior_level.
remoteOnlyboolReturn only fully-remote jobs.
radiusintSearch radius in miles around location.
maxConcurrencyintParallel request count. Default 5.
proxyConfigurationobjectApify proxy. Residential is recommended.

Output format

Each record looks like this:

{
"id": "e011635426a565cb",
"positionName": "Sr. System Analyst, Python Developer",
"company": "Esolvit Inc.",
"location": "Austin, TX 78751",
"jobLocationCity": "Austin",
"jobLocationState": "TX",
"jobLocationPostal": "78751",
"url": "https://www.indeed.com/viewjob?jk=e011635426a565cb",
"salary": "$70 - $80 an hour",
"salaryMin": 70,
"salaryMax": 80,
"salaryType": "HOURLY",
"salaryCurrency": "USD",
"salarySource": "EXTRACTION",
"jobType": ["Contract"],
"remoteWorkModel": "HYBRID",
"rating": 4.6,
"reviewsCount": 12,
"postedAt": "3 days ago",
"postingDateParsed": "2026-05-13T05:00:00.000Z",
"isExpired": false,
"sponsored": false,
"urgentlyHiring": false,
"featuredEmployer": false,
"highVolumeHiring": false,
"indeedApplyable": false,
"externalApplyLink": null,
"companyIndeedUrl": "https://www.indeed.com/cmp/Esolvit-Inc",
"companyLogo": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/accdc390b31c4333972dc79b3e09723e",
"benefits": ["Health insurance", "401(k)", "Paid time off"],
"description": "Job title: Sr. System Analyst, Python Developer ... full job description ...",
"descriptionHTML": "<div><p><b>The Company</b></p> ... </div>",
"companyInfo": {
"indeedUrl": "https://www.indeed.com/cmp/Esolvit-Inc",
"reviewsUrl": "https://www.indeed.com/cmp/Esolvit-Inc/reviews",
"rating": 4.6,
"reviewsCount": 12,
"headerImageUrl": "https://...",
"employerActivity": null
},
"searchInput": { "position": "python developer", "location": "Austin, TX", "country": "US" },
"scrapedAt": "2026-05-16T16:30:00.000Z"
}

Pricing

This actor uses pay-per-event pricing on the Apify platform:

EventPrice
Per job result$0.003

Apify's standard subscription tiers (Bronze, Silver, Gold, Platinum, Diamond) apply automatic discounts on top.

Approximate run cost:

  • 100 jobs: ~$0.30
  • 500 jobs: ~$1.50
  • 1,000 jobs (single search cap): ~$3.00

Set maxItemsPerSearch to control spend per run, and configure maxTotalChargeUsd on the run options for a hard ceiling.

Frequently asked questions

Does this actor require an Indeed account or API key?

No. The actor uses Indeed's public mobile search pages. It mints its own Cloudflare session cookies automatically on each run and refreshes them as they expire. You do not paste any cookies, sessionids, or login credentials.

How fresh is the data?

Real-time. Every run hits Indeed live; there is no internal cache. Job postings appear in results within minutes of being posted on Indeed.

Why mobile pages?

Indeed soft-blocks unauthenticated pagination on desktop search results beyond the first page, redirecting to a sign-in challenge. The mobile search path (/m/jobs) paginates cleanly through the full result set without any sign-in prompt, so we use it. The data is identical to what desktop shows.

What is the per-search ceiling?

Indeed caps any single search at about 1,000 results, regardless of scraper. For very large pulls, split your query by date freshness (fromage=1, then =3, =7, ...), by location, or by sub-keyword, then deduplicate on id. The actor's saveOnlyUniqueItems flag handles dedup automatically across the same run.

Can I scrape company reviews or salaries pages?

This actor focuses on job listings (with company rating + review count attached to each job). Standalone company reviews and salary aggregation are separate use cases; consider building them as follow-up actors that consume this one's output.

Do I need residential proxies?

Residential is strongly recommended. Indeed sits behind Cloudflare, which TLS-fingerprints clients. The actor uses Chrome impersonation (BoringSSL via impit) to pass the TLS gate, but datacenter IP reputation can still trigger challenges under sustained load. Apify's RESIDENTIAL proxy group is the default proxy setting and is sufficient for most runs.

What happens if a request gets blocked?

The actor detects Cloudflare 403s, soft-block sign-in redirects, and 429 rate limits, retires the affected proxy session, and retries with a fresh session. After 5 failed retries on a single page, that page is logged and skipped; the run continues with the rest.

Other actors you might like

More Apify scrapers built by Cirkit are listed at apify.com/cirkit.