A Python API client for interacting with the Gumroad API (https://gumroad.com/api). Comments, suggestions, and improvements are always welcome. Be sure to follow @opsdisk on Twitter for the latest updates.
Note that not all of the endpoints and HTTP verbs supported by the Gumroad API have been added.
pip install pygumroad
git clone https://github.com/opsdisk/pygumroad.git
cd pygumroad
virtualenv -p python3.7 .venv # If using a virtual environment.
source .venv/bin/activate # If using a virtual environment.
pip install -r requirements.txt
python setup.py install
If using a secrets file, create/update the gumroad_secrets.json
file with the host and API key. See the usage section
on how to pass a secrets dictionary.
cp gumroad_secrets_empty.json gumroad_secrets.json
{
"gumroad": {
"host": "api.gumroad.com",
"token": "7a4d...b388",
}
}
import pygumroad
# Pass a secrets file.
full_path_to_secrets_file_location="/home/user/gumroad_secrets.json"
gumroad_client = pygumroad.GumroadClient(secrets_file_location=full_path_to_secrets_file_location)
# Pass a secrets dictionary.
secrets_dict = {
"gumroad": {
"host": "api.gumroad.com",
"token": "7a4d...b388",
}
}
gumroad_client = pygumroad.GumroadClient(secrets_dict=secrets_dict)
all_products = gumroad_client.retrieve_all_products()
for product in all_products:
print(f"Product Name: {product['name']} - Product ID: {product['id']}")
all_sales = gumroad_client.retrieve_all_sales()
for sale in all_sales:
print(f"Product: {sale['product_name']} was sold on {sale['created_at']}")