Apex Legends API.
ALGS records on canonical ids.
Apex Legends esports is a battle-royale points format — different shape from the map-based titles, but the same data problem: rosters and results scattered across organizers, no public book feed. KashRock indexes the ALGS player and team directory and the match record on the canonical schema shared by every other title.
Why Apex data needs a schema
Apex runs ALGS splits, playoffs and LAN finals on a points system — the record that matters is which roster played under which org and how the series settled. That's an identity and indexing problem, and it's the one KashRock already solves for the map-based titles.
Practical rule: battle-royale scenes churn rosters fast — canonical kr_pl_* and kr_tm_* ids keep a player's history attached when the tag or org changes.
What we normalize today
The same envelope as every other title: canonical player, team and match ids, a match index with status and boxscore flags, and book markets on the shared board schema when venues post them.
Core Apex endpoints
Paths under /v7/apex/. Same client and filters as CS2 — sport is just a path segment.
| Endpoint | Purpose | Key filters |
|---|---|---|
| GET /v7/apex/players | Player directory — nick, team | q, id, include |
| GET /v7/apex/teams | Team directory & records | id, q, include |
| GET /v7/apex/matches | Schedule / live / completed | status, date, team |
| GET /v7/apex/props | DFS player props when listed | book, market |
| GET /v7/apex/lines | Team lines when books list them (Hobby+) | market, view |
Canonical IDs
- —kr_pl_* player ids survive tag prefixes and org swaps (TL Zer0 → same id)
- —kr_tm_* team ids dedupe org and academy spellings
- —kr_match_id joins schedule, live and history views
Sample Apex player record
A real Apex directory record — TL Zer0 on Team Liquid under one canonical player id.
| Field | Example | Used for |
|---|---|---|
| player_id | kr_pl_eb442be9f70a | Canonical player key |
| nickname | TL Zer0 | Display name as listed |
| team | Team Liquid | Current org |
| team_id | kr_tm_577be90b62b4 | Stable team id across books |
{
"source": "kashrock",
"sport": "apex",
"players": [
{
"player_id": "kr_pl_eb442be9f70a",
"nickname": "TL Zer0",
"slug": "tl-zer0",
"team": "Team Liquid",
"team_id": "kr_tm_577be90b62b4",
"role": null
}
]
}Comparing Apex sources
Standings sites carry ALGS points tables. Use KashRock for the canonical roster and match record, and for markets the day books post them.
| Source | Schema | Best use |
|---|---|---|
| ALGS standings sites | Points tables and lobbies | Editorial context |
| Battle-royale trackers | Per-legend metrics | Player research |
| KashRock Apex API | Normalized ids + match index | Apps, records, markets |
Settlement patterns
When books list Apex markets, they grade under the same settlement machinery as the other titles — offer, rules version and match record on /results.
Operational practices
- —Apex coverage follows the ALGS calendar — empty boards between splits are real
- —Use /players and /teams for the stable directory
- —Same cache discipline as the bigger titles
Quick reference
GET /v7/apex/players for the directory, /matches for the index, /lines when books post. Transparent pricing.
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.