Runs and jobs
write_to_sheetPut an earlier answer into a Google Sheet: new dated columns beside the rows it came from, or a new tab. Never overwrites a cell. The only tool that writes.
Usual chain: geocode_batch (or any tool) with source { sheet } → write_to_sheet with its run_id
Coverage: Google Sheets shared with the InstaMaps service account as Editor; rows are matched by id, and a row that now holds a different place is skipped and named.
run_id
string
job_id
string
sheet
string
tab
string
mode
string
columns
array
Writes an earlier answer into a Google Sheet without overwriting anything. Give run_id (every answer has one) to write its rows as new dated columns beside the rows they came from (matched by id; a row that now holds a different place is skipped and named), or as a table in a new tab; give job_id (a background job) to write each chunk beside its rows as it finishes, or the whole run when it is done. Each write adds a line to an "InstaMaps runs" tab. The sheet must be shared with the InstaMaps service account as Editor; if it isn't, the error names the address.
Captured from the live server on 2026-10-13, trimmed to the first rows.
Request
{
"run_id": "run_ae02fe5fb0d18808",
"mode": "new_tab",
"columns": [
"lat",
"lng",
"postcode",
"council",
"uprn",
"confidence"
]
}The answer's first line
Wrote 3 rows to "geocode_batch · 2026-10-13 17:36" (a new tab) in InstaMaps write_to_sheet test (landmarks), and a line in "InstaMaps runs".
The answer (trimmed)
{
"run_id": "run_ae02fe5fb0d18808",
"sheet": "InstaMaps write_to_sheet test (landmarks)",
"tab": "geocode_batch · 2026-10-13 17:36",
"columns": [
"ID",
"Name",
"Address",
"Latitude",
"Longitude",
"Postcode",
"Council",
"UPRN",
"Confidence"
],
"rows": 3,
"run_log": "InstaMaps runs",
"mode": "new_tab"
}Use it in Claude
Add the connector https://get-instamaps.com/mcp and ask in plain words. 5,000 tool calls a day per person, reset at midnight UTC; a call counts once however many rows it carries; a sheet by reference is one call; checking a job is free.