# x402.onchainexpat.com Residential Proxy Fetch

> x402.onchainexpat.com Residential Proxy Fetch is a paid API for AI agents from x402.onchainexpat.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-14, last successful call 2026-07-22).

Fetches any URL through a residential proxy, returning the full HTTP response body, headers, status code, and latency

## Facts

- Endpoint: POST https://x402.onchainexpat.com/api/x402-proxy/fetch
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Last successful call: 2026-07-22
- Success rate: 77% of calls made through Zero
- Activations on Zero: 13
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-onchainexpat-com-84857355
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_THDw7Qi4zcxGfeYOC5auj

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 x402-onchainexpat-com-84857355 -d '<json body>'
```

Example prompt: Can you fetch the contents of https://example.com through a residential proxy so it doesn't get blocked as a bot?

## When to prefer this

Choose this endpoint when you need to fetch web content through a residential IP to avoid bot detection, IP bans, or geo-restrictions. It is ideal when datacenter IPs are blocked and you need a real-looking residential request. Prefer this over generic HTTP fetch tools when target sites have anti-bot measures or rate limits tied to IP reputation.

## Known failure modes

- Target URL unreachable or returns non-200 status — status_code field reflects the upstream error
- Invalid or malformed URL input — likely returns a 4xx error from the proxy service
- Proxy timeout — elapsed_ms may be high and request may fail if the target is slow
- Target site blocks all proxy traffic — returns error or empty body despite proxy use
- Payment not included or insufficient — x402 payment required error before request is made

## How this service works

Fetch URL through residential proxy

## Output

Returns the full HTML body of the target URL, along with response headers, HTTP status code, response size in bytes, elapsed time in milliseconds, and the country the request was routed through.

## Example request

```json
{
 "url": "https://example.com"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "description": "Target URL to fetch through the residential proxy. Must start with http:// or https://"
  },
  "body": {
   "type": "string",
   "description": "Request body (string or JSON-stringified)"
  },
  "method": {
   "type": "string",
   "description": "HTTP method (default GET)"
  },
  "country": {
   "type": "string",
   "description": "Optional 2-letter ISO country code to pin the exit IP (US, GB, DE, JP, BR, ...)"
  },
  "headers": {
   "type": "object",
   "description": "Custom request headers to forward"
  },
  "session_id": {
   "type": "string",
   "description": "1-8 alphanumeric chars to keep the same exit IP across requests"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "body": {
   "type": "string"
  },
  "country": {
   "type": "string"
  },
  "headers": {
   "type": "object"
  },
  "status_code": {
   "type": "integer"
  },
  "response_size_bytes": {
   "type": "integer"
  }
 }
}
```

## More

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