# HTML Tables to JSON

> HTML Tables to JSON is a paid API for AI agents from intel.rallylive.ca, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Fetches a web page and converts every HTML table into structured JSON arrays with header detection, cleaned cell content, row/column counts, and captions.

## Facts

- Endpoint: GET https://intel.rallylive.ca/site/tables
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/html-tables-to-json-9410253b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oT5GVHwBH4OkYVy9IF4VJ

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 html-tables-to-json-9410253b
```

Example prompt: Can you pull all the tables from this page — https://en.wikipedia.org/wiki/List_of_countries_by_GDP — and give me the data as clean JSON arrays with headers detected?

## When to prefer this

Choose this endpoint when you need to extract structured tabular data from any public web page without writing a custom scraper. It is ideal for Wikipedia comparison tables, financial data pages, sports standings, government statistics, and any site where data is published in HTML table format. Prefer it over generic HTML fetch when you specifically need row/column structure with headers automatically detected and markup stripped — saving you the need to parse raw HTML yourself.

## Known failure modes

- Page has no HTML tables — returns empty array or zero tables found
- Target URL returns a non-200 status — request fails with HTTP error
- Page uses JavaScript-rendered tables (dynamic content) — tables may not be present in raw HTML
- Malformed HTML may cause some tables to parse incorrectly or be skipped
- Very large pages may be truncated at the 500 KB fetch limit
- Network timeout or unreachable host returns an error

## How this service works

HTML tables to JSON: every table on a page as arrays of rows (header row detected, cells cleaned of markup), with row and column counts and a caption. Pull structured data out of any web page. $0.01 per page.

## Output

Returns an array of table objects extracted from the page. Each object includes: the table caption (if any), a detected header row, all data rows as arrays of cleaned cell strings, and the total row and column counts. Markup is stripped from cell content so values are plain text.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "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/html-tables-to-json-9410253b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from intel.rallylive.ca](https://www.zero.xyz/host/intel.rallylive.ca/llms.txt)
