Amazon Offer Listing API
Overview
The Amazon Offer Listing API allows you to extract all third-party product offers for any product on Amazon programmatically. This API provides real-time access to details such as seller name, pricing, product condition, fulfillment method (FBA), delivery options, seller rating, and much more, making it an essential tool for pricing analysis, competitive intelligence, and e-commerce platforms.
Authentication
Visit our Authentication Docs on learning how to get started on integrating this API in your application.
Endpoint
GET https://get.scrapehero.com/amz/offer-listing/?x-api-key=XXXXXXXXXXXXXX&asin=B084KQFNBX&country_code=US
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
asin | string | Yes | Product ASIN |
url | string | Yes | Product url |
country_code | string | No | ISO Aplha2 Country Code |
product_id or product_url must be present. API supports country_code's US, UK and CA
Response Format
The API returns data in JSON format. Here's an example of the response structure:
{
"asin": "B09TRLKZVZ",
"product_title": "Bushwacker Pocket Style Fender Flares Bolt Kit | 1-Piece, Black Stainless Steel | 100035-01 | 1970 - 2024 Universal",
"product_rating": 4.0,
"product_ratings_count": 233,
"url": "https://www.amazon.com/gp/offer-listing/B09TRLKZVZ/ref=olp_page_1?ie=UTF8",
"next": null,
"offer_listings": [
{
"position": 1,
"currency": "USD",
"price": "$50.78",
"condition": "New",
"shipping_details": null,
"delivery": "FREE delivery September 5 - 9 . Details",
"fulfilled_by_amazon": false,
"ships_from": "Shop Eddies 🏁✳️🚚",
"seller": "Shop Eddies 🏁✳️🚚",
"seller_condition_notes": null,
"seller_url": "https://www.amazon.com/gp/aag/main?ie=UTF8&seller=A1COIXT69Y8KR&isAmazonFulfilled=0&asin=B09TRLKZVZ&ref_=olp_merch_name_0",
"seller_id": "A1COIXT69Y8KR",
"seller_rating": "4",
"seller_ratings_count": "(11558 ratings)",
"seller_percentage": "76% positive over last 12 months"
},
{
"position": 2,
"currency": "USD",
"price": "$51.57",
"condition": "New",
"shipping_details": null,
"delivery": "FREE delivery September 5 - October 11 . Order within 23 hrs 3 mins . Details",
"fulfilled_by_amazon": false,
"ships_from": "Midwest Aftermarket",
"seller": "Midwest Aftermarket",
"seller_condition_notes": null,
"seller_url": "https://www.amazon.com/gp/aag/main?ie=UTF8&seller=A7JMBVZNLD6S2&isAmazonFulfilled=0&asin=B09TRLKZVZ&ref_=olp_merch_name_1",
"seller_id": "A7JMBVZNLD6S2",
"seller_rating": "4",
"seller_ratings_count": "(1315 ratings)",
"seller_percentage": "77% positive over last 12 months"
}
]
}
Response Fields
Field | Type | Description |
---|---|---|
asin | string | asin |
product_title | string | product title |
product_rating | float | product rating |
product_ratings_count | integer | product rating count |
url | string | product url |
next | string | pagination url |
position | integer | rank for the seller |
currency | string | currency |
price | string | price listed for product by seller |
condition | string | product condition like used or new |
shipping_details | string | shipping details |
delivery | string | delivery details |
fulfilled_by_amazon | bool | fulfilled by amazon or not |
ships_from | string | ships from |
seller | string | seller name |
seller_condition_notes | string | product condition note |
seller_url | string | seller url |
seller_id | string | seller id |
seller_rating | string | seller rating |
seller_ratings_count | string | seller rating count |
seller_percentage | string | seller rating percentage |
Usage Example
Here's an example of how to use the API with Python:
- Node.js
- Python
- Java
- Ruby
const http = require("https");
const options = {
"method": "GET",
"hostname": "get.scrapehero.com",
"port": null,
"path": "/amz/offer-listing/?x-api-key=XXXXXXXXXXXXXX&asin=B084KQFNBX&country_code=US",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("get.scrapehero.com")
conn.request("GET", "/amz/offer-listing/?x-api-key=XXXXXXXXXXXXXX&asin=B084KQFNBX&country_code=US")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
HttpResponse<String> response = Unirest.get("https://get.scrapehero.com/amz/offer-listing/?x-api-key=XXXXXXXXXXXXXX&asin=B084KQFNBX&country_code=US")
.asString();
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://get.scrapehero.com/amz/offer-listing/?x-api-key=XXXXXXXXXXXXXX&asin=B084KQFNBX&country_code=US")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
This API uses 10 data credit per API call. Learn more about data credits.
Rate Limits
Rate limits are based off the plan that you have subscribed to. To learn more about the plan specification vist our Plans page.
Response Codes
Check out the response codes here.
Best Practices
- Use appropriate error handling in your code.
- Implement exponential backoff for rate limiting.
- Cache results when possible to minimize API calls.
Support
If you encounter any issues or have questions, please contact our API support team at cloud-support@scrapehero.com or visit our API documentation at https://app.scrapehero.com/docs/api_intro.