SDKs & CLI
Official clients for TypeScript / JavaScript, Python (sync and async) and Go, and the sportsapi command line. Every endpoint is a typed method named after it (client.leagues.standings(id, { season })) returning the same { data, meta }; each client retries a 429 rate_limited or a 503 after Retry-After, walks paged endpoints, raises one error type per status, and carries a WebSocket client that mints its ticket, re-subscribes with replay after a drop and merges every delta into the fixtures it holds. Each endpoint page shows its call in every language.
They use the same API key you create in the dashboard — there is no separate sign-in. Pass it to the client (apiKey, api_key, WithAPIKey) or set SPORTSAPI_API_KEY and every client reads it. The CLI also has sportsapi login, which checks the key with one call and keeps it in the system keychain (sportsapi logout forgets it). Calls made through them count against your plan exactly like any other request: the same quota, rate, history and premium endpoints, and the WebSocket client needs a Business key.
npm, pip and the CLI install commands below go live with the first release.$ npm install sportsapi import { SportsAPI } from 'sportsapi'; const client = new SportsAPI({ apiKey: process.env.SPORTSAPI_API_KEY }); const { data } = await client.livescores.list({ sport: 'football' }); // WebSocket (Business): merged live state, reconnect + replay built in const stream = client.stream(['livescores']); stream.on('delta', (frame) => console.log(frame.id, frame.changes));
Each client has its own page — errors, paging, the stream and options: TypeScript, Python, Go, CLI.