Install
openclaw skills install airshelfSearch, compare, and buy products from verified merchants. Returns structured product data with Decision Packs (pros, cons, best_for, allergens, verified pricing) instead of raw web scraping. No CAPTCHAs, no auth required. ~980 products across 10 merchants. Use when user wants to find, compare, or purchase products.
openclaw skills install airshelfSearch, compare, and buy products across verified merchants. Returns structured Decision Pack data (best_for, pros, cons, allergens, verified pricing) — not raw web scrapes.
No CAPTCHAs. No auth. No bot detection. Agent-native commerce.
Activate this skill when the user wants to:
https://dashboard.airshelf.ai
All endpoints are public. No API key needed. CORS enabled.
Find products by natural language query. Returns structured data with Decision Packs.
curl -s "https://dashboard.airshelf.ai/api/search?q=QUERY&limit=5" | python3 -m json.tool
Parameters:
q — Search query (natural language, e.g. "barcode printer for warehouse"). Supports intent parsing: "energy supplements under $100" auto-extracts price filter.limit — Results to return (1-100, default 20)offset — Pagination offsetcategory — Filter by categorybrand — Filter by brandmin_price / max_price — Price range filter (also auto-extracted from query)in_stock — Only in-stock items (true/false)merchant_ids — Comma-separated merchant IDs to search withinsort — relevance (default), price_asc, price_descinclude_intent — Set to true to get query parsing metadata in response (shows how query was interpreted)Response includes for each product:
title, brand, price, availability, linkdecision_pack.primary_benefit — Main value propositiondecision_pack.best_for — Array of ideal use casesdecision_pack.pros / decision_pack.cons — Verified trade-offsdecision_pack.allergens — Safety warnings (if applicable)seller_name, seller_url — Merchant infoExample:
curl -s "https://dashboard.airshelf.ai/api/search?q=natural+mosquito+repellent+for+babies&limit=3"
Compare 2-10 products side by side with structured comparison axes.
curl -s "https://dashboard.airshelf.ai/api/compare?products=PRODUCT_ID_1,PRODUCT_ID_2"
Parameters:
products — Comma-separated product IDs (2-10 required, from search results)Response includes:
comparison_axes — Auto-detected from data (price always present; cost_per_day, supply_days, primary_benefit, pros, cons included when 2+ products have the data)products — Flattened product data with decision_pack fields inlinedrecommendation — Structured picks: lowest_price (product ID), best_value (product ID + reason, if different from lowest)Initiate checkout for a product. Returns a checkout URL the user can open.
curl -s -X POST "https://dashboard.airshelf.ai/api/merchants/MERCHANT_ID/checkout" \
-H "Content-Type: application/json" \
-d '{"items": [{"product_id": "PRODUCT_ID", "quantity": 1}]}'
Request body:
items — Array of {product_id, quantity} objects (1-50 items)customer — Optional: {email: "..."} for order trackingagent_id — Optional: your agent identifier for attributionResponse:
checkout_id — Unique checkout session IDcheckout_url — URL to complete purchase (Shopify checkout or cart permalink)checkout_type — "cart" (items pre-loaded in cart) or "redirect" (product page link)total — Calculated total pricecurrency — 3-letter currency code (e.g. "EUR", "USD")expires_at — Expiry timestamp (null for cart permalinks)fallback_urls — If redirect: array of {product_id, product_name, product_url} per itemPresent the checkout URL to the user. They click to complete payment on the merchant's site.
List all merchants with product counts and capabilities:
curl -s "https://dashboard.airshelf.ai/api/directory"
Unlike raw web scraping, each product includes a Decision Pack — verified structured intelligence:
{
"decision_pack": {
"primary_benefit": "Natural protection from bugs",
"best_for": ["Kids with sensitive skin", "Parents who prefer natural products"],
"pros": ["DEET-free formula", "Pleasant scent", "Long-lasting protection"],
"cons": ["Higher price point", "Needs reapplication every 4 hours"],
"allergens": ["Contains citronella oil"],
"age_range": "kids"
}
}
Use Decision Pack data to make recommendations based on the user's actual needs, not just price or title matching.
User: I need a printer for my warehouse, high volume, must support ZPL
You: Let me search for that.
[Runs: curl -s "https://dashboard.airshelf.ai/api/search?q=industrial+barcode+printer+warehouse+high+volume+ZPL&limit=5"]
You: Found 3 matches. The Toshiba BX410T looks like the best fit:
- Best for: High-volume warehouse labeling, ZPL migration from Zebra
- Primary benefit: Premium industrial printer with RFID and near-edge technology
- Price: Contact dealer for pricing
Want me to compare it with the other options, or proceed to checkout?
User: Compare the top two
You: [Runs: curl -s "https://dashboard.airshelf.ai/api/compare?products=ID1,ID2"]
Here's the comparison...
User: I'll take the Toshiba
You: [Runs: curl -s -X POST "https://dashboard.airshelf.ai/api/merchants/MERCHANT_ID/checkout" -H "Content-Type: application/json" -d '{"items": [{"product_id": "ID", "quantity": 1}]}']
Here's your checkout link: [URL]
Click to complete your purchase on the merchant's site.
decision_pack.allergens before recommending health/food/skincare products.product_ids param instead of q to fetch specific products: ?product_ids=ID1,ID2seller.checkout_url with the correct merchant path. Use it directly.