Skip to main content

Endpoint Selection Guide

This guide helps you choose the right endpoint for fetching game data based on your specific use case.

Quick Reference

Endpoint Comparison

/games/allscores - Daily Live Scores

Best for: Live score dashboards, today’s matches across all competitions Key characteristics:
  • ✅ 5-second TTL for live data freshness
  • ✅ Aggregates all games for a date range
  • ✅ Supports onlyLiveGames filter
  • ⚠️ competitions parameter NOT honored - returns all competitions
  • ⚠️ Wide date ranges may return empty game arrays
  • ❌ No pagination

/games/fixtures - Team Fixtures

Best for: Team schedules, upcoming matches, competition-specific queries Key characteristics:
  • ✅ competitions parameter works correctly
  • ✅ Pagination support for large datasets
  • ✅ Returns both upcoming and past games
  • ✅ 5-minute TTL (300 seconds)
  • ✅ Includes competitionFilters for easy grouping

/games/results - Historical Results

Best for: Past match data, form analysis, historical backfills Key characteristics:
  • ✅ Only completed games (no upcoming fixtures)
  • ✅ Pagination support
  • ✅ 5-minute TTL (300 seconds)
  • ✅ Results in reverse chronological order

Common Patterns

Pattern 1: Live Score Dashboard

Use /games/allscores with single-day range and onlyLiveGames:

Pattern 2: Competition-Specific Schedule

Use /games/fixtures and filter client-side:

Pattern 3: Historical Data Backfill

See the complete backfill examples below for Python and JavaScript implementations.

Historical EPL Data Backfill

Understanding Game and Match IDs

Each game has a unique id field that can be used with /games/game to get detailed match data:

Python Backfill Example

JavaScript Backfill Example

Efficient Polling with lastUpdateId

For live score applications, use lastUpdateId to fetch only changes:

Summary

Always filter by competitionId client-side when using /games/fixtures or /games/results, as these endpoints return all competitions a team participates in.
Last modified on June 29, 2026