- API reference
- Endpoints
Count jobs
How many jobs match a filter set without paying for the rows — the identical filters as /v1/jobs, returning a single number instead of a page of payloads.
https://api.hyperjobs.io/v1/jobs/countThe size of a query, and nothing else. It takes the identical filter set to
/v1/jobs and returns a single number — the
cheap way to size a query before you commit to paging through it, or to build
dashboards and facet counts without hauling job payloads around.
curl -G https://api.hyperjobs.io/v1/jobs/count \
-H "Authorization: Bearer $HYPERJOBS_KEY" \
--data-urlencode "skill=python" \
--data-urlencode "work_arrangement=Remote" \
--data-urlencode "country=United States"Query parameters#
Every filter parameter from /v1/jobs
works here with identical semantics — title, skill, country,
salary_gte, source, created_gte, all of them. The tables aren't repeated
on this page; the jobs-list page is the contract for both endpoints.
Shape parameters are rejected. limit, offset, cursor, collapse,
and description_format control how rows come back — and there are no rows
here, so sending any of them is a 400. If you want a count and the first
page, one /v1/jobs call gives you both: its total is the same number.
Response#
countLive matches for the filter set — non-duplicate, non-expired, same
population /v1/jobs reports as total.
{
"count": 21497
}Errors#
| Status | Cause |
|---|---|
400 | Invalid parameter or value — the body names the param and carries a hint. |
401 | Missing, unknown, or revoked key. |
429 | Rate limit or monthly quota exceeded. |
500 | Server error. Retry with backoff. |
Validation is strict — a misspelled filter is a 400, never a
misleadingly small count.
Next#
The full filter vocabulary this endpoint shares.
FilteringHow the filters combine, and how to debug an unexpected count.