Skip to main content
Both Browse the product catalog and Look up one product by ASIN return a deal object, or null when no eligible confirmed deal exists.

Find deals

Either discount bound or either deal sort implies deals-only, even when deals_only is omitted or false. A minimum greater than the maximum returns HTTP 400; invalid bounds or sort values return HTTP 422. Equal bounds are valid. The existing marketplace, search, brand, ASIN, and pagination filters still apply. product_available=no combined with deal filtering returns no matches. The list response keeps total_count, fetched_count, skip, limit, and product_catalog. The single-product endpoint returns the product object directly; it does not accept the list’s deal filters or sorting options.

Deal response

Illustrative product excerpt (prices use the product’s pricing.currency):
For list price 17.97, average price 8.62 and current price 2.99, the reference was_price is 8.62 and the discount is approximately 65%. Coupon savings are not automatically subtracted from current_price or included in savings sorting. Catalog price / pricing.price and top-level list_price may differ from deal snapshot prices. Use deal.was_price and deal.current_price together for deal savings. Savings sorting compares amounts in their local currencies without currency conversion, so select one marketplace for meaningful comparisons.

Freshness and availability

deal is null for missing or invalid snapshots, unavailable products, snapshots older than 24 hours, or expired deals. Lightning deals require a known future end time. A null end time for a non-lightning deal does not guarantee indefinite availability. Deal filters and counts use the same validity rules. The public field names are deal, avg_last_30_day_price, and last_updated. Internal storage field names are not returned in the response.