Discover/VLR API
live

VLR APIvlr.gg

Access Valorant esports data from VLR.gg: matches, player stats, team rankings, agent pick rates, and event listings via 7 structured endpoints.

Endpoint health
verified 5h ago
get_matches
get_player_stats
get_agent_stats
get_team_details
get_rankings
7/7 passing latest checkself-healing
Endpoints
7
Updated
22d ago

What is the VLR API?

The VLR.gg API exposes 7 endpoints covering the full competitive Valorant data surface tracked on VLR.gg, from live event listings and match results to per-map player statistics. The get_match_details endpoint alone returns up to 12 per-player fields per map — including ACS, KAST, ADR, kills, deaths, assists, and headshot percentage — making it practical for building match dashboards or performance-tracking tools without parsing the site manually.

Try it

No input parameters required.

api.parse.bot/scraper/17a280c5-4958-46ad-b697-83a15883a046/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/17a280c5-4958-46ad-b697-83a15883a046/get_events' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 vlr-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: VLR.gg Valorant Esports SDK — bounded, re-runnable."""
from parse_apis.vlr_gg_valorant_esports_api import (
    VLR, MatchStatus, Timespan, PlayerRegion, RankingRegion, ResourceNotFound
)

client = VLR()

# List current events and check agent pick rates for the first one.
event = client.events.list(limit=1).first()
if event:
    print(f"Event: {event.name} (id={event.event_id})")
    for agent in event.agents.list(limit=5):
        print(f"  {agent.agent}: {agent.pick_rate}")

# Browse recent completed matches, then drill into one for map-level stats.
match_summary = client.matchsummaries.list(status=MatchStatus.RESULTS, limit=1).first()
if match_summary:
    print(f"Match: {match_summary.team1} vs {match_summary.team2}")
    detail = match_summary.details()
    for map_result in detail.maps:
        print(f"  {map_result.map}: {map_result.score1}-{map_result.score2}")

# Player stats leaderboard filtered by region and timespan.
for player in client.playerstats.list(
    timespan=Timespan.SIXTY_DAYS, region=PlayerRegion.NA, limit=3
):
    print(f"{player.player} ({player.team}) — rating: {player.rating}, KD: {player.kd}")

# Team rankings and drill into team details with typed error handling.
ranking = client.teamrankings.list(region=RankingRegion.NORTH_AMERICA, limit=1).first()
if ranking:
    try:
        team = ranking.details()
        print(f"{team.team_name} roster: {len(team.roster)} members")
        for member in team.roster[:3]:
            print(f"  {member.player} — {member.role or 'player'}")
    except ResourceNotFound as exc:
        print(f"Team not found: {exc}")

print("exercised: events.list / agents.list / matchsummaries.list / details / playerstats.list / teamrankings.list / team details")
All endpoints · 7 totalmissing one? ·

Retrieve current and upcoming Valorant esports events. Returns all events listed on the VLR.gg events page with their IDs, names, status, and detail paths for use with get_agent_stats.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "events": "array of event objects with event_id, detail_path, name, status, and url"
  },
  "sample": {
    "data": {
      "events": [
        {
          "url": "https://www.vlr.gg/event/2765/valorant-masters-london-2026",
          "name": "Valorant Masters London 2026",
          "status": "",
          "event_id": "2765",
          "detail_path": "2765/valorant-masters-london-2026"
        }
      ]
    },
    "status": "success"
  }
}

About the VLR API

Match and Event Data

The get_matches endpoint returns paginated match listings filtered by status — either 'upcoming' or 'results'. Each match object includes team1, team2, score1, score2, event context, and a match_id slug you can pass directly to get_match_details. Pagination via the page parameter applies only to the 'results' status. The get_events endpoint returns current and upcoming events with event_id, name, status, and url, and those event_id values are the required input for get_agent_stats.

Player and Agent Statistics

get_player_stats returns a global leaderboard of players sorted by rating, with fields covering acs, kd, kast, adr, kpr, apr, fkpr (first-kill-per-round), fdpr (first-death-per-round), hs_percent, and cl_p (clutch percentage). You can filter by region (11 options including na, eu, ap, kr), agent, and timespan (30d, 60d, 90d, or all). The get_agent_stats endpoint scopes pick-rate data to a single event rather than globally, returning each agent's pick_rate percentage for that event.

Team Rankings and Roster Details

