Esports players API.
Directory, rankings, research, gamelogs — one ID.
Why this surface exists
Props without stable player IDs cannot grade. Players is the identity + research surface.
What the record represents
Player rows lead with canonical_player_id; includes add research and gamelog blocks.
Core endpoints
GET /v7/{sport}/players?include=…
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/{sport}/players | Directory + includes | include=research,gamelogs,stats |
| GET /v7/{sport}/players?include=gamelogs | Map-by-map logs | plan history windows |
| GET /v7/{sport}/results | Grades joined on kr_pl_* |
Canonical IDs
- —kr_pl_*
- —kr_tm_* when roster-linked
Sample payload
Player row with kr_pl_* and team label — the join key for props and results.
| Field | Example | Used for |
|---|---|---|
| canonical_player_id | kr_pl_… | Stable player join |
| player_name | HeavyGod | Display name |
| team | G2 Esports | Current team label |
{
"source": "kashrock",
"sport": "cs2",
"players": [
{
"canonical_player_id": "kr_pl_e15bf1b3cd64",
"player_name": "HeavyGod",
"team": "G2 Esports"
}
]
}Comparing sources
Identity mint plus sport stats workers.
| Source | Schema | Best use |
|---|---|---|
| Nickname joins | Break on rename | Fragile |
| Per-site IDs | Many maps | Glue hell |
| KashRock kr_pl_* | One ID | Props + grades |
How to use it
Gamelogs feed /results; never grade on display name alone.
Operational practices
- —Store kr_pl_* at placement
- —Use include= sparingly
- —Sandbox for CS2 discovery
Quick reference
GET /v7/cs2/players returns players under kr_pl_* ids. Get your free key.
If you need a normalized feed instead of another UI wrapper, the esports api exposes live boards, schedules, and history on one schema — with the IDs and outcome patterns that keep backtests and grading honest. Start free on Sandbox, or see published pricing.