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.0.1.tar.gz (159.9 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.0.1-py3-none-any.whl (179.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vlrdevapi-2.0.1.tar.gz
Algorithm Hash digest
SHA256 6cbc813c28a585bb37e669a4752788531dec931f1a6bf9fab866f0246cf11ad5
MD5 b8d3bc34a42cc8f313b8b69d2f47e0ae
BLAKE2b-256 f9767d1593fae5819aeca8cec7ef97d259ab71c5d306f14d32dc8bce221f80b4

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for vlrdevapi-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 626297117e7995bf75b43b15142033c21d73d6dd8733c58294eda8f70a109011
MD5 983453a9eca6491abcfb2bb5456f19b4
BLAKE2b-256 24417b573eb95a4da70bdae82a80a5a30a42d1bad4275172b5ced916b7b9cfcf

See more details on using hashes here.

Provenance

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