NewSearch millions of jobs from your AI agent with MCP

Labour Market Pulse

Free aggregates from the live JobsPipe postings corpus, refreshed daily over a rolling 30-day window. Computed from real postings - never surveys. Every salary figure shows its sample size; thin cells are suppressed, not reported.

Snapshot: 2026-09-14 · Download CSV · Query the API yourself

Hiring demand by occupation

Occupation (ISCO-08)Postings (30d)Share
Data refreshing - check back shortly.

Advertised salary benchmarks

Annual USD percentiles from postings that state pay. n is the number of salary-bearing postings behind each row; suppressed rows had too few to report responsibly.

OccupationP25MedianP75nConfidence
Data refreshing - check back shortly.

The AI pay premium

Share of postings mentioning AI tooling per occupation, and the gap in median advertised pay between AI and non-AI roles.

OccupationAI shareAI medianNon-AI medianPremium
Data refreshing - check back shortly.

Hiring demand by industry

Industry (ISIC division)Postings (30d)Share
Data refreshing - check back shortly.

Snapshot archive

Monthly snapshots are archived permanently from 2026 onward - each one committed to the public repo with a verifiable timestamp - so trend series grow every month.

Methodology

Aggregates are computed from the live JobsPipe corpus: job postings collected from 30+ ATS feeds and job boards, deduplicated across sources, over a rolling 30-day window. Salary figures use only postings that state pay (roughly a quarter of the corpus; higher in US transparency-law jurisdictions), normalized to annual USD. Percentiles below the minimum sample threshold are suppressed. Postings measure advertised pay from disclosing employers, not realized earnings. Monthly snapshots are archived from 2026 onward. Free to cite with attribution to JobsPipe. Need different cuts - by title, country, or seniority? Query the Insights API or book a call.

Related

Frequently asked questions

What does the Labour Market Pulse measure?

Hiring demand by occupation (ISCO-08) and by industry (ISIC division) as shares of live job postings over a rolling 30-day window, advertised salary percentiles for postings that state pay with the sample size behind each row, and the share of postings mentioning AI tooling per occupation with the gap in median advertised pay. Everything is computed from postings collected from ATS feeds and job boards, never from surveys, so it measures advertised demand and advertised pay rather than employment or realised earnings.

How often is the Pulse updated?

The aggregates are recomputed daily over the rolling 30-day window and the snapshot date is shown at the top of the page. A monthly snapshot is archived as a CSV with a stable URL from 2026 onward, so a figure you cite today can be retrieved unchanged later.

Why are the headline figures shares rather than counts?

Because a count of postings measures the crawl as much as the market: the mix of boards collected shifts week to week and coverage differs by board, so a raw count would move for reasons that have nothing to do with hiring. A share of postings within the window is comparable across snapshots and against other sources. Where a count is shown it is the sample size behind a row, so you can judge how much weight the row carries; rows below the minimum sample are suppressed rather than reported.

How do I cite the Pulse?

Cite it as JobsPipe Labour Market Pulse with the snapshot date shown at the top of the page and the URL jobspipe.dev/pulse, or link the archived monthly CSV for a figure that will not change. The data is free to cite with attribution to JobsPipe. Because the corpus is a few months deep and its board mix changes, quote the figures as a cross-section for the stated window rather than as a trend.

How do I get the same numbers from the API?

The occupation, industry, salary and AI figures come from the Insights endpoints under /v1/insights, documented at docs.jobspipe.dev/api-reference/insights, and every cut on this page can be narrowed by title, country or seniority there. The postings behind them are queryable through POST /v1/jobs/search with filters such as occupation_code_or, isic_division_or, job_country_code_or and posted_at_max_age_days, which return the individual rows the shares are computed from.