Skip to content
The Register

HTML Table Extractor — Clean Rows from Any Table

Turn every <table> on a page into clean rows of objects keyed by real headers — handling thead/th, header-row fallback, and colspan. One row per table-row or one row per table. Per-URL reporting.

HTML Table Extractor — Clean Rows from Any Table returns 7 documented output fields, including tableIndex, status, url, headers and rowCount. Every field carries a declared type, a written description and an example value. 32 runs are recorded on Apify.

Run it on ApifyPay per result · no subscription
7
Output fields
7
Inputs
32
Runs
2026-10-16
Last run

01 — output

What it returns

Every field the extractor writes to its dataset, with its type, a written description and an example value.

FieldTypeWhat it holdsExample
tableIndexintegernullZero-based index of the table within the document.
statusstring | number | boolean | array | objectnullOutcome recorded for this row.ok
urlstring | number | boolean | array | objectnullThe URL this row describes.[]
headersstring | number | boolean | array | objectnullHeaders as recorded for this row.[]
rowCountstring | number | boolean | array | objectnullHow many rows this record represents, when rows are grouped.[]
colCountstring | number | boolean | array | objectnullCol Count as recorded for this row.[]
rowsstring | number | boolean | array | objectnullHow many rows this item contributed.120

02 — sample

One record

Assembled from the example values declared on the schema above, not invented at render time.

{
  "tableIndex": "",
  "status": "ok",
  "url": "[]",
  "headers": "[]",
  "rowCount": "[]",
  "colCount": "[]",
  "rows": 120
}

03 — input

What you give it

InputTypeDescription
urlsarrayrequiredPages containing tables (with or without https://).
outputstringoptionalrows = one dataset row per table row (flat, CSV-friendly). tables = one row per table with its rows nested.
minRowsintegeroptionalIgnore tiny layout tables below this many data rows.
tableIndexintegeroptionalExtract only the Nth qualifying table on each page (0-based). Leave empty for all.
useProxybooleanoptionalRoute through a proxy for sites that block datacenter IPs.
maxConcurrencyintegeroptionalHow many pages to fetch in parallel.
maxItemsintegeroptionalHard cap. Strictly enforced.

04 — run

Run HTML Table Extractor on your own input

It runs in the cloud on Apify. Nothing to install, and you are billed per result returned rather than per attempt.

Open on Apify ↗

05 — questions

Asked before running it

7 of 7 fields described

What does HTML Table Extractor — Clean Rows from Any Table return?
It returns 7 documented output fields: tableIndex, status, url, headers, rowCount, colCount and rows. Each field declares its type, a description of what it holds, and an example value.
What input does HTML Table Extractor — Clean Rows from Any Table require?
urls is required. A further 6 inputs are optional. The full input schema, with types and defaults, is below.
Does HTML Table Extractor — Clean Rows from Any Table need an API key or login?
No. None of its inputs is a credential, and it reads only public data. Nothing to sign up for before the first run.
How do I run HTML Table Extractor — Clean Rows from Any Table?
It runs on Apify. Start it from its listing with the inputs above, or call the Apify API with the Actor's ID. Results land in a dataset you can export as JSON, CSV or Excel, or read through the Apify API into your own pipeline.