Skip to main content
POST
Rolling out. The Historical Jobs endpoints are documented ahead of release and may not be live on api.hirebase.org yet. If you get a 404 or 405, the rollout has not reached production; check the changelog or email hello@hirebase.org and we will let you know when it is available.
Find out what the historical archive holds before you buy an export. The archive contains every job Hirebase has seen expire (roughly 29M records) with the same structured fields as live jobs. This endpoint returns aggregate information only, so you can iterate on filters as often as you like at no cost, then hand the same filter set to Historical Jobs Export.
Metering: free. Costs 0 units on every plan and every origin. Standard rate limits apply.
This endpoint requires an API key. See Authentication.

Request Body

All fields are optional, but at least one filter must be present. Unknown keys return 422 rather than being ignored. Only filters the archive index evaluates are accepted, so the count you see here is exactly the count an export will bill.
string[]
Job-title terms. Same quoting, AND and - exclusion syntax as Search Jobs. Example: ["sustainability", "ESG", "\"renewable energy\""].
string[]
Terms matched against skills, technologies and benefits. Description text is not searched on the archive.
object[]
Structured locations with any of city, region, country. Example: [{"country": "United States"}].
string
Named region group, e.g. Bay_Area, Northeast, Europe.
string[]
Exact company names.
string[]
Company slugs, e.g. ["edf-renewables"].
string
Inclusive lower bound on date_posted, YYYY-MM-DD.
string
Inclusive upper bound on date_posted, YYYY-MM-DD.
string
Inclusive lower bound on date_expired, YYYY-MM-DD.
string
Inclusive upper bound on date_expired, YYYY-MM-DD.
integer
default:"50"
Number of sample titles to return, 0100.
Not supported on the archive (returns 422): salary, job type, seniority, industry, work arrangement, and free-text description search. These fields are still present in every exported record; they just cannot be used to filter yet.

Response

integer
Archived jobs matching the filters. This is the number an uncapped export would contain.
object[]
{year, count} for each year from 2021 (or date_posted_from) to the current year.
object[]
Up to 10 {company_name, count} entries.
object[]
{job_title, year_posted} for the most recently posted matches. Titles only; full records come from the export.
object
description_text_sample_pct: share of the sampled records that still carry free-text description (0–100). Structured fields are retained on all records. note: a plain-language coverage caveat.
object
record_count, price_usd for exporting the whole match set, and tiers describing the pricing.

Coverage

The archive reflects Hirebase’s own crawl footprint, which has grown year over year. A thin early year means Hirebase saw fewer postings then, not that the market was smaller. About 60% of the archive is US-based.