# Workable Job Listings Scraper (x402)

> Workable Job Listings 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 Workable with filters for title, location, work model, employment type, experience level, and date range, billed per call via USDC micropayment.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/workable?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/workable-job-listings-scraper-x402-a23b5e8c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tcCE5SIFtD4yW-wShT6AP

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 workable-job-listings-scraper-x402-a23b5e8c -d '<json body>'
```

Example prompt: Search Workable for remote full-time software engineer jobs posted in the last 7 days, return up to 50 results, and exclude jobs from staffing agencies.

## When to prefer this

Choose this endpoint when you need structured, filterable job data from Workable specifically — especially when you need to combine multiple filters (location + work model + experience level + date range) in a single call, or when you want to monitor new job postings programmatically. It is preferable over general web scraping when Workable is the known source, since it returns clean structured fields like company metadata and deduplicates across multiple keyword searches automatically.

## Known failure modes

- Empty result set if no jobs match the given filters (not charged)
- Rate limiting or blocking by Workable if scraping volume is too high
- Invalid enum values for workModels, employmentTypes, or experienceLevels return validation errors
- postedAfter or postedBefore timestamps in wrong format cause filtering failures
- maxItems of 0 with no other caps may return very large payloads
- companiesInclude with misspelled names returns no company-specific results

## 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 job id, title, location, company name, company URL, company logo URL, company website, and company description. Only successful non-empty runs are charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "queries": {
   "type": "array",
   "description": "Job titles or keywords. Multiple values are searched separately and results are deduplicated. Empty searches recent public jobs."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many unique jobs across all searches. Zero has no item cap."
  },
  "locations": {
   "type": "array",
   "description": "Cities, regions, or countries to search. Multiple values are searched separately."
  },
  "workModels": {
   "type": "array",
   "items": {
    "enum": [
     "remote",
     "hybrid",
     "on_site"
    ],
    "type": "string"
   },
   "description": "Limit jobs to remote, hybrid, or on-site work. Multiple values are combined."
  },
  "postedAfter": {
   "type": "string",
   "description": "Keep jobs created by Workable on or after this ISO date or timestamp."
  },
  "postedBefore": {
   "type": "string",
   "description": "Keep jobs created by Workable on or before this ISO date or timestamp."
  },
  "employmentTypes": {
   "type": "array",
   "items": {
    "enum": [
     "full_time",
     "part_time",
     "contract",
     "temporary",
     "other"
    ],
    "type": "string"
   },
   "description": "Limit jobs by employment type. Multiple values are combined."
  },
  "companiesExclude": {
   "type": "array",
   "description": "Skip jobs whose employer name exactly matches a value or whose website contains a value."
  },
  "companiesInclude": {
   "type": "array",
   "description": "Keep only jobs whose employer name exactly matches a value or whose website contains a value."
  },
  "experienceLevels": {
   "type": "array",
   "items": {
    "enum": [
     "internship",
     "entry_level",
     "associate",
     "mid_senior_level",
     "director",
     "executive"
    ],
    "type": "string"
   },
   "description": "Limit jobs by the experience filters available in Workable search. Multiple values are combined."
  },
  "postedWithinDays": {
   "enum": [
    "1",
    "7",
    "30"
   ],
   "type": "string",
   "description": "Use the site date filter to search jobs posted in the past 1, 7, or 30 days."
  },
  "maxPagesPerSearch": {
   "type": "integer",
   "default": 25,
   "maximum": 100,
   "minimum": 1,
   "description": "Stop each search after this many pages of 20 jobs, even if more are available."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "title": null,
    "location": null,
    "companyUrl": null,
    "companyName": null,
    "companyLogoUrl": null,
    "companyWebsite": null,
    "companyDescription": null
   }
  ],
  "product": "workable"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/workable-job-listings-scraper-x402-a23b5e8c/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)
