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
- Create an account and get a free key (pricing).
- Send the key in
X-API-Key. - 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
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.








