Many companies now publish a salary range with every job, but where they publish it depends on the law. I checked 2,235 open jobs on seven companies' Lever careers pages: 52% of jobs in the US listed a salary range, and only 1% of jobs elsewhere did. If you're negotiating an offer or setting your own pay bands, those ranges are the best public data there is. This post shows how to collect them.

What the numbers say
On November 5, 2026, I pulled every open job from the Lever boards of Palantir, Zoox, Veeva, Shield AI, Spotify, Match Group and Outreach:
| Jobs | With a salary range | |
|---|---|---|
| In the United States | 1,519 | 793 (52%) |
| Outside the United States | 715 | 6 (1%) |
| All | 2,235 | 799 (36%) |
The split follows the law. Several US states, including California, Washington, New York and Colorado, require employers to show a pay range in job posts. Most other countries don't, yet, and companies rarely list pay where they don't have to.
For US engineering roles (not managers) with a yearly range, the median range was $163,200 to $244,000. The typical range was wide: the top was 50% above the bottom. That width is your negotiating room.
What you need
- The companies you're interested in. If a company's job links go to
jobs.lever.co/<name>, the part after the slash is its board name. - A Selextract account. The Lever 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
palantirorhttps://jobs.lever.co/palantir - Job title must contain (optional): the role you care about, like
engineerordesigner - Locations (optional): places like
New YorkorSeattle - Workplace: Remote, if that's what you want
You get one row per job:
| Column | What it holds |
|---|---|
company, title, team, department |
The company and the role |
location, all_locations |
Where the job is |
commitment |
Full-time, part-time, intern and so on |
workplace_type |
On-site, remote or hybrid |
salary_min, salary_max, salary_currency, salary_interval |
The salary range, when listed |
created_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 |
location |
workplace_type |
salary_min |
salary_max |
salary_currency |
|---|---|---|---|---|---|---|
| halcyonbank | Senior Software Engineer | Seattle, WA | hybrid | 172000 | 258000 | USD |
| northwind | Product Designer | New York, NY | onsite | 145000 | 205000 | USD |
| brightline | Backend Engineer | London | hybrid | (empty) | (empty) | (empty) |
Step 2: Read the ranges
Filter salary_min to non-empty values. Then sort by title and compare ranges for the same role across companies and locations.
Three things to look for:
- The midpoint. Many companies aim to hire around the middle of the range. Ask for the top half if your experience matches the job's senior requirements.
- Location gaps. The same title can carry very different ranges in Seattle and in Austin. If a job can be done remotely, the range for the higher-paying location is a fair reference.
- Ranges outside the US. They're rare, so when a company lists one for Europe or Canada, save it.
Step 3: Keep a history
Your run is saved as a task in your account. Schedule it monthly. Ranges change when companies adjust their pay bands, and a history shows you which companies are raising pay and for which roles.
For companies whose careers page runs on Greenhouse, use the Greenhouse Jobs Scraper. See Which Teams Your Target Accounts Are Hiring For shows what those job lists reveal.
FAQ
Which companies use Lever?
Open a job post. If the address starts with jobs.lever.co or jobs.eu.lever.co, the company uses Lever, and the scraper works for it, including Lever's EU site.
Is there a Lever API for jobs?
Yes, Lever has a public postings API, which this scraper uses. It returns the same jobs as the careers page, without a key.
Why don't all US jobs have a range?
Not every state requires one, and some companies only list ranges where they must. A company may also put pay in the description text instead of the salary field; in that case, read the description.
Is the listed range what people actually earn?
No. It's what the company says it will pay for the role. Actual offers depend on level and negotiation, and bonuses and equity come on top.
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 Lever boards on November 5, 2026, and they change daily.
- Runs use your own Selextract credit.
