Hiring Signals API: Who Is Hiring, and Who Quietly Stopped avatar

Hiring Signals API: Who Is Hiring, and Who Quietly Stopped

Pricing

from $2.00 / 1,000 job rows

Go to Apify Store
Hiring Signals API: Who Is Hiring, and Who Quietly Stopped

Hiring Signals API: Who Is Hiring, and Who Quietly Stopped

Which companies opened roles this week and which quietly closed them, straight from the applicant tracking systems of 6,374 employers. 231,554 open positions and a change feed: the closings are the half a snapshot throws away. Live coverage at /jobs/v1/coverage, no key needed.

Pricing

from $2.00 / 1,000 job rows

Rating

0.0

(0)

Developer

DataSignals Lab

DataSignals Lab

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

Hiring signals: who is hiring, and who quietly stopped

A company that opens five roles is spending money and has a problem to solve. A company that closes eleven in a week has changed its mind. Both are sales triggers, and only one of them is for sale anywhere else.

This API reads the applicant tracking systems of 6,374 employers directly and keeps the events underneath: every opening, every closing, in order, with a cursor so you can poll it without duplicates or gaps.

Why this is different

Most job APIs sell a snapshot: what is open right now. That answers half a question, and it is the half everyone already has. If a posting vanished overnight a snapshot cannot tell you - it can only stop mentioning it, and you find out by noticing an absence.

In the last seven days this set recorded 28,631 openings and 26,079 closings. The closings are the part a snapshot throws away, and they are the part that says a team froze, a budget moved, or a project shipped.

  • Straight from the source. Eight applicant tracking systems publish a public JSON endpoint for their customers' career pages: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Teamtailor, Breezy and Rippling. No aggregator in between, no bot protection to work around.
  • The full description, as the employer wrote it, on 178,740 of the 231,554 open positions. Off by default; ask for it with include_description=true.
  • Every row says how long it has been open. A role open for eleven weeks says something a role posted yesterday does not.
  • Cursor-based changes. Pass back the cursor from your last response and you get exactly what happened after it: no duplicates, no gaps, however often you poll.
  • Checkable before you pay. /v1/health and /v1/coverage need no key.

What people use it for

  • Sales triggers. A company hiring three DevOps engineers is buying tooling this quarter. Ask /v1/signals/hiring?direction=hiring&days=7&min_change=3 and you get the employers who just told the world what they need, dated, biggest first. No aggregating a raw event stream yourself.
  • Hiring freezes. direction=freezing gives the other half, and this is the one nobody else sells. In a week where 26,079 postings closed, the interesting rows are the companies that closed dozens and opened none.
  • Competitive and market intelligence. Watch a competitor's departments open and close over time. A team that stops hiring is a signal months before it shows up anywhere else.
  • Investment and research. Hiring is a leading indicator that is public, timestamped and hard to dress up. The change feed makes it measurable per company instead of per press release.
  • Job boards and agents. The same set also serves the ordinary case: live openings with apply links, straight from the employer's own system.

What is in it

open positions231,554
companies with an opening6,374
largest market, United States110,952
countries with 100 or more open roles35
with the full description178,740
openings and closings on record507,982
closings in the last 7 days26,079

Measured 11 September 2026, from events recorded since 4 August 2026. Call /v1/coverage for today's numbers; /v1/health says how fresh the set is.

Endpoints

endpointwhat it doeskey
GET /v1/healthhow fresh the set is, and how much is in itno
GET /v1/coveragewhat is in the set, per countryno
GET /v1/jobssearch by keyword, location, country, remote, companyyes
GET /v1/jobs/changeswhat opened and what closed since your cursorPro and up
GET /v1/signals/hiringper company: opened, closed and the net change in a 7 or 30 day window, sorted by sizePro and up
GET /v1/usagewhat you used this periodyes

Plans

planpricerows/monthrequests/monthchange feed
Basicfree25025no, and delayed 24h
Pro$4510,0005,000yes
Ultra$9525,00010,000yes
Mega$19975,00025,000yes

Counted in rows returned, not calls: a call that returns a hundred jobs is not the same as one that returns three.

Honest limits

  • Not real time. Sources are refreshed once a night. The freshest a row can be is last night's run, and /v1/health says so itself.
  • No salary fields. They are not in the source, so they are not in the answer.
  • One country, one name. Sources hand over the country as the employer's applicant tracking system wrote it, so the same place arrived under several spellings: United States of America next to United States, and a handful of rows in the employer's own language. Those are mapped to one English name on the way in, and a spelling we do not recognise is kept as it is rather than dropped. /v1/coverage lists every value in the set, so you can see exactly what you are filtering on before you pay. Worldwide is in that list: it is not a country, it is what an employer put on a fully location-independent role.
  • 6,374 companies, not the whole internet. fantastic.jobs indexes 200,000+ and sells at roughly $1 per 1,000 jobs, with AI-enriched fields and company data this API does not have. If you need breadth or enrichment, buy theirs. What this one gives you is the source and the change: the posting comes from the employer's own applicant tracking system, not from a scrape, and every closing is kept instead of dropped.

About DataSignals Lab

This API is one of two subscription products from DataSignals Lab; the other one turns official US filings into scored signals. The two share a house rule and a front door, not a dataset.

Scored signals from SEC, FDA, Congress and other official filings. The daily output is hashed and anchored, so past signals cannot be edited. Agents call it over MCP.

Every score in every report lists the terms it was built from, so you can check the number instead of trusting it.

That second sentence is about the signal products and not about this one: job postings are not scored here. What this API promises instead is coverage of the change - every row carries how long it has been open, and the change feed says what disappeared.