liquipydia

A modern, typed Python client for the Liquipedia API (LPDB v3).

liquipydia is a Python client library for the Liquipedia Database (LPDB) REST API v3, covering all 16 data types (matches, tournaments, teams, players, transfers, and more).

Built with httpx and pydantic.

Features

  • Full LPDB v3 coverage — all 16 data types accessible as client attributes

  • Typed models — Pydantic models for every data type with IDE autocompletion

  • Automatic pagination — iterate through results without manual offset management

  • Keyword filters — Pythonic query syntax instead of raw LPDB condition strings

  • Rate limit handling — automatic retries with exponential backoff on HTTP 429

  • Context manager — clean resource management with with statement

Quick example

from liquipydia import LiquipediaClient, Player

with LiquipediaClient("my-app", api_key="your-api-key") as client:
    response = client.players.list("dota2", pagename="Miracle-")
    for record in response.result:
        player = Player.model_validate(record)
        print(player.name, player.nationality)
Miracle- Jordan

Project

Data license

Data returned by the Liquipedia API is subject to CC-BY-SA 3.0 as required by Liquipedia’s API Terms of Use.