Indeed Salaries Universal Scraper
Pricing
from $2.04 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
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.
๐ฏ 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?
| Field | Description |
|---|---|
company, companySlug | Company name and its Indeed page slug |
category | Job category (Sales, Software Development, Management...) |
jobTitle, normalizedJobTitle | The job title, as displayed and normalized by Indeed |
medianSalary | Median salary as a number |
medianSalaryText | Median salary as displayed, with currency ($164,448) |
salaryPeriod | YEARLY, MONTHLY, HOURLY... |
reportedSalaryCount | Number of salary reports behind the median |
url | The title's detailed salary page on Indeed |
matchedInput | The 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
- 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). - Optionally cap Max job titles per company.
- Click Start. The Actor collects the overview table, then each job-category page (
?job_category=). - 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
| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Company names | companyNames | array of strings | ["Google", "Walmart"] (prefill) | Company names as on Indeed; spaces are fine, Indeed's own redirect finds the right page. |
| Indeed company URLs | startUrls | array of URLs | none | Any Indeed company page (/cmp/Google, /cmp/Google/salaries), from any country domain. |
| Max job titles per company | maxTitlesPerCompany | integer | 0 | 0 = every title Indeed shows on the company's salaries page. |
| Indeed country site | country | select | www | Domain used for company names, one of 20 (pasted URLs keep their own domain). Sets market and currency. |
| Flatten output | flatten | boolean | false | Output is already flat; reserved for future nested fields. |
| Report input status | emitInputStatus | boolean | true | Write an input_status report to the run's OUTPUT record. |
| Max retries | maxChallengeRetries | integer | 3 | How many times to retry a page before giving up. |
| Proxy configuration | proxyConfiguration | object | Apify Proxy on | Keep 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_categorypage 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}/salariespage. 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.
๐ Related scrapers
- Indeed Jobs Scraper: job listings from any Indeed country site, with salaries and full descriptions.
- Indeed Company Reviews Scraper: employee reviews with ratings, pros and cons.
- Glassdoor Salaries Scraper: salary ranges and percentiles per job title and company.
- Glassdoor Company Overview Scraper: the full company profile by name or URL.
- Welcome to the Jungle Jobs Scraper: jobs and company profiles, France and Europe.
๐ฌ 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.