Skip to main content

Base URLs

Access our multi-sport API through dedicated sport-specific endpoints. The V2 Enhanced API is available for all 25+ sports:

Football API (V2)

Basketball API (V2)

Any Sport (V2)

V2 Enhanced API offers 120+ endpoints with advanced data: shotmaps, AI insights, player heatmaps, tournament brackets, manager/referee data, and WebSocket real-time support. Explore V2 →
Legacy V1 endpoints remain available for backward compatibility. See the V1 Legacy (Deprecated) section for V1 documentation.

Football V2

147+ endpoints — Premier League, La Liga, Champions League & 1000+ leagues

Basketball V2

115 endpoints: NBA, EuroLeague, WNBA & 50+ leagues

Tennis V2

88 endpoints: ATP, WTA rankings, draws & point-by-point

Cricket V2

IPL, Test cricket, T20 leagues & live ball-by-ball

Ice Hockey V2

NHL, KHL, SHL & 30+ leagues worldwide

Browse All 25 Sports ↓

Team, racquet, combat, motorsport & more

Authentication

All endpoints require authentication via the x-api-key header. The same API key works across all 25+ sports APIs:
Your API key is shared across all sports. Rate limits and usage are tracked across your entire account, not per sport.

Auto-Resolved Parameters

The API automatically determines the user’s language, timezone, and country based on request context. You do not need to specify default values for these parameters—they are resolved automatically.
The following parameters are auto-resolved but can be overridden if needed:

Timezone Handling

Timezone is automatically resolved based on the user’s country. You can also override it by passing the timezoneName query parameter.

How Auto-Resolution Works

The V2 API uses a country-based mechanism to determine the user’s timezone:
  1. Country detection — Cloudflare identifies the user’s country from their IP address (via the CF-IPCountry header).
  2. Country → Timezone mapping — The backend maps the detected country code (e.g., DE → Europe/Berlin, US → America/New_York) to the primary IANA timezone for that country.
  3. Applied to responses — All date/time fields in the response use the resolved timezone offset.
If the country cannot be determined (e.g., VPN, internal traffic), the API falls back to UTC.

Timezone source Field

API responses include a source field in the timezone metadata indicating how the timezone was resolved:

Manual Override

You can override auto-resolution by passing the timezoneName query parameter with any valid IANA timezone identifier:
timezoneName is the only reliable way to pin a timezone. Auto-resolution depends on the egress IP of the machine making the request, so a server hosted outside your users’ country will resolve to the server’s timezone, not theirs. Sending a client-country header does not override it. If your users are in a fixed timezone, always send timezoneName explicitly.

Beijing time (China Standard Time)

Pass timezoneName=Asia/Shanghai to receive every date/time field at UTC+08:00 — this covers all of mainland China, including Beijing.
Football — Beijing time
Response (excerpt)
Other common Chinese-market zones: Asia/Hong_Kong, Asia/Macau, Asia/Taipei (all UTC+08:00) and Asia/Urumqi (UTC+06:00). Every V2 event also carries startTimestamp, a plain Unix epoch value in seconds. That value is timezone-independent, so you can format it locally instead of (or in addition to) using timezoneName:
Format in Beijing time on the client
Team, competition and player names are returned in English on every API version. Chinese-language names are not supplied by our upstream data sources. Because our entity IDs are stable and permanent, the usual approach is to keep your own Chinese name table keyed on our id values and join at render time.

Code Examples

Use these examples to integrate timezone handling into your application. The API auto-resolves timezone from your IP, or you can override it manually.

V1 Legacy: Parsing ISO 8601 Responses

V2 uses Unix timestamps (startTimestamp) — see the next section. This ISO 8601 parsing guide applies only to V1 endpoints which return date strings with timezone offsets.
The V1 API returns ISO 8601 dates with timezone offsets (e.g., 2026-01-07T15:00:00-05:00). Here’s how to parse them correctly:
Don’t strip the offset! Always parse the full ISO 8601 string including the offset (e.g., -05:00). Stripping it and treating the time as UTC will give incorrect results.

