SuperAPI AI Directory

linkfox-keepa-product-search

Marketing & growth

View repository

Updated 10-15 09:10

About this skill

Keepa Product Search

This 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.

Core Concepts

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.

Parameters

Marketplace (Required)

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.

Keyword Filtering

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)

Category Filtering

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

Sales & Ranking Filters

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)

Price Filters

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)

Review & Rating Filters

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)

Package & Dimensions Filters

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)

Other Filters

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

Data Options

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)

Pagination & Sorting

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

How to call

  • API endpoint:POST /keepa/productSearch(for full parameters/responses/error codes, see references/api.md)
  • Python script:python scripts/keepa_product_search.py '<JSON 参数>' [--inline]
  • Cost constraints: This tool consumes compute; by default, the same parameter combination is called only once per session, and the script has a 24h local cache. On failure/empty results, do not automatically try different keywords, paginate, or change the zip code in continuous probing; if further retrieval is needed, first explain to the user that additional consumption will be incurred.

Output strategy (default script behavior):

  • Alwayswrite the full response to <cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-keepa-product-search-<timestamp>.json(<cwd> is the working directory when the script is executed, which in Claude Code is the current project directory;<session> is taken from the environment variable SESSION_ID, automatically aggregated according to the user's task;writing to /tmp is prohibited, and if the current directory is not writable, report an error)
  • Response body ≤ 8 KB: after writing to disk, print the full JSON to stdout
  • Response body > 8 KB: after writing to disk, stdout outputs only a summary (top-level fields, common counts such as total/costToken, the length of the largest list field + the first 3 samples)
  • Add --inline to force full printing to stdout (also written to disk)

Data reading suggestions: First look at the summary to determine whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding bringing the entire JSON into context.

Resolve authentication and compute issues

When the following abnormal situations occur, use references/onboarding.md to guide problem resolution:

Abnormal situations

  • API Key not configured: the environment variable is not configured LINKFOX_AGENT_API_KEY, and LINKFOXAGENT_API_KEY。
  • Response 401 or 402 status code
  • Response indicates insufficient compute or balance: the message contains "insufficient compute balance/insufficient billing/insufficient balance/quota exceeded/insufficient balance/package expired/recharge required/please recharge", or content with a similar meaning.

How to Build Queries

Construct the request parameters based on the user's intent:

  1. Determine the marketplace: Map the user's target country to the correct domain ID value
  2. Set keyword filters: Use keyword for title-based filtering with positive and negative terms
  3. Set category scope: Use categoriesIncludeNames or rootCategoryNames to scope by category; convert user input into proper category path format
  4. Apply numeric filters: Map sales volume, price, BSR, review, and rating requirements to the appropriate Gte/Lte parameters
  5. Set sort order: If the user wants results sorted by sales, price, or rating, configure the sort array
  6. Enable historical data: Set history to 1 if the user needs monthly sales trends or price history

Usage Examples

1. 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"}]}

Display Rules

  1. Present data clearly: Show search results in well-structured tables with key fields: ASIN, title, price, BSR, monthly sales, rating, review count, brand
  2. Price conversion: Convert prices from smallest currency unit to standard format (e.g., 2599 -> $25.99)
  3. BSR clarification: When showing BSR data, remind users that lower values mean better sales ranking
  4. Monthly sales history: When historical data is included, present the 12-month sales trend clearly
  5. Pagination notice: Inform users of the total result count and suggest fetching additional pages if needed
  6. Image links: If image URLs are available, mention them but do not attempt to render them inline unless the user requests it
  7. Error handling: When a query fails, explain the reason and suggest adjusting filter criteria

Important Limitations

  • Result cap: Maximum 100 results per page, minimum 50
  • Sort limit: Maximum 3 sort rules per query
  • Category limit: Maximum 50 category IDs or names per filter
  • Keyword limit: Maximum 50 keywords in keyword parameter
  • Historical data cost: Setting history=1 increases response size and token cost significantly
  • Price unit: All price values are in the smallest currency unit (cents, pence, etc.)

User Expression & Scenario Quick Reference

Applicable -- 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:

  • Real-time Amazon search result page simulation (use Amazon Search)
  • Historical search term volume or ranking trends (use ABA data)
  • Product review content or sentiment analysis
  • Advertising campaign management or bid optimization
  • Listing optimization or copywriting suggestions
  • Inventory or supply chain data

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.

Compute consumption rules

Billed according to dynamic rules: compute consumed = 0.045 × (Keepa tokens consumed in the product-finding stage + Keepa tokens consumed in the product-detail retrieval stage). First find products, then retrieve product details; if no product is found in the first stage, only the consumption of the product-finding stage is counted.

Important: The service of this skill is dynamically calculated by a multiplier and may consume a large amount of compute at once. The user must be reminded, and the user decides whether to continue.

Feedback:

Auto-detect and report feedback via the Feedback API when any of the following apply:

  1. The functionality or purpose described in this skill does not match actual behavior
  2. The skill's results do not match the user's intent
  3. The user expresses dissatisfaction or praise about this skill
  4. Anything you believe could be improved

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.