CLI for autonomous grocery shopping on ASDA
Project description
AsdaBot
Autonomous grocery shopping on ASDA from the terminal. CLI + Claude Code Plugin.
Below is Claude Code using the tool to order ingredients for a lasagna.
Prerequisites
You need an existing ASDA Groceries account with:
- A saved delivery address
- A saved payment card
Install
uv tool install asdabot
Or run directly without installing:
uvx asdabot search "milk"
Setup
asdabot auth login # Opens browser — log in to ASDA
echo "ASDA_CARD_CVV=1234" > ~/.config/asdabot/.env # Store your CVV code for payment automation
Login automatically fetches your delivery address and store from your ASDA account.
Usage
asdabot search "milk"
asdabot basket add 165468
asdabot slots list
asdabot slots book <SLOT_ID>
asdabot checkout
Claude Code Plugin
Works as a Claude Code plugin — Claude can manage your grocery shopping autonomously.
/plugin marketplace add MarkDunne/AsdaBot
/plugin install asdabot@asdabot
Or for local development:
claude --plugin-dir /path/to/AsdaBot
Commands
| Command | Description |
|---|---|
search <query> |
Search products (no auth needed) |
search <query> -d |
Search with product descriptions |
product <CIN> |
Full product details by CIN (Customer Item Number) |
basket show |
View current basket |
basket add <CIN> |
Add product to basket |
basket add-many <CIN> ... |
Add multiple products in one request |
basket remove <ITEM_ID> |
Remove item from basket |
basket clear |
Clear all items |
slots list |
List available delivery slots (max 3 days) |
slots book <SLOT_ID> |
Book a delivery slot |
checkout -y |
Place order via headless browser |
orders |
Show recent orders with payment status |
auth login |
Open browser for login (one-time) |
auth status |
Check token expiry and account info |
auth refresh |
Manually refresh tokens |
How it works
AsdaBot uses your existing ASDA account to search products, manage your basket, book delivery slots, and place orders — all from the terminal. Login is handled through a browser session; subsequent operations use ASDA's APIs directly. Payment at checkout is processed via a headless browser.
Config is stored in ~/.config/asdabot/.
Security and Disclaimer
This is an unofficial tool. It is not affiliated with, endorsed by, or supported by ASDA or Walmart. Use it at your own risk. It automates a real shopping account and places real orders with real money.
- CVV is stored in
~/.config/asdabot/.envand is only used to complete payment in the browser — never logged or transmitted by asdabot. - Auth tokens are stored in
~/.config/asdabot/account.json. Only expiry times appear in CLI output. - Restrict file permissions:
chmod 600 ~/.config/asdabot/.env ~/.config/asdabot/account.json - Review your basket before confirming checkout —
asdabot checkout -yplaces a real order immediately
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asdabot-0.1.2.tar.gz.
File metadata
- Download URL: asdabot-0.1.2.tar.gz
- Upload date:
- Size: 211.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b06908044c6bc1d229cd9ed21ccab69834bb446a5878704b1dbcf3c55843fe84
|
|
| MD5 |
20fc38b9a20b613fbe6cf03d5ba364d7
|
|
| BLAKE2b-256 |
010641da3f4cc584912c523323478ba60a96f3fc4b96c81be613549e9aded7fe
|
File details
Details for the file asdabot-0.1.2-py3-none-any.whl.
File metadata
- Download URL: asdabot-0.1.2-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a54bdf29d969dbf4ec24216f71099ec770e85ad6dc03e39fb380bc3f85626f46
|
|
| MD5 |
27d662fa3286503e28f373010bc96785
|
|
| BLAKE2b-256 |
18c66ef41ecf4ba0adb0593f1ad5304758a79bc793be9b6c0ce15d7b53c80732
|