zyte-ecommerce-products-compare-skill
Extract structured product data from e-commerce URLs using the Zyte API and generate side-by-side comparison tables with intelligent purchase recommendations. Use this skill whenever the user wants to compare products from different e-commerce websites, asks "which product should I buy", wants a product comparison table, needs help deciding between product options, or provides multiple product URLs and wants them analyzed. Also trigger when the user says things like "compare these products", "which is the better deal", "help me pick between these", "product showdown", or pastes 2+ e-commerce URLs. Requires ZYTE_API_KEY in the environment.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/apscrapes/zyte-ecommerce-products-compare-skillZyte E-Commerce Products Compare Skill
Compare products from any e-commerce site by extracting structured data via the Zyte API, building a normalized comparison table, and recommending the best option.
What it does
- Searches products across multiple e-commerce sources
- Extracts price, features, and availability
- Compares products side-by-side
- Recommends the best option
Input
A natural language product query.
Skill structure
zyte-ecommerce-products-compare-skill/
├── SKILL.md ← Workflow and instructions (you are here)
├── scripts/
│ ├── fetch_products.py ← Parallel fetcher (2–20+ URLs, rate-limit aware)
│ └── parse_product.py ← Response parser (handles edge cases in Zyte output)
└── references/
└── zyte-api-notes.md ← API reference notes and known gotchas
When to read what:
scripts/fetch_products.py— always. This is the primary data fetching tool.scripts/parse_product.py— always. Run it on each fetched response file.references/zyte-api-notes.md— when you hit unexpected errors or need to understand a parsing edge case.
Prerequisites
python3(3.8+, stdlib only — no pip installs required)ZYTE_API_KEYset in the environment
Input
Gather from the user:
| Field | Required | Description |
|---|---|---|
urls | Yes | List of product page URLs (at least 1, ideally 2+) |
intent | No | What the user cares about (e.g. "best value", "most durable") |
api_key | Yes | Zyte API key (prefer $ZYTE_API_KEY from env) |
Workflow
Step 1 — Validate inputs
- Confirm at least one URL is provided. If only one URL is given, extract and present its data but note that comparison requires 2+.
- Each URL must start with
http://orhttps://. - Verify
ZYTE_API_KEYis set:
If empty, ask the user to export it.echo "$ZYTE_API_KEY" | head -c 4; echo "..." - If URLs span very different product categories (e.g. footwear and electronics), warn the user and ask for confirmation before proceeding.
Step 2 — Fetch product data (parallel)
Use the bundled fetch script to call the Zyte API for all URLs in parallel:
python3 scripts/fetch_products.py "$ZYTE_API_KEY" \
"https://example.com/products/item-a" \
"https://example.com/products/item-b" \
"https://example.com/products/item-c"
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-apscrapes-zyte-ecommerce-products-compare-skill": {
"enabled": true,
"auto_update": true
}
}
}