Amazon 503 Service Unavailable: why product requests get throttled

HTTP 503 from Amazon product pages usually means automated traffic is being throttled. The official affiliate and seller APIs, and when a hosted public-data tool is the better route.

HTTP 503 Service Unavailable

Short answer

Amazon product requests commonly return Service Unavailable when automated traffic is throttled; the response means the server is temporarily unable to handle the request. Reduce request pressure before retrying, then choose an official API or a hosted public-data tool if product-page collection remains unreliable.

Diagnosis checked 2026-11-12; sources below.

Do this now

  1. If the data is yours or your use fits the official terms, switch to the official route: Amazon Creators API (replaced the Product Advertising API) and Selling Partner API (Limited access). No per-call price is published for the Creators API.
  2. For product prices and details at volume, run a hosted route instead of patching your own requests: Amazon Multi-Domain Product Price & Detail Scraper. The request below runs it with its published example input through the Apify API (your token, billed at the Store price).
  3. Compare every route, with fields and prices, on the Amazon page.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "productUrls": [],
    "asins": [
        "B09X7MPX8L"
    ],
    "searchTerms": [],
    "searchUrls": [],
    "bestsellerUrls": [],
    "marketplace": "auto",
    "domains": [],
    "language": "auto",
    "currency": "auto",
    "deliveryCountry": "auto",
    "minRating": "any",
    "dealsOnly": False,
    "primeOnly": False,
    "condition": "any",
    "stock": "any",
    "sortBy": "relevance",
    "maxItems": 1,
    "maxPages": 1,
    "includeDetails": True,
    "includeSponsored": True,
    "includeVariants": False,
    "includeTopReviews": False,
    "includeFailed": True,
    "failOnEmpty": True,
    "rateLimitDelay": 0,
    "proxyConfiguration": {
        "useApifyProxy": True
    },
    "proxyCountry": "AUTO"
}

run = client.actor("nimbryxo-studio/amazon-multi-domain-product-price-and-detail").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "productUrls": [],
    "asins": [
        "B09X7MPX8L"
    ],
    "searchTerms": [],
    "searchUrls": [],
    "bestsellerUrls": [],
    "marketplace": "auto",
    "domains": [],
    "language": "auto",
    "currency": "auto",
    "deliveryCountry": "auto",
    "minRating": "any",
    "dealsOnly": false,
    "primeOnly": false,
    "condition": "any",
    "stock": "any",
    "sortBy": "relevance",
    "maxItems": 1,
    "maxPages": 1,
    "includeDetails": true,
    "includeSponsored": true,
    "includeVariants": false,
    "includeTopReviews": false,
    "includeFailed": true,
    "failOnEmpty": true,
    "rateLimitDelay": 0,
    "proxyConfiguration": {
        "useApifyProxy": true
    },
    "proxyCountry": "AUTO"
};

const run = await client.actor("nimbryxo-studio/amazon-multi-domain-product-price-and-detail").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~amazon-multi-domain-product-price-and-detail/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"productUrls":[],"asins":["B09X7MPX8L"],"searchTerms":[],"searchUrls":[],"bestsellerUrls":[],"marketplace":"auto","domains":[],"language":"auto","currency":"auto","deliveryCountry":"auto","minRating":"any","dealsOnly":false,"primeOnly":false,"condition":"any","stock":"any","sortBy":"relevance","maxItems":1,"maxPages":1,"includeDetails":true,"includeSponsored":true,"includeVariants":false,"includeTopReviews":false,"includeFailed":true,"failOnEmpty":true,"rateLimitDelay":0,"proxyConfiguration":{"useApifyProxy":true},"proxyCountry":"AUTO"}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=nimbryxo-studio/amazon-multi-domain-product-price-and-detail",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

Open Amazon Multi-Domain Product Price & Detail Scraper in Apify Store

Routes that work for Amazon data

The official route first, then the catalogue Actors that fit this problem (product prices and details), by their published fields. Store figures are the publisher's public numbers.

Routes for Amazon data
RouteCore fieldsPrice / 1KSuccess, 30 daysLink
Limited accessAmazon Creators API (replaced the Product Advertising API) and Selling Partner APInot comparedbelowOfficial docs
Amazon Multi-Domain Product Price & Detail Scraper5/8$0.9996% of 25 runsOpen in Apify Store
Amazon Search, Category & Seller Listings Extractor5/8$0.998 runs, too few to rateOpen in Apify Store
Amazon Best Sellers & Rankings Scraper6/8$0.998 runs, too few to rateOpen in Apify Store

Official price: No per-call price is published for the Creators API. Compare all 20 Amazon routes.

The facts behind the error

FactValue
HTTP 503 meaningThe server is temporarily unable to handle the request
Official product dataProduct Advertising API for approved Amazon Associates
Seller dataSelling Partner API for authorized sellers
Public product pagesSubject to Amazon's conditions of use

Reduce pressure before changing extraction rules

Pause repeated requests, reduce concurrent activity, and limit retries. Immediate retries add traffic while the server is already unable to handle the request. Inspect the returned response before changing selectors: extraction changes address page structure, while Service Unavailable concerns request handling.

Match official access to the job

Product Advertising API is intended for approved Amazon Associates. Selling Partner API serves authorized sellers. Choose according to your eligibility and the information you need; seller authorization and Associates approval serve different purposes. Consult the Product Advertising API documentation for the affiliate route.

Assess the public-page route

Public product pages remain subject to Amazon’s conditions of use. A hosted public-data tool is worth considering when the job is collecting product prices and details and maintaining requests consumes too much effort. Check its Amazon coverage and output against your requirements before moving collection.

When to stop fighting the error

When requests keep returning Service Unavailable after you pause and reduce traffic, further selector changes will not resolve the request-handling problem. Move affiliate product work to Product Advertising API if you are approved, seller-authorized work to Selling Partner API, or consider a hosted public-data tool for public product prices and details.

Questions people ask

Does Service Unavailable always mean Amazon is throttling requests?

Throttling is a common explanation for automated product-page requests, but the status itself reports temporary server unavailability. Review when failures occur and how they relate to request activity before choosing a fix.

Should I keep retrying the same product URL?

Pause first and reduce request pressure instead of retrying continuously. Use limited retries, then change routes if requests continue to fail.

Which official API should I consider?

Product Advertising API is the route for approved Amazon Associates. Selling Partner API is the route for authorized sellers, so select according to your access and purpose.

When is a hosted public-data tool useful?

Consider one when you need product prices and details and maintaining Amazon page requests has become a recurring burden. Check its coverage, output, and suitability for your use under Amazon’s conditions of use.

Sources

Every dated claim on this page comes from the public sources below. Check the source before you make a business decision on it.

Content updated 2026-11-12Data checked 2026-11-12

Get Amazon data with a catalogue Actor

Amazon Multi-Domain Product Price & Detail Scraper returns 5 of 8 core Amazon fields at $0.99 per 1,000 results. Compare all 20 Amazon routes.

Open in Apify Store