What is a hiring freeze? Definition, signs in posting data, and how to check a company
A hiring freeze stops new requisitions and usually backfills, without touching current staff. This post defines it, separates it from layoffs and slowdowns, answers whether there is one right now with live posting shares (employer concentration, single-opening employers, days to close by board), explains how companies keep hiring through one, and gives three API queries to detect a freeze at any employer.
Dvir Atias
Founder, JobsPipe
“Hiring freeze” is one of the most searched hiring terms and one of the least measurable. Companies rarely announce one, the ones that do rarely say when it ends, and no statistic counts freezes. What can be measured is what a freeze does to job postings. This post defines the term, shows what a freeze looks like in live posting data, and gives the queries to check a specific company.
What is a hiring freeze?
A hiring freeze is a company-wide decision to stop opening new positions and, usually, to stop filling roles that fall vacant, for a set period or until a financial condition improves. Current employees keep their jobs. It is a cost-control lever that sits between a hiring slowdown and layoffs.
Freezes are declared by the CEO or CFO, not by hiring managers, and they are triggered by a missed revenue target, a funding round that did not close, a budget reset at the start of a fiscal year, or an acquisition where the buyer wants headcount held still until the deal closes. Most freezes carry exceptions: backfills for roles the business cannot run without, quota-carrying sales roles, and contractors who do not count as headcount. A freeze can last a quarter or a year. It ends quietly when the exception list grows until it covers everything.
Is there a hiring freeze right now?
No single hiring freeze exists across the market at any time, and nobody can declare one from posting data. Freezes are decided company by company. What live postings can show is a cross-section: how concentrated open roles are, how many employers have only one opening, and how fast postings close. Those shares are below; the monthly version is on the Labour Market Pulse.
Read together: 41.5% of employers with an active posting have exactly one open role, while the 13.4% of employers with ten or more openings hold 77.7% of all open postings. A market-wide freeze would show up first at the top of that distribution, because a requisition freeze at a concentrated employer removes a large block of postings at once. A freeze at a single-opening employer removes one.
How fast postings close is the second signal. A freeze cancels open requisitions, so on the boards where frozen employers post, the share closing within 30 days rises and the median days live falls. Here is the current cross-section by board for postings that closed in the last 60 days.
| Board | Median days live | 75th percentile | Closed within 30 days |
|---|---|---|---|
| Lever | 8 d | 10 d | 93.0% |
| Paylocity | 13 d | 14 d | 96.5% |
| Ashby | 14 d | 33 d | 69.6% |
| Greenhouse | 14 d | 36 d | 68.1% |
| Indeed | 30 d | 35 d | 51.8% |
| 30 d | 36 d | 51.5% | |
| Y Combinator | 33 d | 47 d | 43.4% |
Read the median with the detection mechanism in mind. On Greenhouse, Ashby, Lever, Y Combinator and Paylocity, JobsPipe checks each posting continuously and records the removal when the employer takes it down, so the median there reflects fill or withdrawal. On LinkedIn and Indeed a closure is detected when the listing reaches its 30-day expiry, so the median there sits at the expiry and measures the board’s listing rule rather than the employer’s decision. A freeze shows up on the continuously checked boards first, as a rising share closed within 30 days; on the expiry-driven boards it shows up as fewer new postings, not faster closures.
One sentence on the search results this question usually returns: the US federal hiring freeze is a policy event that applies to federal agencies under executive orders and OPM guidance, not a private-sector market condition, and posting data does not measure it.
Hiring freeze vs layoffs vs hiring slowdown
A hiring freeze stops new hires but keeps current staff. Layoffs remove current staff. A hiring slowdown keeps hiring open at a lower rate, with slower decisions and fewer new requisitions. The three often arrive in sequence: slowdown, then freeze, then layoffs, and each one is visible in postings before it is visible in the press.
| Current staff | What happens to postings | What you see in the data | |
|---|---|---|---|
| Hiring slowdown | Unchanged | Fewer new requisitions, longer time to decision | Postings live longer, discovered_at ages, closures slow |
| Hiring freeze | Unchanged | New requisitions stop, open ones cancelled or left up | No new discovered_at rows, closed rows without a fill, ghost scores rise on survivors |
| Layoffs | Reduced | Most requisitions cancelled, a few backfills reopen later | Closures spike, then a small wave of new postings in the surviving functions |
How companies hire during a freeze
A freeze is rarely total. Companies keep hiring through five side doors, and each one leaves a mark in the postings.
- Exception approvals. A named executive signs off on individual requisitions. Postings appear one at a time, usually senior or revenue-linked, and the company’s active count stays flat.
- Backfills only. A departure unlocks one requisition. Titles repeat earlier postings almost verbatim, often at the same location.
- Contractors and agencies. Headcount is frozen, spend is not. The
employment_statusesfield shifts toward contract, and staffing firms post the role instead of the employer. Theemployer_typefield separates the two. - Internal transfers. Roles are filled from inside and never posted, or posted internally only. The public feed goes quiet without any closures.
- Evergreen postings. Recruiters leave requisitions up to keep a pipeline warm. Nobody is hired. These are the postings that age past 45 and 90 days and pick up a high
ghost_score.
How to detect a hiring freeze at a specific company with the API
Three queries against POST /v1/jobs/search answer the question for one employer: are new requisitions still appearing, what has closed, and how old is what remains. company_name_or is an exact match; use company_name_partial_match_or when the legal name is uncertain.
First, new postings discovered in the last 30 days:
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_name_or": ["Example Corp"],
"status": "active",
"discovered_at_gte": "2026-08-10",
"include_total_results": true,
"limit": 50
}'Second, postings that closed. The response carries closed_at and closed_reason on every row:
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_name_or": ["Example Corp"],
"status": "closed",
"discovered_at_gte": "2026-06-01",
"limit": 100
}'Third, what is still open and how long it has been open:
curl -X POST https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer $JOBSPIPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"company_name_or": ["Example Corp"],
"status": "active",
"limit": 100
}'Reading the three together. If the first query returns nothing while the second keeps growing, the company has stopped opening roles and is cancelling the ones it had: that is the freeze pattern. If new rows keep landing, there is no freeze, whatever the press says. If the only new rows are contract roles or a single director-level posting, the freeze is real and the exceptions are visible. In the third query, look at discovered_at and ghost_score: a wall of postings older than 90 days with high scores is a company keeping evergreen requisitions up through a freeze.
Two limits. JobsPipe collects ten boards, so an employer that posts only on its own careers page through an ATS we do not collect shows nothing, which is not a freeze. And a posting disappearing is not a hire; closed_reason tells you whether the posting was removed, expired or replaced, not whether someone was hired. For the monthly market-wide picture, the labour market insights pages and the Pulse carry the same shares refreshed on a schedule.
Check any employer’s open, new and closed postings - free tier included.
Get a free API keyFrequently Asked Questions
What is a hiring freeze?
A hiring freeze is a company-wide decision to stop opening new positions and, usually, to stop filling roles that fall vacant, for a set period or until a financial condition improves. Current employees keep their jobs. It is a cost-control lever that sits between a hiring slowdown and layoffs, declared by the CEO or CFO and typically triggered by a missed revenue target, a failed funding round, a budget reset or a pending acquisition.
Is there a hiring freeze right now?
No single hiring freeze exists across the market at any time; freezes are decided company by company. Live postings can show a cross-section instead: the share of employers with exactly one opening, the share of postings concentrated at employers with ten or more openings, and how fast postings close on each board. Those shares are published in the post and refreshed monthly on the JobsPipe Labour Market Pulse.
What is the difference between a hiring freeze and layoffs?
A hiring freeze stops new hires but keeps current staff. Layoffs remove current staff. A hiring slowdown keeps hiring open at a lower rate. The three often arrive in sequence: slowdown, then freeze, then layoffs. In posting data a freeze shows as no newly discovered postings alongside closures without a fill, while layoffs show as a closure spike followed by a small wave of backfills in surviving functions.
How long does a hiring freeze last?
Anywhere from a quarter to a year. Freezes are usually tied to a budget cycle or a financial condition rather than a date, and most end quietly as the list of approved exceptions grows until it covers ordinary hiring. Companies rarely announce the end, which is why watching an employer's newly discovered postings is more reliable than waiting for a statement.
Can a company still hire during a hiring freeze?
Yes, through exceptions. Typical side doors are executive-approved requisitions, backfills for critical roles, quota-carrying sales roles, contractors and agency staff who do not count as headcount, and internal transfers that are never posted publicly. In the JobsPipe API these show up as a trickle of senior or contract postings and a shift in the employment_statuses and employer_type fields.
How can I tell if a specific company has a hiring freeze?
Run three searches against POST /v1/jobs/search with company_name_or set to the employer: active postings with discovered_at_gte set to 30 days ago, closed postings with status closed, and all active postings to read discovered_at and ghost_score. No new postings while closed rows accumulate is the freeze pattern. Remember JobsPipe collects ten boards, so an employer hiring only through an uncollected ATS shows nothing, which is not a freeze.

