Power your event schedule page from a Google Sheet
A conference agenda is really a table: one session per row, each with a time, room, track, and speaker. PasteSheet turns that Google Sheet into a live JSON API, so your schedule page can filter by day or track — and every last-minute room swap goes live the moment an organizer edits a cell.
Last updated
Key facts
-
The Google Sheets API allows 300 read requests per minute per project and 60 per minute per user. Past that it returns
429 RESOURCE_EXHAUSTED. source - A cached endpoint reads the sheet once per TTL, not once per request — so 10,000 visitors become one upstream read, and Google's quota stops being your problem.
- On event day, freshness is the whole game: Free serves a fixed 5-minute cache, while paid plans set a custom TTL as low as 30 seconds so a moved session propagates almost immediately.
- The agenda holds up to 500 sessions on Free and 5,000 on Starter ($9/mo) — more than a multi-track conference needs.
Why run your agenda from a spreadsheet
Event schedules change up to the last minute — a talk gets moved, a speaker drops, a room changes. The one tool your organizers already share and edit in real time is a spreadsheet, not a CMS. Keep the agenda there, one row per session, and let the website read from it.
PasteSheet sits in front of the sheet and serves it as clean, typed JSON. Your schedule page — Next.js, Astro, a no-code builder, or plain HTML — fetches the rows and renders the grid. Edit a start time in the sheet and the page reflects it after the cache refreshes.
What each row becomes
Give every session a row and a few columns, then slice it however the page needs:
-
?day=Thursday— build a per-day tab from an exact-match filter. -
?track=Frontend— split the agenda into parallel tracks or stages. -
?sort=start_time— order sessions chronologically without touching code. -
?search=livewire— let attendees find a talk by keyword across every column.
Fetch the agenda as JSON
Point your schedule page at one tab and pull the sessions you want. Filters, sorting, and paging are plain URL parameters:
curl "https://pastesheet.com/your-endpoint/Sessions?day=Thursday&track=Frontend&sort=start_time"
{
"data": [
{
"title": "Scaling Livewire to a Million Users",
"day": "Thursday",
"track": "Frontend",
"room": "Hall B",
"start_time": "14:30",
"speaker": "Amara Okafor"
}
]
}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.
- Endpoints
- 3
- Requests / mo
- 2,000
- Row cap
- 500
- Fast cache for live changes
- Search the agenda
- MCP for AI agents
Start free. Three live endpoints and a 5-minute cache are enough to power a full agenda site. On event day, upgrade for a custom cache TTL so a schedule change appears in seconds rather than minutes.
Frequently asked questions
How fast do schedule changes show up?
Responses are cached for speed. The Free plan refreshes every 5 minutes; on event day a paid plan lets you set a custom TTL down to 30 seconds — or trigger a manual refresh so a moved session appears immediately.
Can I build separate pages per day and track?
Yes. Use exact-match filters like ?day=Friday and ?track=Design in the URL, and combine them. Each page just fetches the same endpoint with different parameters — no duplicate data to maintain.
Do my organizers need a PasteSheet account?
No. Only you connect the sheet once. Organizers keep editing the Google Sheet as normal, and the API reflects their changes after the cache refreshes.
Can attendees change the agenda through the API?
No. PasteSheet is read-only by design — the endpoint only serves data, so it is safe to expose on a public schedule page.
Sources
- Usage limits — Google Sheets API — Google
Related use cases
Build a Course Catalog from Google Sheets
Turn a course catalog into a live JSON API straight from a Google Sheet. Courses, modules, lessons, and prices — filtered and sorted, with no backend to build.
Build a Directory Website From a Sheet
Turn a Google Sheet into a searchable directory. PasteSheet serves your listings as a filterable, read-only JSON API — no database, no admin panel, no code.
Build a Team Directory from a Sheet
Publish a team or staff directory from a Google Sheet — names, roles, photos, bios. Filter by department through a live, read-only JSON API. No backend.
Use Google Sheets as a Free Headless CMS
Run your website's content from a Google Sheet. PasteSheet publishes it as a live, read-only JSON API — no database, no backend, no Google Cloud setup.
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.