Indeed Salaries Universal Scraper avatar

Indeed Salaries Universal Scraper

Pricing

from $2.04 / 1,000 results

Go to Apify Store
Indeed Salaries Universal Scraper

Indeed Salaries Universal Scraper

๐Ÿ’ฐ Scrape Indeed salaries of any company by name or URL: one clean row per job title with the median salary, currency & period, number of salary reports, job category and the detail-page link. Works on 20 Indeed country sites. No login, pay per result.

Pricing

from $2.04 / 1,000 results

Rating

0.0

(0)

Developer

Scrapifier

Scrapifier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Indeed Salaries Scraper

Scrape salary data of any company from Indeed by company name or by pasting its Indeed company-page URL, and export it as JSON, CSV or Excel, or pull it straight from the API.

โšก One clean row per job title: the median salary with its currency and period (yearly, monthly, hourly), the number of salary reports behind it, the job category (Sales, Software Development, Management...) and the link to the title's detailed salary page. Works on 20 Indeed country sites, with no login and no cookies: Apify's built-in proxy is used automatically. You pay per row.

Apify Actor

๐ŸŽฏ Why scrape Indeed salaries?

  • Salary benchmarking: what does a company actually pay per role, according to its own employees? One run gives you the whole pay table.
  • Compensation planning: compare your salary bands against competitors, role by role, with the number of reports as a confidence signal.
  • Recruiting and offers: know the median for the role before making or negotiating an offer.
  • Market research: Indeed's salary base skews to frontline and hourly roles, a population Glassdoor covers less. Combine both for full coverage.
  • Due diligence: labor cost structure of a target company, by category and role.

๐Ÿ“Š What data does Indeed Salaries Scraper extract?

FieldDescription
company, companySlugCompany name and its Indeed page slug
categoryJob category (Sales, Software Development, Management...)
jobTitle, normalizedJobTitleThe job title, as displayed and normalized by Indeed
medianSalaryMedian salary as a number
medianSalaryTextMedian salary as displayed, with currency ($164,448)
salaryPeriodYEARLY, MONTHLY, HOURLY...
reportedSalaryCountNumber of salary reports behind the median
urlThe title's detailed salary page on Indeed
matchedInputThe company name or URL that produced this row

Every field is a flat column, so CSV and Excel exports need no post-processing.

๐Ÿš€ How to scrape Indeed salaries

  1. Type one or more Company names as they appear on Indeed (Google, Walmart), or paste Indeed company URLs (any /cmp/... page, from any country domain).
  2. Optionally cap Max job titles per company.
  3. Click Start. The Actor collects the overview table, then each job-category page (?job_category=).
  4. Open the Storage tab to preview the rows and export them as JSON, CSV, Excel or XML, or read them from the dataset API.

The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule for quarterly benchmarks.

๐Ÿ“ฅ Input parameters

FieldKeyTypeDefaultDescription
Company namescompanyNamesarray of strings["Google", "Walmart"] (prefill)Company names as on Indeed; spaces are fine, Indeed's own redirect finds the right page.
Indeed company URLsstartUrlsarray of URLsnoneAny Indeed company page (/cmp/Google, /cmp/Google/salaries), from any country domain.
Max job titles per companymaxTitlesPerCompanyinteger00 = every title Indeed shows on the company's salaries page.
Indeed country sitecountryselectwwwDomain used for company names, one of 20 (pasted URLs keep their own domain). Sets market and currency.
Flatten outputflattenbooleanfalseOutput is already flat; reserved for future nested fields.
Report input statusemitInputStatusbooleantrueWrite an input_status report to the run's OUTPUT record.
Max retriesmaxChallengeRetriesinteger3How many times to retry a page before giving up.
Proxy configurationproxyConfigurationobjectApify Proxy onKeep Apify Proxy on. A residential proxy gives the most reliable runs.

Example input:

{
"companyNames": ["Google", "Walmart"]
}

๐Ÿ“ค Output example

Each job title is one dataset item, exportable as JSON, CSV, Excel or via the API.

{
"company": "Google",
"companySlug": "Google",
"category": "Sales",
"jobTitle": "Account Manager",
"normalizedJobTitle": "account manager",
"medianSalary": 122797.0,
"medianSalaryText": "$122,797",
"salaryPeriod": "YEARLY",
"reportedSalaryCount": 8,
"url": "https://www.indeed.com/cmp/Google/salaries/Account-Manager",
"matchedInput": "Google"
}

The run's OUTPUT record also holds the statistics and, per company, an input_status entry with the rows collected and the status (ok, empty_or_not_found, error).

๐Ÿ’ก Ready-to-run examples

Two companies' full pay tables (tested)

{ "companyNames": ["Google", "Bustle Digital Group"] }

Retail giants compared

{ "companyNames": ["Walmart", "Target", "Costco Wholesale"] }

From a company URL

{ "startUrls": [{ "url": "https://www.indeed.com/cmp/Amazon.com/salaries" }] }

Quarterly benchmark: schedule the Actor with your company and its competitors in companyNames and chart medianSalary per normalizedJobTitle over time.

๐Ÿ’ฐ Pricing: how much does it cost to scrape Indeed salaries?

From $3.00 per 1,000 rows on the free plan, with automatic volume discounts down to $2.04 per 1,000 on higher Apify plans. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.

One company usually yields between 20 and a few hundred rows, so a full benchmark of a dozen competitors costs a few cents.

โš™๏ธ Performance, proxies and limits

  • Proxy: keep the default Apify Proxy setting. A residential proxy gives the most reliable runs.
  • First page: the first page of a run can take up to a minute; the rest are fast.
  • Coverage: the overview page is only a preview (~20โ€“30 titles). The Actor then fetches every job_category page Indeed links, so large employers return far more rows. Titles with very few reports may still be missing.
  • Company names: resolved through Indeed's own company search, then the /cmp/{slug}/salaries page. If a name misses, paste the company URL instead.
  • Blocked runs: if a run ends without results after all retries, try again later or raise maxChallengeRetries.

๐Ÿ”Œ Integrations and API

Run Indeed Salaries Scraper from the Apify API, the Python or JavaScript client, or on a schedule. Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through Apify integrations. Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.

curl -X POST "https://api.apify.com/v2/acts/scrapifier~indeed-salaries-universal-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "companyNames": ["Google"] }'

โ“ FAQ

Is it legal to scrape Indeed salary data?

The Actor only reads salary aggregates that Indeed publishes to anyone without logging in. They are statistics, not individual salaries, but still respect Indeed's terms of use and stay responsible for how you use the data. This is not legal advice.

Do I need an Indeed account, login or cookies?

No. Nothing to log in to, no cookies to paste, and the default proxy setting just works.

Can I export Indeed salaries to Excel or Google Sheets?

Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML from the Storage tab, and the Google Sheets integration can push rows to a sheet automatically. Every field is already a flat column.

Where do the figures come from?

They are Indeed's own medians, computed from salaries reported by employees and job postings. The reportedSalaryCount column tells you how many reports back each median.

How many rows does one company return?

The job titles Indeed lists on the company's salaries pages (overview + each category), typically dozens to a few hundred depending on company size.

Does it work outside the US?

Yes. Pick one of the 20 Indeed domains in country or paste a company URL from any of them; currency and figures follow that market.

How is this different from Glassdoor salaries?

Different reporting population (Indeed skews to frontline and hourly roles) and different structure: Indeed gives one median per title, while Glassdoor gives ranges and percentiles. The sibling Glassdoor Salaries Scraper below covers the latter.

๐Ÿ’ฌ Support

Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If Indeed Salaries Scraper saves you time, a rating on the Store helps others find it.