# Instahyre Job Listings Scraper (x402)

> Instahyre 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 and returns structured job listing data from Instahyre, with filtering by skills, keywords, location, company, and job type, supporting both snapshot and change-monitoring modes.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/instahyre?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/instahyre-job-listings-scraper-x402-7a97f796
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cOgr8_3Q69a-59Gj2B77a

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

Example prompt: Search Instahyre for full-time data engineering jobs in Bangalore or remote, matching skills like Python and Apache Spark, at medium or large companies, and return up to 100 results across 15 pages.

## When to prefer this

Use this endpoint when you need structured job listing data specifically from Instahyre (an India-focused tech recruitment platform), especially when you want skill-based filtering, company-size filtering, or want to track new listings over time via change-monitoring mode. Prefer this over generic job-search APIs when your target audience is Indian tech talent or when Instahyre's employer base is your specific target.

## Known failure modes

- Empty result set if filters are too restrictive — not charged
- Instahyre rate-limiting or blocking may reduce page coverage
- Invalid enum values for jobType, skillMatch, or monitorMode return validation errors
- stateName conflicts across parallel searches may corrupt change-tracking state
- maxPages or maxItems set too low may truncate 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 and an array of job listing items, each containing jobId, title, companyId, companyName, companyLogoUrl, companyResourceUri, candidateTitle, and recordType, plus the product identifier 'instahyre'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "skills": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Match skill tags published for each role."
  },
  "jobType": {
   "enum": [
    "any",
    "full_time",
    "internship"
   ],
   "type": "string",
   "default": "any",
   "description": "Search all jobs, full-time roles, or internships."
  },
  "keywords": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Match title, company, skills, or location text."
  },
  "maxItems": {
   "type": "integer",
   "default": 50,
   "maximum": 500,
   "minimum": 1,
   "description": "Maximum dataset rows to save."
  },
  "maxPages": {
   "type": "integer",
   "default": 10,
   "maximum": 500,
   "minimum": 1,
   "description": "Maximum public search pages to scan; the source caps each page at 35 jobs."
  },
  "locations": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Match published location text."
  },
  "stateName": {
   "type": "string",
   "default": "",
   "description": "Optional stable name for the persistent comparison state; use separate names for separate searches."
  },
  "remoteOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep roles with an explicit remote or work-from-home label."
  },
  "skillMatch": {
   "enum": [
    "any",
    "all"
   ],
   "type": "string",
   "default": "any",
   "description": "Require any or all requested terms."
  },
  "companySize": {
   "enum": [
    "any",
    "small",
    "medium",
    "large"
   ],
   "type": "string",
   "default": "any",
   "description": "Filter by the public employer size group."
  },
  "monitorMode": {
   "enum": [
    "snapshot",
    "changes_only"
   ],
   "type": "string",
   "default": "snapshot",
   "description": "Snapshot returns current jobs. Changes only compares complete scans in a persistent named state."
  },
  "companyNames": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "default": [],
   "description": "Match employer names; one name is also sent to the source filter."
  },
  "emitBaseline": {
   "type": "boolean",
   "default": true,
   "description": "In changes-only mode, emit the first complete search as new rows."
  },
  "keywordMatch": {
   "enum": [
    "any",
    "all"
   ],
   "type": "string",
   "default": "any",
   "description": "Require any or all requested terms."
  },
  "includeDeta
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "jobId": null,
    "title": null,
    "companyId": null,
    "recordType": null,
    "companyName": null,
    "candidateTitle": null,
    "companyLogoUrl": null,
    "companyResourceUri": null
   }
  ],
  "product": "instahyre"
 }
}
```

## More

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