Which companies are hiring right now?

Find the companies that opened roles this week, and the ones that quietly stopped. Read from the applicant tracking systems of 6,384 employers, with the closings kept instead of dropped. One API call, no scraping.

A company that opens five roles has signed off a budget and has a problem it cannot solve with the people it has. That is a better reason to call them than anything you can infer from their website.

The list is easy to get. What almost nobody sells is the other half: which companies stopped.

Ask it in one call

GET /v1/signals/hiring?direction=hiring&days=7&min_change=3

You get employers, not postings. Per company: how many roles opened, how many closed, the net change, and how many are open right now.

{
  "company": "triumvirateenvironmental",
  "signal": "hiring",
  "opened": 126,
  "closed": 11,
  "net": 115,
  "open_now": 412,
  "window_days": 7
}

Filter by country, widen the window to 30 days, or lower the threshold to catch smaller moves. Add direction=freezing and you get the mirror image: employers who closed far more than they opened.

Where the data comes from

Eight applicant tracking systems publish a public JSON endpoint for their customers' career pages: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Teamtailor, Breezy and Rippling. We read those directly, every night, across 6,384 employers.

No aggregator in between and no scraping of a job board, so a posting is here before a job board copies it, and the row carries the employer's own apply link.

In the last seven days this set recorded 40,875 openings and 37,502 closings. Those numbers are read from the live database when this page is built, not typed in by hand.

Why the closings matter more than the openings

Every job API on the market sells a snapshot: what is open right now. Ask it again tomorrow and a posting that disappeared is simply no longer mentioned. You find out by noticing an absence, which means you do not find out.

We keep the events underneath. A posting that vanishes produces a closed event with a timestamp, and those add up per company.

That is the signal nobody else sells, and it is worth being precise about what it does and does not mean.

What a closing tells you: the employer took the posting down on that date.

What it does not tell you: why. A role disappears when it is filled, and it also disappears when it is withdrawn. We cannot see the difference and we do not pretend to. What carries information is the pattern: a company that closes forty roles in a week and opens two did not fill forty positions in a week.

Anyone selling you "layoff data" derived from job postings is guessing at that difference. We hand you the events and let you decide.

Who uses this

Sales and GTM. Filter the hiring side by title, department or country and you have a list of employers who just told the world what they are about to spend money on, with a date. A posting needs budget approval, which is why hiring is a higher-confidence signal than most intent data.

Competitive intelligence. Watch a competitor's departments open and close over months. A team that stops hiring is visible here long before it shows up anywhere else.

Research and investment. Hiring is a leading indicator that is public, timestamped and hard to dress up. See is this company growing or pulling back for the version that lines this up against SEC filings on the same ticker.

Job boards and agents. The ordinary case works too: live openings with apply links, straight from the employer's own system.

Check it before you pay

Two endpoints need no key at all:

curl https://datasignalslab.com/jobs/v1/health
curl https://datasignalslab.com/jobs/v1/coverage

/health says how fresh the set is, /coverage says what is in it, per country. Every number on this page comes from the same database those answer from.

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.

6,384 companies, not the whole internet. Fantastic.jobs indexes 200,000+ career sites and sells at roughly $1 per 1,000 jobs, with enriched fields this API does not have. If you need breadth or enrichment, buy theirs. What this one gives you is the source and the change.

No salary fields. They are not in the source, so they are not in the answer.

Country names come from the employer. They 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.

Start

The change feed and the hiring signals are on Pro and up, from $45 a month. The free tier covers search so you can see the shape of the data first. Full detail on the Hiring Signals API.