VLRdevAPI

Series Info

Fetch match overview data - teams, scores, event details, map veto, and per-game breakdown.

series.info(series_id) returns the overview information for a match on vlr.gg, including team details, scores, event context, map veto history, and per-game statistics.

Signature

series.info(series_id: int) -> SeriesInfo

With curried access:

vlrdevapi.series(series_id).info() -> SeriesInfo

Parameters

Prop

Type

Returns - SeriesInfo

Prop

Type

SeriesTeam Fields

Prop

Type

MapVeto Fields

Prop

Type

SeriesGame Fields

Prop

Type

Examples

Basic series info

Fetch the core match details - both teams, their scores, and the event context. The best_of field indicates whether the match is a single map (1), best-of-3 (3), or best-of-5 (5).

import vlrdevapi

info = vlrdevapi.series.info(series_id=670471)
print(f"{info.team1.name} vs {info.team2.name}")
print(f"Score: {info.score1} - {info.score2}")
print(f"Format: bo{info.best_of}")
print(f"Status: {info.status}")

Event and bracket context

The series info includes the event it belongs to, the stage within the event, and the specific bracket or round. The datetime field provides the scheduled start time in UTC.

import vlrdevapi

info = vlrdevapi.series.info(series_id=670471)
print(f"Event: {info.event_name}")
print(f"Stage: {info.stage}")
print(f"Bracket: {info.bracket}")
print(f"Patch: {info.patch}")
print(f"UTC: {info.datetime}")

Map veto and games

The veto list shows the map ban/pick/decider sequence. The games list provides per-map details including scores, side-specific round wins, overtime rounds, and match duration.

import vlrdevapi

info = vlrdevapi.series.info(series_id=670471)

for v in info.veto:
    print(f"  {v.team} {v.veto_type}s {v.map_name}")

for game in info.games:
    dur = f"{game.duration_seconds // 60}:{game.duration_seconds % 60:02d}" if game.duration_seconds else "N/A"
    played = "" if game.played else " (unplayed)"
    print(f"Map {game.order}: {game.map_name} ({game.team1_score} - {game.team2_score}) [{dur}]{played}")

Curried access

Use the curried pattern to avoid passing series_id repeatedly. This is especially useful when accessing multiple data points for the same match.

import vlrdevapi

series = vlrdevapi.series(670471)
info = series.info()
print(f"{info.team1.name} ({info.team1.tag}) vs {info.team2.name} ({info.team2.tag})")
print(f"Event: {info.event_name}")
print(f"Total maps: {len(info.games)}")

Last updated on

On this page