Salary Benchmark API
Salary Benchmark
Benchmark a role’s posted salary against the market and get percentiles, sample size, and where a proposed range sits
POST
Salary Benchmark
Queues a posted-salary benchmark for a role. Pass either a public job-posting URL or the role’s attributes; the API resolves comparable postings from the last
days_ago days and writes a report onto a task you poll for the result.
Endpoint
Request Body
Eitherpublic_url or job_title is required. public_url takes precedence over the manual fields.
string
Public job-posting URL to benchmark. When provided, the role attributes are extracted from the posting.
string
Primary job title when no URL is provided.
string[]
Additional titles in the same occupational area to widen the comparison set.
object
Years-of-experience band, e.g.
{"min": 5, "max": 8}. yoe is accepted as an alias.string
Job description or notes used to expand the query.
object
Proposed posted range to rank against the market, e.g.
{"min": 160000, "max": 190000, "currency": "USD", "period": "yearly"}. When provided, the report includes where it sits as a percentile.object[]
Locations to compare within, e.g.
[{"city": "Austin", "region": "Texas", "country": "United States"}]. Country-only entries are accepted.string[]
Remote, Hybrid, and/or In-Person.string[]
Industry filter — values from Get Industries.
string[]
Experience levels to include.
number
default:"90"
Lookback window in days (1–365).
boolean
default:"false"
Send an email when the report is ready.
Response
Returns a task object (id, type: "salary_benchmark", state, progress). Poll GET /v2/tasks/{task_id} until state is finished; the report is in the task’s result.
object
Market distribution for comparable postings:
count (sample size) and percentiles such as p50 (median).object
Confidence in the benchmark, including a letter
grade driven by sample size and match quality.object | null
Present when
salary_range was supplied: the proposed min/max and the percentile the range sits at in the market distribution.Example
Reports are computed from posted salary ranges in Hirebase’s job data, not from offers or survey data. Treat thin samples (low
count, low confidence grade) as directional.