Amazon Orders
by @pfernandez98
Download and query your Amazon order history via an unofficial Python API and CLI.
clawhub install amazon-ordersπ About This Skill
name: amazon-orders description: Download and query your Amazon order history via an unofficial Python API and CLI. homepage: https://github.com/alexdlaird/amazon-orders metadata: {"clawdbot":{"emoji":"π¦","requires":{"bins":["python3","pip3"],"env":["AMAZON_USERNAME", "AMAZON_PASSWORD", "AMAZON_OTP_SECRET_KEY"]}}}
amazon-orders Skill
Interact with your Amazon.com order history using the unofficial amazon-orders Python package and CLI.
> Note: amazon-orders works by scraping/parsing Amazon's consumer website, so it can break if Amazon changes their pages. Only the English Amazon .com site is officially supported.
Setup
Install / upgrade
python3 -m pip install --upgrade amazon-orders
(Install details and version pinning guidance are in the project README.) Authentication options
amazon-orders can get credentials from (highest precedence first): environment variables, parameters passed to AmazonSession, or a local config.
Environment variables:
export AMAZON_USERNAME="you@example.com"
export AMAZON_PASSWORD="your-password"
Optional: for accounts with OTP/TOTP enabled
export AMAZON_OTP_SECRET_KEY="BASE32_TOTP_SECRET"
(OTP secret key usage is documented by the project.) Usage
You can use amazon-orders either as a Python library or from the command line.
Python: basic usage
from amazonorders.session import AmazonSession
from amazonorders.orders import AmazonOrdersamazon_session = AmazonSession("", "")
amazon_session.login()
amazon_orders = AmazonOrders(amazon_session)
Orders from a specific year
orders = amazon_orders.get_order_history(year=2023)Or use a time filter for recent orders
orders = amazon_orders.get_order_history(time_filter="last30") # Last 30 days
orders = amazon_orders.get_order_history(time_filter="months-3") # Past 3 monthsfor order in orders:
print(f"{order.order_number} - {order.grand_total}")
#### Full details (slower, more fields) Some order fields only populate when you request full details; enable it when you need richer order data:
full_details=True--full-details on history CLI: common commands
# Authenticate (interactive / uses env vars if set)
amazon-orders loginOrder history
amazon-orders history --year 2023
amazon-orders history --last-30-days
amazon-orders history --last-3-months
Tips
AMAZON_OTP_SECRET_KEY for automated runs. Examples
Export yearly history to JSON
amazon-orders history --year 2023 --full-details > orders_2023.json
Quick totals check (requires jq)
amazon-orders history --last-30-days --full-details | jq -r '.[] | [.order_number, .grand_total] | @tsv'
Notes
π‘ Examples
Export yearly history to JSON
amazon-orders history --year 2023 --full-details > orders_2023.json
Quick totals check (requires jq)
amazon-orders history --last-30-days --full-details | jq -r '.[] | [.order_number, .grand_total] | @tsv'
βοΈ Configuration
Install / upgrade
python3 -m pip install --upgrade amazon-orders
(Install details and version pinning guidance are in the project README.) Authentication options
amazon-orders can get credentials from (highest precedence first): environment variables, parameters passed to AmazonSession, or a local config.
Environment variables:
export AMAZON_USERNAME="you@example.com"
export AMAZON_PASSWORD="your-password"
Optional: for accounts with OTP/TOTP enabled
export AMAZON_OTP_SECRET_KEY="BASE32_TOTP_SECRET"
(OTP secret key usage is documented by the project.)π Tips & Best Practices
AMAZON_OTP_SECRET_KEY for automated runs.