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.1.0.tar.gz (162.5 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.1.0-py3-none-any.whl (180.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vlrdevapi-2.1.0.tar.gz
Algorithm Hash digest
SHA256 075d19298dc817623ffdb3b9a382e8ad0aaa1c0bf7f9b495dd396e3f337ca21d
MD5 21d1727b54d46d484de9ed8cd423a0a9
BLAKE2b-256 d7547c0f94fa8139f929a3a5e0ef892035fa47c1849e9153240b4d4eca995da6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vlrdevapi-2.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: vlrdevapi-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 180.3 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 56e2a792ae721111e47f7ea2582cddffaaf632eb3fd088557a96cc2fdbd67ded
MD5 dd9a2ad9f8ffe5279ca89648d8fa5a73
BLAKE2b-256 b882cc86adb8a2d8e73b57b8192b76044f8584f1e89c67526eaf5f2b09ad5105

See more details on using hashes here.

Provenance

The following attestation bundles were made for vlrdevapi-2.1.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