| Role family | Postings | Median midpoint |
|---|---|---|
| sales | 12 | $170,000 |
| engineering | 12 | $134,869 |
| support / ops | 8 | $127,599 |
| finance / legal | 5 | $167,500 |
| product | 3 | $195,000 |
| data / ml | 3 | $190,000 |
| other | 2 | $222,500 |
| security | 1 | $157,500 |
| Title | Location | Low | High |
|---|---|---|---|
| Global Head of Solutions | United States | $265,000 | $295,000 |
| Strategic Account Executive | North America · United States / Canada | $230,000 | $320,000 |
| Strategic Account Executive, Federal | Washington, DC · United States | $230,000 | $320,000 |
| Head of Fraud Product | United States | $220,000 | $275,000 |
| Staff Engineer - Fraud Prevention | North America · United States / Canada | $190,000 | $275,000 |
| Account Executive - Mid Market | North America · United States / Canada | $185,535 | $256,895 |
| Account Executive - Crypto | North America · United States / Canada | $185,535 | $256,895 |
| Technical Product Manager - Sonar | United States | $185,000 | $230,000 |
| Machine Learning Engineer | North America · United States / Canada | $175,000 | $220,000 |
| Senior Manager, Quality Engineering | United States | $165,000 | $230,000 |
| Technical Program Manager | North America · United States / Canada | $175,000 | $215,000 |
| Senior Data Scientist | North America · United States / Canada | $170,000 | $210,000 |
Across 46 postings that state a pay range, the median midpoint is $149,365. The middle 50% sits between $117,189 and $188,750, and the 90th percentile is $226,857. All figures are annualised and converted to USD.
46 of the postings we read from ashby carried a range on the day we measured (2026-10-24). The rest did not publish pay at all, so they are not in these numbers.
sales is the largest family in this sample (12 postings, median $170,000). The table above lists every family we saw and the highest individual ranges.
No. This is what the company itself published in its job postings, normalised to a yearly USD range. Real offers vary by level, location and equity, and many postings omit pay entirely.
These 46 rows are part of one CSV covering every company we read: the full dataset (salary-ranges-full.csv) under CC BY 4.0. Or pull it into Python:
pip install https://sjdfi0wjvosdju9.github.io/packages/salaryranges-0.1.1-py3-none-any.whl
import salaryranges
salaryranges.by_company("sardine")
If you want the same numbers refreshed on a schedule, including the postings that never publish pay, that is the paid part: ATS Job Feed ($0.0015 per returned job).