| Role family | Postings | Median midpoint |
|---|---|---|
| sales | 12 | $102,846 |
| engineering | 6 | $164,350 |
| data / ml | 3 | $237,500 |
| other | 2 | $238,500 |
| finance / legal | 2 | $167,675 |
| design | 2 | $129,150 |
| support / ops | 2 | $122,850 |
| marketing | 1 | $184,500 |
| product | 1 | $171,000 |
| Title | Location | Low | High |
|---|---|---|---|
| Principal Machine Learning Engineer | Office Hub - Santa Barbara · Remote Hub - De | $264,000 | $363,000 |
| Growth Account Executive - Strategic | Remote | $244,000 | $305,000 |
| Enterprise Account Executive | Remote · Remote Hub - Atlanta, GA / Remote H | $244,000 | $305,000 |
| VP, Total Rewards | Office Hub - Santa Barbara · Office Hub - Da | $240,000 | $300,000 |
| Staff Machine Learning Engineer | Office Hub - Santa Barbara · Office Hub - Da | $200,000 | $275,000 |
| Staff Machine Learning Engineer - Leasing | Office Hub - Santa Barbara · Remote Hub - At | $200,000 | $275,000 |
| Industry Principal | Remote | $184,000 | $230,000 |
| Staff Software Engineer - Resident Concierge | Office Hub - Santa Barbara · Remote Hub - At | $167,200 | $229,900 |
| Staff Software Engineer - Leasing | Office Hub - Santa Barbara · Remote Hub - At | $167,200 | $229,900 |
| Manager, Growth Sales - Mid-Market | Office Hub - Dallas, TX · Office Hub - San D | $164,000 | $205,000 |
| Corporate Counsel | Office Hub - Santa Barbara · Remote Hub - De | $152,000 | $190,000 |
| Lead Technical Program Manager | Office Hub - San Diego, CA · Remote Hub - At | $152,000 | $190,000 |
Across 31 postings that state a pay range, the median midpoint is $164,350. The middle 50% sits between $111,343 and $198,550, and the 90th percentile is $270,000. All figures are annualised and converted to USD.
31 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 $102,846). 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 31 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.2-py3-none-any.whl
import salaryranges
salaryranges.by_company("appfolio")
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).