An Amazon marketplace ID is the fixed identifier Amazon assigns to each of its storefronts: ATVPDKIKX0DER is amazon.com, A1PA6795UKMFR9 is amazon.de and A1F83G8C2ARO7P is amazon.co.uk. Every SellerMagnet API endpoint that reads catalogue data takes one as its marketplaceId parameter, because it pins the request to a single catalogue, currency and set of sellers. The complete list of all 23 IDs is below.
Key Takeaways
- The SellerMagnet API accepts 23 Amazon marketplaces, each with its own marketplace ID.
- Marketplace IDs are opaque strings such as ATVPDKIKX0DER, not two-letter country codes.
- A request with an unknown marketplace ID is rejected with HTTP 400 before any credit is charged.
- The marketplaces endpoint returns the full list with domain and currency, and costs one credit per call.
- The list changes rarely, so fetch it once and cache it instead of calling it on every request.
What is an Amazon marketplace ID?
A marketplace ID is Amazon's own identifier for one storefront, and it is the same value Amazon's Selling Partner API uses. It does not follow ISO country codes, and it does not encode the domain, so DE or amazon.de will not work where an ID is expected. Amazon's own short code for the United Kingdom is UK, not the ISO code GB. Treat the ID as an opaque key: copy it exactly, including capitalisation.
The ID matters because the same ASIN can have a different price, a different Buy Box winner and a different set of offers in every marketplace where it is listed, so one ASIN can have as many answers as there are storefronts. The marketplace ID is how you say which one you mean.
Complete list of Amazon marketplace IDs (2026)
These are the 23 marketplaces the SellerMagnet API accepts as of September 2026, grouped by the Selling Partner API region Amazon assigns them: North America (NA, which includes Brazil), Europe (EU, which also covers the Middle East, Africa and India) and Far East (FE). Category IDs differ per marketplace too; the Amazon category explorer lists them for each storefront.
| Country | Code | Marketplace ID | Domain | SP-API region |
|---|---|---|---|---|
| United States | US | ATVPDKIKX0DER | amazon.com | NA |
| Canada | CA | A2EUQ1WTGCTBG2 | amazon.ca | NA |
| Mexico | MX | A1AM78C64UM0Y8 | amazon.com.mx | NA |
| Brazil | BR | A2Q3Y263D00KWC | amazon.com.br | NA |
| United Kingdom | UK | A1F83G8C2ARO7P | amazon.co.uk | EU |
| Ireland | IE | A28R8C7NBKEWEA | amazon.ie | EU |
| Germany | DE | A1PA6795UKMFR9 | amazon.de | EU |
| France | FR | A13V1IB3VIYZZH | amazon.fr | EU |
| Italy | IT | APJ6JRA9NG5V4 | amazon.it | EU |
| Spain | ES | A1RKKUPIHCS9HS | amazon.es | EU |
| Netherlands | NL | A1805IZSGTT6HS | amazon.nl | EU |
| Belgium | BE | AMEN7PMS3EDWL | amazon.com.be | EU |
| Sweden | SE | A2NODRKZP88ZB9 | amazon.se | EU |
| Poland | PL | A1C3SOZRARQ6R3 | amazon.pl | EU |
| Turkey | TR | A33AVAJ2PDY3EV | amazon.com.tr | EU |
| United Arab Emirates | AE | A2VIGQ35RCS4UG | amazon.ae | EU |
| Saudi Arabia | SA | A17E79C6D8DWNP | amazon.sa | EU |
| Egypt | EG | ARBP9OOSHTCHU | amazon.eg | EU |
| South Africa | ZA | AE08WJ6YKNBMC | amazon.co.za | EU |
| India | IN | A21TJRUUN4KGV | amazon.in | EU |
| Japan | JP | A1VC38T7YXB528 | amazon.co.jp | FE |
| Singapore | SG | A19VAU5U5O7RUS | amazon.sg | FE |
| Australia | AU | A39IBJ37TRP1C6 | amazon.com.au | FE |
How do I get the marketplace list from the API?
Call GET /api/amazon-get-marketplaces with your API key. The response is keyed by marketplace ID, and each entry carries marketplace_domain, marketplace_name, currency_code, currency_name, currency_symbol and a default geo_location postcode. The call costs one credit, so the script below writes the result to disk and reuses it for a week.
Fetch the marketplace list once and cache it for seven days
import json
import os
import time
from pathlib import Path
import requests
CACHE = Path("marketplaces.json")
MAX_AGE = 7 * 24 * 3600 # the list changes rarely; every call costs a credit
def marketplaces() -> dict:
if CACHE.exists() and time.time() - CACHE.stat().st_mtime < MAX_AGE:
return json.loads(CACHE.read_text())
resp = requests.get(
"https://sellermagnet-api.com/api/amazon-get-marketplaces",
params={"api_key": os.environ["SELLERMAGNET_API_KEY"]},
timeout=30,
)
resp.raise_for_status()
body = resp.json()
if not body.get("success"):
raise RuntimeError(body.get("message", "marketplace lookup failed"))
CACHE.write_text(json.dumps(body["data"], indent=2))
return body["data"]
for mid, info in marketplaces().items():
print(mid, info["marketplace_domain"], info["currency_code"])
Trimmed response - one entry per marketplace, keyed by ID
{
"success": true,
"data": {
"A1PA6795UKMFR9": {
"marketplace_domain": "amazon.de",
"marketplace_name": "Amazon DE",
"currency_code": "EUR",
"currency_symbol": "€",
"geo_location": "10115"
},
"ATVPDKIKX0DER": {
"marketplace_domain": "amazon.com",
"marketplace_name": "Amazon US",
"currency_code": "USD",
"currency_symbol": "$",
"geo_location": "20001"
}
}
}
How do I use a marketplace ID in a request?
Pass it as the marketplaceId query parameter alongside the ASIN and your key. The request below asks amazon.it for one product; swapping the ID asks another storefront for the same ASIN, if it is listed there. If it is not, the API answers 404 - and a 404 is charged, because the credit is deducted before the fetch. The API documentation lists which endpoints take the parameter.
Look up one ASIN on amazon.it
curl -s "https://sellermagnet-api.com/api/amazon-product-lookup" \
--get \
--data-urlencode "asin=B0CLTBHXWQ" \
--data-urlencode "marketplaceId=APJ6JRA9NG5V4" \
--data-urlencode "api_key=$SELLERMAGNET_API_KEY"