get_rankings returns a ranked list of teams per region, with rank, team, team_id, country, and rating. The region parameter accepts slugs like 'north-america', 'europe', 'asia-pacific', and 'korea' among others. Passing a team_id from those results to get_team_details returns the current roster (with player_id and role), a history array of former players, and map_win_rates showing win_rate, wins, and losses per map. The team_id slug format is '<numeric_id>/<team-slug>', consistent with VLR.gg's URL structure.

Reliability & maintenanceVerified

The VLR API is a managed, monitored endpoint for vlr.gg — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vlr.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 vlr.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.

Last verified
5h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a match result tracker that polls get_matches with status='results' and stores team scores and event context.
  • Generate per-player performance reports using the 12+ stat fields returned by get_match_details for a given match.
  • Create a regional team ranking leaderboard using get_rankings filtered by region and linked to team roster data from get_team_details.
  • Track agent meta shifts across events by comparing pick_rate data from get_agent_stats across multiple event_id values.
  • Filter the get_player_stats leaderboard by agent and region to identify top performers on specific agents in a given timespan.
  • Monitor roster changes for a team by periodically pulling get_team_details and diffing the roster and history arrays.
  • Analyze map-level team performance by extracting map_win_rates from get_team_details across multiple teams in a region.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does VLR.gg have an official developer API?+
No. VLR.gg does not publish an official developer API or documented public endpoints. This Parse API provides structured access to the data available on the site.
What does `get_match_details` return beyond the series score?+
get_match_details breaks the match down by individual map. For each map it returns the map name, per-team scores, and a player_stats array with fields including rating, acs, kills, deaths, assists, agent, kast, adr, and hs_percent for every player who participated. The match-level fields also include team1, team2, score1, score2, event, and date.
Can I retrieve historical player statistics for a specific match period beyond 90 days?+
get_player_stats supports timespan values of 30d, 60d, 90d, and all. The all option covers the full dataset VLR.gg tracks, but arbitrary custom date ranges are not supported. You can fork the API on Parse and revise it to add a date-range filtering endpoint if your use case requires it.
Does the API expose individual player profile pages, including career history and social links?+
Not currently. Player data is available in aggregate through get_player_stats and as per-match entries in get_match_details, both keyed by player_id. Dedicated player profile pages with career history are not covered. You can fork the API on Parse and revise it to add a player profile endpoint using those player_id values.
Is pagination available for all match listing requests?+
Pagination via the page parameter in get_matches only applies when status is set to 'results'. Requests with status='upcoming' return all available upcoming matches without pagination controls.
Page content last updated . Spec covers 7 endpoints from vlr.gg.
Related APIs in SportsSee all →
tracker.gg API
Track Valorant player profiles, match histories, competitive rankings, and agent performance statistics from tracker.gg. Search leaderboards, analyze player segments, view daily game data, and access comprehensive reference information covering all Valorant-related data available on the platform.
rib.gg API
Access comprehensive Valorant competitive data including match results, player statistics, team information, and tournament details with powerful search and filtering capabilities. Track player performance history, view rankings, discover free agents, and analyze in-depth match rounds and analytics all in one place.
valoranttracker.com API
Track Valorant player statistics, search for specific players, and view detailed competitive profiles to analyze individual performance. Discover current agent and map meta trends along with global rank distribution data to stay competitive and informed about the game's evolving strategies.
liquipedia.net API
Access comprehensive esports data from Liquipedia, the world's leading esports wiki. Retrieve match schedules, team rosters, player profiles, tournament results, and game-specific statistics across top titles including Valorant, Counter-Strike, League of Legends, and Dota 2.
hltv.org API
Access Counter-Strike esports data from HLTV.org including match results, player and team statistics, team rankings, upcoming match schedules, tournament information, and fantasy league data.
csgostats.gg API
Track and analyze Counter-Strike 2 player performance with detailed statistics including weapon usage, match history, and head-to-head comparisons. Access global leaderboards, view recent matches, and discover which players you've competed against to benchmark your skills.
leagueofgraphs.com API
Access League of Legends and Teamfight Tactics player statistics, rankings, and match histories. Look up summoner profiles, champion performance data, live game status, and competitive standings across both game modes and all supported regions.
lolpros.gg API
Search and discover professional League of Legends players while exploring detailed profiles, ladder rankings, and competitive statistics from the pro scene. Track player performance metrics, find competitors by name, and monitor where top players stand in the rankings.