Libraries & SDKs
The Scorelytics API is plain HTTP + JSON, so any HTTP client works. Below are the routes most teams take.
Official
We ship a single source of truth — the OpenAPI 3.1 specification — from which any modern code generator can produce a typed client.
- Download
openapi.yaml - View it interactively in the API Reference.
Generate a client in minutes
The two best-maintained generators are OpenAPI Generator and Speakeasy. Either will give you a typed, idiomatic client in your language of choice.
npx @openapitools/openapi-generator-cli generate \
-i https://docs.scorelytics.pro/openapi/openapi.yaml \
-g typescript-fetch \
-o ./scorelytics-client
openapi-generator-cli generate \
-i https://docs.scorelytics.pro/openapi/openapi.yaml \
-g python \
-o ./scorelytics-client
openapi-generator-cli generate \
-i https://docs.scorelytics.pro/openapi/openapi.yaml \
-g go \
-o ./scorelytics-client
Hand-rolled clients
If you only need a handful of endpoints, a 30-line hand-rolled client is often easier than a generated SDK.
const BASE = 'https://api.scorelytics.pro';
export class Scorelytics {
constructor(private apiKey: string) {}
private headers() {
return { 'X-API-Key': this.apiKey, 'Accept': 'application/json' };
}
async listMatches(params: Record<string, string> = {}) {
const qs = new URLSearchParams(params).toString();
const res = await fetch(`${BASE}/v1/football/matches?${qs}`, {
headers: this.headers(),
});
if (!res.ok) throw new Error(`Scorelytics ${res.status}`);
return res.json();
}
async getMatch(id: string) {
const res = await fetch(`${BASE}/v1/football/matches/${id}`, {
headers: this.headers(),
});
if (res.status === 404) return null;
if (!res.ok) throw new Error(`Scorelytics ${res.status}`);
return res.json();
}
}
MCP clients
For AI agents, no SDK is needed — the MCP server speaks the open Model Context Protocol and works out of the box with Claude, Cursor and any other MCP-compatible client.
Need a managed SDK?
We're considering shipping language-specific managed SDKs for TypeScript, Python and Go. If you have a strong preference, let us know.