Client¶
The main entry point for interacting with the Liquipedia API.
After construction, access data through resource attributes (e.g. client.players,
client.matches). See Resources for the full list.
- class liquipydia.LiquipediaClient¶
Bases:
objectSynchronous client for the Liquipedia API v3.
- Parameters:
app_name (
str) – Application name used in the User-Agent header.api_key (
str|None(default:None)) – API key for authentication. Falls back to the LIQUIPEDIA_API_KEY environment variable.timeout (
float(default:30.0)) – Request timeout in seconds.max_retries (
int(default:3)) – Maximum number of retries on HTTP 429 responses.retry_backoff_factor (
float(default:1.0)) – Base factor for exponential backoff on retries.
Examples
>>> with LiquipediaClient("my-app", api_key="secret") as client: ... response = client.players.list("dota2")
- __init__(app_name, api_key=None, *, timeout=30.0, max_retries=3, retry_backoff_factor=1.0)¶
- broadcasters: BroadcastersResource¶
- companies: CompaniesResource¶
- datapoints: DatapointsResource¶
- external_media_links: ExternalMediaLinksResource¶
- matches: MatchResource¶
- placements: PlacementsResource¶
- players: PlayersResource¶
- series: SeriesResource¶
- squad_players: SquadPlayersResource¶
- standings_entries: StandingsEntriesResource¶
- standings_tables: StandingsTablesResource¶
- teams: TeamsResource¶
- tournaments: TournamentsResource¶
- transfers: TransfersResource¶
- team_templates: TeamTemplateResource¶
- team_template_list: TeamTemplateListResource¶
- get(endpoint, params)¶
Send a GET request to the API and return the parsed response.
- Parameters:
- Return type:
- Returns:
Parsed API response.
- Raises:
AuthError – If the API key is invalid or missing (HTTP 403).
NotFoundError – If the requested data does not exist (HTTP 404).
RateLimitError – If retries are exhausted after HTTP 429 responses.
ApiError – If the API returns an error in the response body.
LiquipediaError – For other unexpected HTTP errors.
- paginate(endpoint, params, *, page_size=20, max_results=None)¶
Iterate through paginated API results.
Yields individual record dicts, automatically requesting successive pages. Stops when a page returns fewer records than
page_sizeor whenmax_resultsrecords have been yielded.- Parameters:
endpoint (
str) – API path segment (e.g."player").params (
dict[str,Any]) – Base query parameters (limitandoffsetare managed internally).page_size (
int(default:20)) – Number of records per page (max 1000).max_results (
int|None(default:None)) – Stop after yielding this many records. None for unlimited.
- Yields:
Individual record dicts from the API.
Low-level methods¶
These methods are used internally by resource classes. You typically don’t need to call them
directly — use the resource list() and paginate() methods instead.
- LiquipediaClient.get(endpoint, params)
Send a GET request to the API and return the parsed response.
- Parameters:
- Return type:
- Returns:
Parsed API response.
- Raises:
AuthError – If the API key is invalid or missing (HTTP 403).
NotFoundError – If the requested data does not exist (HTTP 404).
RateLimitError – If retries are exhausted after HTTP 429 responses.
ApiError – If the API returns an error in the response body.
LiquipediaError – For other unexpected HTTP errors.
- LiquipediaClient.paginate(endpoint, params, *, page_size=20, max_results=None)
Iterate through paginated API results.
Yields individual record dicts, automatically requesting successive pages. Stops when a page returns fewer records than
page_sizeor whenmax_resultsrecords have been yielded.- Parameters:
endpoint (
str) – API path segment (e.g."player").params (
dict[str,Any]) – Base query parameters (limitandoffsetare managed internally).page_size (
int(default:20)) – Number of records per page (max 1000).max_results (
int|None(default:None)) – Stop after yielding this many records. None for unlimited.
- Yields:
Individual record dicts from the API.