Import JSON from any API into Google Sheets

IMPORTJSON and IMPORTJSONPATH as ready-made functions, plus a sidebar to build requests without writing code. Free, no account, and compatible with the classic ImportJSON script.

Install from Google Workspace Marketplace

The Marketplace listing is going through review. The install link will appear here once it is published.

Read the docs · See examples

Three ways to use it

A public API, no key

=IMPORTJSON("https://jsonplaceholder.typicode.com/users", "/name,/email")

Paste a formula; the rows fill in.

An API with a key

Open Extensions → JSON Importer → Request builder, choose API key or Bearer, preview, and insert. The key stays in your Google account, never in the sheet.

Filter with JSONPath

=IMPORTJSONPATH("https://jsonplaceholder.typicode.com/todos", "$[?(@.completed==false)]")

Keep only the records that match.

Compared with the free ImportJSON script

The popular open script works and you can keep using it. This add-on keeps its syntax and options (noInherit, noTruncate, rawHeaders, noHeaders, allHeaders, debugLocation), so your formulas keep working.

The script is plain code you can edit. The add-on is not: if you need to modify behaviour, the script is the better tool. Migration notes.

Frequently asked questions

Is it really free?

Yes. The add-on is free, with no account and no payment details. Some extra features are planned for a Pro plan; the free version stays free.

Does it see my spreadsheet or my API keys?

No one on our side does. It runs inside your Google account: your sheet content, the API responses and your keys are never sent to our servers. We only receive an anonymous daily usage ping, which you can turn off.

The formula shows a parse error in my Spanish or European spreadsheet.

Sheets with a Spanish, French, German or similar locale separate arguments with a semicolon: =IMPORTJSON("https://…"; "/name,/email"). Commas inside the quotes stay as they are.

The sidebar does not load or stays empty.

This usually happens when you are signed in to several Google accounts in the same browser. Use the default (first) Google account, or open the sheet in a private window signed in to only one account.

What permissions does it ask for?

Access to the current spreadsheet only, permission to connect to external services (to call your APIs) and permission to show menus and dialogs. None is a restricted scope.

Does it work with APIs that need a key?

Yes, through the request builder: API key in a header or in the query, or a Bearer token. The key is stored only for you.

What are the limits?

The ones of Google Apps Script: 30 seconds per custom function, a daily URL fetch quota and 50 MB per response. Responses are cached for 5 minutes by default.

Pro is coming

Scheduled refresh, automatic pagination, unlimited saved requests and OAuth 2.0 are planned.

Pro is coming — join the waitlist