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, series, and news
  • 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

News

page = client.news(page=1)               # Browse the news listing
for item in page.news[:5]:
    print(item.title)

article = client.news.article(734100)    # Fetch a full article
print(article.content_md)                # Article body as Markdown

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.3.0.tar.gz (178.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.3.0-py3-none-any.whl (198.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vlrdevapi-2.3.0.tar.gz
  • Upload date:
  • Size: 178.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.3.0.tar.gz
Algorithm Hash digest
SHA256 45c6dbe936bbcf2822087ff2a074fe0176e669eb79baa8acc5babc49e70e0046
MD5 4b17febde68bd06ad1eb3044181c6789
BLAKE2b-256 6d88258e48f3dde07c45f12113f295b9b1c09f3b5770c63e0a000114ad7b8626

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: vlrdevapi-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 198.4 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cbbc2a32892686b1f57e8dc50e1839adc4b4e5b42c7689dec0e70a7668d6ce3
MD5 ddb86776bc315d0607d18ba07467a1bc
BLAKE2b-256 636284157aba421948e03e88bd5fbddb2032bf7e46b28ac19277a14ccac46daa

See more details on using hashes here.

Provenance

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