Hiring data looks like a clean company signal. A company posts jobs, you count them, the count goes up or down, and you have a trend line. It is public, it updates daily, and it does not wait for a filing deadline. That last part is the appeal. Most disclosure-based data arrives with a built-in lag, and hiring pages do not.
The problem is that a job posting is a marketing document, not a disclosure. Nobody signs it. No regulator reviews it. There is no penalty for leaving it up after the role is filled. That single fact shapes everything about how far you can push hiring data as a signal.
This piece is about where the useful information actually sits, which is mostly in direction and mix rather than in absolute counts, and about the specific ways a naive count misleads you.
What a job posting actually is
A posting is a company telling the labor market that it wants to be seen wanting someone. That is a different claim from "this company has an open, funded, approved position that will be filled within a quarter."
Between those two claims sit a lot of ordinary business practices. Companies keep evergreen postings open for roles they always want to fill, like enterprise sales or senior backend engineering. Companies post roles to gather a candidate pipeline before a budget is approved. Staffing agencies mirror client postings under their own name. Large employers syndicate the same requisition to a dozen boards, and each board shows it as one job.
None of this is deceptive. It is just how recruiting works. But it means the raw number on a careers page is not a headcount plan. It is closer to an advertising budget.
Direction beats level
The single most useful discipline with hiring data is to stop caring about the level and start caring about the change.
A company with 400 open roles is not more interesting than a company with 40. Those numbers reflect company size, sector, turnover rate, and whether the company posts every requisition publicly. Comparing the level across two companies compares their recruiting habits as much as their growth.
The change within one company against its own recent history is a different matter. If a company that has carried roughly 300 postings for a year drops to 120 over six weeks, something happened. If it climbs to 500, something else happened. You still do not know what. But you know the internal policy shifted, and internal policy shifts have causes.
This is why hiring works better as a monitoring input than as a screening input. You watch a set of companies you already care about and you flag the ones whose own pattern breaks. You do not rank the universe by posting count and call the top of the list the growth companies.
Department mix carries more information than the total
If you only extract one thing beyond direction, extract the mix.
The total tells you how much a company is hiring. The mix tells you what it is building. Those are different questions, and the second one is usually the one you actually wanted answered.
A few mix patterns that are worth tracking, with the caveat that each one has innocent explanations:
Sales and go-to-market growing faster than engineering. Often means a product is considered finished enough to push. Can also mean sales attrition, which is high in most software companies.
Engineering growing while sales is flat. Often a build phase. Can also mean the sales team was recently cut and nobody is backfilling.
A sudden block of compliance, legal, or regulatory affairs roles. Sometimes a company preparing for a regulated market, a public offering, or a new jurisdiction. Sometimes the result of an enforcement matter that already happened.
Finance and accounting roles clustered together, especially controller and SEC reporting roles. These are the roles a private company needs before it can report as a public one. This is one of the few hiring patterns with a fairly narrow set of explanations.
Geographic concentration in a new country or state. A market entry, an acquisition being integrated, or a cost-driven relocation of existing functions.
The mix is more robust than the total because the distortions that inflate counts tend to hit all departments at once. If a company starts syndicating to three extra job boards, every department's count rises. The proportions survive. That is a real advantage, and it is the main argument for normalizing everything you extract.
The counting problems, specifically
If you do build a counter, these are the failure modes that will bite you, in rough order of how often they do.
Stale postings. The most common one. A role gets filled and the posting stays up for weeks or months. Some applicant tracking systems auto-expire, many do not. This inflates counts and, worse, it inflates them unevenly across companies depending on which system they use.
Duplicate requisitions. One job, ten locations, ten postings. Or one job posted as "Remote - US" plus five named cities. Deduplication by title alone merges genuinely distinct roles. Deduplication by title plus location fails to merge the remote duplicates.
Reposting as churn. Some systems close and reopen a requisition on a cycle to keep it fresh in board rankings. Your daily snapshot sees a role disappear and a new one appear. Naively, that is one closure and one opening. Actually it is nothing.
Subsidiaries and brands. A holding company hires under a dozen brand names. If you match on the parent's name you see almost nothing. If you match on the brand you see one slice. This is the same identity problem that makes company data hard everywhere, and it does not have a clean automated solution. Entity resolution is where most of the real work in any company dataset lives.
Survivorship in your own collection. If your scraper breaks for one company for a week, that company's count goes to zero. A zero that means "no data" looks identical to a zero that means "hiring freeze" unless you record the difference explicitly. Record it explicitly.
Seasonality. Postings drop in late December and rise in January at almost every company. A January spike is not a signal. Compare against the same period in prior years, or accept that you cannot read anything from the turn of the year.
Where hiring fits next to disclosure data
Hiring data is fast and unverified. Disclosure data is slow and verified. They fail in opposite directions, which is what makes them worth holding together.
Congressional trade disclosures arrive on a legally defined clock rather than whenever someone updates a careers page. That clock is the reason those filings are late but reliable, and we cover the mechanics in the 45-day rule and why it matters and the full pipeline in how congressional trading disclosures work. Institutional holdings come with their own reporting lag, described in 13F deadlines and the 45-day lag. Private financing events show up through Form D, which we walk through in how to read a Form D filing.
The useful pairing looks like this. A disclosure tells you something definite happened at a definite time. Hiring data, read as direction and mix, can tell you whether the operating picture around that event was consistent with it. A company that filed a Form D and then visibly expanded its engineering and sales mix over the following two quarters is a different case from one that filed and then quietly stopped posting. Neither pattern proves anything on its own. Both are worth noticing.
Note the ordering. The disclosure is the anchor because it is the part with a signature on it. Hiring is context around the anchor. Doing it the other way round, treating a posting count as the primary fact and hunting for filings that confirm it, is how you end up confidently wrong.
None of this is investment advice, and nothing here is a recommendation to buy or sell anything.
Free sources worth knowing about
You do not need a paid dataset to start.
Company careers pages are the primary source and they are free. Most run on a handful of applicant tracking systems, and several of those expose a public JSON endpoint for a company's open roles. That is the cleanest way to get structured postings without parsing HTML.
For labor market context rather than company-level detail, the Bureau of Labor Statistics publishes the Job Openings and Labor Turnover Survey, which gives you national and sector-level openings, hires, quits, and layoffs. It is the right baseline for asking whether a company's change is company-specific or just the sector moving. The BLS data is slower than a careers page and far more rigorous.
For the disclosure side, SEC EDGAR full-text search and the standard EDGAR company search let you pull filings for any registrant at no cost. Congressional filings are published directly by the Clerk of the House financial disclosure portal and by the Senate. All of it is public. What you pay for anywhere, including here, is the cleaning, the entity matching, and the scoring, not access.
If you want the raw material and are willing to do the joins yourself, those sources are genuinely sufficient. Say so plainly rather than pretending otherwise.
A workable method
Pull postings for a fixed watchlist on a fixed schedule. Store every snapshot, including the empty ones, with a flag for collection failures. Normalize titles into a small set of departments and accept that the mapping will be imperfect. Track each company against its own trailing baseline, not against other companies. Report the mix as proportions. Treat any single-week move as noise. Treat a sustained multi-month shift in mix as something to look into by hand.
Then read it as one input among several. Hiring tells you what a company says it wants to become. Filings tell you what it did. The gap between those two is often the interesting part, and you can only see the gap if you keep both.
If you want the anchored, verified side of that pairing, our Smart-Money 13F Consensus report tracks what institutional managers actually held and how those positions changed quarter over quarter, scored and deduplicated so you can put it next to whatever operating signals you are already watching.
Want the signal instead of the raw filings? Get a free report preview. Prefer the tool to the write-up? Browse all data feeds or connect the free MCP server.