Of the 10 platforms in this index, 3 publish a structured pay band. Across all 671,953 roles, 36,299 carry one, which is 5.4%.
Every "salary data" claim is true of an index holding a single row with a number in it. The useful version has a denominator, so here is ours, per platform, from tonight's build.
| Platform | Roles | With a band | Share | Median annual floor |
|---|---|---|---|---|
| Ashby | 51,155 | 20,155 | 39.4% | $143,000 |
| Breezy | 32,589 | 14,593 | 44.8% | $70,000 |
| Personio | 20,981 | 1,551 | 7.4% | $45,000 |
| Workday | 246,269 | 0 | 0.0% | none |
| Greenhouse | 165,226 | 0 | 0.0% | none |
| Workable | 71,151 | 0 | 0.0% | none |
| BambooHR | 42,734 | 0 | 0.0% | none |
| Teamtailor | 16,247 | 0 | 0.0% | none |
| Recruitee | 13,558 | 0 | 0.0% | none |
| Rippling | 12,043 | 0 | 0.0% | none |
The medians are not a cost-of-labour comparison and should not be read as one. They mostly reflect who uses each platform: Ashby is concentrated in US technology, Breezy in smaller employers, Personio in the German-speaking mid-market.
The 36,299 bands arrive in 31 different currencies and on 5 different periods: year (23,967), hour (7,974), week (2,369), month (1,301), day (98). An hourly rate and an annual one in the same column, sorted, puts every salaried role above every hourly one regardless of what either pays.
So each row also carries an annualised floor and ceiling, on the employer's own numbers: hourly x 2,080, daily x 260, weekly x 52, monthly x 12. The currency is kept as published and never converted, because a conversion needs a rate and a date, and a made-up rate is worse than an honest EUR.
Seven platforms publish no structured pay field at all, and that is the source's shape rather than something we dropped. A separate thing is true of Greenhouse in particular: it publishes no pay field, but many US employers write the range into the description text to satisfy state disclosure law. Sampled on 563 postings across ten US-heavy Greenhouse boards on 2026-08-11, 270 of them contained a currency range somewhere in the body, and it splits by employer rather than by posting: three of the ten boards did it on every role and three on none. We do not parse that today. Reading a number out of prose is how an index ends up billing somebody for a "$2,000,000" salary that was a budget the role manages, and a wrong salary is worse than an absent one.
Filter the whole index by an annualised floor with ATS Jobs Search, or take the two platforms that publish most of it directly: Ashby Jobs API and Breezy Jobs API.