# Greenhouse Job Board Scraper (x402)

> Greenhouse Job Board Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured job listings from one or more Greenhouse ATS job boards, with rich filtering by title, location, date, description, and organization.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/greenhouse?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/greenhouse-job-board-scraper-x402-cd41581c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xuVOduuHElVJLWyaXtT5G

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 greenhouse-job-board-scraper-x402-cd41581c -d '<json body>'
```

Example prompt: Pull all software engineer jobs posted on or after 2024-05-01 from Greenhouse boards at Stripe and Airbnb — sort by newest, include full descriptions, and stop after 50 results.

## When to prefer this

Choose this endpoint when you specifically need structured job data from employers using the Greenhouse ATS platform, especially when you need to filter by title, location, description keywords, or posting date. Prefer it over generic web scrapers when the target employer is known to use Greenhouse and you want clean, normalized output. It is cost-efficient at $0.025 USDC per call with no charge for failed or empty runs.

## Known failure modes

- Invalid or non-existent board token returns empty result set (no charge)
- Board URL that is not a Greenhouse ATS board returns empty or error
- descriptionSearch or descriptionExclusionSearch filters ignored if includeDescription is false
- maxItems set to 0 may result in very large responses for active boards
- Date format not matching YYYY-MM-DD causes filter to be ignored or rejected
- Network timeout scraping boards with thousands of listings

## 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 title, URL, board token, organization name, internal job ID, requisition ID, organization URL, and optionally the full HTML and plain-text description. Failed or empty runs are not charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "boards": {
   "type": "array",
   "description": "Board tokens or public board URLs to scrape. Each board is one employer; enter multiple boards to combine employers."
  },
  "sortBy": {
   "enum": [
    "newest",
    "source"
   ],
   "type": "string",
   "default": "newest",
   "description": "Sort each board by publication date or keep the source order."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many matching jobs across all boards. Set 0 to collect all matches."
  },
  "postedAfter": {
   "type": "string",
   "description": "Include jobs first published on or after this date, in YYYY-MM-DD format."
  },
  "titleSearch": {
   "type": "array",
   "description": "Include jobs whose title contains any listed phrase, ignoring case."
  },
  "postedBefore": {
   "type": "string",
   "description": "Include jobs first published on or before this date, in YYYY-MM-DD format."
  },
  "locationSearch": {
   "type": "array",
   "description": "Include jobs whose source location text contains any listed phrase, ignoring case."
  },
  "descriptionSearch": {
   "type": "array",
   "description": "Include jobs whose plain text description contains any listed phrase, ignoring case. Requires descriptions."
  },
  "includeDescription": {
   "type": "boolean",
   "default": true,
   "description": "Fetch full job descriptions as both HTML and plain text. Turn off for smaller responses when descriptions are not needed."
  },
  "organizationSearch": {
   "type": "array",
   "description": "Include jobs whose employer 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 source location text contains any listed phrase, ignoring case."
  },
  "descriptionExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose plain text description contains any listed phrase, ignoring case. Requires descriptions."
  },
  "organizationExclusionSearch": {
   "type": "array",
   "description": "Exclude jobs whose employer name contains any listed phrase, ignoring case."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "title": null,
    "boardToken": null,
    "organization": null,
    "internalJobId": null,
    "requisitionId": null,
    "organizationUrl": null
   }
  ],
  "product": "greenhouse"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/greenhouse-job-board-scraper-x402-cd41581c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
