Country, marketplace, and content language
How our API routes traffic to the right Amazon marketplace and which languages each marketplace actually serves.
Country, marketplace, and content language
Three distinct concepts - don’t conflate them:
| Concept | What you control | Example |
|---|---|---|
| Marketplace (TLD) | domain param | com → amazon.com, de → amazon.de |
| Content language | language param | en_US, de_DE, es_MX |
| Proxy egress country | automatic, not exposed | amazon.de → DE residential IP |
Proxy egress is automatic
You don’t configure proxy egress. When you hit ?domain=de we automatically route through a residential IP in Germany. When you hit ?domain=co.jp we route through Japan. This matching reduces Amazon’s anti-bot score and gives you the real desktop-locale HTML.
There was briefly a country parameter that let customers force a specific egress IP. We removed it - obvious mismatches (e.g. scraping amazon.de through a US IP) trigger Amazon’s anti-bot disproportionately and add complexity without customer value.
Content language override
Amazon serves some marketplaces in multiple languages. Pass ?language=xx_YY to override:
GET /v1/amazon/product?query=B09HN3Q81F&domain=com&language=es_US
This maps to Amazon’s ?language=es_US URL parameter. Amazon then serves the Spanish US-marketplace content - prices in USD, shipping from US warehouses, but titles/descriptions/bullets translated to Spanish.
Supported languages per marketplace (empirically tested)
| Marketplace | Default | Other languages that work |
|---|---|---|
com (US) | en_US | de_DE, es_ES, es_US, zh_CN, pt_BR, ar_AE, en_GB |
co.uk (UK) | en_GB | de_DE, fr_FR, pl_PL, ro_RO, en_US |
de (Germany) | de_DE | en_GB, en_US, nl_NL, pl_PL, tr_TR, cs_CZ, fr_FR |
fr (France) | fr_FR | en_GB, de_DE, nl_NL, ar_AE |
it (Italy) | it_IT | en_GB, en_US, de_DE |
es (Spain) | es_ES | en_GB, en_US, pt_BR, pt_PT, ca_ES |
nl (Netherlands) | nl_NL | en_GB, de_DE |
pl (Poland) | pl_PL | (monolingual) |
se (Sweden) | sv_SE | en_GB |
ca (Canada) | en_CA | en_US, en_GB, fr_CA, fr_FR, zh_CN |
com.mx (Mexico) | es_MX | es_ES, en_US |
com.br (Brazil) | pt_BR | en_US |
com.au (Australia) | en_AU | en_US, en_GB, zh_CN |
co.jp (Japan) | ja_JP | en_US, en_GB, zh_CN, ko_KR |
sg (Singapore) | en_SG | en_US, en_GB, zh_CN |
in (India) | en_IN | en_US, hi_IN |
com.tr (Turkey) | tr_TR | en_US, en_GB |
ae (UAE) | en_AE | ar_AE, en_US |
sa (Saudi Arabia) | ar_SA | en_US, en_GB |
eg (Egypt) | ar_EG | en_US, en_GB |
If you pass a language that the marketplace doesn’t support, Amazon silently falls back to the marketplace’s default. No error from us.
What doesn’t change with language
The language parameter only affects presentation (titles, descriptions, bullets, UI text). It doesn’t affect:
- Price - always shown in the marketplace’s native currency
- Availability / stock - physical availability is per-marketplace, not per-language
- Shipping - ships from the marketplace’s region
- Reviews - Amazon may show reviews from multiple sources; language flag doesn’t filter them
If you need Spanish-language product data from the Mexican marketplace, use domain=com.mx (which defaults to es_MX). If you want Spanish-language data from the US marketplace (available to US-Spanish speakers), use domain=com&language=es_US.