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 · browsers

Zero 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 });
Open the TypeScript SDK page →

Python

3.10+ · sync and asyncio

Typed dicts for every object, paging iterators, the same WebSocket client.

$ pip install sportsapi
from sportsapi import SportsAPI
client = SportsAPI()  # reads SPORTSAPI_API_KEY
Open the Python SDK page →

Go & CLI

module sportsapi-go

Context-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
Open the Go SDK page →Open the sportsapi CLI page →

REST

any language

HTTPS 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 · Markdown

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

Install guide