We Track 16,559 Job Postings. There Are 9,247 Jobs.
Every job board you have ever used shows you a big number. Ours would say 16,559 if we let it.
The honest number is 9,247. The other 7,312 are the same jobs again.
This is not a scandal and nobody is lying to you. It is a boring mechanical thing that happens between a company's applicant tracking system and every board that reads from it, and once you can see it you cannot unsee it.
What a duplicate actually looks like
Take the clearest example in our data. Speechify has 1,768 active postings on their career page right now, which would make them, by a distance, the biggest employer we track.
Those 1,768 postings are eight jobs.
One of them, "Software Engineer, Platform", appears 361 times. Same title, same description, same team. What differs is the location field: Los Angeles, Chicago, Dublin, Paris, Amsterdam, Tokyo, Boston, Berlin, Bangalore, Denver, Sao Paulo, Bellevue, London, Sydney, and on down a list of 221 distinct locations.
They want one platform engineer, and they are willing to hire that person nearly anywhere. To say so in an ATS, you create the posting once per location. So the system does what it was told and fans it out.
That is the whole trick. It is not a ghost job (a ghost job is a posting for a role that does not exist; this role exists, it is just wearing 221 hats). It is not padding. Nobody sat down and decided to inflate a number. The number inflates itself.
How much of the board is duplicates
We collapsed every active posting by company and title and counted what fell out.
| Count | |
|---|---|
| Raw active postings | 16,559 |
| Distinct roles | 9,247 |
| Postings that are one of several copies | 9,377 |
| Postings sitting in a group of 10 or more | 3,614 |
So 56.6% of the postings we hold are one of several copies of the same role at the same company. Not half the jobs are fake, to be clear. Rather: more than half the rows are redundant, and they collapse down to 9,247 real openings.
The 3,614 figure is the one that does the damage. Those are postings in groups of ten or more, which is where the fan-out stops being "we will consider a couple of offices" and starts being a single role wallpapered across a continent.
The part that changed a number we had already published
Here is where it stops being a curiosity.
We have written before about how much of the market is genuinely remote. Off raw postings, fully remote roles come to 3,692, which is 22% of the board. That is roughly the figure a lot of job boards quote, give or take.
Collapse the duplicates and fully remote roles come to 1,295. That is 14%.
The reason for the gap is almost entirely one company. Of those 3,692 raw remote postings, 1,699 belong to Speechify. One employer accounted for 46% of every fully remote job we held, on the strength of eight actual openings fanned across the map.
Remote roles fan out harder than office roles, for the obvious reason: a job that can be done from anywhere has more anywheres to list. So duplication does not just inflate the total, it inflates the remote share specifically. Any board reporting "X% of tech jobs are remote" off raw postings is reporting a number that is too high, and does not know it.
We had the right number on our own listing pages and the wrong one in our heads until we ran this. (Our public "N open roles" has always been the collapsed count, which is why Supabase shows 26 today rather than the 31 raw rows behind it. We built that in months ago and then kept reasoning off raw rows anyway, which is a good reminder that having the fix shipped is not the same as having internalised it.)
Why boards do not fix this
Collapsing duplicates makes your headline number smaller. That is the entire reason.
If your product is measured on inventory, a change that turns 16,559 into 9,247 looks like deleting 44% of the business. It also makes every comparison against a competitor who has not collapsed look bad, so the incentive runs hard in one direction and stays there.
The other reason is that it is genuinely fiddly. You need a title normaliser that treats "Senior Software Engineer" and "Senior Software Engineer, Platform" as different roles but "Software Engineer (Remote)" and "Software Engineer" as the same one, per company, without over-merging two real teams that happen to use the same title. We get this wrong at the edges. Some of our 9,247 is still two roles wearing one name, and some companies genuinely do open six identical backend positions at once, which we will collapse to one and undercount.
We would rather undercount. An inflated board wastes your afternoon; a slightly conservative one wastes ours.
What to do with this
Stop reading posting counts as hiring signal. A company with 1,768 postings and eight roles is not hiring 200 times harder than a company with nine. When you are sizing up whether somewhere is actually growing, the question is how many distinct titles are open, not how many rows a board holds.
Expect the same job repeatedly. If you are searching by keyword across boards, the fan-out is why the same role keeps appearing under different cities and why your search feels simultaneously enormous and empty. You are not imagining it and you are not doing it wrong.
Treat "remote job" totals with suspicion. Especially anywhere the number is a selling point. The inflation is largest exactly where remote is being advertised hardest.
The caveats, as usual
Our collapse groups by company plus normalised title. Two genuinely separate openings with an identical title at the same company merge into one, and we accept that undercount deliberately.
Postings with no title normalisation key fall back to the raw title, so a company that varies punctuation between copies will still show duplicates we failed to catch. There is a long tail of these and we chip at it.
And the 9,247 moves daily. It was measured on the morning this went out, against 1,121 companies of which 817 currently have something open. The listings are the live version.
If you want to poke at this yourself rather than take our word for it, you can connect an agent and ask it for role counts at whatever companies you are tracking. It gets the collapsed number, because that is the only one we serve.
We are still tuning the normaliser, and the place it most likely fails is your own employer. If you look up somewhere you know well and the role count is off, that is a bug we want. Discord is the fastest way to reach us.