From hasdata
Structured product data from Amazon, Shopify stores, and Google Shopping. Use this skill when the user wants to find products, check prices, get product details, list a Shopify store's catalog, scrape an Amazon seller's products, compare prices across retailers, or pull immersive product data. Triggers on "find products on Amazon", "Amazon search for", "ASIN B0...", "Shopify products from", "this Shopify store", "Google Shopping for", "compare prices for", "what does this seller sell", "Amazon seller", or any e-commerce product / pricing request. Returns structured JSON — title, price, ratings, reviews, images, availability — without HTML scraping.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hasdata:hasdata-ecommerceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Structured catalog and product data from Amazon, Shopify, and Google Shopping.
Structured catalog and product data from Amazon, Shopify, and Google Shopping.
For non-platform URLs, use hasdata-scrape. For real-estate listings, jobs, or businesses, use the dedicated skill.
| Command | Purpose | Cost |
|---|---|---|
amazon-search | Amazon search results for a query | 5 |
amazon-product | Full product page by ASIN (price, ratings, images, sellers) | 5 |
amazon-seller | Seller profile by seller ID | 5 |
amazon-seller-products | All products listed by a seller | 5 |
shopify-products | Catalog of any Shopify store (by URL) | 5 |
shopify-collections | Collections list for a Shopify store | 5 |
google-shopping | Google Shopping aggregated results (multi-retailer prices) | 10 |
google-immersive-product | Google's immersive product detail card | 5 |
# Search Amazon
hasdata amazon-search --q "wireless mouse" --pretty -o .hasdata/amazon-mouse.json
# Sort by price low → high, page 2
hasdata amazon-search --q "yoga mat" --sort-by priceLowToHigh --page 2 --pretty -o .hasdata/amazon-yoga-p2.json
# Single product by ASIN
hasdata amazon-product --asin "B0DHJ7SBDR" --pretty -o .hasdata/amazon-product.json
# Different Amazon domain
hasdata amazon-product --asin "B0DHJ7SBDR" --domain www.amazon.co.uk --pretty -o .hasdata/amazon-uk.json
# Seller's catalog
hasdata amazon-seller --seller-id "ATQQBVXK188KS" --pretty -o .hasdata/seller.json
hasdata amazon-seller-products --seller-id "ATQQBVXK188KS" --pretty -o .hasdata/seller-products.json
# Any Shopify store's products (uses public /products.json)
hasdata shopify-products --url "https://allbirds.com" --limit 250 --pretty -o .hasdata/allbirds.json
# Filter by collection handle
hasdata shopify-products --url "https://allbirds.com" --collection "mens-shoes" --limit 100 --pretty -o .hasdata/allbirds-mens.json
# Store's collection list
hasdata shopify-collections --url "https://allbirds.com" --limit 50 --pretty -o .hasdata/allbirds-cols.json
# Cross-retailer search
hasdata google-shopping --q "airpods pro 2" --pretty -o .hasdata/shopping-airpods.json
# Immersive product detail (uses kgmid / product ID from a Google search)
hasdata google-immersive-product --product-id "<id>" --pretty -o .hasdata/immersive.json
| Flag | Purpose |
|---|---|
--q <query> | Search query (search only) |
--asin <id> | Product ASIN (product only) |
--seller-id <id> | Seller ID (seller / seller-products) |
--page <n> | Pagination |
--sort-by | featured, priceLowToHigh, priceHighToLow, avgCustomerReview, newestArrivals, bestSellers |
--domain | www.amazon.com, .co.uk, .de, .co.jp, .in, .ca, etc. |
--language | Per-domain language code |
--delivery-zip | Shipping ZIP for accurate pricing/availability |
--shipping-location | Two-letter country code for delivery |
hasdata amazon-search --q "ergonomic chair" --pretty -o .hasdata/chairs.json
for asin in $(jq -r '.products[].asin' .hasdata/chairs.json | head -10); do
hasdata amazon-product --asin "$asin" --pretty -o ".hasdata/chair-$asin.json" &
done
wait
shopify-products works against any storefront's public /products.json. --limit 250 is the max.--delivery-zip on Amazon — prices and Prime eligibility vary by location.google-immersive-product requires a product ID from a Google search result — it's not directly user-facing.# Amazon search → top 10 with title, price, rating, ASIN
jq -r '.products[0:10] | .[] | "\(.title)\t$\(.price.value // "n/a")\t\(.rating // "n/a")★\t\(.asin)"' .hasdata/amazon.json
# Amazon product → key fields
jq '{title, price: .price.value, rating, reviewsCount, mainImage}' .hasdata/amazon-product.json
# Shopify products → name, price, vendor
jq -r '.products[] | "\(.title)\t$\(.variants[0].price)\t\(.vendor)"' .hasdata/shopify.json
# Google Shopping → all retailer prices for a product
jq '.shoppingResults[] | {title, source, price, link}' .hasdata/shopping.json
google-serp if you want general results not Shopping-specificSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub hasdata/hasdata-claude-plugin --plugin hasdata