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

Run your product catalog from a Google Sheet

A product catalog is a table your merchandising team already keeps in a spreadsheet: SKUs, names, prices, stock, image links. PasteSheet publishes that Sheet as a live, cached JSON API, so your storefront reads products straight from cells — anyone can update a price without a deploy.

Last updated

Key facts

  • A Google Sheet is capped at 10 million cells (or 18,278 columns), which is the real ceiling on using one as a database. source
  • The catalog is capped by plan: 500 SKUs on Free, 5,000 on Starter ($9/mo), and no row cap on Pro ($19/mo).
  • Free serves a fixed 5-minute cache; paid plans set a custom TTL from 30 seconds to 1 hour, so a price or stock edit lands as fast as you need it to.
  • The endpoint is read-only by design, so a public storefront can never write to your sheet — and it never handles checkout: carts, payments and orders stay in your commerce stack.

Why keep the catalog in a Sheet

Product data is naturally tabular — one row per SKU, a column for each attribute. Your buyers and merchandisers already live in a spreadsheet, sorting by margin and flagging what is out of stock. Building an admin panel just to edit that same table is wasted work, and every price change becoming a deploy is a bottleneck.

PasteSheet sits in front of the Sheet and serves it as clean, typed JSON over a fast, cached endpoint. Your storefront — a Next.js site, a mobile app, or a no-code front end — fetches the catalog and renders it. This is the read and catalog layer, not checkout: it serves the merchandising data your storefront displays, while payments and orders stay in your commerce stack.

What the catalog endpoint gives you

Each tab becomes an endpoint, and URL parameters do the querying — no query language to learn:

  • Exact-match filters — ?in_stock=true or ?category=Apparel to slice the catalog.
  • Partial matches with contains[name]= and full-text search= for on-site product search (Pro).
  • Sort by price or newest with sort=-price, and page large catalogs with page / per_page.
  • Image URLs live in a cell and return like any other field — host them on any CDN and reference the link.

Fetch products as JSON

Point your storefront at the endpoint and read the rows. Filter to in-stock items and sort by price in a single request:

terminal
curl "https://pastesheet.com/your-endpoint/Products?in_stock=true&sort=-price"

{
  "data": [
    {
      "sku": "TSHIRT-BLK-M",
      "name": "Classic Tee — Black",
      "price": 24.00,
      "in_stock": true,
      "image": "https://cdn.example.com/tees/black.jpg"
    }
  ]
}

Safe to publish, nothing to wire up

Because the endpoint is read-only by design, it is safe to expose publicly or hand to a teammate: consumers can read and query the data but can never change the sheet. And there is no Google Cloud project, OAuth screen, or service account to set up — you paste a share URL and get a live API.

What it costs

Free

For side projects and trying things out.

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

Start free. The Free plan runs 3 live endpoints with a 5-minute cache — enough to power a small storefront. Paid plans add type-mapped columns for clean prices and booleans, private endpoints, and a custom cache TTL as your catalog grows.

Frequently asked questions

Can PasteSheet handle checkout or orders?

No. PasteSheet is a read-only catalog layer — it serves your product data as JSON. Payments, carts, and orders stay in your commerce stack; you use PasteSheet to display what is for sale, not to process transactions.

How do I show stock or price changes fast?

Edit the cell in Google Sheets and the API reflects it after the cache refreshes. The Free plan refreshes every 5 minutes; paid plans let you set a custom TTL down to 30 seconds when you need near-live stock.

Can shoppers change my prices through the API?

No. The endpoint is read-only by design — there is no write path — so it is safe to expose to a public storefront or a client-side app without leaking edit access to your Sheet.

How do product images work?

Store an image URL in a column and return it like any other field; your front end renders it. Host images anywhere — a CDN, Drive, or your own bucket — and just reference the link in the cell.

Sources

Related use cases

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.