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.4.0.tar.gz (185.6 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.4.0-py3-none-any.whl (203.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vlrdevapi-2.4.0.tar.gz
Algorithm Hash digest
SHA256 514d5ecec341d8887f94245aef66d613491df62f8221ccd9f0611eb766da7b26
MD5 70f14efd16ea85f38e51172d2f93c4c8
BLAKE2b-256 afc3ce5aa8463e34ac012a86636acf5d84f3436f34ee8ef8d68a2d9a4267e91a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: vlrdevapi-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 203.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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c32ddb846d60864a6ae4a8f656fb01740d0d8ed077d45fb59f1336598055b2a
MD5 13ed8e55e76488e88e5ae3fa732ee9a1
BLAKE2b-256 44acefe4078cb7f69b339daf3a3dff1cdcfa82f47aacb6749cd6b43a6a469a70

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

This release

2.4.0 This release

2 files

2.3.0

2 files

2.2.0

2 files

2.1.0

2 files

2.0.1

2 files

2.0.0

2 files

1.6.2

2 files

1.6.1

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

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