Skip to main content

A Python wrapper for the WooCommerce REST API. Easily interact with the WooCommerce REST API using this library.

https://github.com/woocommerce/wc-api-python/actions/workflows/ci.yml/badge.svg?branch=trunk https://img.shields.io/pypi/v/woocommerce.svg

Installation

pip install woocommerce

Getting started

Generate API credentials (Consumer Key & Consumer Secret) following this instructions http://woocommerce.github.io/woocommerce-rest-api-docs/#rest-api-keys.

Check out the WooCommerce API endpoints and data that can be manipulated in http://woocommerce.github.io/woocommerce-rest-api-docs/.

Setup

from woocommerce import API

wcapi = API(
    url="http://example.com",
    consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    version="wc/v3"
)

Options

Option

Type

Required

Description

url

string

yes

Your Store URL, example: http://woo.dev/

consumer_key

string

yes

Your API consumer key

consumer_secret

string

yes

Your API consumer secret

version

string

no

API version, default is wc/v3

timeout

integer

no

Connection timeout, default is 5

verify_ssl

bool

no

Verify SSL when connect, use this option as False when need to test with self-signed certificates

query_string_auth

bool

no

Force Basic Authentication as query string when True and using under HTTPS, default is False

user_agent

string

no

Set a custom User-Agent, default is WooCommerce-Python-REST-API/3.0.0

oauth_timestamp

integer

no

Custom timestamp for requests made with oAuth1.0a

wp_api

bool

no

Set to False in order to use the legacy WooCommerce API (deprecated)

Methods

Params

Type

Description

endpoint

string

WooCommerce API endpoint, example: customers or order/12

data

dictionary

Data that will be converted to JSON

**kwargs

dictionary

Accepts params, also other Requests arguments

GET

  • .get(endpoint, **kwargs)

POST

  • .post(endpoint, data, **kwargs)

PUT

  • .put(endpoint, data), **kwargs

DELETE

  • .delete(endpoint, **kwargs)

OPTIONS

  • .options(endpoint, **kwargs)

Response

All methods will return Response object.

Example of returned data:

>>> r = wcapi.get("products")
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=UTF-8'
>>> r.encoding
'UTF-8'
>>> r.text
u'{"products":[{"title":"Flying Ninja","id":70,...' // Json text
>>> r.json()
{u'products': [{u'sold_individually': False,... // Dictionary data

Request with params example

from woocommerce import API

wcapi = API(
    url="http://example.com",
    consumer_key="ck_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    consumer_secret="cs_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    version="wc/v3"
)

# Force delete example.
print(wcapi.delete("products/100", params={"force": True}).json())

# Query example.
print(wcapi.get("products", params={"per_page": 20}).json())

Changelog

See CHANGELOG.md.

Metadata

Release files for WooCommerce 3.0.0

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

Source distribution (sdist)

Source distribution for WooCommerce 3.0.0
File Size Uploaded
WooCommerce-3.0.0.tar.gz 6.0 kB Details

Built distribution (wheel)

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

Total release size: 13.0 kB

Release files / WooCommerce-3.0.0.tar.gz

Download URL WooCommerce-3.0.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
fcb7498e01dcdf618051fca86168bd198c14ff6dc5d02a41d27805832ad79d35
BLAKE2b-256 checksum
How to use checksums
9ae1a65781f73ae47c59900e6a88a07af42109233c9f4e8be4e0a8051c817893
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release files / WooCommerce-3.0.0-py3-none-any.whl

Download URL WooCommerce-3.0.0-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be054cf47fbe1ce9e88f380c546835b2e725716cfd91fb8188659b2cb282fe77
BLAKE2b-256 checksum
How to use checksums
d8482f4ba43d234d34d09f0975b0553a116affdcec6a13811426b73ee929c83e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.1.1

2 release files

2.0.0

2 release files

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

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