One endpoint.
Real-time & historical.
Authenticate once, then stream live events over WebSocket, query history over REST, or receive webhooks the instant an event is confirmed — all on one versioned schema.
Bearer keys, scoped per product.
Every request carries your API key. Keys are scoped to products (Live, Archive) and to sports/leagues, and are rate-limited per plan.
curl https://api.firstbuzzer.com/v1/me \
-H "Authorization: Bearer $FB_API_KEY" Per-game endpoints for every game.
- GET /v1/games — list games by sport/league/date, with status & eligibility.
- GET /v1/games/:id/events — every confirmed event for a game.
- GET /v1/export — bulk historical export by league + season.
# Today's eligible NBA games
curl "https://api.firstbuzzer.com/v1/games?sport=nba&date=today" \
-H "Authorization: Bearer $FB_API_KEY"
# Every event for one game (live or historical — same schema)
curl https://api.firstbuzzer.com/v1/games/nba_401766/events \
-H "Authorization: Bearer $FB_API_KEY" Subscribe to live events.
Open one socket, subscribe to any combination of sports, leagues, or games, and choose your tier — provisional for speed or confirmed for certainty.
const ws = new WebSocket(
"wss://api.firstbuzzer.com/v1/stream?sport=nba&tier=confirmed",
{ headers: { Authorization: `Bearer ${process.env.FB_API_KEY}` } }
);
ws.onmessage = (m) => {
const e = JSON.parse(m.data);
// { type, tier, game_id, team, points, ts, confidence, schema }
console.log(e.game_id, e.team, "+", e.points, e.confidence.latency_ms + "ms");
}; Push delivery with retry & replay.
Register an endpoint and we deliver each confirmed event with HMAC signatures, automatic retries, and a replay window so you never miss one.
POST https://your-app.com/firstbuzzer
X-FB-Signature: t=1782...,v1=9f86d0...
{
"type": "score", "tier": "confirmed", "game_id": "nba_401766",
"team": "BOS", "points": 3, "ts": "2026-06-29T01:14:22.184Z",
"confidence": { "agreement": 0.94, "reporters": 7, "latency_ms": 820 }
} SDKs
TypeScript and Python clients wrap auth, reconnects, and typed events. Anything HTTP works today.
Versioned schema
Events carry a schema field. Changes are append-only; consumers fail loud on mismatch.
Status & uptime
A public status page and 99.9% uptime target, with per-sport feed health.
Start building.
Request an API key and sandbox access.