Ashby API: pulling job postings from any Ashby-hosted careers page
Ashby runs hiring for Linear, Ramp, Notion, Vercel, and thousands of other startups. Its public Job Board endpoint is free but covers one company per call. Here is how each Ashby API surface works and how to query every Ashby customer at once.
Dvir Atias
Founder, JobsPipe
Ashby has quietly become the ATS of choice for the current startup generation - Linear, Ramp, Mercury, Notion, Vercel, and thousands of other companies run their hiring on it. Which makes the Ashby API an increasingly common search for anyone building on jobs data. Like most ATSs, the phrase covers several different surfaces, and the one you find first is usually not the one you need.
The three Ashby API surfaces
- The public Job Board endpoint -
api.ashbyhq.com/posting-api/job-board/<organization>. Unauthenticated, free, returns one customer’s published postings as JSON. This is the surface most developers want. - The authenticated Ashby API - the full REST surface for jobs, candidates, applications, offers, and webhooks. Requires an API key minted inside a customer’s Ashby admin (Settings > API), sent via HTTP Basic auth. Every key is scoped to that one customer’s tenant.
- The Embed API - what Ashby customers use to render their own job board on their marketing site. Not a data-consumption surface at all.
The public Job Board endpoint in practice
For a single known company, the public endpoint is genuinely good - structured JSON, no key, no scraping:
curl https://api.ashbyhq.com/posting-api/job-board/linearYou get back the organization’s currently published postings with title, location, department, employment type, and a deep link to the apply page on jobs.ashbyhq.com.
Where single-organization access runs out
The endpoint takes one organization slug per call, and that is the whole model. There is no endpoint that lists Ashby customers, no cross-organization search, no historical data on expired postings, and the endpoint is rate-limited per IP - it is not built for high-volume polling. If your product needs jobs across many Ashby-using companies, you first need a list of every Ashby customer slug, and you need to keep that list current as companies adopt or leave the platform. That discovery-and-maintenance layer is the actual work.
Query every Ashby customer at once
JobsPipe maintains that layer. We index every public Ashby careers site - roughly 2,000 organizations as of 2026 - and serve the postings through one endpoint, in the same normalized schema as Workday, Greenhouse, Lever, and 30+ other sources:
curl https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer jp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "source_or": ["ashby"], "job_title_or": ["product engineer"], "posted_at_gte": "2026-07-06" }'Narrow to one company with "company_name_partial_match_or": ["Linear"], or drop the source_or filter to search Ashby postings alongside every other ATS. The full surface - webhooks on new postings, expired posting retention, per-field docs - is on our Ashby source page.
Every public Ashby customer, one API key - free tier included.
Get a free API key