Skip to main content

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.

AsdaBot demo

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/.env and 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 -y places a real order immediately

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asdabot-0.1.2.tar.gz (211.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asdabot-0.1.2-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for asdabot-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b06908044c6bc1d229cd9ed21ccab69834bb446a5878704b1dbcf3c55843fe84
MD5 20fc38b9a20b613fbe6cf03d5ba364d7
BLAKE2b-256 010641da3f4cc584912c523323478ba60a96f3fc4b96c81be613549e9aded7fe

See more details on using hashes here.

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

Hashes for asdabot-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a54bdf29d969dbf4ec24216f71099ec770e85ad6dc03e39fb380bc3f85626f46
MD5 27d662fa3286503e28f373010bc96785
BLAKE2b-256 18c66ef41ecf4ba0adb0593f1ad5304758a79bc793be9b6c0ce15d7b53c80732

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page