API

MediaMarkt API: Produkte und Preise als JSON

MediaMarkt bietet Entwicklern keinen offenen Zugang; die Marktplatz-Schnittstelle dort richtet sich an Händler mit Vertrag. Diese hier liest, was die Storefront öffentlich zeigt: Artikel, Preis, Streichpreis und Verfügbarkeit, als JSON. Jede Länder-Storefront ist dabei ein eigener Shop mit eigenen Preisen.

Endpunkte

endpointWas zurückkommtPflicht
searchStichwortsuche auf einer nationalen Storefront, 12 Artikel je Seite, mit Preis und Verfügbarkeit.query
categoryDie Artikel einer Kategorieseite, aus der Navigation oder aus der Breadcrumb eines Produkts.category
product/detailDer vollständige Artikel über id oder URL: Titel, Marke, EAN, Preis mit Streichpreis und Bilder.product_id

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

Funktionierendes Beispiel

Der Streichpreis ist ein eigenes Feld und nicht derselbe Wert wie der Preis. Wer beim Preisvergleich nur 'den Preis' einsammelt, mischt Vorher und Nachher und bekommt eine Datenbasis, die richtig aussieht und es nicht ist.

Anfrage
curl -X POST https://api.reefapi.com/mediamarkt/v1/search \
  -H "x-api-key: IHR_SCHLUESSEL" \
  -H "content-type: application/json" \
  -d '{"query": "fernseher 55 zoll", "page": 1}'
Antwort (gekürzt)
{
  "ok": true,
  "data": {
    "results": [
      {
        "product_id": "...",
        "title": "...",
        "brand": "...",
        "price": 499.0,
        "strike_price": 649.0,
        "currency": "EUR"
      }
    ]
  },
  "meta": { "record_count": 12, "cache_hit": false, "mode": "live" }
}

Statt eines eigenen MediaMarkt-Scrapers

Einen Scraper für MediaMarkt zu schreiben geht schnell und funktioniert zunächst. Später wird es unangenehm: ändert sich der Aufbau der Produktkacheln, liefert der Parser eine leere Liste statt eines Fehlers, und bei längeren Läufen greift der Bot-Schutz mitten im Durchgang.

Hier liegt die Pflege bei uns: bei einer Schemaänderung reparieren wir die Engine, bei einer Blockade kommt ein Fehlercode zurück und der Aufruf wird nicht berechnet.

Für eine einmalige Auswertung ist das eigene Skript günstiger, das sagen wir offen. Für eine Preisbeobachtung, die täglich läuft, zahlt man für die Ausfälle, die niemand bemerkt.

Grenzen und ehrliche Hinweise

  • Das ist nicht die offizielle MediaMarkt-Schnittstelle, und wir haben keine Partnerschaft mit MediaMarkt.
  • Jede Länder-Storefront hat eigene Preise und ein eigenes Sortiment; ohne Angabe bekommen Sie die Standard-Storefront.
  • Streichpreis und Preis sind getrennte Felder. Gibt es keine Aktion, ist der Streichpreis null.
  • Kein Cache: jeder Aufruf zeigt den Stand zum Zeitpunkt der Anfrage.