A browser agent can turn an authorized web table into CSV when the page exposes a readable list. Define the row key, column types and missing-value policy before extraction. Keep a source locator on every row so someone else can verify the output.
Define columns and types before extracting
Our sample uses the IANA HTTP Status Code Registry. Treat Value as text because a row can represent a range such as 105-199. Capture the displayed Description and Reference. Add the table URL, one-based data row number, source key and observation date. Agree on what a row means before asking for the export.
| Field | Rule |
|---|---|
value | Text, including a range |
description, reference | Displayed text; blank if absent |
source_url, source_key | Table link and source key |
source_row | Row number from 1 |
observed_at | Observation date |
IANA Registry · Browse AI extraction · Browser for agents
Capture a locator for every row
Use the actual table URL with its fragment and a stable source key. The row number is a convenience because it can change when the publisher updates or sorts the table. For a paginated list, retain the page URL or cursor and a stable record ID. Capture the rendered rows within the agreed scope and report any pages you could not reach.
Read only the IANA HTTP Status Code Registry 1xx rows. Keep Value as text. Extract the visible Description and Reference, and preserve empty references. Add source URL, source key, row number, and observation date. Deduplicate on source URL and key. Report the raw, unique, and blank counts.
Browser research · Browser agents
Remove duplicates and preserve blanks
Use source_url plus source_key for this one-registry snapshot. Our two reads returned 12 rows, with 6 exact repeats. Keep one row per key. If two copies disagree, flag the conflict and recheck the source. The 105-199 Reference cell was empty, so the CSV field is empty. Preserve a displayed zero or dash separately from an empty cell.
Browser automation · Agentic browser security
Check row count and sample values
Open the source table, verify the first and last data rows, and compare any unexpected values and blank fields. All six exported rows matched IANA’s own CSV after normalizing the reference display brackets. We kept the temporary 104 entry as observed on November 6, 2026. The sample is a snapshot and covers six rows of the 1xx group.
| Check | Observed |
|---|---|
| Read twice | 12 |
| Exact duplicates removed | 6 |
| Unique export rows | 6 |
| Blank reference | 1 |
| Official rows matched | 6 |

IANA CSV · Let an AI agent control a browser · Browser agent first-task checklist
Export and reopen the file
Use a CSV writer that quotes commas and embedded line breaks. Reopen the file with a CSV parser and check the header, field count, row count and source keys. When importing into a spreadsheet, keep code and identifier columns as text. For untrusted text, handle spreadsheet formula interpretation before handing the file off.
RFC 4180 · OWASP CSV Injection · Tabbit CLI tutorial
Make the handoff reproducible
Share the CSV, scope, observation date, count of duplicates and missing values, and an explanation of any excluded rows. If a publisher already offers an approved export, use it for production when it fits. We used IANA’s web table to demonstrate row tracing and its official download as an independent check.
The Tableport developer reported that a virtualized grid can look complete even though only its rendered rows were exported. In another discussion a Power BI user could not get the table headers recognized. Check the actual rows and declared scope before accepting the file. Reddit Tableport · Reddit Power BI
FAQ
What should I ask the agent to extract?
Specify the source table, row scope, exact columns, text or numeric types, duplicate key, and missing-value rule.
How do I trace a row later?
Keep the exact source URL, source key and date. A row number helps locate the snapshot but can move.
Should the agent guess an empty cell?
Keep an empty source field empty and report the count. Preserve a visible zero or dash as it appears.
How do I deduplicate data from more than one page?
Choose the record’s stable identity. Compare duplicates and flag conflicting fields instead of silently keeping one.
How do I know an export is complete?
Compare the parsed row count to the expected scope, check page coverage and verify a few source rows.
Why do codes change when I open a CSV in a spreadsheet?
Spreadsheet apps can infer dates or numbers. Import code and identifier columns as text.