apiwren
Amazon Data API · GET /scrape-url

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.

Get a free key on RapidAPIAll 17 endpoints

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

NameRequiredValuesNotes
urlyesstringA full URL on www.amazon.com, www.amazon.co.uk, www.amazon.de or another of the 23 marketplaces.
countrynoUS, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZAOptional 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.

200 OK
{
  "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

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.

Try GET /scrape-url. The free plan covers 100 requests a month.

Get Amazon Data API on RapidAPI