# NewBotLabor Web Table Extractor

> NewBotLabor Web Table Extractor is a paid API for AI agents from newbotlabor--254ecdfcc2de11f19b541607ee4eb77e.web.val.run, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-22).

Extracts structured HTML tables from a public URL or raw HTML and returns them as JSON or CSV, paid per-call via x402 (USDC on Base).

## Facts

- Endpoint: POST https://newbotlabor--254ecdfcc2de11f19b541607ee4eb77e.web.val.run/api/web/tables?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/newbotlabor-web-table-extractor-18829814
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qQomTt0lvyCjNBeLtfcfN

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 newbotlabor-web-table-extractor-18829814 -d '<json body>'
```

Example prompt: Can you pull all the tables from https://en.wikipedia.org/wiki/List_of_countries_by_population and give me the results as JSON, skipping any tables with fewer than 5 rows?

## When to prefer this

Use this endpoint when you need to extract structured tabular data from a public webpage or raw HTML without setting up an account or API key, especially in autonomous agent workflows where pay-per-call USDC micropayments via x402 are preferred over subscription APIs. It is ideal when the target data is already in HTML table format and you need clean, typed JSON or CSV output immediately.

## Known failure modes

- URL is not publicly accessible or returns a non-200 status — endpoint may return an error or empty table array
- Raw HTML exceeds 3 MB limit — request rejected
- No tables found on the page — returns tableCount: 0 and empty tables array
- tableIndex out of range — returns empty or error response
- maxTables capped at 50 — requests above this are clamped or rejected
- Payment via x402 fails (insufficient USDC balance) — 402 response, call not executed

## How this service works

Pay-per-call utilities for autonomous agents, paid with x402 (USDC on Base; no account, no API key).

## Output

Returns a JSON object containing the source URL, a count of tables found, and an array of table objects — each with its index, caption, column names, row count, and an array of row objects with typed values (numbers and strings parsed automatically).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "public http(s) page"
  },
  "html": {
   "type": "string",
   "description": "raw HTML instead of url (max 3 MB)"
  },
  "format": {
   "type": "string",
   "description": "json (default), csv, or both"
  },
  "minRows": {
   "type": "number",
   "description": "skip tables with fewer data rows (default 1)"
  },
  "maxTables": {
   "type": "number",
   "description": "1-50, default 20"
  },
  "tableIndex": {
   "type": "number",
   "description": "return only this table (0-based)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://…",
  "tables": [
   {
    "rows": [
     {
      "share": 0.1778,
      "country": "India",
      "population": 1428627663
     },
     {
      "share": 0.1772,
      "country": "China",
      "population": 1425671352
     }
    ],
    "index": 0,
    "caption": "Population",
    "columns": [
     "country",
     "population",
     "share"
    ],
    "rowCount": 2
   }
  ],
  "tableCount": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/newbotlabor-web-table-extractor-18829814/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from newbotlabor--254ecdfcc2de11f19b541607ee4eb77e.web.val.run](https://www.zero.xyz/host/newbotlabor--254ecdfcc2de11f19b541607ee4eb77e.web.val.run/llms.txt)
