# PeoplePerHour Freelance Job Scraper (x402)

> PeoplePerHour Freelance Job Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.08/call, status unknown (last checked 2026-10-02).

Searches and returns structured freelance job listings from PeoplePerHour based on keyword queries, returning title, budget, currency, and description for each job.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/peopleperhour?utm_source=zero.xyz
- Price: $0.08/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/peopleperhour-freelance-job-scraper-x402-26a0fc5b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cS6GDNqtdVFUqZRo5pgSG

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 peopleperhour-freelance-job-scraper-x402-26a0fc5b -d '<json body>'
```

Example prompt: Search PeoplePerHour for freelance jobs matching 'React developer' and 'Next.js', sorted by relevance, and return up to 30 results per keyword so I can see what budgets clients are posting.

## When to prefer this

Choose this endpoint when you need structured, machine-readable freelance job data from PeoplePerHour specifically — including titles, budgets, and descriptions — without building your own scraper. Prefer it over generic web scrapers when you want pay-per-successful-call pricing and don't want to pay for failed or empty runs. Best suited for agents doing market research, lead generation, or competitive analysis on the PeoplePerHour platform.

## Known failure modes

- No jobs found for the given query returns empty items array (not charged)
- Invalid sort enum value causes request rejection
- PeoplePerHour site changes break scraper and return empty results (not charged)
- Network timeouts from the upstream site may cause failures
- Rate limiting or blocking by PeoplePerHour may result in empty responses

## 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 URL, title, budget, currency, project ID, description, budget bracket, and budget converted to a common currency. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "relevant",
    "latest"
   ],
   "type": "string",
   "default": "relevant",
   "description": "Order shown in search results: relevance or newest first."
  },
  "queries": {
   "type": "array",
   "description": "Search terms to find public freelance jobs. Each term is searched separately."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum unique jobs across all keywords. Set 0 for no overall cap."
  },
  "maxItemsPerQuery": {
   "type": "integer",
   "default": 30,
   "minimum": 0,
   "description": "Maximum unique jobs from each keyword. Set 0 to collect every available page."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "budget": null,
    "currency": null,
    "projectId": null,
    "description": null,
    "budgetBracket": null,
    "budgetConverted": null
   }
  ],
  "product": "peopleperhour"
 }
}
```

## More

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