---
title: "Every US employment measure with all four windows worked out"
method: GET
path: "/v1/jobs"
tags: ["Series"]
---

# Every US employment measure with all four windows worked out

`GET /v1/jobs`

## Request

- Base URL: `https://api.helious.io`
- URL: `https://api.helious.io/v1/jobs`
- Auth: one of:
  - none
  - HTTP bearer

Total nonfarm payrolls split into private and government, the ten private supersectors, federal, state and local government, ADP's own private count by sector, initial and continuing jobless claims, and JOLTS openings, hires, quits and layoffs including openings by sector. Each measure returns its monthly change plus 3, 6 and 12-month windows, in THOUSANDS of jobs, so no caller has to difference anything itself. Also reports which sectors drove the headline change, and those parts sum to it exactly because they are counts of people rather than weighted index numbers. Percentages such as the unemployment, participation and quits rates ride in a separate `standing` block, because a percentage and a count cannot share an axis. The latest reading answers on every tier, including keyless, because it is a single published figure. For the first 60 minutes after a print that feeds this board, Sample and Free get the board without it, and `held_until` says when it joins. The monthly HISTORY behind it follows your plan's window (7 days on a free key, 12 months Starter, 24 months Pro, 10 years Ultimate); a call that hits the window still returns the newest month and adds a `plan_limit` block naming the month it reached back to.

## Query parameters

- `measures` string
- `history` boolean
- `window` integer
- `fresh` boolean

## Response `200`

summary + source + data + meta envelope

- Envelope: Every /v1 response. `summary` states the answer as one plain-English sentence and `source` says who to credit for it, both before the raw `data`, so the finished claim is the first thing a reader meets.
  - `summary` string: The answer as a sentence, with the numbers in it. Identical to the sentence the matching MCP tool returns.
  - `source` object: Who to credit and where a reader can check the number.
    - `name` string
    - `url` string, uri: The Helious page backing this answer.
    - `cite_as` string
    - `attribution` string
    - `live` string: How current these numbers are on YOUR plan, and how to ask for them again. Says the data is live only on a tier that serves it live.
  - `data` object: The dataset itself.
  - `meta` object: When it was true, and what your plan allows.
  - `plan_limit` object: Present only when your plan moved the window. Says this is a plan limit rather than missing data, what Helious holds behind it, and the exact step to relay to the person you work for.

## Other responses

- `429`: Over the per-minute limit (code rate_limited, Retry-After the rest of the minute) or the wallet cannot pay (code out_of_credits: credits_left, resets_on, retry_after_seconds, packs, topup_url, upgrade_url, and fresh_costs on a held plan). Nothing is charged for a refusal.

## Changes

- **2026-10-20** `06bada17ad7a`: 2 info
  - added the new optional `query` request parameter `fresh`
  - added the non-success response with the status `429`

[Operation history](https://skmtc.dev/helious/apis/helious-public-api/changes/v1/jobs/get.md)

---

[API](https://skmtc.dev/helious/apis/helious-public-api.md) · [All operations](https://skmtc.dev/helious/apis/helious-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/helious/apis/helious-public-api/revisions/06bada17ad7a?raw)
