Labour Market Insights API
Labour-market insights computed live from deduplicated job postings - occupations, industries, skills, compensation, and AI exposure.
GET https://api.jobspipe.dev/v1/insights/...
POST https://api.jobspipe.dev/v1/insights/salary/benchmarkThe Insights endpoints turn the postings corpus into aggregate labour-market answers: which occupations and industries are hiring, what skills they ask for, what they pay, and how exposed each group is to AI demand. Every number is measured live from deduplicated, liveness-tracked job ads at request time - never cached, never modeled. Occupations use ISCO-08 codes; industries use ISIC Rev.4 divisions. Requires authentication; each call costs 1 credit from your monthly quota.
Endpoints
| Method | Path | Returns |
|---|---|---|
GET | /v1/insights/occupations | ISCO-08 occupations ranked by posting volume |
GET | /v1/insights/occupations/{code} | Snapshot: count, remote share, top companies, titles, countries |
GET | /v1/insights/occupations/{code}/compensation | Advertised-salary percentiles (p10-p90) |
GET | /v1/insights/occupations/{code}/skills/top | Skills ranked by mention share |
GET | /v1/insights/occupations/{code}/skills/trending | Skills growing or declining vs the prior window |
GET | /v1/insights/industries | ISIC divisions ranked by posting volume |
GET | /v1/insights/industries/{division}/skills/trending | Trending skills inside one industry |
GET | /v1/insights/skills/{slug}/trend | Monthly mention-share series for one skill |
GET | /v1/insights/technology/ai-exposure | AI-skill share and salary premium per occupation or industry |
POST | /v1/insights/salary/benchmark | Salary percentiles for a code or title match |
Common parameters
| Param | Applies to | Description |
|---|---|---|
window_days | all | Look-back window over posting dates. Default 90, max 365. |
{code} | occupation endpoints | ISCO-08 code: 4 digits exact (2512), or 1-3 digits to roll up a whole group (25). |
{division} | industry endpoints | ISIC Rev.4 division, 2 digits (62). |
direction | trending endpoints | up (default) for growing skills, down for declining. The scan covers twice window_days to compare against the preceding period. |
by | ai-exposure | occupation or industry. |
Sample sizes and suppression
Insight quality is stated, never implied:
- List endpoints only return groups with at least 30 postings in the window.
- Percentile endpoints return
suppressed: truewithpercentiles: nullwhen the sample is under 30 - small-sample statistics are never leaked. - Every percentile response carries a
confidencetier:low(30-99 postings),medium(100-999),high(1000+), alongside the exactcount.
Example
curl "https://api.jobspipe.dev/v1/insights/occupations/2512/compensation?country=US" \
-H "Authorization: Bearer jp_live_your_key_here"{
"occupation_code": "2512",
"occupation_label": "Software Developers",
"window_days": 90,
"country": "US",
"count": 8945,
"currency": "USD",
"percentiles": { "p10": 98000, "p25": 130000, "p50": 175500, "p75": 210000, "p90": 245000 },
"confidence": "high",
"suppressed": false
}Salary figures are advertised pay from postings that state it, normalized to annual USD - a measurement of what employers offer publicly, which is not identical to survey-based earnings statistics.
Status codes
| Status | Meaning |
|---|---|
200 | Success (possibly suppressed: true) |
400 | Invalid parameter |
401 | Missing or invalid API key |
402 | Monthly request quota exceeded |
404 | Unknown code, or no postings in the window |
429 | Per-second rate limit exceeded |
See the error reference for handling guidance.