API

AliExpress API: Euro-Preise, Varianten und Lieferzeiten nach Deutschland als JSON

Wer AliExpress-Preise in Euro auswerten will, merkt schnell, dass ein Artikel nicht einen Preis hat, sondern einen je Variante, und dass auch das Versandland eine Variante ist. Diese API liefert die Produktseite so, wie sie bei einer Lieferadresse in Deutschland erscheint: jede Variante mit Preis, Bestand und „Versand aus“, dazu Lieferzeit, Shop und technische Merkmale, als JSON. Die offiziellen AliExpress-Schnittstellen für Affiliate und Dropshipping setzen ein Konto bei AliExpress voraus und richten sich an Partner und Händler; hier wird weder bestellt noch etwas eingestellt, nur gelesen. Für den deutschen Markt gehören `"country": "DE"` und `"currency": "EUR"` in jede Anfrage, für deutsche Titel auf der Produktseite zusätzlich `"language": "de"`.

Endpunkte

endpointWas zurückkommtPflicht
searchStichwortsuche: Preis, Rabatt in Prozent, verkaufte Menge, Sterne und, sofern AliExpress sie mitliefert, die Aktionshinweise des Treffers (etwa der 30-Tage-Tiefstpreis). Filter für Preisspanne, Versandland (`ship_from`, z. B. DE) und kostenlosen Versand; Sortierung nach Relevanz, Bestellungen, Preis oder Neuheit.query
product_detailDie Produktseite über `product_id` oder URL: alle Varianten (SKU) mit Preis, Bestand, Verfügbarkeit und Bild, technische Merkmale, Shop mit Anteil positiver Bewertungen, Versand ins Zielland mit Kosten und Lieferzeit, außerdem Gewicht und Maße, sofern der Verkäufer sie angegeben hat.alle optional
reviewsKäuferbewertungen über mehrere Seiten in einem Aufruf, mit der Verteilung der Sterne; auf Bewertungen mit Foto filterbar.alle optional
similarVergleichbare Artikel zu einem Produkt oder zu Stichwörtern, ohne das Ausgangsprodukt.alle optional
descriptionDie lange Artikelbeschreibung des Verkäufers mit Text und Bildern.alle optional
shippingDie Versandoptionen ins gewählte Land: Versanddienst, Kosten, Lieferzeit.alle optional
store_infoDas Profil eines Shops; zusammen mit einem Stichwort, das der Shop führt, auch Verkäuferscore, Anteil positiver Bewertungen und deren Anzahl.alle optional
dealsReduzierte Artikel zu einem Stichwort, nach Rabatt sortiert, wahlweise mit Mindestrabatt.query

Jeder Aufruf wird in Credits abgerechnet. Fehlgeschlagene und blockierte Aufrufe sind kostenlos.

Funktionierendes Beispiel

Dieselbe schwarze Powerbank kostet je nach Lager unterschiedlich viel: mit „Versand aus: Deutschland“ 32,39 €, aus Spanien 33,59 €, aus Brasilien 41,79 €. Im Suchtreffer stand die Powerbank bei 32,39 €. `price_min` meldet trotzdem 24,79 €, und dieser Wert gehört zu einer Variante mit Versand aus Russland, Bestand 0, `available: false`. Wer den günstigsten lieferbaren Preis aus einem deutschen Lager braucht, filtert `sku_variants` auf `available: true` und `props["Versand aus"]`; das passende Länderkürzel (`ships_from_code`: DE) steht in `sku_properties`. Aus dem deutschen Lager war die Lieferung mit 2 bis 4 Tagen angegeben.

Anfrage
curl -X POST https://api.reefapi.com/aliexpress/v1/product_detail \
  -H "x-api-key: IHR_SCHLUESSEL" \
  -H "content-type: application/json" \
  -d '{"product_id": "1005011551886608", "country": "DE", "currency": "EUR", "language": "de", "province": "Bayern"}'
Antwort (gekürzt)
{
  "ok": true,
  "data": {
    "product": {
      "product_id": "1005011551886608",
      "title": "【CCC】MOVESPEED P20 Klingenförmige Powerbank 20000mAh 35W Schnellladung Externer Akku für iPhone 17Pro Samsung",
      "currency": "EUR",
      "price_min": 24.79,
      "price_max": 159.69,
      "price_current": 32.39,
      "sold_count": null,
      "sold_text": "1.000+ verkauft",
      "total_stock": 1565,
      "sku_variants": [
        {
          "sku_id": "12000056383615904",
          "props": { "Farbe": "Black powerbank", "Batteriekapazität (mAh)": "20000mAh", "Versand aus": "Deutschland" },
          "price": { "sale": 32.39, "sale_str": "32,39€", "original": null, "currency": "EUR" },
          "stock": 493,
          "available": true
        },
        {
          "sku_id": "12000056383615905",
          "props": { "Farbe": "Black powerbank", "Batteriekapazität (mAh)": "20000mAh", "Versand aus": "Spanien" },
          "price": { "sale": 33.59, "sale_str": "33,59€", "original": null, "currency": "EUR" },
          "stock": 489,
          "available": true
        },
        {
          "sku_id": "12000056383615906",
          "props": { "Farbe": "Black powerbank", "Batteriekapazität (mAh)": "20000mAh", "Versand aus": "Russische Föderation" },
          "price": { "sale": 24.79, "sale_str": "24,79€", "original": null, "currency": "EUR" },
          "stock": 0,
          "available": false
        },
        {
          "sku_id": "12000056383615903",
          "props": { "Farbe": "Black powerbank", "Batteriekapazität (mAh)": "20000mAh", "Versand aus": "203372089" },
          "price": { "sale": 109.39, "sale_str": "109,39€", "original": null, "currency": "EUR" },
          "stock": 500,
          "available": false
        },
        ...
      ],
      "store": { "seller_country": "China", "seller_positive_rate": 97.0, "top_rated": false, ... },
      "shipping": {
        "ship_to": "DE",
        "shipping_cost": 0.0,
        "free": true,
        "delivery_estimate": "2-4 days",
        "delivery_eta": "Okt 27",
        "delivery_days_min": 2,
        "delivery_days_max": 4,
        "ship_from": "Germany",
        "option_count": 2,
        "lines": ["Lieferverfolgung verfügbar"]
      },
      "attributes": {
        "weight": { "value": 418.0, "unit": "gram", "grams": 418.0, "raw": "about 418g", "key": "Weight" },
        "dimensions": { "raw": "147.6mm*69mm*30mm", "key": "Size", "unit": "mm", "length": 147.6, "width": 69.0, "height": 30.0, ... }
      },
      ...
    }
  },
  "meta": { "record_count": 1, "variant_count": 12, "country": "DE", "currency": "EUR", "language_sent": "de", "province_sent": "Bayern", "weight_found": true, "dimensions_found": true, "cache_hit": false, "mode": "live" }
}

