The People With the Least Leverage Get Told the Least About Pay
We wrote in July that pay transparency is not a value, it is a jurisdiction. San Francisco discloses at 88%, Bangalore at 0.4%, and the line between them is a law, not a culture.
Someone pushed back in the comments with a good question: fine, but within the same rules, does everyone get treated the same?
No. Not close.
The headline
Across 9,247 open roles at 817 hiring companies, 52.5% publish a salary band. Split by level:
| Level | Roles | Publish a band |
|---|---|---|
| Senior | 5,571 | 54.5% |
| Mid | 3,290 | 51.4% |
| Junior | 385 | 33.5% |
Two thirds of junior roles make you ask.
The person with no market rate in their head, no network to check against, and no standing to walk is the person least likely to be told the number before they walk into the room.
But is that just geography?
That was our first thought too, and it is the honest objection. Junior roles might simply cluster outside the places where disclosure is compulsory, in which case this is the jurisdiction story again wearing a different hat.
So we split it. Roles located in US pay-transparency jurisdictions (California, Colorado, New York, Washington and the cities inside them) against everything else.
Inside those jurisdictions:
| Level | Roles | Publish a band |
|---|---|---|
| Senior | 1,718 | 86.6% |
| Mid | 1,042 | 84.2% |
| Junior | 80 | 77.5% |
Everywhere else:
| Level | Roles | Publish a band |
|---|---|---|
| Senior | 3,853 | 40.3% |
| Mid | 2,248 | 36.2% |
| Junior | 305 | 22.0% |
Geography does not explain it away. It does something more interesting than that.
Where a law compels disclosure, the seniority gap shrinks to nine points and juniors get told 77.5% of the time. Where nothing compels it, the gap doubles to eighteen points and juniors get told 22% of the time. A junior role outside a transparency jurisdiction is roughly half as likely to name a number as a senior role in the same place.
So the effect is real and it is separate from geography. And then geography compounds it, because junior roles are also disproportionately in the quiet places: 79% of junior roles sit outside transparency jurisdictions, against 69% of senior roles.
Two effects, same direction, stacked.
Why this probably happens
We are speculating here, and it is worth flagging clearly, because the data tells you the shape and not the cause.
The generous reading is variance. Junior bands are genuinely wide relative to the salary (the gap between a strong and a weak first-year hire is large in percentage terms) and companies do not like committing to a range they will then argue about internally.
The less generous reading is that disclosure costs you exactly where the candidate has the least information, and companies that publish under duress publish only under duress. The inside-jurisdiction numbers support this a bit: when the law removes the choice, junior disclosure jumps from 22% to 77.5%. The reluctance was not about variance. It was about whether they had to.
We would like to be fairer than that. The data keeps declining to help.
The bands themselves
For roles that do publish, average advertised range by level:
| Level | Average band | Roles |
|---|---|---|
| Junior | $110k to $149k | 129 |
| Mid | $146k to $216k | 1,691 |
| Senior | $188k to $259k | 3,039 |
Please do not carry these into a negotiation without the caveat attached. These are averages over the roles that chose to disclose, and disclosure is concentrated in high-cost US jurisdictions, so every one of these numbers is biased upward relative to the global market. The junior figure rests on 129 postings, which is thin enough that a few generous outliers move it.
What the bands are good for is the shape rather than the level. Each step up is worth roughly $40k on the floor of the range, and the ranges themselves get wider as you climb. That relationship is more robust than any single number in the table.
What to do about it
Assume the number exists. Every one of these roles has an internal band. Two thirds of junior postings simply do not print it. "What is the range for this role?" in the first recruiter call is a normal question, and the recruiter has the answer in a field in front of them.
Use the transparent roles as your comparable. If you are applying to a quiet role, find two or three similar roles at similar companies in California, Colorado, New York or Washington and read their bands. That is free market data, published under legal obligation by companies with no interest in helping you, which makes it more reliable than most salary surveys.
Watch for the remote loophole. A remote role open to a transparency state generally has to post a band. A remote role that carefully excludes those states often does not, and that exclusion is sometimes visible in the restriction text. It is not always a pay-secrecy move, but it is worth noticing.
Junior candidates, front-load this hardest. You are in the least-disclosed segment of the market and you are also the most likely to feel that asking is rude. It is not, and the 77.5% figure inside transparency jurisdictions is the proof: when companies are made to say, they say, and the world does not end.
Caveats
Our jurisdiction bucket is a text match on location strings, not a legal analysis. It will catch "Denver, CO" and miss a role written as "Remote (US)" that is nonetheless covered. It may also catch a Washington DC role that is not covered. Treat the two buckets as "clearly in" and "everything else", with real slop in the second.
Seniority is inferred from the posting text, not a declared field, so a junior role that describes itself in senior language lands in the wrong bucket.
Salary detection reads bands out of posting text and normalises to USD per year. It finds most explicit ranges and misses pay described in prose, so the true disclosure rate is a little higher than we report at every level. We have no reason to think it misses junior roles more than senior ones, but we cannot prove that either.
And this is a snapshot from the morning it published, against a board that turns over fast.
We are curious about one thing we cannot measure: whether asking for the range early costs anyone anything in practice. Our data stops at the job post. If you have asked, in either direction of that conversation, come tell us how it went on Discord. If you would rather have an agent pull the disclosed bands at companies you are watching, that is what the MCP server is for.