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

Everything a backend would do —
without a backend.

One connected sheet gives you querying, caching, access control, schema safety, and an MCP server for AI agents — the query and reliability layer a raw Google Sheets connection leaves you to build by hand.

Querying & filtering

Every column is queryable with plain URL params — a typed query engine over your rows, not the cell-by-cell access a raw Sheets API gives you.

Guide: Google Sheets as a REST API

Filter, sort & paginate

Match a column, sort by any field, page through results with limit & offset.

/api/…?status=active&sort=name&limit=25 → 128

Search across columns

Partial-match a field, or full-text search every column at once.

?search=ada → 12

Aggregation

Ask "how many" and "sum of" questions directly — grouped counts, sums, and averages, no client-side math (Pro+).

Group by & aggregation guide
?group_by=status&sum=amount → [{ status, sum_amount }]

Embeddable search widget

Turn an endpoint into a live search box for your own site — one line, no backend to build (Pro+).

Paste one line

A single <script> tag renders a real, working search box wherever you drop it — inline in the page, or behind a ⌘K command palette.

<scriptsrc="widget.js"data-sheet="a1b2c3"></script>

Themed, configurable, live

Pick which fields show, an accent color, list or grid layout, and light/dark/auto theme in the configurator — the preview runs against your real data.

inline ⌘K overlay list grid light dark auto

Performance & caching

Reads never hit Google Sheets directly — an edge cache sits in front of every endpoint.

Edge cached responses

Fixed 5-minute cache on Free; configurable 30s–1hr TTL on paid plans.

12ms

Rate limits that scale with you

From 60 req/min on Free up to 5,000 req/min on Agency.

X-RateLimit-Remaining 284 / 300

Schema reliability

A sheet is editable by anyone — this is what keeps a live endpoint from silently breaking when it changes.

Schema drift alerts

A column gets renamed, retyped, or removed — you get an email the moment it's detected, plus an hourly background sweep for sheets nobody's actively querying.

Schema changed: "role" column renamed to "title"

Schema lock (contract mode)

Freeze a sheet's column shape as a contract. If it drifts after that, the endpoint rejects the read instead of quietly serving the wrong shape.

GET /api/… 409 schema_locked

Security & access

Public by default for quick sharing, lockable the moment it matters.

Private endpoints & API keys

Lock an endpoint behind a bearer key. Keys are hashed (SHA-256) — we never store them in plain text.

Bearer ps_••••••••••

AI column mapping

Column types and aliases are inferred automatically, so your JSON is typed from the first request.

name string
price number
joined date

AI & agents

Publish an endpoint and any agent can read it — read-only by design, so it's safe to hand over. No Google Cloud project to connect.

MCP for AI agents

Connect a sheet and it becomes a Model Context Protocol server — no Google Cloud project, no service account. Claude, Cursor, and ChatGPT query it as a native, read-only tool. (Google's own MCP servers don't cover Sheets.)

How many users are active?
query_rows → 128 active

On the roadmap

Scaffolded in every plan's config already — not shipped for anyone yet.

Custom domains White-label Multi-workspace

Paste a sheet. Get all of this.

Free forever for side projects — no credit card, live in under a minute.