Amazon page scraper API
GET /scrape-url fetches one page on any of the 23 Amazon marketplaces and returns its HTML unparsed, as { url, html }. Use it for data the other endpoints don’t return. The marketplace comes from the URL’s domain, and the page must carry that marketplace’s marker, so you never get another country’s page by accident.
Part of Amazon Data API, sold on RapidAPI with a free plan of 100 requests a month. Endpoint details checked 2026-11-03.
What GET /scrape-url returns
The HTML of any page on one of the 23 Amazon marketplaces, for data the other endpoints don't parse. The marketplace comes from the URL's domain; pass `country` only to double-check it. Not parsed: you get `{ url, html }`. Pages Amazon shows only to signed-in visitors return 403 sign_in_required, and a page that came back from another marketplace returns 502 wrong_marketplace.
Parameters
| Name | Required | Values | Notes |
|---|---|---|---|
url | yes | string | A full URL on www.amazon.com, www.amazon.co.uk, www.amazon.de or another of the 23 marketplaces. |
country | no | US, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZA | Optional check: when given, it must be the marketplace of the url's domain, else 400 invalid_input. |
Example request
Every parameter that has an example, with country set explicitly. Send your key in X-RapidAPI-Key.
curl --request GET \
--url 'https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/scrape-url?url=https%3A%2F%2Fwww.amazon.com%2Fdp%2FB088NRLMPV&country=US' \
--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
--header 'X-RapidAPI-Host: amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com'import requests
resp = requests.get(
"https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/scrape-url",
params={"url": "https://www.amazon.com/dp/B088NRLMPV", "country": "US"},
headers={
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com",
},
timeout=30,
)
resp.raise_for_status()
body = resp.json()
if "error" in body: # bad input or not found: HTTP 200 with an error body
raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
print(body["data"])const url = new URL('https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/scrape-url');
url.search = new URLSearchParams({ url: 'https://www.amazon.com/dp/B088NRLMPV', country: 'US' });
const res = await fetch(url, {
headers: {
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com',
},
});
const { data, meta } = await res.json();
console.log(data, meta.fetched_at);Example response
A recorded response, shortened to 3 items per list.
{
"data": {
"url": "https://www.amazon.com/dp/B088NRLMPV",
"html": "<!doctype html><html lang=\"en-us\" class=\"a-no-js\" data-19ax5a9jf=\"dingo\">…</html>"
},
"meta": {
"country": "US",
"cached": false,
"fetched_at": "2026-11-03T05:00:00.000Z"
}
}What people use it for
Parse a page type the other endpoints don’t cover, such as a brand store or a help page.
Keep a raw copy of a product page next to the parsed data, for audits.
Prototype a parser before asking for a structured endpoint.
FAQ
- Which URLs are accepted?
- Any page on www.amazon.com, www.amazon.co.uk, www.amazon.de or another of the 23 marketplaces. Other domains, subdomains, ports and credentials in the URL return 400 invalid_input.
- What about pages that need a login?
- Pages Amazon shows only to signed-in visitors return 403 sign_in_required. The API never signs in to Amazon.
Related endpoints
See all 17 endpoints and 23 marketplaces on the Amazon product API page.