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/benchmark

The Insights endpoints answer aggregate labour-market questions from job postings: which occupations and industries are hiring, what skills they ask for, what they pay, and how exposed each group is to AI demand. Numbers are computed from deduplicated postings at request time. Occupations use ISCO-08 codes; industries use ISIC Rev.4 divisions. Requires authentication. Each call costs 1 credit.

Endpoints

MethodPathReturns
GET/v1/insights/occupationsISCO-08 occupations ranked by posting volume
GET/v1/insights/occupations/{code}Snapshot: count, remote share, top companies, titles, countries
GET/v1/insights/occupations/{code}/compensationAdvertised-salary percentiles (p10-p90)
GET/v1/insights/occupations/{code}/skills/topSkills ranked by mention share
GET/v1/insights/occupations/{code}/skills/trendingSkills growing or declining vs the prior window
GET/v1/insights/industriesISIC divisions ranked by posting volume
GET/v1/insights/industries/{division}/skills/trendingTrending skills inside one industry
GET/v1/insights/skills/{slug}/trendMonthly mention-share series for one skill
GET/v1/insights/technology/ai-exposureAI-skill share and salary premium per occupation or industry
POST/v1/insights/salary/benchmarkSalary percentiles for a code or title match

Common parameters

ParamApplies toDescription
window_daysallLook-back window over posting dates. Default 90, max 365.
{code}occupation endpointsISCO-08 code: 4 digits exact (2512), or 1-3 digits to roll up a whole group (25).
{division}industry endpointsISIC Rev.4 division, 2 digits (62).
directiontrending endpointsup (default) for growing skills, down for declining. The scan covers twice window_days to compare against the preceding period.
countrycompensationISO 3166-1 alpha-2 country, e.g. US.
byai-exposureoccupation or industry.

Sample sizes and suppression

  • List endpoints only return groups with at least 30 postings in the window.
  • Percentile endpoints return suppressed: true with percentiles: null when the sample is under 30.
  • Every percentile response carries a confidence tier: low (30-99 postings), medium (100-999), high (1000+), alongside the exact count.

Example

curl "https://api.jobspipe.dev/v1/insights/occupations/2512/compensation?country=US" \
  -H "Authorization: Bearer jp_live_your_key_here"
200 OK
{
  "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, annualized. Figures are in USD. They measure what employers offer publicly, which differs from survey-based earnings statistics.

Status codes

StatusMeaning
200Success (possibly suppressed: true)
400Invalid parameter
401Missing or invalid API key
402Out of credits
404Unknown code, or no postings in the window
429Per-second rate limit exceeded

See errors for handling guidance. Every endpoint is also in the API Explorer.

On this page