# web-structured

> web-structured is a paid API for AI agents from payai.agentstools.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-15).

Fetches and parses a public web page into structured fields: main text, headings, links, tables, and rich metadata (Open Graph, JSON-LD, Twitter cards, canonical URL, language)

## Facts

- Endpoint: GET https://payai.agentstools.dev/structured
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web-structured-8df92fb6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dzsHVmIaJ-huR4M4hlxwB

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-structured-8df92fb6
```

Example prompt: Can you fetch and parse https://www.bbc.com/news/technology and give me the main text, all the headings, and any Open Graph metadata as separate structured fields?

## When to prefer this

Choose this endpoint when you need structured, field-separated output from a public web page — especially when you want metadata (Open Graph, JSON-LD, Twitter cards) alongside content (text, headings, links, tables) in one call. It respects robots.txt, making it suitable for compliant automated pipelines. Prefer it over raw HTML fetchers when you need clean, parsed fields without writing your own HTML parser. Not suitable for JavaScript-heavy SPAs where content is rendered client-side.

## Known failure modes

- URL is blocked by robots.txt — endpoint will respect the block and return an error or empty result
- URL is not publicly accessible (requires login or paywalled) — returns empty or partial content
- Dynamic JavaScript-rendered content not captured — endpoint is browserless so JS-only content is absent
- Invalid or malformed URL input — returns a validation error
- Network timeout on slow or unresponsive domains — may return partial data or a timeout error
- URL returns non-HTML content (PDF, binary) — structured parse may fail or return empty fields

## How this service works

Structured parse of a public web page: main text, headings, links, tables and rich metadata (description, canonical, lang, Open Graph, Twitter cards, JSON-LD) as separate fields. Browserless, robots.txt-respecting.

## Output

A structured JSON object with separate fields for: main body text, a list of headings with their levels, all hyperlinks (href + anchor text), tables (as arrays of rows/cells), and rich metadata including page description, canonical URL, language, Open Graph properties, Twitter card tags, and any JSON-LD blocks found on the page.

## 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": "Public http(s) URL to parse"
      },
      "include": {
       "type": "array",
       "items": {
        "enum": [
         "text",
         "headings",
         "links",
         "tables",
         "metadata"
        ],
        "type": "string"
       },
       "description": "Which sections to return (default: all)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web-structured-8df92fb6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from payai.agentstools.dev](https://www.zero.xyz/host/payai.agentstools.dev/llms.txt)
