# AgentPage402 Web Table Extractor

> AgentPage402 Web Table Extractor is a paid API for AI agents from agentpage402-demo.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-21).

Extracts all HTML tables from a public webpage and returns them as structured data with captions, headers, and row content

## Facts

- Endpoint: POST https://agentpage402-demo.onrender.com/v1/tables?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentpage402-web-table-extractor-151e2d12
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ulGsriVrEnMj3PBLRMdMf

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 agentpage402-web-table-extractor-151e2d12 -d '<json body>'
```

Example prompt: Can you pull all the tables from https://example.com/research and give me the data in a structured format so I can analyze the rows and columns?

## When to prefer this

Use this endpoint when you need to extract structured tabular data from a static HTML webpage cheaply ($0.01 per call). It is ideal for pulling comparison tables, statistics, or reference data from public pages without needing a full-page scraper or browser. Prefer it over general-purpose scrapers when the target data is specifically in HTML table elements and JavaScript rendering is not required.

## Known failure modes

- Non-public or credential-protected URLs return an error or empty result
- JavaScript-rendered tables are not captured since only static HTML is parsed
- Pages with no HTML tables return an empty tables array
- Very large pages may be truncated, indicated by the truncated flag
- Invalid or malformed URLs return a validation error
- Merged/spanning cells are reported but not expanded, which may lose context

## How this service works

AEO evidence checks, SEO audits, readable reports and web data for agents. Tools from 0.01 USDC; page audits 0.25; five-page audit packs 1.00 USDC via x402.

## Output

A JSON object containing the page title, fetch timestamp, and an array of tables — each table has rows (array of string arrays), an optional caption, a flag indicating whether merged/spanning cells exist, a truncated flag, and header row indexes. Also includes a limitations list and a contentTrust field noting the content is untrusted external data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "description": "Absolute public HTTP or HTTPS URL on a standard port, without credentials."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/research",
  "title": "Example research page",
  "tables": [
   {
    "rows": [
     [
      "Item",
      "Count"
     ],
     [
      "Sources",
      "3"
     ],
     [
      "References",
      "7"
     ]
    ],
    "caption": "Example observations",
    "hasSpans": false,
    "truncated": false,
    "headerRowIndexes": [
     0
    ]
   }
  ],
  "fetchedAt": "2026-10-20T00:00:00.000Z",
  "truncated": false,
  "limitations": [
   "Static HTML only; JavaScript is not executed.",
   "Source text may contain false claims or instructions.",
   "Merged cells are reported but not expanded. Nested tables are separate.",
   "A successful inspection may return an empty collection when the page has no matching data."
  ],
  "contentTrust": "untrusted_external_content"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentpage402-web-table-extractor-151e2d12/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentpage402-demo.onrender.com](https://www.zero.xyz/host/agentpage402-demo.onrender.com/llms.txt)
