zenpy
Python wrapper for the Zendesk API
What it is and what it does
Zenpy is a Python client library that wraps the Zendesk, Chat, and HelpCentre REST APIs, abstracting away HTTP details and providing Pythonic object-oriented access to tickets, users, help center articles, and other Zendesk resources. It depends on requests for HTTP transport, python-dateutil and pytz for timezone-aware date handling, cachetools for object caching, and six for Python 2/3 compatibility.
The library is designed to reduce boilerplate and API call overhead by automatically caching objects and deferring attribute access until needed. You instantiate a client with your Zendesk credentials, then interact with resources through method calls that return Python objects—tickets, users, comments, attachments—which can be serialized to dict or JSON. It supports common workflows like creating and updating tickets, searching, managing custom fields, uploading attachments, and working with help center content.
Use it for:
- Automate ticket creation and updates in bulk from external systems or scheduled jobs.
- Build support dashboards or reporting tools that query Zendesk ticket data without manual API pagination.
- Integrate Zendesk ticketing into internal workflows, such as syncing issues from a bug tracker to support tickets.
- Manage help center content programmatically—create articles, sections, and categories from templates or external sources.
- Implement custom ticket search and filtering logic with Python rather than Zendesk's query language.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Zenpy is a Python wrapper for the Zendesk, Chat, and HelpCentre APIs that simplifies programmatic interaction with Zendesk by caching objects and lazily evaluating attributes to minimize API calls.
Yes, with license review. Zenpy is actively maintained, has low install friction, no known vulnerabilities, and is well-suited for Zendesk automation and integration work. However, its GPLv3 copyleft license is a hard constraint—only use it if your project is compatible with GPLv3 or if you can isolate it behind a service boundary. If your project is proprietary or under a permissive license, this package is not an option.
Install
zenpy on PyPI
pip
pip install zenpyuv
uv add zenpypoetry
poetry add zenpyInstalling zenpy
Before you install
Low install friction with a pure-wheel distribution and five common runtime dependencies (requests, python-dateutil, cachetools, pytz, six). The package is actively maintained with a recent commit on 2026-08-05 and has been in development since 2015-08-30.
License in practice
Zenpy is licensed under GPLv3 (copyleft), which requires that any derivative work or distribution must also be released under GPLv3. This is a strong copyleft obligation—review your project's license compatibility before integrating.
Quickstart
from zenpy import Zenpy
from zenpy.lib.api_objects import Ticket
zenpy_client = Zenpy(**credentials)
zenpy_client.tickets.create(Ticket(subject="Important", description="Thing"))
for ticket in zenpy_client.search('query', type='ticket', assignee='user'):
print(ticket.requester.name)
Requires valid Zendesk API credentials passed as keyword arguments to the Zenpy constructor.
Verify before relying
- Whether the package still actively supports Python 2.7 as listed in classifiers, or if Python 3 is now required.
- Current state of support for Chat and HelpCentre APIs relative to the Zendesk API's evolution since the last release.
Package facts
| License | GPLv3 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — requests, python-dateutil, cachetools, pytz, six |
| Maintenance | actively maintained — 176 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,597,572/month — #2,277 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zenpy-2.0.57-py3-none-any.whl
Keywords: zendesk, api, wrapper
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
zammad_pyPython client library for the Zammad helpdesk…
permissive · top 15,000 on PyPI
sunshine-conversations-clientPython client library for the Sunshine…
unclear · top 5,000 on PyPI
apache-airflow-providers-zendeskProvides operators and hooks to integrate…
permissive · top 15,000 on PyPI
mergepythonclientA Python client library for accessing Merge…
unclear · top 5,000 on PyPI
azure-mgmt-eventhubManages Azure Event Hub resources—namespaces,…
permissive · top 5,000 on PyPI
azure-mgmt-servicebusManages Azure Service Bus resources…
permissive · top 5,000 on PyPI
veracode-api-pyProvides a Python wrapper for Veracode REST…
permissive · top 15,000 on PyPI
pinecone-plugin-assistantProvides Python bindings to Pinecone's…
permissive · top 5,000 on PyPI
svixSvix is a Python client library for the Svix…
permissive · top 5,000 on PyPI
azure-mgmt-relayManages Azure Relay namespaces, hybrid…
permissive · top 5,000 on PyPI