# Job Listings Search API

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

Searches and retrieves structured job listings with filtering by location, salary, industry, workplace type, and employment commitment

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/hiring?utm_source=zero.xyz
- Price: $0.06/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/job-listings-search-api-ca319171
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_y4wsWRYvhBdowOxBEX89I

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 job-listings-search-api-ca319171 -d '<json body>'
```

Example prompt: Search for up to 50 remote full-time software engineering jobs paying at least $120,000 USD, sorted by most recent, and include only roles in the US or Canada.

## When to prefer this

Choose this endpoint when you need structured, aggregated job listing data with flexible multi-field filtering (location, salary, industry, workplace type, commitment) in a single API call. Prefer it over general web scrapers when you want clean, schema-consistent job records with apply URLs and source attribution, especially for automated hiring pipelines, job market research, or agent-driven job matching workflows.

## Known failure modes

- No results returned for overly narrow filter combinations (not charged)
- Invalid enum values for sortBy, workplaceTypes, or commitmentTypes result in validation errors
- Salary filter with mismatched currency may return no results
- maxItems exceeding 1000 is rejected
- Empty response if no jobs match the search queries and filters

## 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, job URL, apply URL, source platform, board token, requisition ID, and object ID. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sortBy": {
   "enum": [
    "default",
    "date",
    "date_asc",
    "compensation_desc",
    "compensation_asc"
   ],
   "type": "string",
   "default": "default",
   "description": "Order search results by relevance, date, or pay."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Maximum distinct jobs across all search queries."
  },
  "locations": {
   "type": "array",
   "default": [],
   "description": "City, state, or country names. Empty searches worldwide."
  },
  "maxSalary": {
   "type": "integer",
   "minimum": 0,
   "description": "Maximum published pay in the selected currency and period."
  },
  "minSalary": {
   "type": "integer",
   "minimum": 0,
   "description": "Minimum published pay in the selected currency and period."
  },
  "industries": {
   "type": "array",
   "default": [],
   "description": "Include companies in these industries."
  },
  "companyNames": {
   "type": "array",
   "default": [],
   "description": "Include only exact company names."
  },
  "jobTitleQuery": {
   "type": "string",
   "default": "",
   "description": "Restrict to titles containing this phrase."
  },
  "searchQueries": {
   "type": "array",
   "default": [],
   "description": "Search phrases. Each phrase runs as a separate search; empty searches all open jobs."
  },
  "salaryCurrency": {
   "enum": [
    "",
    "USD",
    "EUR",
    "GBP",
    "CAD",
    "AUD",
    "INR",
    "JPY",
    "CNY",
    "MXN",
    "BRL"
   ],
   "type": "string",
   "default": "",
   "description": "Currency used for the pay filter; empty allows any currency."
  },
  "workplaceTypes": {
   "type": "array",
   "items": {
    "enum": [
     "Remote",
     "Hybrid",
     "Onsite"
    ],
    "type": "string",
    "enumTitles": [
     "Remote",
     "Hybrid",
     "Onsite"
    ]
   },
   "default": [],
   "description": "Limit results to these workplace arrangements; empty includes all."
  },
  "commitmentTypes": {
   "type": "array",
   "items": {
    "enum": [
     "Full Time",
     "Part Time",
     "Contract",
     "Internship",
     "Temporary",
     "Seasonal",
     "Volunteer"
    ],
    "type": "string",
    "enumTitles": [
     "Full Time",
     "Part Time",
     "Contract",
     "Internship",
     "Temporary",
     "Seasonal",
     "Volunteer"
    ]
   },
   "default": [],
   "description": "Limit results to these employment arrangements; empty includes all."
 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "title": null,
    "jobUrl": null,
    "source": null,
    "applyUrl": null,
    "objectID": null,
    "boardToken": null,
    "requisitionId": null
   }
  ],
  "product": "hiring"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/job-listings-search-api-ca319171/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)
