
Salary Benchmarks — Live Pay Bands from Job Postings
Extract salary bands from live remote job postings: min, max, midpoint, currency and an annualised figure. Reports coverage honestly — only postings that disclose pay become rows.
Salary Benchmarks — Live Pay Bands from Job Postings returns 20 documented output fields, including id, source, title, company and location. Every field carries a declared type, a written description and an example value. 2 runs are recorded on Apify.
- 20
- Output fields
- 5
- Inputs
- 2
- Runs
- 2026-10-23
- Last run
01 — output
What it returns
Every field the extractor writes to its dataset, with its type, a written description and an example value.
| Field | Type | What it holds | Example |
|---|---|---|---|
| id | string | Stable row identity across sources. | jobicy|1|senior-finance-manager|duckduckgo |
| source | string | Which feed produced the row: jobicy or remoteok. | jobicy |
| title | string | The role as posted. | Senior Finance Manager |
| company | string | The hiring company. | DuckDuckGo |
| location | string | Where the role is based, as the source states it. | Canada, USA |
| level | string | Seniority when the source publishes it. | Senior |
| industry | string | Industry when the source publishes it. | Finance |
| salaryMin | number | The bottom of the posted range, in the posted period and currency. | 190500 |
| salaryMax | number | The top of the posted range. | 214767 |
| currency | string | ISO currency code, or 'not stated'. Never converted. | USD |
| period | string | The period the posted figures are in: yearly, monthly, hourly and so on. | yearly |
| annualMin | number | salaryMin annualised. Equals the raw value when the period is yearly. | 190500 |
| annualMax | number | salaryMax annualised. | 214767 |
| annualMid | number | Midpoint of the annual range — null when only one end was posted. | 202634 |
| annualised | boolean | True when a non-yearly figure was converted, so the assumption is visible. | false |
| annualAssumption | string | The conversion applied, e.g. 2080 hours per year for hourly pay. Null when no conversion was needed. | 2080 hours per year for hourly; 12 months for monthly |
| rangeWasInverted | boolean | True when the source posted max below min; the row is ordered and the swap is disclosed. | false |
| publishedAt | string | When the posting was published. | 2026-10-18 |
| url | string | The posting. | https://example.com/j/1 |
| scrapedAt | string | When this run fetched it. | 2026-10-19T12:00:00Z |
02 — sample
One record
Assembled from the example values declared on the schema above, not invented at render time.
{
"id": "jobicy|1|senior-finance-manager|duckduckgo",
"source": "jobicy",
"title": "Senior Finance Manager",
"company": "DuckDuckGo",
"location": "Canada, USA",
"level": "Senior",
"industry": "Finance",
"salaryMin": 190500
}03 — input
What you give it
| Input | Type | Description |
|---|---|---|
| sources | arrayoptional | Which feeds to read. |
| keywords | stringoptional | Comma-separated words matched against the title, industry and level. Leave blank for every role. |
| minAnnualSalary | integeroptional | Drop rows whose midpoint is below this, in their own currency. 0 keeps everything. |
| maxItems | integeroptional | Hard limit. |
| timeoutSecs | integeroptional | Per source. |
04 — run
Run Salary Benchmarks on your own input
It runs in the cloud on Apify. Check its current price and billing events on the Apify page before you run it.
05 — questions
Asked before running it
19 of 20 fields described
- What does Salary Benchmarks — Live Pay Bands from Job Postings return?
- It returns 20 documented output fields: id, source, title, company, location, level, industry, salaryMin, salaryMax, currency, period and annualMin. Each field declares its type, a description of what it holds, and an example value. The remaining 8 are listed in the output schema below.
- What input does Salary Benchmarks — Live Pay Bands from Job Postings take?
- The schema marks all 5 inputs optional. Check the field descriptions and credential requirements before running.
- Does Salary Benchmarks — Live Pay Bands from Job Postings need an API key or login?
- No input field is marked secret. Check the Actor documentation for any source access requirements.
- How do I run Salary Benchmarks — Live Pay Bands from Job Postings?
- It runs on Apify. Start it from its listing with the inputs above, or call the Apify API with the Actor's ID. Results land in a dataset you can export as JSON, CSV or Excel, or read through the Apify API into your own pipeline.