Skip to content

Guide

CS2 Match Data API for developers

Build Discord bots, match trackers, and dashboards with the GGScore CS2 Match Data API. Free API key, REST JSON endpoints for results and upcoming fixtures. CS2 only.

Why a CS2 match data API?

Counter-Strike 2 bots and trackers need reliable scores, fixtures, and team metadata — without maintaining scrapers. GGScore exposes paginated REST endpoints with an X-API-Key header. CS2 only (not Dota, PUBG, or LoL).

What you can build

  • Discord / Telegram bots that post finished match scores
  • Match trackers and tournament calendars
  • Analytics dashboards and fantasy leagues
  • Research tools on historical CS2 results

More ideas on Inspirations.

Free API key in three steps

  1. Create an account and get a free key (pricing).
  2. Send the key in X-API-Key.
  3. Call the CS2 API matches list (https://ggscore.net/api/v2/matches), open one row with CS2 score API results, or use the CS2 upcoming matches API for upcoming fixtures, and /api/v2/player/{id} for map box scores (K/D/A, ADR, rating when ingested).

Filter by team and date

Finished and upcoming lists take team_id (either side of the match), event_id, played_from (inclusive), and played_to (exclusive). Times are UTC. A date with no time is midnight at the start of that UTC day, so September 2026 for one team is:

https://ggscore.net/api/v2/matches?team_id=TEAM_UUID&played_from=2026-09-01&played_to=2026-10-01&limit=100

One calendar day uses the next midnight as played_to (played_from=2026-09-15&played_to=2026-09-16). page and limit apply to that filtered set. The parameter name is team_id, not team.

Quickstart snippet

curl -sS 'https://ggscore.net/api/v2/matches?page=1&limit=5' \
  -H "X-API-Key: YOUR_API_KEY"

Browse data on the site

Public hubs for discovery: CS2 match results, teams, players, and maps. Match pages include map box scores when stats are ingested. Why an API instead of a scraper? CS2 API vs scraping.