Introducing the Instagram APIRead more →

Amazon Offers API. Offers, page by page.

Every seller's price, condition and delivery for an ASIN. We handle the proxies, blocks and platform changes.

Amazon Offers API at a glance

Returns every seller's offer of an Amazon product, from its link, short link or ASIN, on any Amazon marketplace. Each offer has the seller with its ID, star rating and rating count, the price and list price, the condition with the seller's notes, the shipping fee and delivery dates, and who ships it. The buy box offer comes first, marked featured when Amazon's offers panel pins it; a product nobody sells right now returns an empty list.

GET /v1/amazon/offers

Read the API reference
  • 1 credit per page, $0.75–$1.97 per 1,000 pages
  • 19 typed fields null when unknown
  • 11 offers per page, the buy box offer first, then every other offer in Amazon's order: by price plus delivery, lowest first
  • url is all it needs, e.g. https://www.amazon.com/dp/B0FQFB8FMG

Send one request. Get up to 11 offers back.

Copy the request in your language, or hand it to your agent. Sign up for an API key and your first 100 credits are free.

$ npm install socialtap
url = https://www.amazon.com/dp/B0FQFB8FMG
GET /v1/amazon/offersTry in
const params = new URLSearchParams({
  url: "https://www.amazon.com/Apple-AirPods-Pro-3/dp/B0FQFB8FMG",
});
const res = await fetch(`https://socialtap.dev/v1/amazon/offers?${params}`, {
  headers: { "x-api-key": process.env.SOCIALTAP_API_KEY ?? "" },
});
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
const { data, page, meta } = body;
console.log(data, meta.credits_charged);
200 OK · GET https://socialtap.dev/v1/amazon/offersLong arrays and strings are shortened here. Real responses are complete.Docs

What you send and what comes back.

The response reference lists every field, its type and when it is null. See the full schema.

  • Null means unknown

    A field Amazon doesn't show is null, never zero or an empty string, so a real zero always means zero.

  • What it accepts

    The product: its link on any Amazon marketplace (amazon.com/dp/B0FQFB8FMG, with or without the title before /dp/, /gp/product/, /gp/aw/d/, /gp/offer-listing/, /product-reviews/ and the older /exec/obidos/ASIN/ links), a short link (amzn.to, a.co/d/, amzn.eu/d/, amzn.asia/d/, amzn.com), or its ASIN alone (B0FQFB8FMG, or a book's ISBN-10).

  • What comes back

    Every seller's offer of a product: price, condition, availability, shipping fee and delivery estimate, and the seller with its rating.

platformstring
Platform ID (amazon, …).
idstring
The offer's ID: the platform's own where it is stable across fetches, else derived from the product, the seller and the condition (B0FQFB8FMG:ALAQLAKJ574UN:new), with ~2, ~3 for a seller's further offers in one condition, counted across the list's pages in the platform's order. A derived ID is stable while the seller's offers in that condition keep their order; two of them can swap IDs when their order changes.
product_idstring
ID of the product offered (equals product.id of the platform's product endpoints).
urlstring
The offer's own page (the merchant's page, the listing, or the product page with this seller selected); null when the platform has none.
titlestring
The seller's own title for the product, where offers carry one (an eBay listing's, a shop's on Google Shopping); null where every offer shares the product's title.
sellerobject
The seller (a shop on the platform, or a merchant's site on a comparison platform); fields null when not shown.
pricenumber
The offer's price in major units of currency (58.47), discounts applied; shipping and tax excluded. 0 = free; null when not shown.
original_pricenumber
Price before the discount (the struck-through list or earlier price), in major units of currency; null when the offer shows none.

What teams build with the Amazon Offers API.

  • Find the lowest new or used price

  • Track who holds the buy box

  • Monitor resellers of your brand

  • Compare sellers' ratings and delivery

Good to know before you build.

  • The buy box offer comes first on the first page, with is_featured true, when Amazon's offers panel pins it. When the panel pins none and does not say there is none, is_featured is null on every offer. The other offers follow in Amazon's order, by price plus delivery.
  • Amazon gives offers no stable ID, so id is built from the product, the seller and the condition. A seller's second offer in the same condition ends in ~2.
  • Amazon's own retail is named with its merchant ID, like any other seller, on every marketplace but Turkey, India, Singapore and South Africa. Amazon Resale shows no seller ID, so its seller.id is null.
  • Delivery dates are the standard estimate Amazon shows a visitor who is not signed in, as days in approximate_fields. Prime members' faster delivery is not included.
  • shipping.fee is null when free delivery depends on the order total, such as free over a minimum.

1 credit per page. Failed requests are free.

Buy credits once and spend them on any endpoint, on any platform.

SourcePrice per successful pagePer 1,000 pages
Public page page1 credit$0.75–$1.97
  • Cache hits are free.
  • Credits from packs and top-ups never expire.
  • A monthly plan's credits are spent first, and what is left of them ends at each renewal.
  • Prices exclude tax: sales tax is added at checkout where it applies.
  • Outside the US, plans and packs are sold to businesses: checkout asks for your VAT, GST or other business tax ID.

Questions about the Amazon Offers API.

More in the API reference.

Does it include used and renewed offers?
Yes. Every condition Amazon lists is returned, with condition set to new, used or refurbished and condition_label as Amazon words it.
Which marketplaces does it support?
Every Amazon marketplace: send a link from it, or the ASIN with country set to its country code.
How much does the Amazon Offers API cost?
A page of up to 11 offers costs 1 credit. Every successful page is charged, empty pages included. SocialTap credits cost $0.75–$1.97 per 1,000, depending on the plan or pack.
How do I get the next page?
Repeat the same request with cursor set to page.next_cursor from the previous response, keeping the other parameters. When page.has_more is false there are no more pages. Cursors expire after 24 hours.

Try it on a link you already have.

Paste it in the playground, or copy the request into your code.

100free credits
  • No credit card
  • Failed requests are free
  • Works on all 218 endpoints
Start for free Read the docs