# EchoEmpire URL Probe

> EchoEmpire URL Probe is a paid API for AI agents from echoempire-demand-gateway.echoempire-in-co.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-31).

Probes an HTTP/HTTPS URL and returns its status code, final URL after redirects, content type, and response time — paid per-call in USDC via x402.

## Facts

- Endpoint: GET https://echoempire-demand-gateway.echoempire-in-co.workers.dev/v1/url-probe?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/echoempire-url-probe-bd0e8122
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_e9pNmEl0pApUn26amhInI

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 echoempire-url-probe-bd0e8122
```

Example prompt: Can you check whether https://example.com is reachable right now, what status code it returns, and whether it redirects anywhere?

## When to prefer this

Choose this endpoint when you need a quick, no-account HTTP probe of a single URL — especially when you want redirect chain details, final URL resolution, and response timing in one call. It's ideal for agents that need lightweight link validation or uptime checks without setting up a monitoring service. Prefer it over full-page scrapers when you only need reachability and headers, not content.

## Known failure modes

- Invalid or non-absolute URL returns a validation error
- Target URL is unreachable or times out — ok:false with no status
- DNS resolution failure for the target domain
- Payment not settled via x402 — returns 402 Payment Required before probe executes
- Method not in allowed enum (only GET, HEAD, DELETE supported)

## How this service works

Pay-per-call web utilities in USDC on Base via x402 — no account, no API key. Every paid call is publicly verifiable at /ledger.json.

## Output

Returns a JSON object with: ok (boolean reachability), url (input URL), status (HTTP status code), finalUrl (URL after redirects), elapsedMs (response time in milliseconds), redirects (array of intermediate URLs), and contentType (MIME type of the response).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Absolute http(s) URL to probe"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "url": "https://example.com",
  "status": 200,
  "finalUrl": "https://example.com/",
  "elapsedMs": 120,
  "redirects": [],
  "contentType": "text/html"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/echoempire-url-probe-bd0e8122/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from echoempire-demand-gateway.echoempire-in-co.workers.dev](https://www.zero.xyz/host/echoempire-demand-gateway.echoempire-in-co.workers.dev/llms.txt)
