# SimplyHired Job Listings Scraper

> SimplyHired Job Listings 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 structured job listing data from SimplyHired by keyword/location or direct search URLs, returning titles, salaries, companies, and descriptions.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/simplyhired?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/simplyhired-job-listings-scraper-7c6eb984
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7PcwD_6BXNfZX1KJm0DeK

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 simplyhired-job-listings-scraper-7c6eb984 -d '<json body>'
```

Example prompt: Search SimplyHired for up to 50 software engineer jobs in Austin, Texas and give me back the titles, companies, salaries, and descriptions.

## When to prefer this

Choose this endpoint when you need structured, machine-readable job listing data from SimplyHired specifically, including salary, company, and full description fields, without building your own scraper. It is pay-per-successful-call, so failed or empty runs are free. Prefer it over generic web scrapers when SimplyHired-specific fields (jobKey, descriptionHtml) are needed, or when you want paginated multi-result collection by keyword and location.

## Known failure modes

- SimplyHired blocks or rate-limits the scraper, returning an empty result set (not charged)
- Invalid or expired startUrls yield zero results
- Excessively broad keywords with maxItems=0 may hit page budget before collecting all results
- Salary and description fields may be null if not present in the listing
- maxPages exceeding 50 is rejected by schema validation

## 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 results and an array of job items, each containing the job title, jobKey, salary, company name, snippet, summary, location, and full description HTML. The product field confirms the source as 'simplyhired'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "keyword": {
   "type": "string",
   "default": "software engineer",
   "description": "Job title, skill, or search phrase. Used when search URLs are empty."
  },
  "location": {
   "type": "string",
   "default": "USA",
   "description": "City, state, country, or Remote for the keyword search."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum unique jobs across all searches. Set to 0 to collect up to the page budget."
  },
  "maxPages": {
   "type": "integer",
   "default": 5,
   "maximum": 50,
   "minimum": 1,
   "description": "Maximum cursor pages per search URL, with up to 20 jobs per page."
  },
  "startUrls": {
   "type": "array",
   "description": "Public SimplyHired search URLs. When supplied, these replace keyword and location."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "title": null,
    "jobKey": null,
    "salary": null,
    "company": null,
    "snippet": null,
    "summary": null,
    "location": null,
    "descriptionHtml": null
   }
  ],
  "product": "simplyhired"
 }
}
```

## More

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