Get a key

Defense vs Role

For each team, the average stat it allowed to the opposing player in each role over its last N maps, set against the league average for that role, with a rank. Rank 1 is the team that allows the most. Available for Dota 2 and Valorant. Tables refresh every 15 minutes for teams with new maps.

GET/v6/esports/{sport}/defense-vs-role
GET/v6/esports/{sport}/teams/{team}/defense-vs-role
ParamTypeRequiredDescription
sportpathYesdota2 or valorant
teampathYesTeam route only. A kr_tm_* id, slug, name or numeric source id
windowstring—last_10, last_20 (default) or last_50 maps per team
cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://kashrock.up.railway.app/v6/esports/dota2/defense-vs-role?window=last_20"
cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://kashrock.up.railway.app/v6/esports/valorant/teams/{team}/defense-vs-role?window=last_10"

Roles

Dota 2 roles are lanes: Safe Lane, Mid Lane and Off Lane. Each team plays two players in the Safe Lane and two in the Off Lane, so lane averages are per player and combine the core and the support who share a lane. Valorant roles are the agent class played on each map: Duelist, Initiator, Controller and Sentinel.

Stats

Kills, deaths and assists for both titles. Dota 2 adds last hits. Valorant adds first kills. Both return fantasy points using the Underdog formula (Dota 2: kill 3, assist 2, death -1, last hit 0.02. Valorant: kill 2, assist 1, death -1). A player-map with a missing input is left out of that stat instead of estimated, and each stat reports n, the player-maps it averaged. Every stat comes with allowed, league_avg, vs_league and rank.

Which teams have tables

A team gets a table in a window once it has at least 5 maps there and has played in the last 90 days or has a match coming up. Each team reports maps, the number of maps in its window, and ranks compare it only with other teams that have tables. A team we know without a table returns available: false with a reason: insufficient_maps (with its map count) or inactive. Only a team we have never seen returns 404.

Plans

Sandbox returns the last 30 days and the last_10 window only. Hobby returns the last 90 days with every window. Builder and up return full history.