Indeed Jobs Scraper - Most Comprehensive
Pricing
from $0.06 / 1,000 jobs
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
Maintained by CommunityActor 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:Namereturns 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:
| Syntax | Matches |
|---|---|
data engineer | Broadest: 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 -travel | Excludes postings containing "travel" |
company:Google | All 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:
| Keyword | Relevant titles in first 100 results |
|---|---|
data engineer | 53/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):
| Parameter | Type | Default | Description |
|---|---|---|---|
| keyword | string | - | Job title, skill, or a search-operator expression like title:("Data Engineer") or company:Name (see Search operators) |
| location | string | - | City, state, or ZIP code |
| country | select | US | 54 countries supported |
| maxItems | number | 20 | Maximum number of job listings to scrape. Set to 0 for no limit. |
| radius | select | 35 | Search distance: 0 to 100 |
| radiusUnit | select | miles | miles or km |
| sort | select | relevance | relevance or date |
| fromDays | select | any | Posted within 1, 3, 7, or 14 days |
| jobType | select | any | Full-time, Part-time, Contract, Temporary, Internship |
| remote | select | any | Remote or Hybrid |
Note: In
basicanddetailedmodes, the Date filter cannot be combined with Job Type or Remote (Indeed API limitation); only the Date filter is applied. Userichmode to combine them.
Lookup mode (job keys):
| Parameter | Type | Default | Description |
|---|---|---|---|
| jobKeys | string[] | - | Indeed job keys to look up. Returns full data including expired status. |
| country | select | US | Country for the job lookup |
When
jobKeysis provided, search parameters are ignored.
Advanced:
| Parameter | Type | Default | Description |
|---|---|---|---|
| searchMode | select | basic | basic: fastest (1000+). detailed: more data per job (1000+, slower). rich: extra fields (~450 max). |
| proxyConfig | object | Apify datacenter | Optional. 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) | Detailed | Rich | |
|---|---|---|---|
| Results | 1000+ | 1000+ | ~450 max |
| Speed | Fastest | Slower | Moderate |
| Hiring insights | No | Yes | No |
| Benefits & requirements | Pre-classified | Detailed (with strictness) | Pre-classified |
| Sponsored detection | No | No | Yes |
| Working hours | No | No | Yes |
| Salary source | Yes | Yes | Yes |
| Company branding | No | No | Yes |
| Employer-provided attributes | Yes | Yes | Yes |
| Click tracking URL | Yes | Yes | Yes |
| Employer responsiveness | Yes | Yes | Yes |
| Apply count | No | No | Yes |
| Best for | Maximum speed & coverage | In-depth job analysis | Competitive analysis |
Limitations
- In
basicanddetailedmodes, the Date filter cannot be combined with Job Type or Remote (Indeed API limitation);richmode 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.countis the number of star ratings;ratings.reviewCountis the number of written reviews. They often differ. - Rich mode returns ~450 results max (Indeed's search limit).
isSponsored,applyCount,employerResponsivesignals are only available in Rich mode.- Hiring insights, detailed benefits, and requirements with strictness are only available in Detailed mode.