Amazon Commerce Deals API
List current Amazon deals with deal price, discount and product title.
- 0.5 credits per call
- Failed calls are free
- Updated
- amazon.deals.list
{ "has_next": true, "next_index": 30, "deals": [ { "title": "Apple AirPods Pro 3 Wireless Earbuds with Active Noise Cancellation | Live Translation, Heart Rate Sensing, Hearing Aid Feature, Bluetooth …", "price": "179.00", "asin": "B0FQFB8FMG", "currency": "USD", "discount_percentage": 28, "position": 1, "price_numeric": 179, "savings": "28% off", "url": "https://www.amazon.com/dp/B0FQFB8FMG" }, { "title": "Apple 2026 MacBook Air 13-inch Laptop with M5 chip: Built for AI, 13.6-inch Liquid Retina Display, 16GB Unified Memory, 1TB SSD, 12MP Cente…", "price": "1399.00", "asin": "B0GR1DS9NX", "currency": "USD", "discount_percentage": 13, "position": 2, "price_numeric": 1399, "savings": "13% off", "url": "https://www.amazon.com/dp/B0GR1DS9NX" } ]}
| # | Title | Price | Discount % | Savings | ASIN | Price | Currency | Position | Url |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Apple AirPods Pro 3 Wireless Earbuds with Active Noise Cancella… | 179 | 28 | 28% off | B0FQFB8FMG | 179.00 | USD | 1 | https://www.amazon.com/dp/B0FQFB8FMG |
| 2 | Apple 2026 MacBook Air 13-inch Laptop with M5 chip: Built for A… | 1399 | 13 | 13% off | B0GR1DS9NX | 1399.00 | USD | 2 | https://www.amazon.com/dp/B0GR1DS9NX |
| 3 | Apple 2026 MacBook Air 15-inch Laptop with M5 chip: Built for A… | 1299 | 13 | 13% off | B0GR1N82GJ | 1299.00 | USD | 3 | https://www.amazon.com/dp/B0GR1N82GJ |
| 4 | Premier Protein LIMITED EDITION 30g Shake, Lemon Bar, 12 Pack |… | 22.39 | 30 | 30% off | B0DRPSBQH3 | 22.39 | USD | 4 | https://www.amazon.com/dp/B0DRPSBQH3 |
| 5 | Bose QuietComfort Headphones - Wireless Bluetooth Headphones, A… | 169 | 53 | 53% off | B0F2LCBKVN | 169.00 | USD | 5 | https://www.amazon.com/dp/B0F2LCBKVN |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| limit | integer | no | Maximum number of results to return. From 1 to 100. | 5 |
| start_index | integer | no | From 0 to 1000. | 0 |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| deals[].title | string | The product title as Amazon shows it. | Apple AirPods Pro 3 Wireless Earbuds with Active Noise Cancella… |
| deals[].price_numeric | integer | The price as a number. | 179 |
| deals[].discount_percentage | integer | The discount, in percent. | 28 |
| deals[].savings | string | The saving as Amazon words it. | 28% off |
| deals[].asin | string | Amazon's product ID (ASIN). | B0FQFB8FMG |
| deals[].price | string | The price as Amazon shows it. | 179.00 |
| deals[].currency | string | The currency of the price. | USD |
| deals[].position | integer | The result's position in the list. | 1 |
| deals[].url | string | The product page on Amazon. | https://www.amazon.com/dp/B0FQFB8FMG |
| deals | array | The deals found. | 5 records |
| has_next | boolean | Whether more deals follow. | true |
| next_index | integer | Send it as start_index to get the next deals. | 30 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "amazon.deals.list", "input": { "limit": 5, "start_index": 0 }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "amazon.deals.list", "input": { "limit": 5, "start_index": 0 }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "amazon.deals.list", "input": { "limit": 5, "start_index": 0 }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, show me the current Amazon deals with the biggest discounts, with price and discount.
More from the Amazon Commerce API
- Amazon Commerce Listings Search API0.5 credits
- Amazon Commerce Product API1 credit
- Amazon Commerce Product Offers API1 credit
- Amazon Commerce Best Sellers API0.25 credits
- Amazon Commerce Seller API0.25 credits
- Amazon Commerce Seller Feedback API0.25 credits
- Amazon Commerce Seller Products API0.25 credits
- Amazon Commerce Featured Product Reviews API1 credit
- Amazon Commerce Search Suggestions API0.25 credits
- Amazon Commerce Category Tree API0.5 credits
The same data from other platforms
Amazon Commerce Deals API FAQ
The short answers. The docs have the long ones.
How much does the Amazon Commerce Deals API cost?
0.5 credits per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Every input is optional; the input fields below list what each one does.
Do I need an Amazon Commerce login?
No. It reads public Amazon Commerce data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds amazon.deals.list, checks its price and runs it with the same credits as the REST API.
Your first Amazon Commerce call is free.
Up to 100 free credits to start, no card needed.