VLRdevAPI

Series API Overview

The Series namespace provides access to individual match/series data from vlr.gg - match overview, VODs, player stats, round-by-round data, performance metrics, and economy stats.

The Series API provides detailed data for individual matches (series) on vlr.gg. It is accessed via vlrdevapi.series(id) (curried access) or through an explicit VLRClient instance.

All sub-namespaces are lazily initialized and share the same HTTP client configuration. Unlike the Events namespace, series info is also used internally by the Events matches namespace to enrich team IDs.

Access Patterns

Module-level (default client)

import vlrdevapi

# Direct access (pass series_id each time)
info = vlrdevapi.series.info(series_id=670471)
print(f"{info.team1.name} vs {info.team2.name}")

# Curried access - pass series_id once, chain methods
series = vlrdevapi.series(670471)
info = series.info()
print(f"Score: {info.score1} - {info.score2}")
print(f"Event: {info.event_name}")

Explicit client

from vlrdevapi import VLRClient

with VLRClient(timeout=30, requests_per_second=8) as client:
    s = client.series(670471)
    info = s.info()
    print(f"{info.team1.name} vs {info.team2.name}")
    print(f"Score: {info.score1} - {info.score2}")

Sub-namespace Reference

MethodReturnsDescription
series.info(series_id)SeriesInfoMatch overview - teams, scores, event, veto, games
series.vods(series_id)SeriesVodsVOD/video links for the match
series.players(series_id, game_id)PlayersStatsPer-game player statistics
series.rounds(series_id, game_id)RoundsDataRound-by-round data for a game
series.performance(series_id, game_id)PerformanceDataKill matrices and advanced stats
series.economy(series_id, game_id)EconomyDataEconomy data per round

Common Error Handling

All series methods raise typed exceptions from vlrdevapi.exceptions:

ExceptionRaised When
ValidationErrorInvalid arguments (bad series_id, game_id, etc.)
NotFoundErrorSeries page doesn't exist (HTTP 404)
RequestErrorNetwork failure or HTTP error
RateLimitErrorToo many requests (HTTP 429)
ParsingErrorPage structure is unrecognised
import vlrdevapi
from vlrdevapi.exceptions import NotFoundError, ValidationError

try:
    info = vlrdevapi.series.info(series_id=670471)
    print(f"Series: {info.team1.name} vs {info.team2.name}")
except NotFoundError:
    print("Series not found")
except ValidationError as e:
    print(f"Invalid input: {e}")

Last updated on

On this page