CLI for Austrian Marktguru supermarket deals.
See SKILL.md for a comprehensive reference designed for AI coding agents.
Use npx to run without installing anything:
npx --yes marktguru-cli login
npx --yes marktguru-cli search raw "milch OR soja"
npx --yes marktguru-cli search build --term milch --or soja- Node.js 18+ (built-in
fetch) - Works with
npm,pnpm, andbun
Login (extracts API key via HTTP by scanning the site’s JS):
marktguru loginSearch (raw query string syntax):
marktguru search raw "kellys OR \"erdnuss snips\""Search (structured builder):
marktguru search build --term kellys --phrase "erdnuss snips" --or manner --explainShow supported query syntax:
marktguru search syntaxSet a default ZIP code:
marktguru set-zip 1010Show config:
marktguru configInstall and run from source:
pnpm install
pnpm run build
pnpm run start -- --helpDev mode (TS directly):
pnpm run dev -- --helpAvailable for both search raw and search build:
-z, --zip <code>: ZIP code for location-based results-n, --limit <number>: Number of results (default: 10)-r, --retailer <name>: Filter by retailer (client-side)-j, --json: JSON output
If no API key is configured, search will automatically run login to extract one.
Builder-only:
--term <value>: Add a term (repeatable)--phrase <value>: Add an exact phrase (repeatable)--wildcard <value>: Add a wildcard term likekell*(repeatable)--or <value>: Add a term to an OR group (repeatable)--group <value>: Add a raw group wrapped in parentheses (repeatable)--explain: Print the built query to stderr
The API appears to accept a Lucene/Elasticsearch-style query string, not SQL.
Supported:
ORfor boolean OR*wildcard (e.g.,kell*)"..."exact phrase( ... )grouping
Not supported (observed):
AND,NOT,~,^
- Uses HTTP requests (no browser automation).
- Scans entry HTML and boot scripts for embedded API keys and validates them.
- May break if the website changes.
~/.marktguru/config.json