Indeed Jobs Scraper - Most Comprehensive avatar

Indeed Jobs Scraper - Most Comprehensive

Pricing

from $0.06 / 1,000 jobs

Go to Apify Store
Indeed Jobs Scraper - Most Comprehensive

Indeed Jobs Scraper - Most Comprehensive

πŸ”₯ ~$0.06/1K jobs πŸ”₯ Extract accurate, structured job data from Indeed. Get ALL page results, not just the first page. 60+ fields per job with pre-parsed salary, verified company profiles, GPS coordinates, and hiring signals. 54 countries. Fast, low cost

Pricing

from $0.06 / 1,000 jobs

Rating

5.0

(4)

Developer

Kai

Kai

Maintained by Community

Actor stats

23

Bookmarked

1.8K

Total users

772

Monthly active users

14 hours

Issues response

3 days ago

Last modified

Categories

Share

The most complete Indeed scraper. 150+ fields per job, more than any other actor. Salary in dollars and cents, employer-provided attributes, CEO names, social links, click tracking URLs, hiring insights, GPS coordinates, company financials, and structured attributes across skills, benefits, certifications, requirements, and more.

Why use this scraper?

  • Scrapes hundreds of jobs in seconds, not minutes
  • Minimal compute usage per run, so platform fees stay tiny
  • 150+ fields per job: pre-parsed salary, GPS coordinates, company dossier, normalized titles, employer tier, feed metadata, hiring insights, and more
  • Exclusion-based skill extraction automatically classifies ~5000+ skills by filtering out known non-skill categories (benefits, certifications, education, etc.)
  • Three search modes: Basic (fastest), Detailed (more data per job), or Rich (extra fields)
  • Full pagination: collects every matching job, not just the first page
  • 54 countries supported, in miles or kilometers
  • Company search via company:Name returns all jobs from a specific employer
  • Job lookup by key returns full data including expired status
  • Clean nested output: title{}, urls{}, classification{}, workArrangement{}, salary{}, apply{}, company{}, dates{}, signals{}, requirements{}, meta{}

Use cases

  • Analyze hiring trends, salary ranges, and demand by role or location
  • Benchmark compensation across companies, roles, and regions
  • Monitor competitor hiring activity and open positions
  • Build databases of hiring companies with industry, size, revenue, and CEO data
  • Feed structured job data into your own job board or app
  • Track job type distribution, benefits offered, and skills in demand

How to use

Search by keyword + location

{
"keyword": "Data Analyst",
"location": "New York, NY",
"country": "US",
"maxItems": 200,
"sort": "date",
"fromDays": "7"
}

Search by zipcode

{
"keyword": "software engineer",
"location": "10001",
"country": "US",
"radius": "25",
"radiusUnit": "miles",
"maxItems": 50
}

Search by company

{
"keyword": "company:Google",
"location": "San Francisco, CA",
"maxItems": 100
}

Strict title matching (only jobs with your phrase in the title)

By default, Indeed matches your keyword anywhere in the job posting, so a search for Senior Data Engineer also returns other senior and engineering roles. Use the title: operator to return only jobs whose title contains your phrase (e.g. "Senior Data Engineer, Risk" still matches):

{
"keyword": "title:(\"Senior Data Engineer\")",
"location": "United States",
"maxItems": 100
}

Search operators

The keyword field supports Indeed's full search syntax. Operators can be combined:

SyntaxMatches
data engineerBroadest: words anywhere in the posting, plus related roles
"data engineer"Exact phrase anywhere in the posting
title:(data engineer)All words in the job title, any order
title:("data engineer")Exact phrase in the job title (strictest)
title:("data engineer" or "data scientist")Either phrase in the job title
nurse -travelExcludes postings containing "travel"
company:GoogleAll jobs from one employer

Operators can be nested and combined with and, or, not, and parentheses, e.g. title:(designer) -intern (remote or hybrid).

Live comparison: the same search for data engineer in New York, first 100 results:

KeywordRelevant titles in first 100 results
data engineer53/100 contain the phrase, the rest are related roles
title:(data engineer)100/100 contain both words
title:("data engineer")100/100 contain the exact phrase

Tip: Strict title searches match far fewer jobs than broad keyword searches (often dozens instead of thousands). If you get fewer results than maxItems, that's every matching job, not an error.

Filter by job type and remote

{
"keyword": "Software Engineer",
"location": "Austin, TX",
"jobType": "fulltime",
"remote": "remote",
"radius": "50"
}

Search in kilometers (metric countries)

{
"keyword": "Developer",
"location": "Berlin",
"country": "DE",
"radius": "50",
"radiusUnit": "km"
}

