Indeed Jobs Scraper - Salaries, Company Data & Descriptions avatar

Indeed Jobs Scraper - Salaries, Company Data & Descriptions

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Indeed Jobs Scraper - Salaries, Company Data & Descriptions

Indeed Jobs Scraper - Salaries, Company Data & Descriptions

Indeed jobs scraper and job postings API. Search Indeed by keyword, location, country, job type, remote, salary and date. Get full job descriptions, parsed salary data, benefits, skills, company profiles (CEO, revenue, size) and apply URLs across 15 countries. No login or API key. JSON, CSV, Excel.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Indeed Jobs Scraper - Salaries, Company Data & Descriptions

Indeed Jobs Scraper - Salaries, Company Data & Descriptions

Here is one real result, with the fields the actor returns:

{
"jobId": "1869108ab3292b8a",
"title": "Private Duty Nursing RN/LVN - Round Rock, $1,000 sign on bonus",
"company": "Strive Health Services, LLC",
"companyId": "5f25398974d5e0cc",
"location": "Round Rock, TX",
"city": "Round Rock",
"state": "TX",
"country": "us",
"postalCode": null,
"isRemote": false,
"jobLocationType": "remote",
"employmentType": [
"Part-time",
"Full-time"
],
"salaryText": "$26 - $39 an hour",
"salaryMin": 26,
"salaryMax": 39,
"salaryPeriod": "hourly",
"salaryCurrency": "USD",
"salaryEstimated": false,
"occupationalCategory": "Registered Nurses, Licensed Practical Nurses",
"skills": [
"Critical & Intensive Care",
"Home Health"
],
"qualifications": [
"RN License or LVN License",
"RN License or LVN License (Required)",
"Work authorization (Required)"
],
"shift": [
"Night shift",
"Day shift",
"Overnight shift"
],
"schedule": [
"Night shift",
"Day shift",
"Monday to Friday",
"3x12",
"4x12",
"Weekends as needed",
"Rotating weekends",
"5x8",
"Holidays",
"Overnight shift"
],
"benefits": [
"Referral program",
"Health insurance",
"Paid time off",
"Vision insurance",
"Dental insurance",
"Life insurance",
"Paid holidays",
"Flexible schedule"
],
"description": "Strive Health Services, LLC is a family owned and operated homecare agency located in Georgetown, TX. With a focus in Private Duty Nursing, Strive employs Registered Nurses and Licensed Vocational ...",
"companyRating": 3.9,
"companyReviewCount": 35,
"companyLogo": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/197282525b65bc02a71a3883235ccb45",
"companyCeo": "Sierrah Edmonds",
"companyFoundedYear": 2017,
"companyIndustry": "Healthcare",
"companyRevenue": null,
"companySize": "1 to 51",
"companyHeadquarters": "Georgetown, TX",
"companyWebsite": "https://www.strivehs.com",
"companyDescription": "Strive Health Services, LLC is a family owned and operated licensed homecare agency specializing in Private Duty Nursing since ...",
"relativeDate": "19 days ago",
"postedDate": "2026-08-05T05:00:00.000Z",
"validThrough": null,
"isExpired": false,
"isUrgentlyHiring": false,
"isNewJob": false,
"easyApply": true,
"directApply": true,
"applyType": "easy_apply",
"sponsored": true,
"isStaffingAgency": false,
"jobKey": "1869108ab3292b8a",
"url": "https://www.indeed.com/viewjob?jk=1869108ab3292b8a",
"indeedUrl": "https://www.indeed.com/viewjob?jk=1869108ab3292b8a",
"companyUrl": "https://www.indeed.com/cmp/Strive-Health-Services-1",
"applyUrl": "https://www.indeed.com/applystart?jk=1869108ab3292b8a&from=jobsearch",
"externalApplyUrl": null,
"latitude": null,
"longitude": null,
"searchInput": "registered nurse | Austin, TX",
"observedAt": "2026-08-25T20:16:46.164Z",
"error": null
}

The most complete Indeed scraper and job postings API for extracting Indeed jobs data at scale, with no login and no API key. It returns every field a posting exposes, including the full job description as text and HTML, salary data parsed into salaryMin, salaryMax, salaryPeriod and salaryCurrency, benefits, skills, qualifications, shift and schedule, the occupational category, the apply URL, and an optional full company profile (CEO, founded year, industry, company size, headquarters and website) for recruiting and talent-sourcing workflows. It gives you the widest set of input filters of any Indeed scraper: keyword and location lists, 15 country sites, direct search and job URLs, job type, experience level, remote or onsite, minimum salary, date posted, radius, company and staffing filters.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Indeed for one or more keywords across one or more locations, in any of 15 country sites, applies the filters you pass, and writes one normalized record per posting. You can also paste direct Indeed search, company or job URLs. Search results already carry title, company, location, salary parsed into numbers, company rating and review count, posting date and a snippet. With withDetails on (default), each posting is opened to add the full description, employment type, benefits, skills, qualifications, shift, schedule, occupational category, apply URL and expiry.

