Every Daraz product search, plus a local price database, real-deal ranking, and drop alerts no Daraz scraper has.
daraz-pp-cli searches Daraz.pk listings, reads reviews, and extracts product detail like any scraper — then keeps it in a local SQLite store so it can do what one-shot scrapers cannot: track price history (price-history), rank genuine deals over fake discounts (deals, value), diff a saved search over time (since), and vet sellers (seller stats). Read-only, no login required.
The recommended path installs both the daraz-pp-cli binary and the pp-daraz agent skill (Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, and other agents supported by the upstream skills CLI) in one shot:
npx -y @mvanhorn/printing-press-library install darazFor CLI only (no skill):
npx -y @mvanhorn/printing-press-library install daraz --cli-onlyFor skill only — installs the skill into the same agents as the default command above, but skips the CLI binary (use this to update or reinstall just the skill):
npx -y @mvanhorn/printing-press-library install daraz --skill-onlyTo constrain the skill install to one or more specific agents (repeatable — agent names match the skills CLI):
npx -y @mvanhorn/printing-press-library install daraz --agent claude-code
npx -y @mvanhorn/printing-press-library install daraz --agent claude-code --agent codexIf npx isn't available (no Node, offline), install the CLI directly via Go (requires Go 1.26.4 or newer):
go install github.com/mvanhorn/printing-press-library/library/commerce/daraz/cmd/daraz-pp-cli@latestThis installs the CLI only — no skill.
Download a pre-built binary for your platform from the latest release. On macOS, clear the Gatekeeper quarantine: xattr -d com.apple.quarantine <binary>. On Unix, mark it executable: chmod +x <binary>.
Install the CLI binary first. The installer writes binaries to a per-user managed bin directory by default: $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows.
npx -y @mvanhorn/printing-press-library install daraz --cli-onlyThen install the focused Hermes skill.
From the Hermes CLI:
hermes skills install mvanhorn/printing-press-library/cli-skills/pp-daraz --forceInside a Hermes chat session:
/skills install mvanhorn/printing-press-library/cli-skills/pp-daraz --forceRestart the Hermes session or gateway if the newly installed skill is not visible immediately.
Install both the CLI binary and the focused OpenClaw skill. The installer defaults binaries to a per-user bin directory ($HOME/.local/bin on macOS/Linux, %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows):
npx -y @mvanhorn/printing-press-library install daraz --agent openclawRestart the OpenClaw session or gateway if the newly installed skill is not visible immediately.
This CLI ships an MCPB bundle — Claude Desktop's standard format for one-click MCP extension installs (no JSON config required).
To install:
- Download the
.mcpbfor your platform from the latest release. - Double-click the
.mcpbfile. Claude Desktop opens and walks you through the install.
Requires Claude Desktop 1.0.0 or later. Pre-built bundles ship for macOS Apple Silicon (darwin-arm64) and Windows (amd64, arm64); for other platforms, use the manual config below.
Manual JSON config (advanced)
If you can't use the MCPB bundle (older Claude Desktop, unsupported platform), install the MCP binary and configure it manually.
go install github.com/mvanhorn/printing-press-library/library/commerce/daraz/cmd/daraz-pp-mcp@latestAdd to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"daraz": {
"command": "daraz-pp-mcp"
}
}
}# Health check — confirms daraz.pk is reachable; needs no credentials.
daraz-pp-cli doctor --dry-run
# Core search with a PKR price range, cheapest first.
daraz-pp-cli products --query "gaming laptop" --price 50000-150000 --sort priceasc
# Read recent reviews for a product by its item ID.
daraz-pp-cli reviews --item-id 599201597 --page-size 5
These capabilities aren't available in any other tool for this API.
-
price-history— See a product's recorded price trend and its lowest-ever price from your local store.Reach for this to judge whether a current price is actually low for that item, not just discounted on paper.
daraz-pp-cli price-history 599201597 --agent
-
watch— Record current prices for every item matching a search into the local store so price history builds over time.Run periodically on a query you care about; then price-history shows the trend for any item it captured.
daraz-pp-cli watch "gaming laptop" -
since— Diff a saved search against its last local snapshot to show new listings and price moves since you last checked.Use to monitor a market over time instead of re-reading a full result list each run.
daraz-pp-cli since "gaming mouse" --agent
-
deals— Rank a search by a composite of discount, rating, and units sold to surface genuinely good deals.Use when the goal is the best-value item for a query, not raw listing order.
daraz-pp-cli deals "laptop" --agent --select name,price,discountPct,rating -
value— Flag inflated original-price discounts by comparing each item's claimed original price to the local median for that query.Use to avoid misleading discounts; it is the inverse of deals.
daraz-pp-cli value "power bank" --agent -
compare— Find the same item across sellers and show the cheapest and best-rated side by side.Use to pick the best seller/listing for an item before buying.
daraz-pp-cli compare "airpods pro" --agent
-
seller stats— Aggregate a seller's catalog from the local store: average rating, price range, listing count, discount pattern.Use to vet a seller's track record before trusting a listing.
daraz-pp-cli seller stats 1066739 --agent
daraz-pp-cli deals "wireless earbuds" --agent --select name,price,discountPct,rating,urldeals returns a flat, ranked array of listings, so --select trims each row to just the fields an agent needs and keeps payloads small.
daraz-pp-cli deals "power bank" --agent --select name,price,discountPct,ratingRanks by a discount-times-rating-times-sales composite computed locally.
daraz-pp-cli watch 599201597Records the current price so price-history builds a real trend over time.
daraz-pp-cli since "gaming mouse" --agentDiffs the current search against the last local snapshot for new listings and price moves.
Run daraz-pp-cli --help for the full command reference and flag list.
Search Daraz product listings
daraz-pp-cli products- Search products by keyword with sort and price filtering
Read product reviews and rating distribution
daraz-pp-cli reviews- List reviews for a product by its numeric item ID
# Human-readable table (default in terminal, JSON when piped)
daraz-pp-cli products --query example-value
# JSON for scripting and agents
daraz-pp-cli products --query example-value --json
# Filter to specific fields
daraz-pp-cli products --query example-value --json --select id,name,status
# Dry run — show the request without sending
daraz-pp-cli products --query example-value --dry-run
# Agent mode — JSON + compact + no prompts in one flag
daraz-pp-cli products --query example-value --agentThis CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--jsonoutput to stdout, errors to stderr - Filterable -
--select id,namereturns only fields you need - Previewable -
--dry-runshows the request without sending - Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
- Offline-friendly - sync/search commands can use the local SQLite store when available
- Agent-safe by default - no colors or formatting unless
--human-friendlyis set
Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.
daraz-pp-cli doctorVerifies configuration and connectivity to the API.
Config file: ~/.config/daraz-pp-cli/config.toml
Static request headers can be configured under headers; per-command header overrides take precedence.
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
listcommand to see available items
- Empty results for a query that has products on the site — Drop filters and retry: daraz-pp-cli products --query "" — then re-add --price.
- price-history or since shows nothing — Populate the local store first: daraz-pp-cli watch (for price-history) or run the same search once before since.
- reviews returns nothing — Confirm the numeric item ID from a product URL (the digits after -i in .../products/...-i.html).
This CLI was built by studying these projects and resources:
- oxylabs/lazada-scraper — Python
- zohaibbashir/Daraz.pk-Web-Scraper — Python
- kazalnsl/daraz-scraper — Python
- Yeasir-Hossain/daraz-scrapper — JavaScript
- abdulalikhan/DarazPK-API — Python
Generated by CLI Printing Press