Indeed Salary Scraper — Pay by Title, State & Employer
Pricing
from $17.00 / 1,000 job titles
Indeed Salary Scraper — Pay by Title, State & Employer
Find out what a role actually pays. One row per job title: the average pay and the 10th-to-90th percentile spread, the same figures for every one of the 51 US regions, the employers paying most, the top-paying cities, and the pay for the titles either side of it on the ladder.
Pricing
from $17.00 / 1,000 job titles
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Indeed Salary Scraper
Find out what a job title pays. One row per title, carrying the average pay and the 10th to 90th percentile spread, the same figures broken down across all 51 US regions, the employers paying most for the title, the top-paying cities, the pay for the titles either side of it on the ladder, and non-salary compensation such as cash bonuses.
All of it comes from one request per title. There is no per-state pass to run and nothing to paginate.
Accepted input
titles is required and is a list of job titles, one per line. Spaces are fine:
software engineer and software-engineer are the same request, and a title listed both ways
is priced once.
location optionally scopes every title to one city and state, such as San Francisco, CA.
Leave it empty unless the local distribution itself is the answer — a nationwide row already
contains the per-region breakdown and the top-paying cities, so scoping costs the same request
and returns less than the nationwide answer already held.
maxItems bounds the rows saved. It is unbounded by default here, because the list of titles
is already the bound.
{"titles": ["software engineer", "registered nurse", "data analyst"]}
Response fields
{"requested_title": "software-engineer","title": "Software Engineer","country": "US","salary_period": "YEARLY","salary_mean": 147240.69,"salary_median": null,"salary_standard_deviation": 63041.46,"percentile_10": 80008.26,"percentile_90": 228992.18,"salary_currency": "USD","regions": [{ "region": "WA", "name": "Washington", "yearly_avg_salary": 114226, "sample_count": 1290 }],"top_paying_companies": [{ "name": "Netflix", "salary_mean": 268400, "salary_count": 214, "rating": 4.2 }],"top_paid_cities": [{ "name": "San Jose, CA", "salary": { "mean": 168000 } }],"related_titles": [{ "title": "senior software engineer", "salary_mean": 168200 }],"compensations": [{ "type": "CASH_BONUS", "mean": 5000 }],"last_updated_at": "2026-08-09T14:44:30.000Z"}
Fields absent from a title's aggregates are returned as null rather than omitted, so every row has the same shape.
regions is the field worth building on. One row holds all 51 US regions — every state plus
the District of Columbia — each with its own average and sample count. A measured run for
software engineer returned 51 regions and 53 top-paying employers from a single request.
salary_mean is the headline figure and salary_period says what period it is quoted over.
A title paid by the hour is summarised hourly, so a run mixing hourly and salaried titles must
read the period before comparing two rows. percentile_10 and percentile_90 give the shape
of the distribution where the average alone gives only its centre; on the measured run they
were 80,008 and 228,992 around an average of 147,241, which is a far wider band than a single
number suggests.
national and local carry the full aggregates the flat columns were lifted from, including
the same population restated hourly, daily, weekly, monthly and yearly — useful for comparing
an hourly role against a salaried one without assuming an hours-per-year figure.
top_paying_companies names employers, each with its mean, sample count and rating. Every
name in it can be handed to
Indeed Company Scraper for the full
employer profile.
related_titles prices the adjacent rungs of a career ladder without a request per rung.
Questions
Should a title be run once per state to build a regional table?
No, and this is the setting most worth getting right. The per-region breakdown for all 51 US
regions is already in the nationwide row, so running the same title once per state would be 51
requests for a subset of what one request already returned. location exists for the case
where the local distribution itself is the subject.
Why is salary_median null when salary_mean is populated?
Because Indeed publishes the average for far more titles than it publishes a midpoint for. A
null median beside a populated mean is normal rather than a failed read; the same applies to
salary_sample_count, which is stated on some titles and not on others. The percentile pair is
the more consistently available way to see the spread.
What happens to a title Indeed has never priced? It is skipped with a warning naming the title and the run continues to the rest of the list. A title with no data answers with a successful request carrying no aggregates rather than with an error, so one unusual title in a list of forty costs one row.
Why did a title come back under a different name than the one submitted?
Because Indeed normalises titles to the ones it sees on postings. requested_title is what was
sent after hyphenation and title is what Indeed calls it, so keeping both shows what a
free-text request resolved to. If a title returns nothing, the plainer form of it usually
returns something.
How current are the figures?
last_updated_at states when Indeed last recomputed the aggregates for that title. It is
published per title rather than per run, so two titles in one dataset can carry different
dates.
Why does regions have a sample count and the national row sometimes not?
The regional entries and the national aggregate are published separately by Indeed and it
states counts more consistently on the regions. Where a national count is absent, the regional
counts are the way to judge how much data is behind a figure.
Is an Indeed account, cookie or API key required? No. Nothing of the kind is supplied to the Actor or needed by it.
Related Actors
Indeed Company Scraper profiles the
employers named in top_paying_companies: ratings, CEO approval and the work happiness survey.
Indeed Jobs Scraper answers what is open right now rather than what the role pays, and each of its rows carries the pay range the employer advertised.