Date/Time Format in Responses

The V2 API returns timestamps as Unix epoch integers (startTimestamp). Convert to your desired display format:
Use the timezoneName query parameter to control how schedule endpoints group matches by date.

Example: Same Match in Different Timezones

The same match returns the same startTimestamp regardless of timezone. The timezoneName parameter affects date-based grouping, not the timestamp value:
Convert startTimestamp to display times in any timezone:
The same match (8:00 PM UTC kickoff) displays as 3:00 PM in New York, 12:00 PM in Los Angeles, 9:00 PM in Berlin, and 5:00 AM the next day in Tokyo.

Common Timezone Examples

Best Practice: For server-to-server integrations, explicitly specify timezoneName to ensure consistent behavior regardless of server location. For client-facing applications, rely on auto-resolution for the best user experience.
V1 Legacy Note: V1 endpoints also support the timezoneName parameter for manual override, but auto-resolution may behave differently. For the most reliable timezone handling, use the V2 API.

Response Structure

V2 API Response Format

The V2 API returns data in a clean envelope with an events array:

V1 Legacy Response Format

V1 endpoints use a different envelope with games, sports, and competitions arrays:

Common Response Fields

Each endpoint has its own built-in cache with a defined TTL. No manual caching or client-side caching is required. The TTL value indicates the recommended cache duration.

Browse by Sport

Explore all 25 V2 sports organized by category. Each sport has its own dedicated subdomain and full endpoint documentation.

Football

147+ endpoints — 1000+ leagues, shotmaps, AI insights, WebSocket

Basketball

115 endpoints: NBA, EuroLeague, box scores, playoff brackets

Tennis

88 endpoints: ATP/WTA rankings, draws, point-by-point

Cricket

IPL, Test, T20 — ball-by-ball, scorecards, player stats

Ice Hockey

NHL, KHL, SHL — period scoring, penalty stats, playoffs

Team Sports

Baseball

MLB scores, innings, statistics, box scores, and confirmed lineups

American Football

NFL, NCAA — quarter scoring, drive charts, player stats

Rugby

Six Nations, Rugby Championship, Super Rugby

Handball

Champions League, World Championship, Olympic handball

Volleyball

FIVB, Champions League — set-based scoring

Futsal

FIFA Futsal World Cup, continental leagues

Water Polo

Olympic water polo, European championships

Racquet & Precision Sports

Table Tennis

ITTF World Tour, Olympic table tennis

Badminton

BWF World Tour, All England, Olympic badminton

Snooker

World Championship, UK Championship, The Masters

Darts

PDC World Championship, Premier League Darts

Beach Volleyball

FIVB Beach Pro Tour, Olympic beach volleyball

Specialty Sports

MMA

UFC, Bellator, PFL

Motorsport

F1, MotoGP, NASCAR

Cycling

Race results via V3; V2 is entity-only

Esports

CS2, LoL, Dota 2, Valorant

Aussie Rules

AFL, state leagues

Floorball

IFF World Championship

Bandy

World Championship, Elitserien

Minifootball

WMF competitions

Rate Limiting

Rate limits are shared across all 25+ sports APIs. Your daily quota applies to your total usage across Football, Basketball, Tennis, and every other sport.
Rate limit information is included in response headers: See Rate Limits for more details.

Sport IDs Reference

Use these IDs with the sports parameter to filter by sport type:
Each sport has its own dedicated API subdomain (e.g., v2.football.sportsapipro.com, v2.basketball.sportsapipro.com, v2.tennis.sportsapipro.com). The sports parameter is used for filtering within multi-sport endpoints like /countries.

Next Steps

Quickstart Guide

Get up and running in minutes

Football V2 API

Most popular — 147+ endpoints

Basketball V2 API

NBA, EuroLeague & 50+ leagues

Tennis V2 API

Rankings, draws & point-by-point

Cricket V2 API

IPL, Test & T20 coverage

Ice Hockey V2 API

NHL, KHL & 30+ leagues
Last modified on September 20, 2026