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

Serve filterable property listings from a Google Sheet

Property listings are a table your agents already maintain: address, price, beds, baths, status, photos. PasteSheet publishes that Google Sheet as a live JSON API with filtering and search built in, so your listings site lets buyers narrow by price, beds, or location without you standing up a backend.

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 feed is capped by plan: 500 listings on Free, 5,000 on Starter ($9/mo), and no row cap on Pro ($19/mo).
  • Full-text search= and aggregation (avg price by city with group_by) are Pro ($19/mo) features. Exact-match filters on beds, status and type, plus contains, sorting and pagination, work on every plan.
  • The endpoint is read-only, so a public listings site can filter and sort the feed but a visitor can never flip a home to sold.

Why keep listings in a Sheet

A listings feed is inherently tabular — one row per property, columns for price, beds, baths, city, and status. Agents already track this in a spreadsheet, updating a price or flipping a home to "sold" as deals move. Building a bespoke CMS to hold the same table, then a search backend on top, is a lot of work for data that fits in cells.

PasteSheet serves the Sheet as clean, typed JSON with filtering, search, and pagination in the URL — the querying a listings page needs, with no database or backend to run. Your site — a directory-style front end or a live dashboard — reads the endpoint and renders the results.

The filters a listings page needs

Buyers slice the same feed different ways, all from URL parameters:

  • Exact-match on discrete fields — ?beds=3, ?status=active, ?type=condo.
  • Partial match on place names with contains[city]=Austin, or full-text search= across the row (Pro).
  • Sort by price with sort=price or sort=-price, and page long feeds with page / per_page.
  • Aggregate for market stats — avg price by city with group_by — on Pro.

Fetch listings as JSON

Point your listings page at the endpoint and combine a location filter, a sort, and pagination in one request:

terminal
curl "https://pastesheet.com/your-endpoint/Listings?contains[city]=Austin&sort=price&per_page=20"

{
  "data": [
    {
      "address": "1204 Oak Ridge Dr",
      "city": "Austin",
      "price": 525000,
      "beds": 3,
      "baths": 2,
      "status": "active"
    }
  ]
}

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

Starter

For indie makers shipping a real app.

$9 /mo
Endpoints
10
Requests / mo
50,000
Row cap
5,000
  • Full-text listing search
  • Average price by city
  • Private endpoints & keys

Full-text search and market stats are Pro. Start free to serve and filter listings on 3 endpoints; move to a paid plan for full-text search= across the row and aggregation (avg price by city with group_by), plus private endpoints when a feed should stay behind a key.

Frequently asked questions

Can buyers filter by price and beds at once?

Yes. Combine parameters in a single URL — ?beds=3&status=active&sort=price — and PasteSheet returns just the matching rows in order. Partial-match and full-text search let you add location and keyword filters too.

How do I keep listings current?

Agents edit the Google Sheet as normal — change a price, flip a home to sold — and the API reflects it after the cache refreshes. Paid plans set a custom TTL so a status change goes live in seconds.

Can I compute average prices by area?

Yes, on Pro. Aggregation with group_by, avg, count, and sum lets you return market stats — like the average price per city — straight from the endpoint without pulling every row into your own code.

Can anyone edit listings through the API?

No. The endpoint is read-only by design — there is no write path — so a public listings site is safe to publish, and you can lock a private feed behind a key when you need to.

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.