LivePolling FIRST every second for matches about to post

The Events API, without the wait.

Every response from the official Events API, cached and kept fresh by a poller that knows when matches are about to post. Same paths, same JSON. Swap the domain and your app gets faster.

Before
https://
After
–
events live right now
–
requests to FIRST per second
–
responses cached
–
endpoints on 1–3s polling

Why it's faster

Most apps hit FIRST every time a user loads a page, so FIRST gets the same request thousands of times and everyone waits. We ask once, store the answer, and serve it from the edge. You still get data as fresh as asking FIRST yourself.

Drop-in compatible

Identical paths, query params and JSON. Basic auth works, so existing clients only need a new domain and key. Last-Modified, If-Modified-Since and 304s work too.

Smart polling

We track every event's schedule and predict when the next result will post. Around that moment we poll every second, recent results every 3s, slower data every 10s, and finished data never.

Webhooks

Stop polling. Subscribe to an event, a team or a whole season and get a signed POST when a match posts, rankings move, alliances are picked or awards go out.

All of history

Every season the API has is scraped and stored once. Old events come straight out of storage, no trip to FIRST.

Filters for free

teamNumber, matchNumber, start/end and top are applied to our cached copy, and each one is checked against FIRST's own answer before we rely on it.

Bearer keys

Building something new? Use Authorization: Bearer with a key from the dashboard. Keys are free and you can make as many as you need.

How fresh is it?

The poll rate follows what's actually happening at each event.

EveryWhat
1sThe next match result, from a minute before we expect it until it posts. Alliance selection while it's happening.
3sMatch results, score details, rankings and hybrid schedules at a running event. Awards once playoffs start.
10sEverything else at a running event: schedule, teams, alliances, awards, advancement.
1–5mEvent days outside match hours, and the day before.
10m–12hSeason lists, upcoming events, and events that ended in the last two weeks.
neverEvents that ended more than two weeks ago and past seasons. Fetched once, served forever.