Retailers
Amazon
Amazon product data by ASIN in three tiers, from a 0.25-credit change scan to the full listing, with delivery dates from lite up. Offers and offer check are live too.
At a glance
| Property | Value |
|---|---|
platform | amazon (the default when omitted) |
| Item id | The ASIN: 10 letters or digits, after /dp/ in a product URL. Books use their ISBN-10. Send in ids (or asins); upper-cased for you. |
| Marketplaces | Live: us. More are coming soon. |
| Tiers | pulse (0.25), lite (1), full (5) credits per ASIN. tier is required. |
| Ids per call | 2,000; 10,000 at pulse |
| Also live | Offers (every seller, 1–3 credits) and offer check (0.5 per offer) |
Requests, the response envelope and billing work as on every platform (Products). Amazon results keep their detailed fields at the top level (buybox, offers, delivery, full) and carry the neutral price, availability, seller and fulfillment beside them. Every result also has asin, equal to id.
Example
curl -X POST "https://api.scrapelyserp.com/v1/products" \
-H "Authorization: Bearer $SCRAPELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "amazon",
"ids": ["0060094664", "B0009KNLV6", "BZZZZZZZZZ"],
"tier": "lite"
}'{
"platform": "amazon",
"marketplace": "us",
"tier": "lite",
"results": [
{
"asin": "0060094664",
"id": "0060094664",
"status": "ok",
"fetchedAt": "2026-10-15T18:04:11.412Z",
"buybox": {
"price": 4.74,
"currency": "USD",
"priceDisplay": "$4.74",
"listPrice": 8.99,
"savings": {
"percent": 47,
"amount": 4.25
},
"inStock": true,
"availabilityType": "IN_STOCK",
"fulfillerName": "Amazon.com",
"isFba": true,
"availabilityMessage": "In Stock",
"condition": "NEW",
"merchant": {
"id": "ATVPDKIKX0DER",
"name": "Amazon.com"
},
"offerListingId": "Xh7+qT2b/kLm9wQ=="
},
"title": "The Lion, the Witch and the Wardrobe",
"category": "Books",
"offers": {
"newCount": 38,
"newMinPrice": 3.98,
"usedCount": 112,
"usedMinPrice": 1.07,
"currency": "USD"
},
"reviews": {
"rating": 4.8,
"count": "41,872"
},
"isParent": false,
"delivery": {
"standard": {
"earliest": "2026-10-19T07:00:00Z",
"latest": "2026-10-19T07:00:00Z",
"free": true,
"cost": 0
},
"fastest": {
"earliest": "2026-10-16T07:00:00Z",
"latest": "2026-10-16T07:00:00Z",
"free": false,
"cost": 2.99,
"orderBy": "2026-10-15T23:16:00Z"
},
"isPrime": true,
"currency": "USD"
},
"price": {
"amount": 4.74,
"currency": "USD"
},
"availability": {
"inStock": true,
"message": "In Stock"
},
"seller": {
"id": "ATVPDKIKX0DER",
"name": "Amazon.com"
},
"fulfillment": {
"byPlatform": true,
"name": "Amazon.com"
},
"url": "https://www.amazon.com/dp/0060094664"
},
{
"asin": "B0009KNLV6",
"id": "B0009KNLV6",
"status": "ok",
"fetchedAt": "2026-10-15T18:04:11.412Z",
"buybox": {
"price": 12.99,
"currency": "USD",
"priceDisplay": "$12.99",
"deal": "Limited time deal",
"inStock": true,
"availabilityType": "IN_STOCK",
"fulfillerName": "Lumen Direct",
"isFba": false,
"availabilityMessage": "Only 3 left in stock - order soon.",
"condition": "NEW",
"merchant": {
"id": "A3QF8VQX2L7MZN",
"name": "Lumen Direct"
},
"offerListingId": "pQ4/z9Lr0sT="
},
"title": "Lumen 6-Outlet Surge Protector, 4 ft",
"brand": "Lumen",
"category": "Electronics",
"offers": {
"newCount": 4,
"newMinPrice": 12.49,
"usedCount": 0,
"currency": "USD"
},
"reviews": {
"rating": 4.6,
"count": "1,204"
},
"isParent": false,
"delivery": {
"standard": {
"earliest": "2026-10-20T07:00:00Z",
"latest": "2026-10-23T07:00:00Z",
"free": false,
"cost": 5.99
},
"freeOver": 35,
"currency": "USD"
},
"price": {
"amount": 12.99,
"currency": "USD"
},
"availability": {
"inStock": true,
"message": "Only 3 left in stock - order soon."
},
"seller": {
"id": "A3QF8VQX2L7MZN",
"name": "Lumen Direct"
},
"fulfillment": {
"byPlatform": false,
"name": "Lumen Direct"
},
"url": "https://www.amazon.com/dp/B0009KNLV6"
},
{
"asin": "BZZZZZZZZZ",
"id": "BZZZZZZZZZ",
"status": "not_found",
"fetchedAt": "2026-10-15T18:04:12.077Z",
"delivery": null,
"deliveryError": "not_fetched"
}
],
"stats": {
"requested": 3,
"ok": 2,
"partial": 0,
"notFound": 1,
"unavailable": 0,
"elapsedMs": 1640,
"delivery": {
"requested": 2,
"ok": 2,
"failed": 0
}
},
"credits": 3
}BZZZZZZZZZ does not exist, so it comes back not_found: a definitive answer, charged like ok.
Tiers
Each tier is a superset of the one before. Pick the cheapest that has the fields you need.
| Tier | Credits per ASIN | ASINs per call | Typical full-size call | What you get | Use it for |
|---|---|---|---|---|---|
pulse | 0.25 | 10,000 | 10–20 s for 10,000 ASINs | New-offer count and lowest new price. Nothing else. | Sweeping a whole catalogue for change, as often as you like. |
lite | 1 | 2,000 | 35–45 s for 2,000 ASINs | Title, brand, category, the whole buy box (price, list price, savings, deal, stock, seller, FBA, offer listing id), used offers, rating, review count and delivery dates. | Repricing and monitoring: everything about the offer, with delivery dates. |
full | 5 | 2,000 | 60–90 s for 2,000 ASINs | Everything in lite, plus description, images, attributes, binding, other editions, and refurbished and collectible offers. | The first read of a new ASIN: building a listing. |
Smaller calls finish proportionally faster. The retired tier name standard is still accepted and answered as lite.
Fields by tier
| Field | pulse | lite | full |
|---|---|---|---|
id, asin, status, fetchedAt | yes | yes | yes |
offers.newCount, offers.newMinPrice (lowest new price, any seller), offers.currency | yes | yes | yes |
| Product | |||
title, url, brand, category | — | yes | yes |
reviews.rating (0–5), reviews.count (as printed, e.g. "12,345") | — | yes | yes |
isParent | — | parent ASINs | also listings with no buyable offer |
| Buy box | |||
buybox.price, buybox.currency, buybox.priceDisplay | — | yes | yes |
buybox.listPrice (the "was" price, only when above price), buybox.savings, buybox.deal | — | yes | yes |
buybox.inStock, buybox.availabilityType, buybox.availabilityMessage | — | yes | yes |
buybox.merchant (id, name), buybox.fulfillerName, buybox.isFba | — | yes | yes |
buybox.condition (NEW, USED, PARENT_ASIN), buybox.offerListingId | — | yes | yes |
price, availability, seller, fulfillment (neutral fields) | — | yes | yes |
| Other offers | |||
offers.usedCount, offers.usedMinPrice | — | yes | yes |
offers.refurbishedCount / MinPrice, offers.collectibleCount / MinPrice | — | — | yes |
| Delivery | |||
delivery, deliveryError, stats.delivery (Delivery dates) | — | yes | yes |
| Listing | |||
description[], images, full.images[] | — | — | yes |
full.attributes, full.binding | — | — | yes |
full.variationChildren[] (other editions of a title; books and media) | — | — | yes |
A field Amazon does not show for a product is left out rather than sent empty. No tier returns sellers other than the buy box (use Offers), size or colour variations, or feature bullets.
Pulse: change detection
pulse returns only the new-offer count and the lowest new price per ASIN. That makes it the cheapest tier (0.25 credits) and the largest (10,000 ASINs per call).
{
"platform": "amazon",
"marketplace": "us",
"tier": "pulse",
"results": [
{
"asin": "0060094664",
"id": "0060094664",
"status": "ok",
"fetchedAt": "2026-10-15T18:04:11.412Z",
"offers": {
"newCount": 38,
"newMinPrice": 3.98,
"currency": "USD"
}
},
{
"asin": "B0009KNLV6",
"id": "B0009KNLV6",
"status": "ok",
"fetchedAt": "2026-10-15T18:04:11.412Z",
"offers": {
"newCount": 4,
"newMinPrice": 12.49,
"currency": "USD"
}
},
{
"asin": "BZZZZZZZZZ",
"id": "BZZZZZZZZZ",
"status": "not_found",
"fetchedAt": "2026-10-15T18:04:12.077Z"
}
],
"stats": {
"requested": 3,
"ok": 2,
"partial": 0,
"notFound": 1,
"unavailable": 0,
"elapsedMs": 1180
},
"credits": 1
}Not a buy-box price
newMinPrice is the lowest new price from any seller. It equals the buy-box price for about 92% of bestsellers; the rest (mostly books) have a pricier buy box. Use pulse to notice that something moved, never to reprice from.Scan with pulse, read with lite on change. Store newCount and newMinPrice per ASIN, then on every cycle:
- Scan everything with
pulse(10,000 per call). - Send to
litethe ASINs whosenewCountornewMinPricechanged, thepartialones, and those whose lastlitebuy box was above the lowest new price (pulse cannot see that buy box move). - Read every ASIN at
liteat a slower cadence (for example every 8th cycle) to catch a buy-box seller change at the same price. - Delist on
not_found: it is as reliable at pulse as at the other tiers.
Watchlists run exactly this strategy for you by default.
Delivery dates
lite and full results carry the buy-box offer's delivery promise at no extra cost: nothing to ask for. Promises are for an anonymous shopper in the marketplace, not a specific postcode.
| Field | Description |
|---|---|
delivery.standard.earliest / .latest | The promise under the buy box (ISO 8601). Equal for a single-day promise. |
delivery.standard.free, .cost | Whether it is free, and what it costs in delivery.currency. Absent when not stated. |
delivery.standard.orderBy | Order before this time to get this promise. Absent when there is no cut-off. |
delivery.standard.message | Amazon's own line, e.g. "FREE delivery Monday, October 19". |
delivery.fastest | Same shape: the faster option, when there is one. |
delivery.isPrime, delivery.shipsFrom | Prime eligibility (true or absent) and where the offer ships from. |
delivery.freeOver, delivery.currency | Orders at or over this amount ship free (only when the standard option is not free). |
deliveryError | Only when delivery is null: not_fetched, no_offer (no buy-box offer), no_promise, fetch_failed (retry later) or deadline. |
stats.delivery | requested, ok and failed counts for the call. |
Delivery never changes an item's status or price: a product can be ok with delivery: null. include: ["delivery"] is still accepted and echoed back, and changes nothing.
Statuses on Amazon
partial: the product came back but some of its fields could not be read. Do not trust price or stock; read it again, or at a higher tier.not_found: Amazon says the ASIN does not exist. Delist it.isParent: true: the ASIN is a variation parent with no buyable offer of its own. Track a child ASIN instead.
Billing
| Tier | Credits per ASIN | 1,000 ASINs | Largest call |
|---|---|---|---|
pulse | 0.25 | 250 | 2,500 (10,000 ASINs) |
lite | 1 | 1,000 | 2,000 (2,000 ASINs) |
full | 5 | 5,000 | 10,000 (2,000 ASINs) |
Pulse's fractional rate is rounded up once per call: 3 pulse ASINs cost 1 credit, even if one is refunded. Everything else is as on every platform: see What you pay for. A new ASIN's full read costs 5 credits; read it once, then track it with pulse and lite.
Marketplaces
| marketplace | Name | Currency | Status |
|---|---|---|---|
us | Amazon US | USD | Live |
uk | Amazon UK | GBP | Coming soon |
de | Amazon Germany | EUR | Coming soon |
fr | Amazon France | EUR | Coming soon |
it | Amazon Italy | EUR | Coming soon |
es | Amazon Spain | EUR | Coming soon |
ca | Amazon Canada | CAD | Coming soon |
mx | Amazon Mexico | MXN | Coming soon |
jp | Amazon Japan | JPY | Coming soon |
au | Amazon Australia | AUD | Coming soon |
in | Amazon India | INR | Coming soon |
br | Amazon Brazil | BRL | Coming soon |
nl | Amazon Netherlands | EUR | Coming soon |
se | Amazon Sweden | SEK | Coming soon |
pl | Amazon Poland | PLN | Coming soon |
A coming-soon marketplace answers 501 with "coming_soon": true and charges nothing.