# Ashby Job Board Scraper

> Ashby Job Board Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes and filters job listings from one or more Ashby (jobs.ashbyhq.com) company boards, returning structured job data.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/ashby?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ashby-job-board-scraper-0dd75ecd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tn9JhVGemdgpZzUNdRHNu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ashby-job-board-scraper-0dd75ecd -d '<json body>'
```

Example prompt: Pull all remote full-time engineering jobs from Stripe's and Notion's Ashby boards that have salary info displayed, keeping only roles with 'engineer' in the title — give me up to 50 results.

## When to prefer this

Choose this endpoint when you need structured job listing data specifically from companies using the Ashby ATS (jobs.ashbyhq.com). It is ideal for aggregating across multiple boards in a single call, applying rich server-side filters (salary, remote, workplace type, employment type, title/location/description keywords), and when you need pay-per-result pricing with no charge for empty runs. Prefer it over general web scrapers when targeting Ashby specifically, as the schema is tailored to Ashby's data model.

## Known failure modes

- Invalid or non-existent Ashby board name returns empty results (not charged)
- Board is private or unlisted and returns no jobs
- Rate limiting or network errors from Ashby upstream
- Filters too restrictive resulting in zero matches (not charged)
- Truncated results if maxItems is set too low

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched jobs and an array of job items, each containing the job ID, public URL, board name, job title, apply URL, date posted, organization name, and organization URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "boards": {
   "type": "array",
   "description": "Ashby board names or jobs.ashbyhq.com board URLs. Add one or more boards to collect jobs from."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum jobs across all boards. Set to 0 to collect every matching job."
  },
  "hasSalary": {
   "type": "boolean",
   "default": false,
   "description": "Include only jobs with publicly displayed salary details."
  },
  "listedOnly": {
   "type": "boolean",
   "default": true,
   "description": "Include only jobs marked as listed on their public board."
  },
  "remoteOnly": {
   "type": "boolean",
   "default": false,
   "description": "Include only jobs marked remote by the source."
  },
  "titleSearch": {
   "type": "array",
   "description": "Keep jobs whose title contains any listed phrase, ignoring case."
  },
  "locationSearch": {
   "type": "array",
   "description": "Keep jobs whose primary location contains any listed phrase, ignoring case."
  },
  "workplaceTypes": {
   "type": "array",
   "items": {
    "enum": [
     "Remote",
     "Hybrid",
     "OnSite"
    ],
    "type": "string"
   },
   "description": "Keep these source workplace types. Leave empty to include all."
  },
  "employmentTypes": {
   "type": "array",
   "items": {
    "enum": [
     "FullTime",
     "PartTime",
     "Contract",
     "Temporary",
     "Intern",
     "Volunteer",
     "PerDiem",
     "Other"
    ],
    "type": "string"
   },
   "description": "Keep these source employment types. Leave empty to include all."
  },
  "descriptionSearch": {
   "type": "array",
   "description": "Keep jobs whose plain text description contains any listed phrase, ignoring case."
  },
  "organizationSearch": {
   "type": "array",
   "description": "Keep jobs whose board organization name contains any listed phrase, ignoring case."
  },
  "titleExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose title contains any listed phrase, ignoring case."
  },
  "locationExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose primary location contains any listed phrase, ignoring case."
  },
  "descriptionExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose plain text description contains any listed phrase, ignoring case."
  },
  "organizationExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose board organization name co
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "board": null,
    "title": null,
    "applyUrl": null,
    "datePosted": null,
    "organization": null,
    "organizationUrl": null
   }
  ],
  "product": "ashby"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ashby-job-board-scraper-0dd75ecd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
