StatsPer-map player lines

Score CS2 fantasy from real lines.

Every pro's kills, deaths, assists, ADR, KAST, headshots, opening kills and rating for each map, 723,564 lines across 8,532 players, with the schedule to lock rosters and results to settle them. Building pick'em? Prop lines with L5/L10 hit rates are on the same key.

  • 723,564 player-map lines
  • Pick'em lines with hit rates
  • 500 free requests / month
GET /cs2/players/zywoo/form?limit=2200 OK
$ curl "https://api.citoapi.com/api/v1/cs2/players/zywoo/form?limit=2" \ -H "x-api-key: $CITO_API_KEY"
{  "data": [    ...    {      "playerName": "ZywOo",      "kills": 18,      "deaths": 17,      "assists": 6,      "adr": 95.92,      "firstKills": 4,      "rating": 1.2,      "map": { "mapName": "Inferno" }    }  ]}

Seamless Integration with our MCP Server

Give Claude, Cursor and ChatGPT the CS2 data. One command writes the MCP config; agents call live scoreboard, team map stat, opening duel and transfer tools instead of inventing match IDs, and your key stays on your machine.

MCPInstall the Cito MCP server
Claude
Cursor
OpenAI
Python
Cito API
Next.js
Discord
Slack
GitHub

Everything a fantasy game runs on

Lock, score, settle, rank.

Player lines

Kills, deaths, assists, ADR, rating per map.

Opening kills

First kills and first deaths for bonus scoring.

Schedule

Lock lineups before matches start.

Results

Settle when series finish.

Leaderboards

Player pools ranked by form.

Pick'em lines

Kills and headshot prop lines with L5/L10 hit rates (Pro).

How much player data is there?

Counted on the production database on 9 November 2026.

  • 723,564 per-map player stat lines across 67,149 maps and 8,532 players.
  • ADR and KAST on 99.4% of lines, rating on 97.9%, opening kills and headshots on about 94%.
  • Dense from 2023, when CS2 launched: about 21,000 maps with player lines in each of 2025 and 2026.
  • Pick'em prop lines (kills and headshots) for 598 players across 173 matches since 26 October 2026, every line change kept.

Which fields can I score?

Every field below is on each player's line for each map, from GET /cs2/matches/{matchId}/player-stats.

FieldUse in fantasy
kills, deaths, assistsThe base of most scoring systems
headshotsHeadshot bonuses, and headshot pick'em props
firstKills, firstDeathsOpening-duel bonuses and penalties
adr, kastImpact and consistency bonuses
ratingA single all-round score per map
ctKills, tKills and side ratingsSide-specific scoring, where recorded

A scoring function

An example, not a standard: tune the weights to your game. Uses the Python helper from the Python guide.

scoring.py
def fantasy_points(line):
    """Example scoring: 2 per kill, -1 per death, 1 per assist,
    3 per opening kill, 1 per 10 ADR."""
    return (2 * line["kills"] - line["deaths"] + line["assists"]
            + 3 * line["firstKills"] + round(line["adr"] / 10))


for row in get("/cs2/players/zywoo/form", limit=5)["data"]:
    print(row["map"]["mapName"], row["rating"], fantasy_points(row))

Building pick'em or DFS instead?

GET /cs2/props returns CS2 kills and headshot lines from Underdog and Sleeper (maps 1, 1-2 and 1-3), each graded against the player's last 5 and 10 series. Add include_history=true for every line change since the line was posted. PrizePicks lines are not included, but the player stats they settle on are.

Props and odds are on Pro and above; new accounts get them free for their first 3 days.

Endpoints you can ship with

Player stats and schedule, the two halves of fantasy.

Player stats

K/D and rating per map played (ADR and KAST on over 95% of map lines), rolled up into career, yearly and recent-form views.

View docs
  • GET/api/v1/cs2/players/{playerIdOrSlug}

    Nickname, real name, photo, country, team, role and headline stats.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/stats

    Career totals plus a stat line per map played.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/seasons

    A player's stats by year.

  • GET/api/v1/cs2/players/{playerIdOrSlug}/form

    The most recent maps with kills, deaths, ADR, KAST and rating.

  • GET/api/v1/cs2/leaderboards/{metric}

    Top players by rating, ADR, KAST, K/D, kills or opening kills.

  • GET/api/v1/cs2/players/search?q={name}

    Find a player by nickname or real name.

Frequently asked questions

Scoring, timing and settlement

Something missing? Email support@citoapi.com.

Is there a CS2 fantasy API?

Yes. This CS2 API has the per-map player lines fantasy games score, 723,564 of them: kills, deaths, assists, ADR, KAST, headshots, opening kills and rating, plus schedules to lock rosters and results to settle.

Does it have pick'em or DFS lines?

Yes, on Pro: CS2 kills and headshot lines from Underdog and Sleeper with L5/L10 hit rates and full line history. PrizePicks lines are not included.

How soon after a map are stats available?

Map stats are indexed after the map finishes; check a map's dataAvailability to know when player stats are in.

How do I lock rosters?

Use /cs2/matches/upcoming and each match's startsAt to lock picks before the first map.

Can I run pick'em on brackets?

Yes. /cs2/events/{eventIdOrSlug}/bracket has each slot's teams, scores and winner.

Can I run a paid fantasy game on the free plan?

No. Free is for building. A live fantasy product needs a paid plan with commercial use.

See pricing

Run CS2 fantasy leagues

Prototype on a free key. Go live on a paid plan.