NewSearch millions of jobs from your AI agent with MCP
All posts
GuideAshby
Guide·Jul 13, 2026·6 min read

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

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

You 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

Skip the scraper - try the API right now

Live, normalized postings from 30+ ATS feeds and job boards in one JSON schema. No key, no signup - this sandbox returns sample data in the exact live shape.

Results

Press Test search to see normalized job records rendered here, and the raw JSON on the right.

JSON responsePOST /v1/sandbox/jobs/search
{
  "job_title_or": [
    "software engineer"
  ],
  "limit": 3,
  "remote": true
}
Advanced: edit the raw request, or copy it as curl
curl -X POST https://api.jobspipe.dev/v1/sandbox/jobs/search \
  -H "Content-Type: application/json" \
  -d '{"job_title_or":["software engineer"],"remote":true,"limit":5}'

For live results, get a free key (1,000 jobs/month) and swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header - request and response shapes are identical.

FAQs

Frequently Asked Questions

How do I get job postings from the Ashby API?

Call the public Job Board endpoint at api.ashbyhq.com/posting-api/job-board/ plus the organization slug. It is unauthenticated and free, and returns that company's currently published postings as JSON with title, location, department, employment type, and a deep link to the apply page on jobs.ashbyhq.com. Fetching https://api.ashbyhq.com/posting-api/job-board/linear returns Linear's open roles. This is the surface most developers looking for the Ashby API actually want.

Is the Ashby API free?

The public Job Board endpoint is free and needs no key, but it covers one company per call. Ashby also has an authenticated REST API for jobs, candidates, applications, offers and webhooks, which requires a key minted inside a customer's Ashby admin under Settings then API and sent via HTTP Basic auth. Every key is scoped to that one tenant. A separate Embed API only renders a customer's own board.

Can I search jobs across all Ashby companies at once?

Not with Ashby's own API. The public endpoint takes one organization slug per call, there is no endpoint that lists Ashby customers, no cross-organization search, no historical data on expired postings, and it is rate-limited per IP. Doing it yourself means building and maintaining a list of every Ashby customer slug. JobsPipe maintains that layer, indexing roughly 2,000 public Ashby careers sites as of 2026 behind one endpoint.