Remote Job Salaries by Role and Region
A free monthly snapshot of what remote jobs pay. Each row covers one job role in one region scope and gives the number of open postings plus the 10th, 50th (median) and 90th percentile of their posted pay, in US dollars.
The data is aggregate statistics only: it contains no individual job postings, companies, links or job descriptions. Postings come from employers' own careers pages listed on Remote Landers. This page is the dataset's canonical source; a copy is on Kaggle.
Snapshots
A new snapshot is added each month. Published snapshots are never changed, so a cited month always means the same file.
| Snapshot | Data as of | Rows | With percentiles | Download |
|---|---|---|---|---|
| 2026-10 | 2026-10-24 | 134 | 65 | CSV 8.2 KB |
Columns
| Column | Description |
|---|---|
| snapshot_date | Month of the snapshot, YYYY-MM. |
| category | Job role, e.g. Software Engineer, Nursing, Account Executive. |
| region_scope | Where applicants may be based: US-only, Canada-only, Other-restricted (any other country, or a list of several countries) or Unspecified (the posting does not say). Worldwide postings exist but are too few per role to form a row, so the value does not appear yet. |
| listing_count | Number of open postings in this row: same role, region scope and salary_unit. |
| salary_p10 / salary_p50 / salary_p90 | 10th, 50th (median) and 90th percentile of pay, in US dollars. Empty when the row does not have enough independent pay data (see the employer concentration rule below). |
| salary_unit | annual_usd (yearly pay of full-time roles) or hourly_usd (hourly pay, any employment type). Hourly figures are not converted to yearly. |
Method
- Aggregated, not individual. Postings are grouped by role, region scope and pay unit before anything is written. Only counts and percentiles are published.
- Population. Postings listed as open on Remote Landers on the snapshot date that state pay in US dollars. Other currencies are left out, with no conversion. Internships are left out.
- Midpoint of the posted range. Each posting's pay is the midpoint of its stated minimum and maximum, or the single figure if only one is given.
- Units. annual_usd covers yearly pay of full-time roles; full-time monthly pay is multiplied by 12. Yearly or monthly pay of contract, part-time and temporary roles is left out, because a part-time monthly fee is not a yearly salary. hourly_usd covers hourly pay of any employment type.
- Outliers. Pay outside 12,000 to 1,000,000 USD a year, or 5 to 500 USD an hour, is excluded from the percentiles (not from listing_count).
- Employer concentration. Postings from the same employer with the same pay count once in the percentiles, so one employer posting many identical roles cannot set the market figure. Percentiles are published only when the row then has at least 10 pay figures from at least 5 employers and no single employer holds more than half of them.
- Small groups. Rows with fewer than 5 postings are not published.
- Percentiles. Linear interpolation between sorted values.
Reading the numbers
- Only postings that state pay are included, so this describes pay-transparent remote postings, not all remote jobs. It leans heavily towards US-only roles.
- Figures are posted ranges, not what people end up earning.
- An empty percentile means the row's pay comes from too few employers to stand for the market; listing_count is still accurate.
- Unspecified is not the same as remote-anywhere: the employer did not say where applicants can be based.
- A posting with several role tags appears in each of their rows, so listing_count cannot be summed across roles.
- Roles are tagged automatically from posting text, so some postings sit under the wrong role.
License and citation
Licensed under Creative Commons Attribution 4.0 (CC BY 4.0). You may share and adapt the data for any purpose, including commercially, as long as you credit Remote Landers, link to this page and say if you changed the data.
Suggested citation:
Citing an older month? Replace 2026-10with that snapshot's month.
On Kaggle
- Dataset on Kaggle - the same CSV files, ready to load in a Kaggle notebook.
- Example notebook: Remote job salaries, a first look - highest-paying roles, US-only versus unspecified pay, and hourly roles.
Related
Looking for jobs rather than statistics? Browse the highest-paying remote jobs open right now. Questions about the data: use the contact page.