PasteSheet icon PasteSheet logo mark — a spreadsheet grid with a curly brace on a green rounded square PasteSheet

Read a Google Sheet without an API key

Google's API wants a Cloud project and credentials before it will hand you a single row. If your sheet is already shared publicly, there are ways to skip all of it.

Last updated

Key facts

  • Google's API requires a Google Cloud project plus OAuth credentials or a service account before it will return a single row. source
  • But a sheet published to the web (File → Share → Publish to web) is served to anyone with the link — as a web page, CSV or TSV — with no credential at all. source
  • The catch with the keyless routes: CSV gives you untyped strings with no filtering, sorting or pagination, and the undocumented visualisation endpoint can change without warning.
  • It needs no Google Cloud project, no OAuth consent screen and no service-account JSON. You paste a share URL, and MCP is included on the Free plan.

Can you use the Google Sheets API without an API key?

Not the official one — it always requires credentials, either an API key for public reads or OAuth for private ones, and all of it lives behind a Google Cloud project. But you do not need the official API to read a sheet you have already shared publicly.

A sheet set to Anyone with the link → Viewer is already published. Anything that can fetch a URL can read it, no credential required. The question is what shape the data arrives in.

The keyless options

  • CSV export. Google will serve a published sheet as CSV. Free and keyless, but you get strings — no types, no filtering, no pagination — and you parse it yourself.
  • The visualisation endpoint. Returns JSON-ish data, is undocumented, and can change without warning. Fine for a hack, risky in production.
  • Apps Script Web App. Write a script that returns JSON. Keyless for callers, but now you maintain a script — see why that gets old.
  • A hosted endpoint. PasteSheet reads the shared sheet and serves typed JSON with filtering, sorting, and caching. No key, no Cloud project.

Keyless quick start: sheet to JSON in three steps

No Google Cloud project, no API key, no OAuth client — just a shared sheet and a URL:

  1. 1 In Google Sheets, choose Share → General access → Anyone with the link → Viewer. The sheet is now readable by URL.
  2. 2 Paste that URL into PasteSheet. It reads the sheet, infers each column's type, and gives you a hosted endpoint — no credential anywhere in the flow.
  3. 3 Fetch typed JSON from https://pastesheet.com/api/your-endpoint-id, adding ?filter, ?sort, or ?limit as needed. (For a raw, DIY route with no tool, a published sheet also serves CSV at .../export?format=csv — untyped strings you parse yourself.)

What you give up, honestly

Every keyless approach relies on the sheet being publicly viewable. If your data is sensitive, that is a real constraint and you should not work around it — use a private endpoint with a key, or Google's OAuth flow.

For the enormous number of sheets that are not sensitive — product catalogs, FAQs, event schedules, public listings, pricing — the credential dance buys you nothing, and skipping it saves you a Google Cloud project you would otherwise maintain forever. What you get instead is a plain REST API over your sheet, keyless and cached.

What it costs

MCP is included on the Free plan. Connect any public endpoint over MCP with no Google Cloud project and no credit card. Private endpoints and the account-wide workspace server need a paid plan (from Starter ($9/mo)) for the keys and OAuth they authenticate with.

Pro adds full-text search and aggregation (count, sum, avg, group_by) that your AI agent can call through query_rows.

Free

For side projects and trying things out.

$0 /mo
Endpoints
3
Requests / mo
2,000
Row cap
500
  • Private endpoints & keys
  • Type-mapped columns

Frequently asked questions

Is the Google Sheets API free?

Yes, the API itself is free to use — but it still requires a Google Cloud project and credentials, and it enforces per-minute quotas. "Free" and "no setup" are not the same thing.

Can I read a private sheet without a key?

No, and you should not want to. Keyless access works because the sheet is published. For private data, use a private endpoint protected by a bearer key, or Google's OAuth flow.

Is the CSV export good enough?

For a simple, static read, sometimes. You get untyped strings with no filtering, sorting, or pagination, and you write the parsing. It stops being good enough the moment you need to query rather than dump.

Does PasteSheet need an API key from Google?

No. It reads published sheets through their share link, so there is no Google API key, OAuth client, or service account anywhere in the setup.

Sources

Related guides

Turn your sheet into an API in minutes

Paste a Google Sheet URL and get a live REST API and MCP server — no backend, no code, free to start.