AliExpress-Daten mit Python auslesen: wo es unbemerkt schiefgeht

Seitenweise abfragen ist fehleranfälliger, als es aussieht. Im September 2026 wurde uns gemeldet, dass Seite 2 einer Suche mit `max_results: 120` zu großen Teilen Seite 1 wiederholte. Die Ursache lag in unserem eigenen Code: Ein Aufruf mit `max_results` holt mehrere AliExpress-Seiten am Stück, `page` zählte aber weiter in einzelnen Seiten. 21,7 % der Artikel kamen doppelt. Seit der Korrektur springt `page` um das ganze Fenster weiter; übrig bleiben 7,0 %, die AliExpress selbst über seine Seiten hinweg mehrfach ausliefert. Dubletten deshalb immer über `product_id` entfernen.

Eine Shop-ID, die es nicht gibt, beantwortet AliExpress nicht mit 404, sondern mit HTTP 200 und einer fast leeren Seite von rund 670 Byte. Unser `store_info` meldete darauf bis Ende August 2026 nach 41 bis 58 Sekunden TARGET_BLOCKED, also eine Sperre, obwohl nur die ID falsch war. Heute erkennt der Endpunkt diese Seite und antwortet sofort mit NOT_FOUND; bei unserer Probe am 25. Oktober 2026 nach 0,7 Sekunden.

Gewicht und Maße führt AliExpress nicht als eigene Felder. Sie stehen, wenn überhaupt, als Freitext in den Merkmalen des Verkäufers („about 418g“, „147.6mm*69mm*30mm“). In einer Stichprobe von 32 Produkten aus 8 Kategorien fanden wir ein Gewicht bei 4 und Maße bei 2. Die API füllt `attributes` nur, wenn sich ein Wert sauber lesen lässt, und lässt das Feld sonst leer, statt zu schätzen.

Bevor das erste Skript läuft, sollte feststehen, welcher Preis gemeint ist: der niedrigste, den die Seite irgendwo nennt, oder der niedrigste, der sich aus einem Lager in Deutschland tatsächlich bestellen lässt. Bei der Powerbank oben sind das 24,79 € und 32,39 €.

Grenzen und ehrliche Hinweise

  • AliExpress betreibt diese Schnittstelle nicht und hat sie nicht freigegeben; eine Geschäftsbeziehung zu AliExpress besteht nicht.
  • Die Suche liefert die Titel trotz `"language": "de"` auf Englisch: 20 von 20 bei „powerbank 20000mah“ am 25. Oktober 2026. Deutsche Titel und Variantennamen kommen erst mit `product_detail`.
  • In der Suche war `original_price` bei 20 von 20 Treffern null. Ein Vergleichspreis steht höchstens als Text in `promo_tags` („30-day lowest price: 35,94€“): bei einer ersten Abfrage am 25. Oktober 2026 in 15 von 20 Treffern, bei einer zweiten kurz darauf war `promo_tags` in allen 20 leer. `discount_pct` ist AliExpress' eigene Angabe, deren Bezugspreis nicht mitgeliefert wird.
  • Texte, die AliExpress selbst erzeugt, bleiben teils englisch, auch mit `language` de: `delivery_estimate` („2-4 days“) und, wenn vorhanden, die Aktionshinweise der Suche („Free shipping“, „Top selling on AliExpress“).
  • Die deutschen Merkmalsnamen sind AliExpress' eigene Übersetzung und nicht immer sinnvoll, etwa „Hochbetriebenes Chemikalienunternehmen: Keine“. Merkmale, die der Verkäufer selbst ergänzt, bleiben in seiner Sprache, hier Englisch („Rated Capacity“, „Weight“).
  • Ein Variantenwert kann als interne Nummer statt als Name zurückkommen: Bei der Powerbank stand zweimal „Versand aus: 203372089“, beide Varianten nicht verfügbar.
  • `price_min` und `price_max` umfassen auch ausverkaufte Varianten. Für einen Preisvergleich zählt `price.sale` der Varianten mit `available: true`.