Skip to main content

Python BlizzAPI

PyPI Python Versions PyPI - Downloads GitHub Issues or Pull Requests

Lines Of Code Codecov GitHub Actions Workflow Status

standard-readme compliant license

This Python package is a user-friendly interface for the Blizzard API. It simplifies the process of retrieving data from Blizzard's API, allowing developers and enthusiasts to seamlessly access and interact with game-related information.

Table of Contents

Features

Comprehensive API Coverage

Access a wide range of game data, including player profiles, achievements, character information and guild information as documented in the official Blizzard API Documenation.

Oauth2 Integration

Authenticate using Blizzard's OAuth2 system to ensure reliable access to private and public data.

Ease of Use

With clean and intuitive methods, developers can fetch data without deep diving into Blizzard's API documentation.

Data Format

Conveniently structured JSON responses make it easy to integrate with applications.

Supported APIs

API Status
World Of Warcraft (Retail) Supported (Game Data/Profile APIs)
World Of Warcraft (Classic) Supported (Game Data/Profile APIs)
World of Warcraft (Classic Era) Supported (Game Data/Profile APIs)
Hearthstone Unplanned
StarCraft 2 Unplanned
Diablo 3 Unplanned
Diablo 4 Unsupported (No Blizzard API)
Overwatch 2 Unsupported (No Blizzard API)

Install

# PyPI
pip install blizzapi

or

uv add blizzapi

Blizzard API Client ID/Secret

You must request API access from blizzard in order to use this module.

Request API Access

Dependencies

Python 3.10 or greater

Usage

WoW Classic Era

from blizzapi import ClassicEraClient
client = ClassicEraClient(client_id=XXX, client_secret=YYY)

result = client.connected_realm_search(fields={"status.type": "UP"})
result = client.character_profile(realmSlug="doomhowl", characterName="thetusk")

WoW Retail

from blizzapi import RetailClient
client = RetailClient(client_id=XXX, client_secret=YYY)

result = client.wow_token_index()

Development

Virtual Environment Setup

Helpful notes on how to set up a virtual enviroment for developing python applications using VS Code.

Show Instructions
  1. Ensure python and uv are installed on PC. uv Instructions

  2. Open "Folder" in VS Code

  3. Change the Default Terminal in VS Code

    1. Press CTRL + SHIFT + P (on Windows) or CMD + SHIFT + P (on macOS)
    2. Select 'Terminal: Select Default Profile'
    3. Choose 'Command Prompt' on Windows or 'bash' on macOS
  4. Create Virtual Environment

    1. Press CTRL + SHIFT + ` to open a Terminal
    2. Enter 'uv venv'
    3. Enter 'source .venv/bin/activate'
    4. Verify the prompt begins with '(.venv)'
  5. Select Python Interpreter

    1. Press CTRL + SHIFT + P (on Windows) or CMD + SHIFT + P (on macOS)
    2. Select 'Python: Select Interpreter'
    3. Choose the .venv python binary
  6. Install the dependenies

    1. Enter 'uv sync'

Contributing

PRs accepted.

If editing the Readme, please conform to the standard-readme specification.

Bug Reports and Feature Requests

Please use the issue tracker to report any bugs or request new features.

Contributors

License

MIT © Nick Stuer

Metadata

Release files for blizzapi 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blizzapi 1.0.6
File Size Uploaded Provenance
blizzapi-1.0.6.tar.gz 46.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for blizzapi 1.0.6
File Interpreter ABI Platform
blizzapi-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 60.4 kB

Release files / blizzapi-1.0.6.tar.gz

Download URL blizzapi-1.0.6.tar.gz
Size 46.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c743c9459238810cd60c49b052c95ba99b1f872a1b15aa689412a442f8447fce
BLAKE2b-256 checksum
How to use checksums
de5e04049a90fcbb26c263c0d06f02c504ed3f23c09475cafad24bd8d43ce7c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / blizzapi-1.0.6-py3-none-any.whl

Download URL blizzapi-1.0.6-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d21efd6c877ea1090a6ce5c89c525ad6e3983f578d26bb40954cf3be4ec88a1
BLAKE2b-256 checksum
How to use checksums
06276ed3786a20c422cdd84ac598aa0d297c0ee84f57537501cc50b025429680
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for blizzapi 1.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page