Detailed search mode (hiring insights, benefits, requirements)

{
"keyword": "nurse",
"location": "New York",
"searchMode": "detailed",
"maxItems": 100
}

Detailed mode fetches additional data per job: hiring insights, benefits, requirements with strictness levels, and more. Supports 1000+ results but takes longer.

Rich search mode (extra fields, fewer results)

{
"keyword": "nurse",
"location": "New York",
"searchMode": "rich",
"maxItems": 100
}

Rich mode returns fewer results (~450 max) but includes extra fields: salary details, apply count, employer responsiveness, working hours, and company branding.

Look up specific jobs by key

Check if jobs are still active (returns expired status):

{
"jobKeys": ["5e5dafc2a80c214d", "550a48652b44bb83"],
"country": "US"
}

Input

Search mode (keyword + location):

ParameterTypeDefaultDescription
keywordstring-Job title, skill, or a search-operator expression like title:("Data Engineer") or company:Name (see Search operators)
locationstring-City, state, or ZIP code
countryselectUS54 countries supported
maxItemsnumber20Maximum number of job listings to scrape. Set to 0 for no limit.
radiusselect35Search distance: 0 to 100
radiusUnitselectmilesmiles or km
sortselectrelevancerelevance or date
fromDaysselectanyPosted within 1, 3, 7, or 14 days
jobTypeselectanyFull-time, Part-time, Contract, Temporary, Internship
remoteselectanyRemote or Hybrid

Note: In basic and detailed modes, the Date filter cannot be combined with Job Type or Remote (Indeed API limitation); only the Date filter is applied. Use rich mode to combine them.

Lookup mode (job keys):

ParameterTypeDefaultDescription
jobKeysstring[]-Indeed job keys to look up. Returns full data including expired status.
countryselectUSCountry for the job lookup

When jobKeys is provided, search parameters are ignored.

Advanced:

ParameterTypeDefaultDescription
searchModeselectbasicbasic: fastest (1000+). detailed: more data per job (1000+, slower). rich: extra fields (~450 max).
proxyConfigobjectApify datacenterOptional. ISP/residential proxies reduce blocking.

Output

Each job listing contains 150+ structured fields:

Job details

{
"id": "5e5dafc2a80c214d",
"refNum": "12345",
"title": {
"text": "Senior Data Analyst",
"normalized": "data analyst"
},
"urls": {
"indeed": "https://www.indeed.com/viewjob?jk=5e5dafc2a80c214d",
"external": "https://careers.example.com/job/12345",
"apply": "https://www.indeed.com/applystart?jk=...",
"clickTracking": "http://www.indeed.com/rc/clk?jk=..."
}
}

Description

description{text, html} snippet

Classification & Work arrangement

classification{jobType, occupations, primaryOccupation, skills, languages, attributes{all, employerProvided}, employerProvidedOccupations} workArrangement{isRemote, locationType, remoteWorkType, remoteAttributes, shift, schedule, workSchedule, workingHours, travel}

Skills are extracted using an exclusion-based approach: all attributes that don't belong to a known non-skill category (benefits, certifications, education, job type, shift, schedule, remote, language, work setting, physical requirements, compensation extras, eligibility, hiring meta, age requirements, experience duration, travel) are classified as skills. This captures ~5000+ unique skills automatically.

Salary & Benefits

{
"salary": {
"text": "$120,000 - $180,000 a year",
"min": 120000,
"max": 180000,
"minCents": "12000000",
"maxCents": "18000000",
"currency": "USD",
"period": "yearly",
"source": "EXTRACTION",
"estimated": false,
"detailed": null,
"extracted": { "min": 120000, "max": 180000, "type": "YEARLY" },
"snippet": { "currency": "USD", "source": "EXTRACTION", "text": "$120,000 - $180,000 a year" },
"extras": ["Hourly pay", "Salary packaging", "Performance bonus"]
},
"benefits": ["Health insurance", "401(k)", "Paid time off"],
"socialInsurance": { "EY33Q": "Health insurance", "FQJ2X": "Dental insurance" }
}

Location (with GPS)

{
"location": {
"formatted": "San Francisco, CA 94105",
"formattedShort": "San Francisco, CA",
"fullAddress": "123 Market St, San Francisco, CA 94105",
"city": "San Francisco",
"state": "CA",
"stateName": "California",
"admin2Code": "075",
"admin2Name": "San Francisco County",
"postalCode": "94105",
"streetAddress": "123 Market St",
"latitude": 37.7749,
"longitude": -122.4194,
"country": "US",
"countryName": "United States"
}
}

Company profile

