# Html Table To Json — REST API endpoint `html-table-to-json`

Convert an HTML <table> into JSON — an array of objects keyed by the header row, or an array of row arrays. Cell text is extracted with tags stripped and entities decoded. Empty header cells become column1, column2, ….

- Category: data
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, API key for tools/call, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/html-table-to-json/execute (API key, 60 req/min per IP)
- API key: Running a tool needs an API key. Keys are not for sale yet: ask for early access. Without a key, a tool call answers HTTP 402 Payment Required with the error code PAYMENT_REQUIRED. The catalog and the schemas stay open without a key. https://findutils.com/api/#api-keys
- Reference page: https://findutils.com/api/html-table-to-json/
- Same tool on the other surface: https://findutils.com/mcp/html-table-to-json/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/html-table-to-json/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<table><tr><th>Name</th><th>Age</th></tr><tr><td>Ann</td><td>30</td></tr></table>"
  }'

# Parameter schema (no key needed)
curl https://api.findutils.com/api/tools/html-table-to-json
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `html` | string | yes | HTML that contains at least one <table> element. A full page is fine; the first table is used unless table_index is set. |
| `format` | string (objects \| arrays) | no | "objects" (default) maps each row to an object; "arrays" returns rows as string arrays. Default: `"objects"`. |
| `first_row_headers` | boolean | no | When format is "objects", use the first row as object keys (default true). When false, keys are column1, column2, …. Default: `true`. |
| `table_index` | integer | no | Zero-based index of the table to convert when the HTML has several. Default 0. Default: `0`. |

Example arguments (verified):

```json
{
  "html": "<table><tr><th>Name</th><th>Age</th></tr><tr><td>Ann</td><td>30</td></tr></table>"
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/ --header "Authorization: Bearer YOUR_API_KEY"
```

Then ask the client to call `findutils:html_table_to_json`. Full MCP reference: https://findutils.com/mcp/html-table-to-json/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
