Tracker APItracker.gg ↗
Access Valorant player profiles, match history, ranked leaderboards, agent insights, and reference data from tracker.gg via 7 structured endpoints.
What is the Tracker API?
This API exposes 7 endpoints covering Valorant player data from tracker.gg, including competitive match history, per-agent segment breakdowns, and regional leaderboards. The get_player_segments endpoint returns detailed stat blocks broken down by agent, map, weapon, or season, while get_leaderboard surfaces the top-ranked players by region and act. All player lookups require a Riot ID in Name#Tag format with exact casing.
curl -X GET 'https://api.parse.bot/scraper/6517942a-644e-4cbc-9349-6e6d5ddaa622/get_player_profile?player_id=TenZ%2300000' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace tracker-gg-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Valorant Tracker SDK — player stats, leaderboards, agent meta."""
from parse_apis.valorant_tracker_api import (
ValorantTracker, SegmentType, Region, DataType, PlayerNotFound
)
client = ValorantTracker()
# Top ranked players in North America — bounded iteration.
for entry in client.leaderboardentries.list(region=Region.NA, limit=5):
print(entry.rank, entry.id, entry.value)
# Drill into a specific player's agent stats.
player = client.player("TenZ#00000")
for seg in player.segments(segment_type=SegmentType.AGENT, limit=3):
print(seg.name, seg.role, seg.type)
# Recent match history — take one and inspect.
match = player.matches(limit=1).first()
if match:
print(match.map_name, match.result, match.timestamp)
# Games on a specific date — scalar return, not a list.
activity = player.games_on_date(date="2024-12-07")
print(activity.date, activity.count)
# Agent meta insights — global pick/win rates across all players.
insight = client.agentinsights.list(limit=1).first()
if insight:
print(insight.name, insight.tier, insight.pick_rate, insight.kd_ratio)
# Typed error handling — catch a missing player gracefully.
try:
bad_player = client.player("NonExistent#99999")
bad_player.matches(limit=1).first()
except PlayerNotFound as exc:
print(f"Player not found: {exc.player_id}")
print("exercised: leaderboardentries.list / player.segments / player.matches / player.games_on_date / agentinsights.list")
Get general player information and overview stats including platform info, user info, metadata, and season segments. Requires the exact Riot ID with correct casing and tag number. Returns platform details, user account info, privacy/season/playlist metadata, and stat segments for the player's default season.
| Param | Type | Description |
|---|---|---|
| player_idrequired | string | Player Riot ID in Name#Tag format (e.g., 'TenZ#00000'). Must use exact casing and tag number as registered on Riot. |
{
"type": "object",
"fields": {
"metadata": "object containing activeShard, schema, privacy, defaultPlatform, defaultPlaylist, accountLevel, seasons list, playlists",
"segments": "array of stat segments (season overview with detailed combat/game stats)",
"userInfo": "object containing user account info (isPremium, isVerified, pageviews, socialAccounts)",
"platformInfo": "object containing platform details (platformSlug, platformUserId, platformUserHandle, avatarUrl)"
}
}About the Tracker API
Player Profiles and Segments
get_player_profile returns a structured object with four top-level fields: platformInfo (platform slug, user handle, avatar URL), userInfo (premium status, verified flag, page views), metadata (active shard, privacy settings, season list, playlists), and segments (an array covering season overviews, peak-rating history, and per-agent breakdowns). get_player_segments takes an optional segment_type parameter — agent, map, weapon, or season — and returns an array where each object includes the segment's metadata (name, imageUrl, role) alongside numeric stats like matchesPlayed and kDRatio.
Match History and Daily Game Counts
get_player_matches returns a player's recent competitive matches, each with map name, mode, result timestamp, agent played, and per-player segment stats. get_games_on_date accepts a date in YYYY-MM-DD format and a player_id, then returns a count of matches played that day plus the full match objects filtered to that date — useful for activity tracking or daily session analysis. Both endpoints are limited to the most recent match history available on the profile.
Leaderboards and Agent Insights
get_leaderboard accepts a region code (na, eu, ap, kr, br, latam), an optional act_id UUID, and a limit up to 100. Each entry in the items array includes the player's ranked rating (value), rank position, topAgents, and icon URL. get_agent_insights returns global-level performance data per agent: pickRate, wlPercentage, kdRatio, and killsPerRound, along with a histogram of per-agent daily usage and the current patchVersion string.
Reference Data
get_reference_data takes a data_type parameter — agents, seasons, maps, weapons, or playlists — and returns arrays of game entities with UUIDs, slugs, names, and associated metadata. For agents this includes role, abilities, and image URLs. For seasons it returns episode structure. This endpoint is useful for mapping internal IDs (like act_id values used in leaderboard or insights queries) to human-readable names.
The Tracker API is a managed, monitored endpoint for tracker.gg — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tracker.gg changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official tracker.gg API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Valorant stat dashboard that surfaces a player's K/D and win rate per agent using
get_player_segmentswithsegment_type=agent. - Track daily playtime by querying
get_games_on_dateacross a date range to visualize a player's activity calendar. - Populate a regional leaderboard table using
get_leaderboardfiltered by region and act, showing rank, RR, and top agents. - Analyze meta trends by pulling
get_agent_insightsto compare pick rates, win rates, and K/D ratios across all agents for a given patch. - Cross-reference
get_reference_dataseason UUIDs with leaderboard or insights queries to build act-over-act comparison views. - Display a player's competitive match history feed with map, result, agent, and timestamp from
get_player_matches. - Resolve internal agent or map UUIDs to display names and images using
get_reference_datawithdata_type=agentsordata_type=maps.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does tracker.gg have an official developer API?+
What does `get_player_segments` return, and how do you filter it by type?+
type field, segment attributes, metadata (name, imageUrl, role), and numeric stats. Pass the optional segment_type parameter — one of agent, map, weapon, or season — to narrow results to a specific breakdown. Omitting it returns all available segment types.Are non-competitive game modes like Spike Rush or Deathmatch included in match history?+
get_player_matches currently returns competitive match history. Non-competitive modes are not exposed through this endpoint. You can fork this API on Parse and revise it to add an endpoint targeting other playlist data if needed.Is there a limitation on how far back match history goes?+
get_player_matches and get_games_on_date are limited to the most recent matches available on a player's tracker.gg profile. Matches beyond that window are not returned, so get_games_on_date on older dates may return a count of zero even if games were played.Does the API cover performance data for specific Valorant maps — such as win rate or K/D per map?+
get_player_segments with segment_type=map returns per-map stats for individual players, and get_reference_data with data_type=maps provides map UUIDs and metadata. Global map-level win rate or pick rate aggregates (similar to what get_agent_insights provides for agents) are not currently exposed. You can fork this API on Parse and revise it to add a map-insights endpoint if that aggregate view is needed.