{
"company": {
"name": "Citi",
"key": "a1b2c3d4e5f6",
"tier": "ENTERPRISE",
"industry": "FINANCIAL SERVICES",
"size": "10,000+",
"revenue": "more than $10B (USD)",
"briefDescription": "Citi is more than a global financial services company...",
"fullDescription": "Citigroup Inc. is an American...",
"brandColor": "#003B70",
"customContents": ["Our Mission", "Life at Citi"],
"urls": {
"website": "http://www.citigroup.com",
"indeed": "https://www.indeed.com/cmp/Citi"
},
"logos": {
"square": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/...",
"rectangular": null,
"header": "https://d2q79iu7y748jz.cloudfront.net/s/_headerimage/..."
},
"ratings": {
"overall": 3.9,
"count": 15234,
"reviewCount": 12500
},
"ceo": { "name": "Jane Fraser", "photoUrl": "..." },
"socialLinks": { "facebook": "https://facebook.com/citi", "twitter": "https://twitter.com/citi", "instagram": null },
"responsiveness": {
"averageResponseTimeDays": 3,
"responseRate": 0.85,
"isActivelyReviewed": true,
"lastActivityTimeInDays": 1
},
"parentEmployer": null,
"phone": null,
"featuredEmployer": false,
"brandingReasons": ["PAID_BRANDING"]
}
}

Dates

dates{posted, onIndeed, validThrough, age, postedToday}

Signals

signals{isExpired, isSponsored, isBrandedJob, isUrgentHire, isHighVolumeHiring, isRepost, isLatestPost, isPlacement, isNew, employerResponsive, applyCount, numHires, matchScores, hiringTags, hiringInsights}

Apply

{
"apply": {
"url": "https://www.indeed.com/applystart?jk=...",
"isEasyApply": true,
"indeedApplyKey": "...",
"scopes": ["DESKTOP", "MOBILE"],
"resumeType": null,
"organicApplyStarts": 42
}
}

Hiring insights

{
"signals": {
"hiringInsights": {
"numOfCandidates": 20,
"employerLastReviewed": "3",
"recurringHireText": "This employer typically hires for this role",
"isHiringEvent": false
}
}
}

Requirements

{
"requirements": {
"certifications": ["CPA", "CFA"],
"qualifications": ["Current TB test", "Reliable transportation"],
"experienceLevel": "Senior level",
"educationLevel": "Bachelor's degree",
"attributes": [{ "key": "JB2WC", "label": "JavaScript", "provenance": "EXTRACTED", "requirementStrength": "PREFERRED" }],
"physicalRequirements": ["Ability to lift 50 pounds", "Ability to stand for extended periods"],
"eligibility": ["Background check", "US work authorization"],
"ageRequirement": ["21 years or older"],
"experienceDuration": ["4 years"]
},
"requiredDocuments": null
}

Meta

{
"meta": {
"source": "Employer Direct",
"feed": {
"isDradis": false,
"sourceType": "EMPLOYER"
},
"language": "en",
"locale": "en_US",
"scrapedAt": "2026-03-31T12:00:00.000Z",
"search": { "keyword": "Data Analyst", "location": "New York, NY" },
"scrapingInfo": { "page": 1, "index": 0 },
"workSetting": ["Office", "Hospital"]
}
}

Performance

  • Hundreds of results in seconds
  • Minimal Apify compute usage per run
  • Pay-per-result pricing: you only pay for jobs delivered, and search operators like title: keep every result relevant

Search modes explained

Basic (default)DetailedRich
Results1000+1000+~450 max
SpeedFastestSlowerModerate
Hiring insightsNoYesNo
Benefits & requirementsPre-classifiedDetailed (with strictness)Pre-classified
Sponsored detectionNoNoYes
Working hoursNoNoYes
Salary sourceYesYesYes
Company brandingNoNoYes
Employer-provided attributesYesYesYes
Click tracking URLYesYesYes
Employer responsivenessYesYesYes
Apply countNoNoYes
Best forMaximum speed & coverageIn-depth job analysisCompetitive analysis

Limitations

  • In basic and detailed modes, the Date filter cannot be combined with Job Type or Remote (Indeed API limitation); rich mode supports the combination.
  • Plain keywords use Indeed's broad matching (words anywhere in the posting, plus related roles). For title-only results, use the title: operator (see Search operators).
  • Company ratings.count is the number of star ratings; ratings.reviewCount is the number of written reviews. They often differ.
  • Rich mode returns ~450 results max (Indeed's search limit).
  • isSponsored, applyCount, employerResponsive signals are only available in Rich mode.
  • Hiring insights, detailed benefits, and requirements with strictness are only available in Detailed mode.