Bulk Product Research: Narrowing to a Shortlist With Three Endpoints

Sep 14, 2026

The ceiling on manual product research is how many pages you are willing to scroll. The point of using an API is not accuracy; it is that the same filter can run again next week, with comparable results and auditable criteria.

Here is a three-step flow. For keys and auth see authentication; keep the secret server-side.

export ECOMMERCE_DATA_API_KEY="your_api_key"

Step 1: decide which category is worth entering

Start from category size rather than from a product. Market Research filters niches by category node path and average monthly units:

curl --request POST \
  --url https://ecommercedataapi.com/v1/amazon/market/research \
  --header "Content-Type: application/json" \
  --header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
  --data '{
  "marketplace": "US",
  "month": "202507",
  "nodeIdPath": "172282:281407",
  "minAvgUnits": 100,
  "maxAvgUnits": 10000,
  "page": 1
}'

minAvgUnits and maxAvgUnits carry this step. The floor drops niches with no demand; the ceiling drops the big pools already saturated by major brands. What is left in between is the enterable band, and the actual numbers depend on your capital and logistics.

With candidate categories in hand, run one elimination pass using Brand Concentration and Seller Concentration. A category where the top brands hold too much share can be dropped at the research stage.

Step 2: filter products inside the category

Product Research is the heaviest step, with the most conditions:

curl --request POST \
  --url https://ecommercedataapi.com/v1/amazon/product/research \
  --header "Content-Type: application/json" \
  --header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
  --data '{
  "marketplace": "US",
  "month": "nearly",
  "keyword": "bath rug",
  "matchType": 2,
  "minPrice": 20,
  "maxPrice": 80
}'
Product Research APIFilter by category, sales, revenue, price, rating, seller count, and listing attributes

The three groups of conditions do different work:

  • Price band — decides whether your cost structure can compete. The hardest constraint.
  • Rating and review count — few reviews with a decent rating usually means the position is not yet locked in by reputation.
  • Seller count — many sellers on one ASIN means a crowded resale market. Check fulfillment alongside it.

The full parameter list is in the endpoint docs. month accepts nearly for the most recent period, which keeps a scheduled job from needing a new month value every run.

Step 3: rank the shortlist by magnitude

Once you have candidates you need an order. BSR Sales Estimate needs only a BSR and a category ID, which suits calling it across dozens or hundreds of ASINs:

curl --request POST \
  --url https://ecommercedataapi.com/v1/amazon/sales/prediction/bsr \
  --header "Content-Type: application/json" \
  --header "X-API-Key: ${ECOMMERCE_DATA_API_KEY}" \
  --data '{
  "marketplace": "US",
  "bsr": 1,
  "categoryId": "Category ID"
}'

For a closer read on one priority ASIN, use Product Sales Estimate. Both are estimates.

Three things to get right in a scheduled job

One: limits are per account. RPM and concurrency are enforced at the account level, so extra keys do not raise your quota. Control your own concurrency in step 3 and back off on 429 using Retry-After — see errors and rate limits.

Two: only successful billable requests are charged. Requests that fail before returning a billable result are not charged, so retrying is safe — but a bad loop burns calls quickly. Get the flow working with "size": 1 before opening up pagination.

Three: pin the definitions. Put marketplace and month in the job config rather than scattered through the code. Mismatched definitions are the most common source of wrong period-over-period comparisons.

Reading the fields

KindExamplesHow to use it
Platform-visibleprice, rating, review count, seller countCurrent snapshot; verifiable, usable directly
Third-party estimatemonthly units, revenue, demand magnitudeRanking and orders of magnitude only, never financial projection
Structural metricbrand concentration, price distributionAnswers "can I get in", not "how much would I make"

Limits

  • Sales and revenue are estimates that get revised; the same ASIN may read differently a week later.
  • Category node paths differ per marketplace. Reusing one nodeIdPath across marketplaces will be wrong.
  • This flow does not cover unit cost, freight, or certification. It answers only whether the market is worth entering.

To run the same flow without writing code, hand it to an agent: Handing product research to an AI agent. The next step is a keyword set for the survivors: Building your own keyword library.

Ecommerce Data API

Bulk Product Research: Narrowing to a Shortlist With Three Endpoints | Ecommerce Data API