HTML table to JSON: extract tables from HTML
Extract every table from an HTML fragment into JSON: header cells become keys and each body row an object (or raw arrays when there is no header row), with captions, colspans repeated and entities decoded. Give the HTML itself (up to 500 KB). Use to turn web or email tables into data an agent can sort and compute on; to fetch a page first use extract.
Inputs
| Name | Type | Description |
|---|---|---|
html (required) | string | HTML containing one or more <table> elements (up to 500 KB) |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://agent-data-tools.revmesh2074.workers.dev/html/table-to-json?html=%3Ctable%3E%3Ctr%3E%3Cth%3ECity%3C%2Fth%3E%3Cth%3EPop.%3C%2Fth%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3EStockholm%3C%2Ftd%3E%3Ctd%3E984%2C748%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3EOslo%3C%2Ftd%3E%3Ctd%3E717%2C710%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E"
Or one of your 25 free calls, no key:
curl "https://agent-data-tools.revmesh2074.workers.dev/html/table-to-json?html=%3Ctable%3E%3Ctr%3E%3Cth%3ECity%3C%2Fth%3E%3Cth%3EPop.%3C%2Fth%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3EStockholm%3C%2Ftd%3E%3Ctd%3E984%2C748%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%3Ctd%3EOslo%3C%2Ftd%3E%3Ctd%3E717%2C710%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftable%3E&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
Example result
{
"count": 1,
"tables": [
{
"caption": null,
"headers": [
"City",
"Pop."
],
"rows": [
{
"City": "Stockholm",
"Pop.": "984,748"
},
{
"City": "Oslo",
"Pop.": "717,710"
}
]
}
]
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is html_table_to_json, and the first 25 successful calls are free:
https://agent-data-tools.revmesh2074.workers.dev/mcp