From install to a live table in about four minutes.
Steps one to three need no account at all. Activation only matters when you want to fetch from a URL. Nothing here assumes you write code.
Install the add-on
After the Marketplace release, install the add-on and accept the permission prompt. The add-on asks for access to the spreadsheet you have open and nothing else — no Drive, no mail, no contacts. You can install it on a personal account or, if your admin allows it, across a Workspace domain.
Join the betaOpen the sidebar
In any spreadsheet, go to the Extensions menu and choose JSON for Sheets, then Open JSON for Sheets. The same menu holds the JSON Tools shortcuts, your saved requests, and your account and usage screen.
Paste JSON and insert a table
Choose Paste, drop a payload in, and the explorer appears. Tick the fields you want, pick a destination, and read the predicted row and column count. Press Insert table. This whole flow runs inside the spreadsheet — no sign-in, no request counted, and your data never reaches us.
If your payload wraps the array in an envelope, click the array in the tree instead of hunting for the path — the root path fills itself in.
Untick anything you do not need. Fewer columns means a table people will actually read.
Writing to a new sheet is the safe default while you are learning the shape of a payload.
Activate, for URL imports only
Fetching from a URL goes through our service so caching, quotas, and URL safety checks can be applied. That needs a free account. Click Activate in the sidebar, approve the connection in the browser tab that opens, and come back — the sidebar picks it up on its own. No card, and the Free plan is granted immediately.
Your first API request
Switch the source to URL, paste an endpoint, and press Test. You get the response tree, the status, the duration, and the size. Choose your root path and fields, then Import. If you already have the request as a cURL command, paste it instead — method, headers, query, and body are filled in for you.
For a public GET you can skip the sidebar entirely and use the formula. Press the Copy formula button in the preview and it is built for you:
Never put a token in a formula argument — it would be visible to anyone with the spreadsheet. Authenticated requests belong in the sidebar, where the secret stays server-side.
Save a credential once
Open Connections, choose a type, paste the secret, name it something you will recognise in six months, and press Test. From then on requests reference it by name. The value is encrypted on save and never shown again — you can rotate or revoke it, but not read it back.
Keep it fresh
Save the request, then decide how it updates. Manual refresh works on every plan. Starter can schedule it daily, Pro hourly. Choose the output mode that matches what the sheet is for:
A scheduled request rechecks your plan before every run, so a downgrade disables an hourly schedule rather than failing quietly for weeks.
Choosing an array mode
The single decision that determines whether your table is useful. Ask what one row should mean.
When something breaks
Every failed run has a debug ID and a sanitised record of what was sent. Open Request history, find the run, and read it before changing anything.
The saved token was rejected. Rotate the connection rather than editing the request.
Narrow the path, select fewer fields, or reduce the API's page size. Your per-response limit is on the pricing page.
The URL resolved to a private or internal address. Local and intranet endpoints cannot be reached — this is deliberate and not configurable.
Upsert refuses to guess which row wins. Pick a genuinely unique field, or deduplicate upstream.
Still stuck? Email support with your debug ID →