# Web Extract

> Web Extract is a paid API for AI agents from agentpay-extract.agentpay-apis.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-27).

Fetches any public URL and returns clean, LLM-ready markdown plus structured page metadata.

## Facts

- Endpoint: GET https://agentpay-extract.agentpay-apis.workers.dev/extract/v1/page?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-27
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web-extract-5e95d275
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_g_wVC02ODd2F14n9I_Gy9

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 web-extract-5e95d275
```

Example prompt: Can you fetch the page at https://en.wikipedia.org/wiki/Artificial_intelligence and convert it to clean markdown so I can read and analyze the content?

## When to prefer this

Choose this endpoint when you need to convert any publicly accessible web page into clean, LLM-ready markdown in a single call — especially useful for reading articles, documentation pages, or product pages as part of an AI pipeline. Prefer this over raw HTTP fetching when you need noise-free text (no HTML tags, nav bars, or ads) and structured metadata returned together. It is ideal for agentic workflows where context from live web pages needs to be injected into LLM prompts without manual preprocessing.

## Known failure modes

- URL is unreachable or returns a non-200 status — extraction fails with an error
- Page is behind a login wall or CAPTCHA — returns empty or partial content
- JavaScript-heavy SPA pages may return incomplete content if JS is required to render
- maxChars set below 1000 or above 200000 — rejected as out-of-range
- Invalid or malformed URL — returns validation error
- Very large pages may be truncated at the maxChars limit

## How this service works

Any URL to clean, LLM-ready markdown and structured metadata.

## Output

Returns a JSON object containing the page content converted to clean markdown (up to the specified character limit, default 50,000), along with structured metadata such as page title, description, and other extractable properties. The markdown is stripped of navigation, ads, and HTML noise so it can be fed directly into an LLM context window.

## 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": "http(s) URL to read"
      },
      "maxChars": {
       "type": "string",
       "description": "Max markdown characters (1000-200000, default 50000)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web-extract-5e95d275/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpay-extract.agentpay-apis.workers.dev](https://www.zero.xyz/host/agentpay-extract.agentpay-apis.workers.dev/llms.txt)
