canonical: https://jentic.com/apis/pandascore.co/pandascore-all-videogames

# PandaScore REST API for All Videogames

PandaScore provides comprehensive esports data across multiple videogames including League of Legends, Dota 2, CS:GO, Overwatch, and more. The API delivers real-time and historical data on leagues, series, tournaments, matches, teams, players, standings, statistics, and live scores. The data hierarchy follows Leagues > Series > Tournaments > Matches > Games structure. Authentication uses bearer tokens or query string tokens, with rate limits of 1000 requests/hour (free) or 4000 requests/hour (paid). The API supports filtering, range queries, search, sorting, and pagination for all resources.

## For AI agents

Access esports data for leagues, series, tournaments, matches, teams, players, standings, and live scores across multiple videogames including LoL, Dota 2, CS:GO, and more.

## Scope

Does not provide in-game player data, ranked ladder information, or gameplay analytics - use only for professional esports tournament, team, player, and match data. In-game data is provided by game publishers like Riot, Valve, and Blizzard.

## Capabilities

- Query leagues, series, tournaments, and matches across all supported esports titles
- Get detailed team and player profiles with rosters, statistics, and match history
- Access live match data including scores, status, and game-by-game results
- Retrieve standings, rankings, and tournament brackets
- Search and filter by videogame, date range, team, player, or tournament stage
- Track additions, changes, and deletions with incident endpoints for data sync
- Get videogame-specific data like champions, items, maps, and abilities
- Query historical match results and head-to-head statistics

## Use cases

### Live Esports Score Display

Build a live scoreboard or odds platform by querying GET /matches with filter[status]=running to get ongoing matches, then poll match details for score updates. The API provides match status (not_started, running, finished), game-by-game results, and team/player stats. This supports fantasy esports apps, betting platforms, and community dashboards that display real-time tournament progress.

Example prompt: GET /matches?filter[status]=running to list live matches, then GET /matches/{id} to fetch detailed scores and game results.

### Tournament Bracket and Standings Visualization

Display tournament brackets, group standings, and playoff progression by querying GET /tournaments/{id} for structure, GET /tournaments/{id}/standings for current rankings, and GET /matches with tournament filters for all matchups. This supports tournament websites, broadcast overlays, and fan engagement apps that show who is advancing and upcoming matchups.

Example prompt: GET /tournaments/{id}/standings for rankings, GET /tournaments/{id}/matches for all matchups in the tournament.

### Team and Player Statistics Dashboard

Build analytics dashboards that show team win rates, player performance metrics, and head-to-head records. GET /teams/{id}/matches returns match history, GET /players/{id}/stats provides player-level metrics, and filter/range parameters enable win rate calculations and performance trends over time. This supports fantasy sports, betting analytics, and esports journalism.

Example prompt: GET /teams/{id}/matches?range[begin_at]=2026-01-01,2026-06-12 for recent matches, then calculate win rate and aggregate stats.

### Data Sync and Change Tracking for Esports Apps

Keep esports apps synchronized with PandaScore by polling GET /changes and GET /additions endpoints that return recently modified or newly added objects. The since parameter filters by timestamp, enabling incremental sync workflows. This supports caching layers, local databases, and offline-first apps that need to reflect the latest match schedules, rosters, and results.

Example prompt: GET /changes?since=2026-06-11T00:00:00Z to fetch all modifications since last sync, then update local cache.

### AI Agent for Esports Information Queries

Let an AI agent answer esports questions like 'when is the next LCK match', 'show me G2 Esports roster', or 'what are the standings for The International'. Through Jentic, the agent searches by intent (e.g., 'get league of legends matches'), loads the schema, and executes with the bearer token injected securely, enabling conversational esports data access.

Example prompt: Use Jentic search 'get league of legends matches' to find GET /lol/matches, load schema, execute with filters for upcoming matches.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /matches | List matches with filters for videogame, status, date, team |
| GET | /matches/{id} | Get detailed match data including scores and games |
| GET | /teams/{id} | Get team profile and roster |
| GET | /players/{id} | Get player profile and statistics |
| GET | /tournaments/{id}/standings | Get tournament standings |
| GET | /changes | Get recent data changes for sync |
| GET | /leagues | List leagues across all videogames |

## Key resources

- **Leagues** — Top-level competitions like EU LCS, LCK, The International, ESL One
- **Series** — Occurrences of a league (e.g., Spring 2026, Summer 2026, Major tournaments)
- **Tournaments** — Stages and groups within a series (Group A, Playoffs, Finals)
- **Matches** — Individual matchups between teams or players with games (rounds) and results
- **Teams** — Esports organizations with rosters, match history, and statistics
- **Players** — Individual competitors with profiles, stats, and team associations
- **Videogames** — Supported titles with game-specific data like champions, items, maps

## Why Jentic

- **Setup:** Wiring PandaScore by hand means handling its bearer-token auth against api.pandascore.co, shaping the filter and pagination parameters, and building your own retry and error handling. Through Jentic you install once, import the PandaScore API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** PandaScore is a read-only esports data API, so you limit the agent to the read operations it needs, such as fetching matches, teams, or tournament standings. Nothing beyond those read operations is included unless you add it.
- **Credential handling:** Your PandaScore token is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get League of Legends matches' or 'find a team roster', and Jentic returns the matching PandaScore operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Riot Games API** — Official Riot Games API for League of Legends and Valorant esports data — an alternative to PandaScore for match, player, and ranking stats.

## FAQ

### What authentication does the PandaScore API use?

The PandaScore API uses bearer token authentication via the Authorization header or a token query parameter. Tokens are generated from the PandaScore dashboard. Through Jentic, tokens are stored encrypted and injected at execution time.

### Which videogames are supported by the PandaScore API?

PandaScore supports League of Legends, Dota 2, CS:GO, Overwatch, Rainbow Six Siege, Rocket League, VALORANT, and other major esports titles. Each videogame has dedicated endpoints with game-specific data.

### Can I get live match scores from the PandaScore API?

Yes. Use GET /matches?filter[status]=running to list ongoing matches, then poll match details for score updates. The API provides game-by-game results and match status in real-time.

### What are the rate limits for the PandaScore API?

The free plan allows 1000 requests per hour. Paid plans allow 4000 requests per hour. The X-Rate-Limit-Remaining header shows your remaining quota.

### Is the PandaScore API free?

PandaScore offers a free tier with 1000 requests/hour and limited data access. Paid plans unlock higher rate limits, historical data, and premium features. Check pandascore.co for pricing.

### How do I track changes to match schedules?

Use GET /changes?since={timestamp} to fetch all modifications since your last sync. This endpoint returns recently updated objects, enabling incremental data sync for apps and databases.

### Can I limit what my agent is allowed to do with the PandaScore API?

Yes. Because your Jentic One instance is self-hosted, your own rules decide which PandaScore operations and credentials the agent may use. PandaScore is a read-only esports data API, so you can restrict the agent to just the read calls it needs, such as fetching matches, team rosters, or tournament standings, and nothing beyond those operations is available unless you add it. Your token is injected only at execution time for the operations you have allowed.
