The API Reference for every sport we cover
One consistent resource model — fixtures, live scores, results, standings, statistics, odds, teams, players and history — repeated identically across 12+ sports. Learn it once, use it everywhere.
Eight endpoint families, one shape
Every sport exposes the same building blocks. Jump to any resource below, or use the sidebar for the full reference.
Fixtures
Schedules and upcoming matches for every league.
Live Scores
In-play score, clock and latest event, updated in seconds.
Results
Full-time results with final score and match summary.
Standings
League tables, updated after every match.
Statistics
Team and player statistics for the current season.
Odds
Pre-match and live odds, normalized across books.
Teams & Players
Rosters, profiles and identifiers used across the API.
Historical Data
Season-by-season archives built for backtesting.
Authentication
Every request needs an API key. Pass it as a Bearer token in the Authorization header for production traffic, or as an api_key query parameter while testing in a browser. Keys are scoped to a plan and can be rotated at any time from your dashboard without downtime — issue a new key, update your app, then revoke the old one.
Base URL & versioning
All endpoints are served from https://api.orbistats.com and prefixed with a version segment. The current stable version is v1. We never introduce breaking changes inside a version — new fields are additive, and breaking changes ship as a new version with a migration guide and an overlap window.
Rate limits
Limits are enforced per API key and returned on every response so you can back off before hitting them.
| Plan | Requests / min | Requests / month | Concurrent WebSocket |
|---|---|---|---|
| Free | 100 | 50,000 | 1 |
| Starter | 600 | 1,000,000 | 5 |
| Growth | 3,000 | 10,000,000 | 25 |
| Enterprise | Custom | Custom | Custom |
Pagination
List endpoints (fixtures, results, teams, players, historical matches) are paginated with page and per_page, or a cursor for high-volume historical queries. Every list response includes a meta.pagination block with the next cursor or page.
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number for offset-based pagination. |
| per_page | integer | 25 | Items per page. Max 100. |
| cursor | string | — | Opaque cursor for large historical datasets. Overrides page. |
Response format
Every response — success or failure — shares the same envelope, so your parsing code doesn't branch per endpoint.
Errors
Errors return the matching HTTP status code and a structured body describing what went wrong and how to fix it.
| Status | Meaning | Typical fix |
|---|---|---|
| 400 | Bad Request — malformed or invalid parameter | Check parameter types and required fields against the table for that endpoint. |
| 401 | Unauthorized — missing or invalid API key | Confirm the Authorization header is present and the key hasn't been revoked. |
| 403 | Forbidden — plan doesn't include this resource | Upgrade your plan or remove the field/endpoint from the request. |
| 404 | Not Found — resource or ID doesn't exist | Verify the sport slug and ID; IDs are sport-scoped. |
| 429 | Too Many Requests — rate limit exceeded | Back off using the Retry-After header, or upgrade your plan. |
| 500 / 503 | Server error — retry with backoff | Safe to retry with exponential backoff; check status.orbistats.com. |
Upcoming fixtures for a sport, filterable by league, team or date range. Powers schedule pages, "next match" widgets and fixture-list views.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Competition slug, e.g. premier-league. |
| team | string | No | Team slug or ID to filter fixtures for one club. |
| date_from | date | No | ISO 8601 date. Defaults to today. |
| date_to | date | No | ISO 8601 date. Defaults to +14 days. |
| page / per_page | integer | No | Standard pagination, see above. |
A single fixture with full detail — venue, officials, broadcast info and links to its lineups, events and odds once available.
| Parameter | Type | Required | Description |
|---|---|---|---|
| fixture_id | string | Yes | Unique fixture identifier returned by the fixtures list. |
Every match currently in play, with the live score, clock, period and the most recent event. Poll every 5–10 seconds, or switch to the WebSocket API for push updates.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Restrict to a single competition. |
Completed matches with the final score, filterable the same way as fixtures. Use it to build results grids, form guides and head-to-head history.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Competition slug. |
| team | string | No | Filter to one team's results. |
| season | string | No | e.g. 2025-2026. Defaults to current season. |
The current league table — played, won, drawn, lost, goal difference and points — updated automatically after every result is confirmed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | Yes | Competition slug. |
| season | string | No | Defaults to the current season. |
Season-level team statistics — shots, possession, cards and sport-specific metrics. A matching /statistics/player/{player_id} endpoint returns individual player numbers for the same season.
| Parameter | Type | Required | Description |
|---|---|---|---|
| team_id | string | Yes | Team identifier. |
| season | string | No | Defaults to current season. |
| competition | string | No | Scope statistics to one competition only. |
Pre-match and live odds normalized into a single format across sportsbooks, so you compare markets without writing a parser per book.
| Parameter | Type | Required | Description |
|---|---|---|---|
| match_id | string | Yes | Fixture identifier. |
| market | string | No | e.g. 1x2, totals, player_props. |
| bookmaker | string | No | Restrict to a single sportsbook. |
Team and player directories with stable IDs used throughout the rest of the API. /teams/{team_id} and /players/{player_id} return full profiles including current squad, competitions and season stats links.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Filter teams or players to one competition. |
| team_id | string | No | Filter players to one squad. |
| search | string | No | Free-text name search. |
Starting lineups, formations and substitutes for a fixture, plus a chronological event feed — goals, cards, substitutions and sport-specific events — as they're confirmed.
Every league and tournament we cover for a sport, with country, tier and current season, so you can build a competition picker without hardcoding a list.
Season-by-season historical match data for backtesting models, building head-to-head pages and long-run trend analysis. Depth varies by sport and competition — check the coverage matrix below.
| Parameter | Type | Required | Description |
|---|---|---|---|
| league | string | No | Competition slug. |
| season_from / season_to | string | No | Season range, e.g. 2015-2016 to 2025-2026. |
| cursor | string | No | Recommended for large historical pulls. |
Register an HTTPS endpoint once and Orbistats pushes a payload the moment something changes — no polling loop to maintain. Each payload is signed so you can verify it came from us.
A persistent connection for clients that need sub-second updates — live scoreboards, trading desks and in-play odds boards. Subscribe to one or more channels after connecting.
Sport coverage matrix
Every sport shares the fixtures, results, standings and statistics resources. Odds, lineups/events and full historical depth roll out sport by sport — this table reflects what's live today.
| Sport | Fixtures | Live | Standings | Statistics | Odds | Lineups | Historical |
|---|---|---|---|---|---|---|---|
| Football | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Basketball | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| American Football | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Cricket | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Tennis | ✓ | ✓ | — | ✓ | ✓ | — | ✓ |
| Baseball | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Horse Racing | ✓ | ✓ | — | — | ✓ | — | ✓ |
| Golf | ✓ | ✓ | ✓ | — | ✓ | — | ✓ |
| Combat Sports | ✓ | ✓ | — | — | ✓ | — | — |
| Esports | ✓ | ✓ | ✓ | ✓ | ✓ | — | — |
SDKs & languages
Every endpoint on this page maps directly onto a method in each official SDK — same parameters, same response shape.
Common questions
Answers to what developers ask most before their first integration.
What format does the Orbistats API return data in?
Every endpoint returns JSON over HTTPS, wrapped in a consistent envelope containing a data object or array, a meta block with pagination and timing details, and an errors array when something goes wrong.
Is the same endpoint structure used for every sport?
Yes. Fixtures, live scores, results, standings, statistics and odds follow the same resource shape for every sport — only the {sport} path segment and sport-specific fields change, so code you write for one sport ports directly to another.
How do I authenticate requests to the Orbistats API?
Send your API key in the Authorization header as a Bearer token, or as an api_key query parameter during local testing. Keys are issued instantly on the free plan from the signup page.
What are the rate limits on the free plan?
The free plan allows 100 requests per minute and 50,000 requests per month. Paid plans raise both limits, and enterprise plans can request dedicated throughput.
Does Orbistats offer real-time data without polling?
Yes. Webhooks push fixture, score and odds changes to your endpoint as they happen, and the WebSocket API offers a persistent low-latency stream for live matches and live odds for clients that need sub-second updates.
Explore more of the platform
Related developer resources, product pages and research.
Quickstart
Make your first request in five minutes.
Sandbox
Try every endpoint above against live sample data.
SDKs
Official client libraries and code examples.
Data Dictionary
Every field, ID and enum used across the API.
Sports Glossary
xG, implied probability and other terms explained.
Coverage Explorer
Browse sports, countries, leagues and depth of history.
Orbistats vs Sportradar
An honest, field-by-field comparison.
Sportmonks Alternative
What to check before switching providers.
Pricing
Free to start, transparent per-event rates at scale.
Start free. Upgrade when you need enterprise SLAs.
Self-serve API keys for developers today — dedicated infrastructure, custom feeds and SLAs when you're ready.