HTML Table to JSON/CSV Extractor
Pricing
from $1.00 / 1,000 table extracteds
Go to Apify Store

HTML Table to JSON/CSV Extractor
Convert complex web tables into clean, structured JSON or CSV data. Automate data entry and reporting without writing custom parsers.
Pricing
from $1.00 / 1,000 table extracteds
Rating
0.0
(0)
Developer
Andok
Maintained by Community
Actor stats
0
Bookmarked
6
Total users
0
Monthly active users
a month ago
Last modified
Categories
Share
HTML Table Extractor
Pull structured table data from any web page and export it as clean JSON or CSV. No custom scraper needed — just provide URLs containing HTML tables and get rows and columns as structured data. Process multiple pages in a single run.
Features
- Automatic table detection — finds all
<table>elements on each page - Header recognition — detects
<th>headers or uses the first row as column names - Bulk processing — extract tables from multiple URLs in one run
- Clean JSON output — each table row becomes a structured object with named fields
- Configurable concurrency — process 1 to 50 URLs in parallel
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array | No | — | List of webpage URLs to extract tables from |
url | string | No | — | Single URL for backwards compatibility (use urls for bulk) |
timeoutSeconds | integer | No | 15 | Maximum seconds to wait for each URL response |
concurrency | integer | No | 10 | Number of URLs to process in parallel (1-50) |
Input Example
{"urls": ["https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)"]}
Output
Each URL produces one dataset item containing all tables found on the page.
Key output fields:
inputUrl(string) — the original URL providedfinalUrl(string) — the URL after following redirectsstatus(number) — HTTP status codetableCount(number) — number of tables found on the pagetables(array) — array of table objects, each containing headers and rowserror(string) — error message if extraction failed, otherwisenullcheckedAt(string) — ISO 8601 timestamp
Output Example
{"inputUrl": "https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)","finalUrl": "https://en.wikipedia.org/wiki/List_of_countries_by_population_(United_Nations)","status": 200,"tableCount": 2,"tables": [{"headers": ["Rank", "Country", "Population"],"rows": [["1", "India", "1,450,935,791"],["2", "China", "1,419,321,278"]]}],"error": null,"checkedAt": "2025-01-15T10:30:00.000Z"}
Pricing
| Event | Cost |
|---|---|
| Table Extracted | Pay-per-event (see actor pricing page) |
Use Cases
- Data collection — grab financial data, sports stats, or product specs from web pages without writing a scraper
- Spreadsheet import — convert HTML tables to CSV or JSON for import into Excel or Google Sheets
- Research automation — extract tabular data from Wikipedia, government sites, or academic pages
- Price monitoring — pull pricing tables from competitor websites
Related Actors
| Actor | What it adds |
|---|---|
| Web Page to Markdown Converter for LLMs | Convert full page content to Markdown including tables |
| JSON-LD Schema Extractor | Extract structured data from Schema.org markup |
