AirShelf Agentic Commerce Platform
by @evoleinik
Search, 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.
clawhub install airshelfπ About This Skill
name: airshelf displayName: AirShelf Agentic Commerce Platform description: Search, 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. metadata: {"clawdbot":{"emoji":"π","requires":{"bins":["curl"]}}}
AirShelf β Verified Product Search & Checkout for AI Agents
Search, 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.
When to Use
Activate this skill when the user wants to:
API Base URL
https://dashboard.airshelf.ai
All endpoints are public. No API key needed. CORS enabled.
Step 1: Search Products
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"
Step 2: Compare Products
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)Step 3: Checkout
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.
Browse Available Merchants
List all merchants with product counts and capabilities:
curl -s "https://dashboard.airshelf.ai/api/directory"
How Decision Packs Work
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.
Example Conversation
User: I need a printer for my warehouse, high volume, must support ZPLYou: 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.
Tips
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.β‘ When to Use
π Tips & Best Practices
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.