Amazon · English → German

Get started with ListLoco in minutes

Two curl commands — one per auth method — are all you need to localize an English product listing for Amazon Germany, apply the marketplace rule template, and return a quality-gated JSON result.

Subscribe on RapidAPI See request body See response

Prerequisites

ListLoco is distributed via RapidAPI. Subscribe to the free or paid plan on RapidAPI and copy your X-RapidAPI-Key from the dashboard. No separate backend credential is needed for the RapidAPI path.

Use case: an English-language listing for Amazon.com that you want to publish on Amazon DE. The API enforces Amazon Germany's title character limit, banned keyword list, required attributes, and number/model-number preservation in a single deterministic pass — the same rules that cause suppressed listings when violated. The output is English to German localized copy that is ready to verify before submission.

1 Via RapidAPI (recommended)

RapidAPI

Replace <YOUR_RAPIDAPI_KEY> with the key from your RapidAPI dashboard. The host listloco.p.rapidapi.com is fixed — copy it exactly.

curl -s -X POST "https://listloco.p.rapidapi.com/localize" \
  -H "Content-Type: application/json" \
  -H "X-RapidAPI-Key: <YOUR_RAPIDAPI_KEY>" \
  -H "X-RapidAPI-Host: listloco.p.rapidapi.com" \
  --data '{
    "marketplace": "amazon",
    "sourceLang": "en",
    "targetLang": "de",
    "listing": {
      "title": "Cordless drill AB-1200 with 8.5 kg battery and 2 m cable",
      "description": "Cordless drill AB-1200 with a 8.5 kg battery and a 2 m cable.",
      "brand": "Bosch",
      "material": "Metall",
      "size": "M",
      "color": "blue",
      "quantity": 1
    },
    "glossary": { "preserve": ["Bosch"] },
    "dictionary": {
      "cordless": "kabellos",
      "drill": "Bohrmaschine",
      "with": "mit",
      "and": "und",
      "a": "ein",
      "battery": "Akku",
      "cable": "Kabel",
      "blue": "blau"
    }
  }'

2 Direct API (self-hosted / local dev)

Direct

For local development or self-hosted deployments where LISTLOCO_API_KEYS is configured. Pass the backend key via x-api-key or Authorization: Bearer. This path is not available through the public RapidAPI gateway.

curl -s -X POST https://listloco.hayasaka.app/localize \
  -H "Content-Type: application/json" \
  -H "x-api-key: <YOUR_API_KEY>" \
  --data '{
    "marketplace": "amazon",
    "sourceLang": "en",
    "targetLang": "de",
    "listing": {
      "title": "Cordless drill AB-1200 with 8.5 kg battery and 2 m cable",
      "description": "Cordless drill AB-1200 with a 8.5 kg battery and a 2 m cable.",
      "brand": "Bosch",
      "material": "Metall",
      "size": "M",
      "color": "blue",
      "quantity": 1
    },
    "glossary": { "preserve": ["Bosch"] },
    "dictionary": {
      "cordless": "kabellos",
      "drill": "Bohrmaschine",
      "with": "mit",
      "and": "und",
      "a": "ein",
      "battery": "Akku",
      "cable": "Kabel",
      "blue": "blau"
    }
  }'

Request body reference

All fields are required unless marked optional. The marketplace, sourceLang, and targetLang select the rule template — currently only "amazon" / "en" / "de" is supported. The glossary.preserve array locks brand names and model numbers so they survive translation and the preservation gate does not flag them as corrupted. The dictionary map provides known word translations and is the primary mechanism for consistent Amazon DE listing localization from English to German.

{
  "marketplace": "amazon",          // required — rule template selector
  "sourceLang": "en",               // required — source language code
  "targetLang": "de",               // required — target language code
  "listing": {
    "title": "...",                 // required — plain-text title
    "description": "...",           // required — plain-text description
    "brand": "...",                 // required — brand name
    "material": "...",              // required — material
    "size": "...",                  // required — size
    "color": "...",                 // required — color
    "quantity": 1                   // required — integer quantity
  },
  "glossary": {
    "preserve": ["Bosch", "AB-1200"] // optional — strings never altered by translation
  },
  "dictionary": {                   // optional — source→target word map
    "cordless": "kabellos",
    "drill": "Bohrmaschine"
  }
}

Response

A successful request returns HTTP 200 with a JSON body containing the localized listing fields, gate results for all six quality checks, a violations array (empty when all gates pass), and a top-level pass boolean. A pass: false result means at least one gate failed — check violations for the exact field and reason. Common causes: title exceeds Amazon Germany's character limit, a banned keyword appeared in the German copy, a model number or unit was altered during translation (preservation gate), or the back-translation divergence score exceeded the threshold.

{
  "localized": {
    "title": "Kabellose Bohrmaschine AB-1200 mit 8,5-kg-Akku und 2-m-Kabel",
    "description": "Kabellose Bohrmaschine AB-1200 mit einem 8,5-kg-Akku und einem 2-m-Kabel.",
    "brand": "Bosch",
    "material": "Metall",
    "size": "M",
    "color": "blau",
    "quantity": 1
  },
  "gates": {
    "titleLength":        { "pass": true, "length": 67, "limit": 200 },
    "bannedWords":        { "pass": true },
    "requiredAttributes": { "pass": true },
    "preservation":       { "pass": true },
    "glossary":           { "pass": true },
    "backTranslation":    { "pass": true, "score": 0.12, "threshold": 0.25 }
  },
  "violations": [],
  "pass": true
}

Quality gates

Every response runs six deterministic checks. The same input always returns the same result — no random variation.

Next steps

Subscribe to a plan on RapidAPI and paste your key into the curl command above. The OpenAPI spec documents every field and error code. The blog covers common Amazon DE localization problems — suppressed listings, banned keywords, and model-number preservation — with worked examples.

Subscribe on RapidAPI See plans and pricing OpenAPI spec Read the blog