Turn any Google Sheet into a REST API
SheetsAPI reads, filters, and serves your Sheets data as JSON, CSV, TSV, XML, or JSONP - no backend required. Connect in 30 seconds.
Request
GET /api/spreadsheets/
{userKey}/{sheetName}
?limit=3
&sort=-dateResponse - 200 OK
{
"data": [
{ "name": "Alice", "role": "Engineer",
"date": "2026-06-20" },
{ "name": "Bob", "role": "Designer",
"date": "2026-06-18" }
],
"meta": { "total": 42, "limit": 3, "offset": 0 }
}Everything a REST API should do
No backend to provision, no schema to define. Your first row is the field map - everything else is an HTTP call.
Full CRUD
Read, append, update, and delete rows with GET, POST, PUT, and DELETE. Your sheet is the database - no schema migration needed.
5 output formats
JSON, CSV, TSV, XML, and JSONP. Add ?format=csv to any endpoint and the response changes. Same data, every format.
Powerful filtering
search=field:value, search_exact for strict matches, sort with - prefix for descending, and fields to pick only the columns you need.
Pagination
Every list endpoint accepts limit (max 1000) and offset. Page through large sheets without loading everything at once.
API keys
Sheets are public by default. Create Bearer tokens to lock a sheet to authenticated callers only. One dashboard, all your keys.
Open source
MIT licensed. Self-host on Cloudflare Workers in minutes if you'd rather not use the hosted version. Fork it, extend it.
What people build with it
Free while in beta - no plan limits, no credit card.
Pricing details →Ready to connect your first Sheet?
Paste your Sheet URL, get an endpoint. No deploy, no config file, no backend.