Install
openclaw skills install @linkfox-ai/linkfox-keepa-product-search基于Keepa数据的亚马逊高级商品搜索与筛选,支持品类、价格、月销量、关键词、BSR排名、评论数、评分、包装尺寸、重量、配送方式等多维度条件。当用户提到Keepa选品、亚马逊商品查找、高级选品、BSR筛选、按销售排名选品、月销量过滤、关键词选品、品类选品、竞品筛选、小众商品发掘、历史排名筛选、Keepa product selection, advanced product selection, BSR filtering, sales filtering, category search, competitor screening, historical data filtering, Amazon product selection时触发此技能。即使用户未明确提及"Keepa",只要其需求涉及多条件亚马逊商品搜索、按销售指标筛选商品或超越简单关键词搜索的高级选品,也应触发此技能。
openclaw skills install @linkfox-ai/linkfox-keepa-product-searchThis skill guides you on how to search and filter Amazon products using Keepa's extensive product database, helping Amazon sellers find products that match specific criteria across multiple dimensions.
This tool provides advanced Amazon product search powered by Keepa data. Unlike a simple Amazon storefront search, it supports multi-criteria filtering: category, price range, monthly sales volume, BSR (Best Sellers Rank), keyword matching (positive and negative), review counts, ratings, package dimensions, weight, fulfillment type, historical sales rank, and more. It returns detailed product data including pricing, titles, images, listing dates, materials, weights, monthly sales for the past 12 months, and more.
BSR (Best Sellers Rank): A lower salesRank value means better sales performance. Rank 1 is the best-selling product in its category. When a user says "top-selling products", they want low BSR values.
Price unit: Prices are expressed in the smallest currency unit (e.g., cents for USD). So $25.99 = 2599. Always convert when building queries and when displaying results.
Category names: The categoriesIncludeNames parameter supports multi-level category paths separated by a colon : or the > character. Automatically convert user input into the correct format.
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
| domain | string | Yes | Amazon marketplace ID | - |
Domain ID mapping:
| ID | Marketplace |
|---|---|
| 1 | Amazon.com (United States) |
| 2 | Amazon.co.uk (United Kingdom) |
| 3 | Amazon.de (Germany) |
| 4 | Amazon.fr (France) |
| 5 | Amazon.co.jp (Japan) |
| 6 | Amazon.ca (Canada) |
| 8 | Amazon.it (Italy) |
| 9 | Amazon.es (Spain) |
| 10 | Amazon.in (India) |
| 11 | Amazon.com.mx (Mexico) |
Default marketplace is 1 (US). Use domain 1 when the user doesn't specify a marketplace.
| Parameter | Type | Description |
|---|---|---|
| keyword | string | Title keyword filter (case-insensitive; space = AND; wrap phrases in double quotes; prefix with - to exclude; & is replaced by space; max 50 keywords, max 1000 chars) |
| Parameter | Type | Description |
|---|---|---|
| rootCategory | array[int] | Root category IDs (max 50) |
| rootCategoryNames | array[string] | Root category names (max 50); used when rootCategory is empty; system auto-resolves IDs |
| categoriesInclude | array[int] | Sub-category IDs to include (max 50) |
| categoriesIncludeNames | array[string] | Sub-category names to include (max 50); supports full category paths with : or > separators |
| categoriesExclude | array[int] | Sub-category IDs to exclude (max 50) |
| categoriesExcludeNames | array[string] | Sub-category names to exclude (max 50); supports full category paths |
| Parameter | Type | Description |
|---|---|---|
| currentSalesGte | integer | Current BSR -- minimum (higher number = worse rank) |
| currentSalesLte | integer | Current BSR -- maximum (lower number = better rank) |
| avg90SalesGte | integer | 90-day average BSR -- minimum |
| avg90SalesLte | integer | 90-day average BSR -- maximum |
| deltaPercent90SalesGte | integer | 90-day BSR change percentage -- minimum |
| deltaPercent90SalesLte | integer | 90-day BSR change percentage -- maximum |
| monthlySoldGte | integer | Monthly sales units -- minimum |
| monthlySoldLte | integer | Monthly sales units -- maximum |
| srAvgGte | integer | Historical average BSR -- minimum (for a specific month) |
| srAvgLte | integer | Historical average BSR -- maximum (for a specific month) |
| srAvgMonth | string | Historical BSR month selection (format: YYYYMM, within last 36 months) |
| Parameter | Type | Description |
|---|---|---|
| currentNewGte | integer | Current new price -- minimum (smallest currency unit) |
| currentNewLte | integer | Current new price -- maximum (smallest currency unit) |
| currentBuyBoxShippingGte | integer | Current Buy Box price including shipping -- minimum (smallest currency unit) |
| currentBuyBoxShippingLte | integer | Current Buy Box price including shipping -- maximum (smallest currency unit) |
| Parameter | Type | Description |
|---|---|---|
| currentCountReviewsGte | integer | Review count -- minimum |
| currentCountReviewsLte | integer | Review count -- maximum |
| currentRatingGte | number | Rating -- minimum (0.0-5.0) |
| currentRatingLte | number | Rating -- maximum (0.0-5.0) |
| Parameter | Type | Description |
|---|---|---|
| packageLengthGte / packageLengthLte | integer | Package length range (mm) |
| packageWidthGte / packageWidthLte | integer | Package width range (mm) |
| packageHeightGte / packageHeightLte | integer | Package height range (mm) |
| packageWeightGte / packageWeightLte | integer | Package weight range (grams) |
| Parameter | Type | Description |
|---|---|---|
| brand | array[string] | Brand names (OR match) |
| color | array[string] | Colors (OR match) |
| size | array[string] | Sizes (OR match) |
| availableDateGte / availableDateLte | string | Listing date range (yyyy-MM-dd) |
| buyBoxIsAmazon | boolean | Buy Box seller is Amazon |
| buyBoxIsFBA | boolean | Buy Box is FBA fulfilled |
| isHazMat | boolean | Hazardous material flag |
| variationCountGte / variationCountLte | integer | Variation count range |
| currentCountNewGte / currentCountNewLte | integer | Number of new offers range |
| outOfStockPercentage90Gte / outOfStockPercentage90Lte | integer | 90-day out-of-stock percentage range |
| singleVariation | boolean | Return only one variation per parent ASIN |
| productType | array[int] | Product types: 0=standard, 1=downloadable, 2=ebook, 5=variation parent |
| Parameter | Type | Description | Default |
|---|---|---|---|
| history | integer | Include historical data (price history, sales rank, monthly sales per month) | 0 (no) |
| rating | integer | Include rating info | 1 (yes) |
| Parameter | Type | Description | Default |
|---|---|---|---|
| page | integer | Page number (starting from 1) | 1 |
| perPage | integer | Results per page (min 50, max 100) | 50 |
| sort | array[object] | Sort rules (max 3); each object: `{"fieldName": "...", "sortDirection": "asc | desc"}` |
Sortable fields: availableDate, currentSales, monthlySold, currentRating, currentCountReviews, currentBuyBoxShipping, currentNew
POST /keepa/productSearch(完整参数/响应/错误码见 references/api.md)python scripts/keepa_product_search.py '<JSON 参数>' [--inline]输出策略(脚本默认行为):
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-keepa-product-search-<timestamp>.json(<cwd> 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录;<session> 取自环境变量 SESSION_ID,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)total/costToken、最大列表字段的长度 + 前 3 条样本)--inline 强制全量打印到 stdout(同样落盘)读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq或ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
发生以下异常情况时,采用 references/onboarding.md 引导解决问题:
LINKFOX_AGENT_API_KEY,也未配置 LINKFOXAGENT_API_KEY。Construct the request parameters based on the user's intent:
domain ID valuekeyword for title-based filtering with positive and negative termscategoriesIncludeNames or rootCategoryNames to scope by category; convert user input into proper category path formatsort arrayhistory to 1 if the user needs monthly sales trends or price history1. Search for electronics with monthly sales over 1000 on US marketplace
{"domain": "1", "rootCategoryNames": ["Electronics"], "monthlySoldGte": 1000}
2. Find products in a price range with good ratings
{"domain": "1", "currentBuyBoxShippingGte": 1500, "currentBuyBoxShippingLte": 5000, "currentRatingGte": 4.0, "keyword": "wireless charger"}
3. New products listed in the last 6 months with low review counts
{"domain": "1", "availableDateGte": "2025-10-01", "currentCountReviewsLte": 50, "monthlySoldGte": 500}
4. BSR rank filtering for competitive analysis
{"domain": "1", "categoriesIncludeNames": ["Home & Kitchen"], "currentSalesLte": 5000, "sort": [{"fieldName": "monthlySold", "sortDirection": "desc"}]}
5. Find non-Amazon FBA products with good sales
{"domain": "1", "buyBoxIsAmazon": false, "buyBoxIsFBA": true, "monthlySoldGte": 300, "currentRatingGte": 4.0}
6. Lightweight small products for easy shipping
{"domain": "1", "packageWeightLte": 500, "packageLengthLte": 200, "packageWidthLte": 150, "packageHeightLte": 100, "monthlySoldGte": 200}
7. Search on Japan marketplace with historical data
{"domain": "5", "keyword": "USB charger", "history": 1, "monthlySoldGte": 100}
8. Brand-specific search excluding hazardous materials
{"domain": "1", "brand": ["Anker", "UGREEN"], "isHazMat": false, "sort": [{"fieldName": "monthlySold", "sortDirection": "desc"}]}
history=1 increases response size and token cost significantlyApplicable -- Multi-criteria Amazon product search and filtering:
| User Says | Scenario |
|---|---|
| "Find products with monthly sales over X" | Sales volume filtering |
| "Search for products in XX category" | Category-based product discovery |
| "Products with BSR under X" | Sales rank filtering |
| "New products listed in the last N months" | New product discovery |
| "Products priced between $X and $Y" | Price range filtering |
| "FBA products with good ratings" | Fulfillment + rating filter |
| "Lightweight products under X grams" | Package dimension filtering |
| "Products from brand XX" | Brand-specific search |
| "Show me historical sales data for XX" | Historical sales analysis |
| "Advanced product selection", "product screening" | Multi-criteria product research |
| "Niche product hunting", "find low-competition products" | Competitive gap analysis |
| "BSR trends", "sales rank history" | Historical rank filtering |
Not applicable -- Needs beyond product search:
Boundary judgment: When users say "product research" or "find products", if it involves filtering by sales metrics, BSR, price, category, and other structured criteria, this skill applies. If they want to see what appears on the actual Amazon search page for a keyword, use Amazon Search instead. If they want search term analytics, use ABA data.
按动态规则计费:消耗积分 = 0.045 × (找商品阶段消耗的 Keepa token + 拉取商品详情阶段消耗的 Keepa token)。先找商品,再拉商品详情;若第一段未找到商品,则只计找商品阶段消耗。
重要:本技能的服务按倍数动态计算,可能一次性消耗大量积分,必须提醒用户,由用户决定是否继续。
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.
For more high-quality, professional cross-border e-commerce skills, set LinkFox Skills.