Python
A Valorant API for Python
A typed Python client for Valorant esports data from VLR.gg. Install it, import it, and work with matches, players, teams, and events as Pydantic models.
VLRdevAPI is the Python client for Valorant esports data on VLR.gg. It installs from PyPI with pip, needs no API key, and returns typed models with full editor support.
What makes it Python-native
Install
Two commands, no setup. pip install vlrdevapi or uv add vlrdevapi. There are no native dependencies and no key to configure.
Types
Pydantic models everywhere. Every response is a typed model, so autocomplete, refactoring, and static analysis work in your editor.
Errors
Typed exceptions. NotFoundError, RateLimitError, RequestError, ParsingError, and ValidationError cover the common failure modes.
Pagination
Pages handled for you. List endpoints expose page, total pages, and items, and can fetch every page in one call.
Networking
Rate limiting and caching. Built-in rate limiting and an LRU response cache reduce requests and keep you within reasonable volumes.
Concurrency
Sync design, thread friendly. Call methods directly, run independent fetches in a thread pool, or use asyncio.to_thread from an async framework.
Quickstart
Install the package and fetch a player profile. Every field is typed, so the data is ready to use without manual parsing.
import vlrdevapi
profile = vlrdevapi.player(438).profile()
print(f"{profile.name}: {', '.join(a.agent for a in profile.top_agents[:3])}")More detail in the quickstart docs.
Python options for Valorant data
| VLRdevAPI | requests + BeautifulSoup | Raw HTTP requests | |
|---|---|---|---|
| Setup | pip install vlrdevapi | Install and write selectors | Install and write everything |
| Parsing | Included | You write CSS selectors | You parse by hand |
| Output | Typed Pydantic models | Raw HTML | Raw HTML |
| Rate limiting | Built in | Your responsibility | Your responsibility |
| Maintenance | Handled in the library | High | High |
| API key | Not required | Not required | Not required |
Frequently asked questions
- How do I install VLRdevAPI?
- Run pip install vlrdevapi or uv add vlrdevapi. Python 3.11 or newer is required.
- Is there a Python wrapper for VLR.gg?
- VLRdevAPI is a dedicated Python SDK for VLR.gg. It wraps the pages VLR.gg serves and returns typed objects instead of raw HTML.
- Does it work with type checkers?
- Yes. Every response is a Pydantic model with type hints, so autocomplete and static analysis work in editors like VS Code and PyCharm.
- Can I use it with pandas?
- Yes. Convert models to dictionaries or DataFrames with model_dump() and build your own analysis, or follow the pandas and Polars guides.
- Is it synchronous?
- Yes. Each method is a blocking call. For concurrency, run independent calls in a thread pool, or use asyncio.to_thread from an async framework.
- Do I need an API key?
- No. There is no key, token, or account. Install the package and start calling methods.
More answers in the full FAQ.
Related
Installation
Install with pip, uv, or from source.
Quickstart
A hands-on tour of the main namespaces.
Getting started guide
From an empty project to your first request.
Player analytics with pandas
Turn typed models into a DataFrame.
Valorant stats API
Player, team, and match statistics in Python.
VLR.gg API for Python
Why an unofficial client exists.