# HireScrape Jobs Search API

> HireScrape Jobs Search API is a paid API for AI agents from hirescrape.com, paid per call via x402, $0.21/call, status unknown (last checked 2026-09-14).

Scrapes job listings from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and Naukri in a single API call

## Facts

- Endpoint: POST https://hirescrape.com/api/tools/jobs
- Price: $0.21/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hirescrape-com-123001ec
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oEEBK7yQRFVk2RvLh5HT7

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 hirescrape-com-123001ec -d '<json body>'
```

Example prompt: Find me software engineer jobs in Austin, Texas — pull listings from LinkedIn, Indeed, and Glassdoor all at once so I can compare what's out there.

## When to prefer this

Use this endpoint when you need to aggregate job listings across multiple major job boards (LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, Naukri) in a single call, rather than querying each platform's API separately. Ideal for building job aggregator tools, automated job alert systems, or conducting broad labor market research without managing multiple API integrations.

## Known failure modes

- Job platform blocks or rate-limits the scraper, returning partial or empty results
- Invalid or unsupported search parameters return an error response
- Platform-specific outage causes missing data from one or more sources
- Malformed request body returns a 400 validation error
- Exceeded usage quota or insufficient payment triggers a payment/auth error

## How this service works

Scrape jobs from LinkedIn, Indeed, Glassdoor, Google Jobs, ZipRecruiter, Bayt, BDJobs, and Naukri in one call.

## Output

Returns an aggregated list of job postings scraped across multiple major job platforms, including job title, company, location, salary (where available), job description snippet, posting date, and direct URL to the listing on each source platform.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sites": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [
    "linkedin",
    "indeed",
    "glassdoor",
    "google",
    "zip_recruiter",
    "bayt",
    "bdjobs",
    "naukri"
   ],
   "description": "Boards: linkedin, indeed, glassdoor, google, zip_recruiter, bayt, bdjobs, naukri."
  },
  "offset": {
   "type": "integer",
   "minimum": 0,
   "description": "Skip first N results (pagination)."
  },
  "jobType": {
   "enum": [
    "",
    "fulltime",
    "parttime",
    "contract",
    "internship",
    "temporary"
   ],
   "type": "string",
   "default": "",
   "description": "Filter by employment type."
  },
  "distance": {
   "type": "integer",
   "default": 50,
   "maximum": 200,
   "minimum": 0,
   "description": "Radius in miles from location."
  },
  "hoursOld": {
   "type": "integer",
   "maximum": 8760,
   "minimum": 1,
   "description": "Only jobs posted in last N hours."
  },
  "isRemote": {
   "type": "boolean",
   "default": false,
   "description": "Remote-only."
  },
  "location": {
   "type": "string",
   "description": "City, state, country, or 'Remote'. Empty = global."
  },
  "easyApply": {
   "type": "boolean",
   "default": false,
   "description": "Only easy-apply jobs."
  },
  "maxResults": {
   "type": "integer",
   "default": 20,
   "maximum": 100,
   "minimum": 1,
   "description": "Max jobs per board (1-100)."
  },
  "searchTerm": {
   "type": "string",
   "description": "Job title, keyword, or skill."
  },
  "countryIndeed": {
   "type": "string",
   "default": "usa",
   "description": "Country code for Indeed/Glassdoor (usa, uk, canada, etc)."
  },
  "googleSearchTerm": {
   "type": "string",
   "description": "Custom query for Google Jobs only."
  },
  "descriptionFormat": {
   "enum": [
    "markdown",
    "html"
   ],
   "type": "string",
   "default": "markdown",
   "description": "Output format for job descriptions."
  },
  "linkedinCompanyIds": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Restrict LinkedIn to specific company IDs."
  },
  "enforceAnnualSalary": {
   "type": "boolean",
   "default": false,
   "description": "Normalize salary to annual."
  },
  "linkedinFetchDescription": {
   "type": "boolean",
   "default": false,
   "description": "Fetch full LinkedIn job descriptions."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "items": [
   {
    "site": "linkedin",
    "title": "Senior Backend Engineer",
    "jobUrl": "https://www.linkedin.com/jobs/view/4100000",
    "salary": "$180K–$240K",
    "company": "Acme AI",
    "jobType": "Full-time",
    "location": "San Francisco, CA (Remote)",
    "datePosted": "2026-04-17",
    "description": "Design and build pay-per-call APIs…"
   }
  ],
  "runId": "mo4jobsexample",
  "payment": {
   "amount": "0.210000",
   "currency": "USD",
   "protocol": "x402"
  },
  "duration": 12
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hirescrape-com-123001ec/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hirescrape.com](https://www.zero.xyz/host/hirescrape.com/llms.txt)