Two optional enrichments reuse the details fetch: scrapeCompanyDetails adds the employer profile (CEO, revenue, industry, founded year, company size, headquarters, website), and resolveApplyUrl follows Indeed's apply redirect to the employer or ATS site. Three AI add-ons (job summary, skills and seniority, salary estimate) are available on paid Apify plans and are billed only when they produce output. No login, cookies or API key are required.

How we compare

Objective comparison against the most-installed direct Indeed scrapers on the Apify Store. Figures are the adoption and list prices shown on each actor's Store page at the time of writing and can change.

CapabilityThis actor (scrapers_lat)misceres/indeed-scrapercurious_coder/indeed-scrapermemo23/apify-indeeddataharbor/indeed-scraper
Keyword + location searchYes (multi keyword and multi location)YesYesURL onlyYes
Direct search / job URLsYes (both)YesNoYes (URL driven)Yes
Country sites15ManyManyvia URLMany
Job type filterYesNoNovia URLNo
Experience level filterYesNoNovia URLNo
Remote / onsite filterYesNoNovia URLNo
Minimum salary filterYesNoNoNoNo
Date posted filterYesNoYesvia URLYes (max age)
Radius filterYesNoYesvia URLNo
Company filterYesNoNoNoNo
Staffing-agency flag / excludeYesNoNoNoYes
Parsed salary min/max/currencyYesYesYesYesYes
Full descriptionYesYesYesYesYes
BenefitsYesWith optionYesYesWith option
Skills / qualificationsYesNoYesYesPartial
Shift / scheduleYesNoPartialPartialNo
Occupational categoryYesNoYesNoNo
Company profile (CEO, revenue, size, founded)Yes (opt-in)NoPartial (CEO)YesWith option
External apply URL resolvedYes (opt-in)With optionYesYesWith option
AI summary / skills / salary estimate add-onsYesNoNoNoNo
Description as HTML and textYes (both)TextTextTextText
Valid fields per record70+~3040+40+~30
No charge on failed or empty runsYesVariesVariesVariesVaries
Pricing modelPay per resultPay per resultMonthly rental + usageMonthly rental + usagePay per result

Where competitors win, stated honestly:

  • Price. misceres lists about 3.00 USD per 1,000 results and curious_coder about 0.73 USD per 1,000. Our pay-per-result price is higher. If raw cost per row is your only concern, they are cheaper.
  • Adoption. misceres (tens of thousands of users) and curious_coder (thousands) have far more installs and reviews than this actor. We are newer.
  • Results from a single query. Indeed gates pagination past the first organic page for anonymous traffic, so one keyword plus location returns roughly one page of jobs. Scrapers built on heavier or authenticated infrastructure can return more rows from a single query. We offset this by letting you pass many keywords and locations in one run, plus direct URLs, and we never silently truncate.
  • Coordinates. We return latitude and longitude only when the posting exposes them, so they are frequently null. Some competitors surface coordinates more consistently.

Where we win: the widest set of input filters (job type, experience, remote, salary, company, date, radius, direct URLs and multi-search together), the largest set of valid output fields in a single record, opt-in company profile and AI add-ons, and no charge on failed or empty runs.

Quickstart

Open the actor, paste this into the input, and press Run.

{
"keyword": "software engineer",
"location": "New York",
"country": "us",
"maxJobs": 25,
"withDetails": true,
"scrapeCompanyDetails": true
}

Multi-search and direct URLs in one run:

{
"keywords": ["registered nurse", "physical therapist"],
"locations": ["Austin, TX", "Dallas, TX"],
"country": "us",
"jobType": "fulltime",
"fromDays": "7",
"maxJobs": 100,
"jobUrls": ["https://www.indeed.com/viewjob?jk=1869108ab3292b8a"]
}

Input reference

FieldTypeRequiredDescription
keywordstringone of keyword/keywords/searchUrls/jobUrlsJob search keyword, for example "software engineer".
keywordsarrayNoSeveral keywords in one run. Each is combined with each location.
locationstringNoCity, state, region or postal code. Empty searches the whole country.
locationsarrayNoSeveral locations in one run.
countrystringNoIndeed country site: us, uk, ca, au, de, es, mx, br, fr, it, nl, in, ie, sg, nz.
searchUrlsarrayNoDirect Indeed search or company jobs URLs.
jobUrlsarrayNoDirect Indeed job posting URLs (viewjob?jk=...).
maxJobsintegerNoMaximum postings across all searches. Free accounts capped at 10 per run.
withDetailsbooleanNoOpen each posting for full detail. Default true.
sortstringNorelevance (default) or date.
fromDaysstringNoPosted within 1, 3, 7 or 14 days.
jobTypestringNofulltime, parttime, contract, temporary or internship.
experienceLevelstringNoentry_level, mid_level or senior_level.
remotestringNoremote, hybrid or onsite.
radiusintegerNoMiles from the location, max 100.
salaryMinintegerNoDrop jobs whose disclosed salary is below this. Unknown-salary jobs kept.
companystringNoOnly keep jobs whose company name contains this text.
uniqueCompaniesbooleanNoAt most one job per company.
excludeStaffingAgenciesbooleanNoDrop staffing and recruiting agency postings.
scrapeCompanyDetailsbooleanNoAdd the employer profile (CEO, revenue, industry, founded, size, HQ, website).
resolveApplyUrlbooleanNoResolve the external employer or ATS apply URL.
withJdSummarybooleanNoPaid AI add-on. 2 to 3 sentence job summary.
withSkillsbooleanNoPaid AI add-on. Skills and seniority from the description.
withSalaryEstimatebooleanNoPaid AI add-on. Salary estimate when none is disclosed.

