Check if your Google Sheet is public
Anything that reads a Google Sheet without credentials — a script, an app, an AI agent, this site — can only see it if the sheet is shared with anyone who has the link. Paste your URL and find out whether yours is.
The sheet must be shared with "Anyone with the link". Nothing is stored.
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
- Sharing a sheet as Anyone with the link makes it readable to whoever holds the URL but does not list or index it — that is the separate, more public Publish to web setting, which PasteSheet does not require. source
- 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.
What this actually checks
It requests your sheet the way an unauthenticated reader would — no account, no credentials — and reports what comes back. If the sheet is shared with anyone who has the link, it reads it and lists the tabs it found. If it is not, Google returns a sign-in page instead of data, which is exactly the failure your script or app is hitting.
This is the most common reason a Google Sheets integration does not work. The sheet looks fine to you because you are signed in and you own it. The thing trying to read it is not you.
How to make a Google Sheet publicly readable
If the check failed, this is the fix. It takes about ten seconds and it does not put your sheet in a search index.
- 1 Open the sheet and click Share in the top right.
- 2 Under General access, change Restricted to Anyone with the link.
- 3 Leave the role as Viewer. Nothing that reads the sheet needs more, and Viewer means a stranger holding the link cannot change your data.
- 4 Click Done, then run the check again.
"Anyone with the link" is not "Publish to web"
These are two different Google settings and they get mixed up constantly:
- Share → Anyone with the link grants read access to whoever holds the URL. The sheet is not listed or indexed anywhere; it is simply readable if you know the address. This is what tools, scripts and APIs need, and it is what this checker tests.
- File → Share → Publish to web is a separate, more public step that creates a standalone published copy of the sheet. PasteSheet does not need it, and you should not use it unless you specifically want a public web page.
- Restricted — the default — means only people you invited can read it. Nothing unauthenticated can, which is why integrations fail against it.
Once it is readable
A publicly readable sheet can be read by anything that speaks HTTP — no Google Cloud project, no OAuth consent screen, no service-account JSON. You can convert it to JSON right now, or give it a permanent endpoint so an app or an AI agent can query it live.
What you get above is a snapshot: it reflects the sheet as it is right now. Edit a cell and the file you downloaded is out of date, and you run the conversion again. A PasteSheet endpoint is the same data at a URL that stays current — it re-reads the sheet on your schedule and serves whatever is in it now, so your app or AI agent never reads a stale export.
Frequently asked questions
Does making my sheet public mean anyone can find it?
No. "Anyone with the link" means readable by whoever holds the URL — it is not listed anywhere, not indexed by Google Search, and not discoverable without the address. It is the same access model as an unlisted video, and it is not the same as "Publish to web".
Can someone edit my sheet if I share it this way?
Not if you leave the role as Viewer, which is the default and all any reader needs. A Viewer can read the sheet and nothing else. Only change it to Editor if you genuinely intend to let strangers holding the link modify your data.
Why does my sheet work in the browser but not in my script?
Because you are signed in and your script is not. Your browser sends your Google session with the request, so the sheet loads for you regardless of its sharing setting. An unauthenticated script gets what a stranger would get — on a Restricted sheet, a sign-in page rather than data.
Do I need to publish the sheet to the web?
No, and you probably should not. Setting Share to "Anyone with the link" is enough and is the less public of the two options. "Publish to web" creates a separate published copy of the sheet and is not required by PasteSheet or by this checker.
Sources
- Publish a file from Google Docs, Sheets, Slides or Forms — Google Docs Editors Help
- Authorize requests — Google Sheets API — Google
Related tools
Free Google Sheets to JSON Converter
Paste a public Google Sheet URL and get clean, formatted JSON instantly. No signup, no API key, and no Google Cloud project. Copy it, download it, or go live.
Google Sheets MCP Config Generator
Generate the MCP server config for a Google Sheet — Claude, Cursor, VS Code, and ChatGPT. Get the exact JSON block and the file it goes in. Free, no signup.
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.