Which mistakes does the API reject?
Parameter validation runs before billing, so a malformed request fails fast and costs nothing. The mistakes below all return HTTP 400; the error-handling guide covers every other status code and which ones are worth retrying.
- Sending a country code such as
DEorUKinstead of the marketplace ID. - Sending a domain such as
amazon.deinstead of the marketplace ID. - Assuming Belgium is
amazon.be: the storefront is amazon.com.be, IDAMEN7PMS3EDWL. - Omitting
marketplaceId(Missing required parameter(s): marketplaceId) or sending it empty (Missing marketplaceId).
Domain to ID in one line
If your data stores domains rather than IDs, map them once at the edge of your system, then pass IDs everywhere else. The helper below covers all 23 marketplaces.
Resolve an Amazon domain to its marketplace ID
const MARKETPLACE_BY_DOMAIN = {
"amazon.com": "ATVPDKIKX0DER",
"amazon.ca": "A2EUQ1WTGCTBG2",
"amazon.com.mx": "A1AM78C64UM0Y8",
"amazon.com.br": "A2Q3Y263D00KWC",
"amazon.co.uk": "A1F83G8C2ARO7P",
"amazon.ie": "A28R8C7NBKEWEA",
"amazon.de": "A1PA6795UKMFR9",
"amazon.fr": "A13V1IB3VIYZZH",
"amazon.it": "APJ6JRA9NG5V4",
"amazon.es": "A1RKKUPIHCS9HS",
"amazon.nl": "A1805IZSGTT6HS",
"amazon.com.be": "AMEN7PMS3EDWL",
"amazon.se": "A2NODRKZP88ZB9",
"amazon.pl": "A1C3SOZRARQ6R3",
"amazon.com.tr": "A33AVAJ2PDY3EV",
"amazon.ae": "A2VIGQ35RCS4UG",
"amazon.sa": "A17E79C6D8DWNP",
"amazon.eg": "ARBP9OOSHTCHU",
"amazon.co.za": "AE08WJ6YKNBMC",
"amazon.in": "A21TJRUUN4KGV",
"amazon.co.jp": "A1VC38T7YXB528",
"amazon.sg": "A19VAU5U5O7RUS",
"amazon.com.au": "A39IBJ37TRP1C6",
};
function marketplaceId(domain) {
const key = domain.trim().toLowerCase().replace(/^www\./, "");
const id = MARKETPLACE_BY_DOMAIN[key];
if (!id) throw new Error(`Unknown Amazon domain: ${domain}`);
return id;
}
console.log(marketplaceId("www.amazon.de")); // A1PA6795UKMFR9

Frequently Asked Questions
What is the Amazon marketplace ID for the United States?
The amazon.com marketplace ID is ATVPDKIKX0DER.
What is the Amazon marketplace ID for Germany?
The amazon.de marketplace ID is A1PA6795UKMFR9.
What is the Amazon marketplace ID for the United Kingdom?
The amazon.co.uk marketplace ID is A1F83G8C2ARO7P. Ireland (amazon.ie) has its own ID, A28R8C7NBKEWEA.
Do marketplace IDs ever change?
Existing IDs are stable identifiers; new marketplaces get new IDs. Refreshing a cached list weekly is enough to pick those up.
Does fetching the marketplace list cost credits?
Yes. Fetching the marketplace list costs one credit per call, like every other endpoint, so cache it and refresh it weekly.
Bottom line: marketplace IDs are the one parameter that decides which Amazon you are asking, so keep the 23 IDs in a lookup table, cache the API's list weekly, and let the API's free validation catch the rest. Create a free account to try any endpoint with 500 credits.