For AI agents and LLMs: a structured documentation index is available at /llms.txt. Every page has a Markdown sibling — append .md to any URL.

Skip to content
Docs

Python SDK

Install, authenticate, and make your first request with the official Paddle Python SDK.

AI summary

Install the Paddle Python SDK (paddle-python-sdk) to integrate Paddle Billing with Python applications. The SDK handles pagination automatically, provides operation classes for creates and updates, and includes a webhook verifier compatible with Flask, Django, and other request-protocol frameworks.

  • • Requires Python 3.11 or later; install with pip, poetry, or uv (uv add paddle-python-sdk).
  • • Construct the client with Client(getenv('PADDLE_API_KEY'), options=Options(Environment.SANDBOX)); omit options or use Environment.PRODUCTION for live.
  • • List endpoints return iterators — for product in paddle.products.list() walks every page automatically with the SDK fetching subsequent pages on demand.

The Paddle Python SDK integrates Paddle Billing with Python applications. It handles pagination automatically, exposes operation classes for creates and updates, and includes a webhook signature verifier that works with Flask, Django, and anything speaking the request protocol.

Latest: v1.14.1 · 2026-04-21

Requirements

Python 3.11 or later.

Install

pip
pip install paddle-python-sdk
poetry
poetry add paddle-python-sdk
uv
uv add paddle-python-sdk

Authenticate

Create an API key in Paddle > Developer tools > Authentication, then pass it when you construct the client.

API keys are environment-specific. Use a sandbox key for sandbox, a live key for production.

Python
from os import getenv
from paddle_billing import Client, Environment, Options
paddle = Client(
getenv('PADDLE_API_KEY'),
options=Options(Environment.SANDBOX),
)

Omit the options argument, or use Environment.PRODUCTION, to use the live API.

Make your first request

List the products in your catalog:

Python
from os import getenv
from paddle_billing import Client, Environment, Options
paddle = Client(
getenv('PADDLE_API_KEY'),
options=Options(Environment.SANDBOX),
)
products = paddle.products.list()
for product in products:
print(product.id, product.name)

paddle.products.list() returns an iterator. Iterating with for ... in walks every page automatically. The SDK fetches the next page when the current one is exhausted.

Next steps

  • Understand shared patterns for pagination, idempotency, retries, and error handling across SDKs.
  • Browse the API reference for every resource and operation the SDK exposes.
  • Work against sandbox while you build, then follow the go-live checklist to switch environments.

Was this page helpful?