What AI Startups Pay: 2,822 Jobs From 23 Careers Pages

Many AI startups list salary ranges on their Ashby careers pages. I pulled every open job from 23 of them. Here's what they pay, and how to run the same research.

What AI Startups Pay: 2,822 Jobs From 23 Careers Pages

If you want to know what AI startups pay, the best source isn't a salary survey. It's the companies' own job posts, because many of them list a salary range. A lot of AI startups run their careers page on Ashby, which makes those ranges easy to collect. I pulled every open job from 23 AI companies' Ashby boards in November 2026: 2,822 jobs. Here's what they pay, and how to run the same research for the companies you care about.

How the Ashby Jobs Scraper works: companies in, one row per job with its listed pay out, every month

What the numbers say

On November 5, 2026, the 23 boards listed 2,822 open jobs. OpenAI alone had 811 of them.

  • 59% listed a salary range in US dollars per year (1,677 jobs). The rest listed pay in another currency or not at all; a few companies list no ranges anywhere.
  • For engineering roles (not managers), the median range was $230,000 to $385,000, with a midpoint of $300,000. That's 640 jobs with a listed range.
  • At OpenAI, the median midpoint for engineering roles was $355,500, across 284 roles with a range.
  • 61% of jobs mentioned equity in the pay summary.
  • Hybrid was the most common setup: 42% of jobs were hybrid, 27% on-site and 14% remote; the rest didn't say.

Two caveats. These are listed ranges, not what people accepted, and ranges for the same title vary by location and level. Use them as a starting point for a negotiation or a budget, not as the final word.

What you need

  • A list of companies. If a company's job links go to jobs.ashbyhq.com/<name>, the part after the slash is its board name.
  • A Selextract account. The Ashby Jobs Scraper is ready-made, so there's nothing to build. Runs don't use AI; they run the same tested code every time.
  • A spreadsheet: Google Sheets or Excel.

Step 1: Pull the jobs

Open the scraper and fill in:

  • Companies: up to 20 board names or links, like openai or https://jobs.ashbyhq.com/openai
  • Job title must contain (optional): engineer, if you only want engineering roles
  • Locations (optional): San Francisco, New York or Remote, for example
  • Number of jobs: 1000

You get one row per job:

Column What it holds
company, title, department, team The company and the role
location, secondary_locations Where the job is
workplace_type, remote On-site, hybrid or remote
employment_type Full-time, part-time, contract or intern
compensation Pay as the company summarizes it, like $266K – $445K • Offers Equity
salary_min, salary_max, salary_currency, salary_interval The salary range as numbers, when listed
published_at When the job was posted
url, apply_url The job and its application page
description The full job description

Here's what a few rows look like. The companies are made up; the columns and formats are the real ones:

company title workplace_type compensation salary_min salary_max
quillstack Research Engineer hybrid $230K – $385K • Offers Equity 230000 385000
lumenforge Applied ML Engineer remote $190K – $260K 190000 260000
brightmind Product Engineer remote (empty) (empty) (empty)

Step 2: Compare pay

Filter salary_currency to USD and salary_interval to a yearly value, then add a midpoint column:

=(L2 + M2) / 2

Here L is salary_min and M is salary_max. Change the letters to match your file. A pivot table with company as rows and the median of the midpoint as values gives you a pay table in a minute. Add department as a second row to compare, say, engineering with sales.

Step 3: Use it

  • Job seekers: know the range before the first call. If a company lists $200,000 to $260,000 for your role, you can aim for the top half without guessing.
  • Founders and hiring managers: see what you're competing against before you set your own ranges.
  • Recruiters: a company with 40 open engineering roles and a fresh published_at is hiring hard right now.

Step 4: Watch it over time

Your run is saved as a task in your account. Schedule it monthly and keep the rows. You'll see which companies raise their ranges, which teams grow, and when a company stops hiring.

The same approach works for careers pages on other systems. The Greenhouse Jobs Scraper and Lever Jobs Scraper cover many more companies, and Salary Ranges on Careers Pages: Who Lists Them looks at where pay is listed at all.

FAQ

How do I know if a company uses Ashby?

Open one of its job posts. If the address starts with jobs.ashbyhq.com, it does. Many AI startups and other young companies use Ashby.

Does every job have a salary range?

No. Companies list ranges where the law asks for them, such as in several US states, and some list them everywhere. Others don't list any. When there's no range, the salary fields are empty.

Why is a description empty?

Very large boards, with hundreds of matching jobs, get descriptions for the first 150 matching jobs in a run. Narrow the search with a job title or location to get descriptions for all of them.

Can I get jobs from LinkedIn too?

Yes, with the LinkedIn Jobs Scraper. Careers pages are often more complete and list pay more often.

Good to know

  • Each run takes up to 20 companies and returns up to 1,000 jobs.
  • The numbers above come from the companies' public job boards on November 5, 2026, and they change daily.
  • Runs use your own Selextract credit.

Open the Ashby Jobs Scraper