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
- 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.
- 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).
- 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.
| Route | Core fields | Price / 1K | Success, 30 days | Link |
|---|---|---|---|---|
| Limited accessAmazon Creators API (replaced the Product Advertising API) and Selling Partner API | not compared | below | Official docs | |
| Amazon Multi-Domain Product Price & Detail Scraper | 5/8 | $0.99 | 96% of 25 runs | Open in Apify Store |
| Amazon Search, Category & Seller Listings Extractor | 5/8 | $0.99 | 8 runs, too few to rate | Open in Apify Store |
| Amazon Best Sellers & Rankings Scraper | 6/8 | $0.99 | 8 runs, too few to rate | Open 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
| Fact | Value |
|---|---|
| HTTP 503 meaning | The server is temporarily unable to handle the request |
| Official product data | Product Advertising API for approved Amazon Associates |
| Seller data | Selling Partner API for authorized sellers |
| Public product pages | Subject 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.
Website pages
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.
- Product Advertising API — checked 2026-11-09
- Amazon conditions of use — checked 2026-11-09
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.