Skip to content

Jotform Tables Scraper

Try for free

Export every row of a publicly shared Jotform table: one result per row, each column as its own field, plus row id and dates. Paste the table link. No login needed.

📋 Jotform Tables Scraper

Export every row of a publicly shared Jotform table in one run. Paste the table link and get one result per row, with each column of the table as its own field, plus the row's id, number and dates. No login, no API key, no browser: the rows come straight from the table's public data.

✨ Why use Jotform Tables Scraper?

  • 📑 Every row, every column — all rows of the table in the table's own order, with every column it shows, named exactly like the column.
  • 🔗 Just the link — paste https://www.jotform.com/tables/<id> (or the link of one tab). A bare table id works too.
  • ⚡ Fast — rows are read 1,000 at a time, so a table with thousands of rows finishes in seconds.
  • 🧾 Readable values — dates, phone numbers, choices and "other" answers come as the table shows them; uploaded files and widget images come as full links.
  • 🚦 Clear status — a table that Jotform shows only after signing in is named in the run's status and skipped, so you know exactly what happened.
  • 🗂️ Several tables per run — list as many table links as you like; each row says which table and tab it came from.

🎯 Use cases

  • 📊 Spreadsheet export — move a shared Jotform table into Excel, Google Sheets or a database on a schedule.
  • 🔄 Sync and backups — keep a copy of a public table's rows and spot new or changed rows by rowId and updatedAt.
  • 🧪 Reporting — feed public submissions (registrations, sign-ups, inventories, trail or site reports) into dashboards.
  • 🤖 Automation — start the run from the API, a schedule or a webhook and pass the rows to your own tools.

🚀 How to use

  1. Open the table in your browser and copy its link. It looks like https://www.jotform.com/tables/222785438029160.
  2. Paste it into Table links (add more links for more tables).
  3. Leave Maximum rows per table at 0 to export every row, or set a number to stop earlier.
  4. Start the run and download the rows as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsLinks of publicly shared Jotform tables (jotform.com/tables/<id>, or /tables/<id>/<tab id> for one tab). Bare table ids work too.
maxRowsPerTableStop after this many rows of each table, in the table's own order. 0 saves every row.
proxyConfigurationProxies used to reach Jotform. The default datacenter proxy works for public tables.
{
  "startUrls": [{ "url": "https://www.jotform.com/tables/222785438029160" }],
  "maxRowsPerTable": 0
}

📤 Output

Every table row becomes one result. The fixed fields come first; after them, one field per column of the table, named after the column (repeated column names get (2), unnamed columns Column <id>).

FieldDescription
tableTitleName of the table (its form or sheet)
tabNameName of the tab the rows come from
tableUrlLink of the table (and tab)
rowNumberPosition of the row in the table's own order, starting at 1
rowIdJotform's id of the row (the submission id)
createdAtWhen the row was created, as Jotform returns it
updatedAtWhen the row was last changed (empty if never)
one field per columnThe cell's value as the table shows it; uploaded files as links, several files or choices in one cell separated by , or ;

Example rows from a public trail conditions table:

[
  {
    "tableTitle": "IPWA Public Trail Conditions Report",
    "tabName": "IPWA Public Trail Conditions Report",
    "tableUrl": "https://www.jotform.com/tables/222785438029160",
    "rowNumber": 1,
    "rowId": "6693179305322494887",
    "createdAt": "2026-11-01 00:52:10",
    "updatedAt": null,
    "Date": "10-31-2026",
    "Trailhead/Event Location": "Hessie TH",
    "Destination": "Bob",
    "Trail Conditions": "The first 2.5 miles of the King Lake trail past the junction with the Devils Thumb trail is snow and ice free. Once you get above 10500 feet, you will encounter large sections of trail covered with snow and ice."
  },
  {
    "tableTitle": "IPWA Public Trail Conditions Report",
    "tabName": "IPWA Public Trail Conditions Report",
    "tableUrl": "https://www.jotform.com/tables/222785438029160",
    "rowNumber": 2,
    "rowId": "6691167691763541826",
    "createdAt": "2026-10-29 16:59:29",
    "updatedAt": null,
    "Date": "10-29-2026",
    "Trailhead/Event Location": "East Portal/Moffat Tunnel TH",
    "Destination": "Forest Lake (Lower)",
    "Trail Conditions": "Dry with a little ice in a few places."
  }
]

The run's OUTPUT record lists every table with its status (ok, notPublic, failed), the rows saved, the rows in the table and its column names.

❓ FAQ

Do I need a Jotform account or API key? No. The actor reads tables that their owner shared publicly, the same way anyone with the link sees them in a browser.

Why was nothing saved for my table? Jotform shows that table only after signing in: it is private, shared only with invited people, or the link is wrong. The run's status names the table. Its owner can share it publicly (anyone with the link can view) to make it readable.

Which rows and columns do I get? The rows the table shows (archived and deleted rows are left out, as in the table itself), in the table's own sort order, and every column the tab shows. Columns the owner hid in that tab are not exported.

Does it work with tabs? Yes. Paste the link of the tab (/tables/<table id>/<tab id>, as the address bar shows it when the tab is open); the plain table link reads the table's first tab.

How many rows can I export? All of them. Large tables are read page by page until the last row.

Can I schedule it or use the API? Yes. Save the input as a task, schedule it, or start it from the API and read the dataset.

⚠️ Limits

  • Only publicly shared tables can be read; tables that need a sign-in are reported and skipped.
  • Cell values are text as Jotform formats them (for example dates as MM-DD-YYYY), not typed numbers or dates.
  • Uploaded files are exported as links, not downloaded.
  • A table link reads one tab (the first tab for the plain table link); add the link of each further tab to export it too.

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.