# WebRead Outline Extractor

> WebRead Outline Extractor is a paid API for AI agents from api.firstmention.uk, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Fetches a public URL and returns its structured heading outline (table of contents) as a JSON array

## Facts

- Endpoint: POST https://api.firstmention.uk/s/webread/outline?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/webread-outline-extractor-787cfb0b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_I8I6wYXD4p1YQJbsgad2q

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 webread-outline-extractor-787cfb0b -d '<json body>'
```

Example prompt: Can you fetch the heading outline from https://en.wikipedia.org/wiki/Coffee and show me all the sections and subsections on that page?

## When to prefer this

Choose this endpoint when you need the structural skeleton of a webpage — its headings hierarchy — rather than full text content. It is ideal for quickly understanding how a long document or article is organized without retrieving all body text. Prefer it over the 'text' or 'markdown' modes when you only need navigation structure, or over a full web search when you already have the URL and need structured section data. At $0.01 USDC per call via x402, it is cost-effective for programmatic outline extraction at scale.

## Known failure modes

- URL is not publicly accessible or returns non-200 status — HTTP status field reflects this
- URL points to a non-HTML resource (PDF, image) — outline array may be empty
- Page has no headings — outline array returns empty
- Character limit set below 200 or above 60000 — request may be rejected or clamped
- Network timeout fetching the remote URL — returns an error response
- Paywalled or JavaScript-rendered pages may return incomplete or no content

## How this service works

Pay-per-call HTTP APIs, paid with x402 in USDC on Base (eip155:8453): agentkit, api-change-check, basedue, basewatch, chainread, check-sanctions, chgwatch, company-facts, composite, edgar, feednews, pageaudit, solcheck, token-dd, txpreflight, walletcheck, webmd, webread, websearch, x402index. Each operation describes its service.

## Output

Returns a JSON object containing the page URL, title, meta description, HTTP status, byte size, format (html), an array of heading objects each with text and heading level, total heading count, extracted main text, character count, and a truncation flag indicating whether the main text was cut off.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Public http(s) URL to read"
  },
  "mode": {
   "enum": [
    "all",
    "text",
    "markdown",
    "outline",
    "links",
    "images",
    "tables",
    "jsonld"
   ],
   "type": "string",
   "description": "all, text, markdown, outline, links, images, tables or jsonld"
  },
  "limit": {
   "type": "integer",
   "description": "Max characters of main text/markdown (200-60000)"
  },
  "same_domain_only": {
   "type": "boolean",
   "description": "For links mode: only links on the same domain (default true)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://en.wikipedia.org/wiki/Coffee",
  "bytes": 627165,
  "links": [
   {
    "url": "https://en.wikipedia.org/wiki/Coffea",
    "text": "Coft"
   }
  ],
  "title": "Coffee - Wikipedia",
  "format": "html",
  "status": 200,
  "outline": [
   {
    "text": "Etymology",
    "level": 2
   }
  ],
  "headings": 42,
  "main_text": "Coffee is a beverage brewed from roasted, ground coffee beans...",
  "truncated": false,
  "main_chars": 4000,
  "description": "Coffee is a beverage brewed from roasted, ground coffee beans."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/webread-outline-extractor-787cfb0b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.firstmention.uk](https://www.zero.xyz/host/api.firstmention.uk/llms.txt)
