Skip to main content
vlrdevapi logo

vlrdevapi

Python library for VLR.gg Valorant esports data

Python Version PyPI License: MIT

Documentation · ReadTheDocs · PyPI · GitHub


Access Valorant esports data from VLR.gg with a clean, type-safe Python API. Get tournament info, match schedules, player stats, team data, and series/match-level details.

Features

  • Complete Data Access - Events, matches, players, teams, and series
  • Type-Safe - Pydantic models with rich type hints and field descriptions
  • Production-Ready - Retry logic, rate limiting, and LRU-cached enrichment
  • Curried Access - Bind a player/team/series ID once, then call sub-methods without re-passing
  • Managed with uv - Fast dependency resolution and virtual environment management

Installation

# Using uv (recommended)
uv add vlrdevapi

# Using pip
pip install vlrdevapi

Requires Python 3.11+

Quick Start

Module-level (no client needed)

import vlrdevapi

# Single-shot fetches via module-level access
info = vlrdevapi.player.info(player_id=11225)
print(f"{info.name} - {info.country}")

series = vlrdevapi.series.info(series_id=542272)
print(f"{series.team1.name} vs {series.team2.name}")

event = vlrdevapi.event.info(event_id=2863)
print(f"{event.name} - {event.subtitle}")

Sync client

from vlrdevapi import VLRClient

with VLRClient() as client:
    # Curried access - bind a player once
    player = client.player(11225)
    print(player.info().name)
    print(player.teams().current_teams)
    print(player.agents(timespan="all").agents[:3])

    # Team data
    team = client.team(1034)
    roster = team.roster()
    placements = team.placements()

    # Event data
    event = client.event(2863)
    stages = event.stages()
    matches = event.matches()

API Modules

Matches

matches = client.matches.upcoming(page=1)
live = client.matches.live()
completed = client.matches.completed(page=1)

Players

p = client.player(11225)
info = p.info()                           # Basic info
teams = p.teams()                         # Current / past teams
agents = p.agents(timespan="60d")         # Agent stats
matches = p.matches(limit=20)             # Match history
profile = p.profile()                     # Consolidated profile

Teams

t = client.team(1034)
info = t.info()                           # Name, tag, socials
roster = t.roster()                       # Players + staff
placements = t.placements()               # Event placements + winnings
transactions = t.transactions()            # Join / leave history
completed = t.completed_matches()          # Completed match results
upcoming = t.upcoming_matches()            # Upcoming match schedule

Events

e = client.event(2863)
info = e.info()                          # Event details
matches = e.matches()                    # Match list
standings = e.standings()                # Standings / prize distribution

Series

s = client.series(542272)
info = s.info()                          # Series overview
vods = s.vods()                          # VOD links
players = s.players(game_id=1)           # Per-game player stats
rounds = s.rounds(game_id=1)             # Round-by-round data
performance = s.performance()            # Advanced performance stats
economy = s.economy(game_id=1)           # Economy data

Documentation

Development

This project uses uv for dependency management.

# Clone and set up
git clone https://github.com/Vanshbordia/vlrdevapi
cd vlrdevapi
uv sync --group dev

# Lint & type check
ruff check src/ tests/
ty check src/vlrdevapi/

# Run tests
uv run pytest tests/ -v

See CONTRIBUTING.md for the full contribution guide.

License

MIT License - see the LICENCE file.


Disclaimer: Not affiliated with VLR.gg or Riot Games. Use responsibly.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vlrdevapi-2.2.0.tar.gz (168.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vlrdevapi-2.2.0-py3-none-any.whl (182.8 kB view details)

Uploaded Python 3

File details

Details for the file vlrdevapi-2.2.0.tar.gz.

File metadata

  • Download URL: vlrdevapi-2.2.0.tar.gz
  • Upload date:
  • Size: 168.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vlrdevapi-2.2.0.tar.gz
Algorithm Hash digest
SHA256 0fe548e653ba556289ef11f8ee503e46315da5fb796022a4d77ebb5866f120f8
MD5 fccdee77bec8dd872b9ebe2cad7d69ef
BLAKE2b-256 d567f92bca1e1246698215087bd480bbdf5fd79c3113135dc0964cd61e7038ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for vlrdevapi-2.2.0.tar.gz:

Publisher: publish.yml on Vanshbordia/vlrdevapi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vlrdevapi-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: vlrdevapi-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 182.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vlrdevapi-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0e627a5650586f1eb9abed0a061adbb1e03138f6c0bd063cc02d6cb3fefe8f0
MD5 12c89785b3060a01f2ec48df8e7e0bb0
BLAKE2b-256 e09c13a2fb854a53197b8f2698988016e6655161a6efc3aa2cdd40f1f87beda6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vlrdevapi-2.2.0-py3-none-any.whl:

Publisher: publish.yml on Vanshbordia/vlrdevapi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page