Output reference

FieldTypeDescription
jobId, jobKeystringIndeed job identifier.
titlestringJob title.
companystringEmployer name.
companyIdstringEncrypted Indeed company id.
location, city, state, postalCode, countrystringLocation parts.
isRemote, jobLocationTypeboolean, stringRemote flag and work setting.
employmentTypearrayFull-time, Part-time, Contract, etc.
salaryTextstringSalary as shown on Indeed.
salaryMin, salaryMaxnumberParsed salary bounds.
salaryPeriod, salaryCurrencystringPay period and ISO currency.
salaryEstimatedbooleanTrue when the salary is an Indeed estimate.
occupationalCategorystringOccupational taxonomy for the role.
skillsarraySkills / attributes.
qualificationsarrayQualifications and requirements.
shift, schedulearrayShift and schedule attributes.
benefitsarrayEmployer benefits.
descriptionstringFull job description text.
descriptionHtmlstringFull job description as sanitized HTML.
companyRating, companyReviewCountnumberIndeed employer rating and reviews.
companyLogostringEmployer logo URL.
companyCeo, companyRevenue, companyIndustry, companyFoundedYear, companySize, companyHeadquarters, companyWebsite, companyDescriptionstring, numberCompany profile (with scrapeCompanyDetails).
relativeDate, postedDatestringRelative and ISO posting date.
validThrough, isExpiredstring, booleanApplication deadline and expiry.
isUrgentlyHiring, isNewJob, sponsoredbooleanPosting flags.
easyApply, directApply, applyTypeboolean, stringIndeed Apply support and apply type.
isStaffingAgencybooleanHeuristic staffing / recruiting flag.
url, indeedUrlstringIndeed posting URL.
companyUrlstringIndeed company page URL.
applyUrlstringIndeed apply URL.
externalApplyUrlstringEmployer or ATS apply URL (with resolveApplyUrl).
latitude, longitudenumberCoordinates when exposed.
searchInputstringThe keyword/location or URL that produced this record.
observedAtstringScrape timestamp.

Run via API and CLI

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~indeed-jobs-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"software engineer","location":"New York","country":"us","maxJobs":25,"withDetails":true}'
$apify call scrapers_lat/indeed-jobs-scraper --input '{"keyword":"registered nurse","location":"Austin, TX","scrapeCompanyDetails":true}'

Fetch results

$curl "https://api.apify.com/v2/acts/scrapers_lat~indeed-jobs-scraper/runs/last/dataset/items?token=YOUR_TOKEN&format=json"

Export the dataset as JSON, CSV or Excel from the run's Storage tab or the API.

Billing and limits

  • Pay per result. You are billed the result event once per returned job, plus the details event once per posting when the full detail is fetched.
  • No charge on failure. Failed or empty runs return no billable results. Error rows are written without billing.
  • Free preview. Free Apify accounts are capped at 10 results per run. Upgrade for unlimited.
  • Spend cap. Set maxTotalChargeUsd on the run. The actor stops emitting billable results once the cap is reached.
  • Add-ons. AI add-ons are opt-in, disabled for free accounts, and billed only when they produce output. Company profile and apply-URL resolution reuse the details fetch and add no separate charge.

FAQ and troubleshooting

How many jobs do I get per keyword? Indeed gates pagination past the first organic page for anonymous traffic, so expect roughly one page per keyword plus location. Add more keywords, locations or direct URLs to widen coverage. The actor never silently truncates.

Why are some company profile fields null? Only employers that publish that information on Indeed expose it. Small or unclaimed companies often have no CEO, revenue or founded year listed, so those fields are honestly null.

Why is a salary sometimes missing? Many employers do not disclose pay. When Indeed shows an estimate, salaryEstimated is true.

Do I need a proxy or login? No. Anti-bot handling and proxying are built in. You never configure a proxy, provide cookies or manage an API key.

Can I use this as an Indeed jobs API? Yes. Run it on demand or on a schedule through the Apify API and pull the results as JSON, CSV or Excel. It works as a job listings API and job postings data feed for recruiting, talent sourcing, salary benchmarking and market research, without an official Indeed API key.

Which countries are supported? United States, United Kingdom, Canada, Australia, Germany, Spain, Mexico, Brazil, France, Italy, Netherlands, India, Ireland, Singapore and New Zealand.

More scrapers at scrapers.lat

Explore the full catalog of company, jobs, finance and web data scrapers at scrapers.lat.


This actor is not affiliated with, endorsed by, or sponsored by Indeed. It collects publicly available information only. Use the data in compliance with applicable laws and terms.