twitchAPI
A Python 3.7+ implementation of the Twitch Helix API, EventSub and Chat
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It provides a complete, production-ready implementation of Twitch's modern APIs with good async/await ergonomics. Install it if you need to integrate Twitch API, EventSub, or chat functionality into a Python application.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; all operations are async and must run within an asyncio event loop.
- Low friction install with a pure-Python wheel and four common async-friendly dependencies (aiohttp, python-dateutil, typing_extensions, enum-tools).
- Actively maintained as of 2026-02-15 with 293 repository stars.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice in distributions.
last release 2025-05-23 (448 days) · last repo commit 2026-02-15 · 293 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 99,284 downloads/mo, #13,030 on PyPI
Alternatives
Verify before relying
pip install twitchAPI
from twitchAPI.twitch import Twitch
import asyncio
async def example():
twitch = await Twitch('app_id', 'app_secret')
# Make API calls here
await twitch.close()
asyncio.run(example())- Rate limit behavior and quotas for different authentication types beyond 'better for authenticated calls'
- EventSub transport options and their specific use-case trade-offs
- Chat command parsing and event filtering capabilities
- Token refresh callback error handling and retry semantics
What it is and what it does
twitchAPI is a complete async Python client for Twitch's Helix API, EventSub webhooks, and IRC-based chat. It handles both app-level and user-level OAuth authentication, automatically managing token refresh via callbacks. The library exposes the full Helix API surface through async generators and coroutines, supports real-time event subscriptions through EventSub (with pluggable transports), and includes a chat bot framework for joining channels, listening to messages, and responding to commands and subscription events.
The package is built on aiohttp for HTTP operations and python-dateutil for timestamp handling, making it suitable for long-running bots and event-driven applications. It targets Python 3.7+ and is classified as Production/Stable. Authentication setup is straightforward for app credentials, while user authentication can leverage a built-in browser-based OAuth flow or manual token management.
Use it for
- Build a Twitch chat bot that joins channels, listens for messages, and responds to commands or subscription events.
- Monitor Twitch streams and channels in real-time using EventSub to trigger actions on stream goes live, follows, or subscriptions.
- Retrieve user data, stream metadata, and analytics from the Twitch Helix API for dashboards or reporting tools.
- Automate moderation or engagement tasks by listening to chat events and calling Helix API endpoints to manage channels.
- Create a multi-channel monitoring service that aggregates events from multiple Twitch channels into a single async application.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It provides a complete, production-ready implementation of Twitch's modern APIs with good async/await ergonomics. Install it if you need to integrate Twitch API, EventSub, or chat functionality into a Python application.
Install
twitchapi on PyPI
Before you install
Low friction install with a pure-Python wheel and four common async-friendly dependencies (aiohttp, python-dateutil, typing_extensions, enum-tools). Actively maintained as of 2026-02-15 with 293 repository stars.
Requires Python 3.7 or later; all operations are async and must run within an asyncio event loop.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice in distributions.
Quickstart
pip install twitchAPI
from twitchAPI.twitch import Twitch
import asyncio
async def example():
twitch = await Twitch('app_id', 'app_secret')
# Make API calls here
await twitch.close()
asyncio.run(example())
Verify before relying
- Rate limit behavior and quotas for different authentication types beyond 'better for authenticated calls'
- EventSub transport options and their specific use-case trade-offs
- Chat command parsing and event filtering capabilities
- Token refresh callback error handling and retry semantics
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesaiohttppython-dateutiltyping_extensionsenum-tools |
| Maintenance | Actively maintained 448 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 99,284 / month, #13,030 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: CommunicationsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Application FrameworksTopic :: Software Development :: Libraries :: Python Modules |
Evidence: twitchapi-4.5.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “twitch api client python”
- twitchAPIA Python client library for the Twitch Helix API, EventSub, and Chat,…
- streamlinkStreamlink extracts video streams from various online services and…
- twentyc.rpcA client library for consuming 20c's RESTful API, built on top of the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also pyTelegramBotAPI · twython · pywa · python-telegram-bot · redditwarp · slackclient · ably · irc · pusher · stream-chat