Developer Hub

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.

Authentication

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.

auth
curl https://api.firstbuzzer.com/v1/me \
  -H "Authorization: Bearer $FB_API_KEY"
REST API

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.
rest
# 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"
WebSocket streaming

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.

websocket
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");
};
Webhooks

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.

webhook
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.