Your stack, ready
Official SDKs for TypeScript, Python and Go, a command line, and plain HTTPS for everything else. All of them use the API key from your dashboard.
The packages are not published yet: the npm, pip and go install commands go live with the first release.
TypeScript
Node · Deno · Bun · browsersZero dependencies, typed responses, a WebSocket client that keeps the merged state.
$ npm install sportsapi import { SportsAPI } from 'sportsapi'; const client = new SportsAPI({ apiKey: process.env.SPORTSAPI_API_KEY });
Python
3.10+ · sync and asyncioTyped dicts for every object, paging iterators, the same WebSocket client.
$ pip install sportsapi from sportsapi import SportsAPI client = SportsAPI() # reads SPORTSAPI_API_KEY
Go & CLI
module sportsapi-goContext-aware calls, iterators, errors.Is sentinels — and the sportsapi command for every endpoint.
$ go get github.com/sportsapiapp/sportsapi-go client := sportsapi.NewClient() // reads SPORTSAPI_API_KEY res, err := client.Livescores.List(ctx, &sportsapi.LivescoresListParams{Sport: sportsapi.Ptr("football")}) $ go install github.com/sportsapiapp/sportsapi-go/cmd/sportsapi@latest $ sportsapi login $ sportsapi livescores list --sport football -o table
REST
any languageHTTPS in, JSON out, with an OpenAPI 3.1 document for code generators.
$ curl -H "Authorization: Bearer sk_live_…" \ "https://api.sportsapi.app/v2/livescores" # OpenAPI 3.1: https://api.sportsapi.app/v2/openapi.json
AI assistants
llms.txt · MarkdownThe docs as Markdown for Claude, ChatGPT and coding agents.
https://sportsapi.app/llms.txt https://sportsapi.app/llms-full.txt
One key, everywhere
Create a key in the dashboard, pass it to the client or set SPORTSAPI_API_KEY — every SDK and the CLI read it. Same quota, same plan.