Table to JSON + Diff
Pricing
Pay per usage
Table to JSON + Diff
Extract HTML tables from pages you own or may read into clean JSON records, and report added / removed / changed rows since the last run.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sumizumi Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Features
Share
Turn HTML tables on pages you own or are allowed to read into clean JSON records, and get what changed since last time (added / removed / changed rows) instead of re-reading the whole table.
Typical uses: your own price list or inventory page, a partner's public rate table you are permitted to monitor, a public timetable, a league table, a government open-data page, a status board. Feed the output to a spreadsheet, a Slack / Discord notification, or an LLM.
What you get
One dataset item per table:
{"url": "https://example.com/prices","table_index": 0,"caption": "Price list","headers": ["Item", "Price", "Stock"],"row_count": 42,"rows": [{"Item": "A-100", "Price": "1,200", "Stock": "in stock"}, ...],"diff": {"first_run": false,"previous_run_at": "2026-11-03T09:00:00+00:00","counts": {"added": 1, "removed": 0, "changed": 3, "previous_rows": 41, "current_rows": 42},"added": [...], "removed": [...],"changed": [{"key": "A-100", "fields": {"Price": {"before": "1,100", "after": "1,200"}}, "after": {...}}]},"run_at": "2026-11-04T09:00:00+00:00"}
- Header row becomes the keys (duplicate headers get
_2,_3; empty headers becomecol_n). colspanis flattened;thead/tbody/th-less tables are handled.- Give a Key column (e.g.
ID) to get field-level changes. Without it, rows are matched by full content (added / removed only). - Snapshots live in a named key-value store in your account (
snapshotStore), so you can run this on a schedule and only act ondiff.counts.
Input
| Field | Meaning |
|---|---|
urls | Pages to read (required) |
tableSelector | CSS selector, default table |
headerRow | First row is the header (default on) |
keyColumn | Column that identifies a row, enables changed detection |
diffMode | Compare with previous run (default on) |
includeRowsInDiff | Off = counts only |
snapshotStore | Name of the key-value store that keeps snapshots |
maxTablesPerPage | Safety cap (default 20) |
Pricing (pay per event)
You are charged only when a table is actually delivered: one table-extracted event per table, plus one diff-computed event per table that had a previous snapshot. Failed requests and pages with no matching table are free.
Fair use
Plain HTTP fetch, one request per URL, no login, no anti-bot evasion, no JavaScript rendering. Use it on pages you own or have permission to read, and respect the site's terms and robots rules. For JavaScript-rendered tables, pre-render the page with a browser Actor and feed this Actor the HTML URL.
Scheduling
Create a Task with your input, add a Schedule (e.g. every morning), and connect a webhook or an integration (Slack, Google Sheets, Make, Zapier) that fires when diff.counts.added + changed + removed > 0.