WooCommerce
A Python wrapper for the WooCommerce REST API
What it is and what it does
This package provides a thin Python client for the WooCommerce REST API, abstracting away HTTP mechanics so you can interact with your store's data using simple method calls. It wraps the requests library to handle authentication (OAuth1.0a and Basic Auth), SSL verification, and response parsing, letting you GET, POST, PUT, DELETE, and OPTIONS any WooCommerce endpoint—products, orders, customers, and more—by passing endpoint names and data dictionaries.
You instantiate an API object with your store URL and credentials, then call methods like `.get("products")` or `.post("orders", data)` to interact with your store. All methods return requests Response objects, so you work with familiar HTTP status codes, headers, and JSON parsing. It's designed for straightforward store automation and integration tasks where you need programmatic access to WooCommerce data.
Use it for:
- Bulk import or export products, orders, or customer data from a WooCommerce store into your application.
- Automate order fulfillment workflows by fetching new orders and updating their status or metadata.
- Sync inventory levels between WooCommerce and an external system or warehouse management tool.
- Build custom reporting dashboards that pull sales, customer, or product data from multiple stores.
- Programmatically create or update products with dynamic pricing, descriptions, or attributes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python wrapper for the WooCommerce REST API that lets you programmatically read, create, update, and delete products, orders, customers, and other WooCommerce store data.
Yes, if you need to automate WooCommerce store operations and can accept dormant maintenance. The package is stable, has no known vulnerabilities, and a single lightweight dependency. However, verify that it works with your current WooCommerce version—the last release was in 2021, so if your store runs a significantly newer WooCommerce API, test compatibility first.
Install
woocommerce on PyPI
pip
pip install woocommerceuv
uv add woocommercepoetry
poetry add woocommerceInstalling WooCommerce
Before you install
Low install friction with a single runtime dependency (requests). Maintenance is dormant—last release was in 2021 and the last commit in 2024, so while not abandoned, the package receives minimal updates. It remains marked Production/Stable and supports Python 3.6 through 3.9.
License in practice
MIT License (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install woocommerce
from woocommerce import API
wcapi = API(
url="http://example.com",
consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
version="wc/v3"
)
products = wcapi.get("products", params={"per_page": 20}).json()
Requires valid WooCommerce store URL and API credentials (Consumer Key and Consumer Secret) generated from your WooCommerce admin.
Verify before relying
- Whether the package works reliably with current WooCommerce versions (no releases since 2021).
- Compatibility with Python versions beyond 3.9 (classifiers only list up to 3.9).
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | dormant — 1,980 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 162,779/month — #10,588 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: WooCommerce-3.0.0-py3-none-any.whl
Keywords: woocommerce, rest, api
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
customerioPython client library for the Customer.io API,…
permissive · top 5,000 on PyPI
simple-salesforceA REST API client for Salesforce that provides…
permissive · top 1,000 on PyPI
coinbase-advanced-pyOfficial Python SDK for the Coinbase Advanced…
permissive · top 15,000 on PyPI
SurveyGizmoA Python wrapper for the SurveyGizmo REST API…
permissive · top 15,000 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
easypostPython client library for the EasyPost shipping…
permissive · top 15,000 on PyPI
twitter-adsA Python SDK for managing Twitter Ads…
permissive · top 15,000 on PyPI
py-dactylA Python wrapper for the Pterodactyl Panel API…
permissive · top 15,000 on PyPI
python-sonarqube-apiProvides a Python client library for…
agpl · top 15,000 on PyPI
heroku3Python wrapper for the Heroku API V3 that lets…
permissive · top 15,000 on PyPI