VlrDevApi

matches.live()

Get live matches

Signature

import vlrdevapi as vlr

result = vlr.matches.live(
    limit: int | None = None,
    timeout: float = 5.0
) -> list[Match]

Parameters

Prop

Type

Return Value

Type: list[Match]

Returns a list of live matches. Each Match object contains the same fields as upcoming(), with status == "live".

Prop

Type

Team fields:

Prop

Type

Examples

Get Live Matches

Get live matches
import vlrdevapi as vlr

# Get all live matches
live_matches = vlr.matches.live()

if live_matches:
    print(f"LIVE: {len(live_matches)} match(es) in progress")
    for m in live_matches:
        print(f"{m.event} - {m.event_phase}")
        print(f"  {m.team1.name} vs {m.team2.name}")
        if m.team1.score is not None and m.team2.score is not None:
            print(f"  Current Score: {m.team1.score}-{m.team2.score}")
else:
    print("No live matches currently")

Monitor Live Matches

Monitor live matches
import vlrdevapi as vlr
import time

def monitor_live_matches(interval=60):
    """Check for live matches every interval seconds"""
    while True:
        matches = vlr.matches.live()
        
        if matches:
            print(f"\n{len(matches)} live match(es):")
            for m in matches:
                print(f"  {m.team1.name} vs {m.team2.name}")
                print(f"    Event: {m.event}")
        else:
            print("No live matches")
        
        time.sleep(interval)

# Run monitor (uncomment to use)
# monitor_live_matches(300)  # Check every 5 minutes

Get Live Match Details

Get live match details
import vlrdevapi as vlr

# Get live matches and access detailed info
matches = vlr.matches.live()

for m in matches:
    print(f"Match ID: {m.match_id}")
    print(f"Event: {m.event} - {m.event_phase}")
    print(f"Teams: {m.team1.name} vs {m.team2.name}")
    
    # Get team IDs if available
    if m.team1.id and m.team2.id:
        print(f"Team IDs: {m.team1.id} vs {m.team2.id}")
    
    # Get detailed match info using series.info()
    # series_info = vlr.series.info(m.match_id)

Error Handling

  • Network failures: Returns an empty list []
  • No live matches: Returns an empty list []
  • Team IDs: Can be None for TBD/unknown teams

The function never raises exceptions, making it safe to use without try-catch blocks.

Tips

  • This function scrapes the same page as upcoming(), filtering by live status
  • Live matches may have partial scores that update during the match
  • Use series.info(match_id) to get detailed map-by-map information
  • Team IDs are enriched by quickly opening the match header (cached)
  • Check frequently to monitor ongoing matches

Source

Data scraped from: https://www.vlr.gg/matches