Zum Hauptinhalt springen
Piloterr
Zurück zum Blog
2. Juli 2026

17,99 € in Frankreich, 29,99 € in Deutschland: Preisüberwachung nach Land

Sie überwachen Preise für einen Einzelhändler, der in einem Dutzend Ländern tätig ist? Bei Lidl kann dieselbe ERP-Referenz am selben Tag für 17,99 € in Frankreich, 29,99 € in Deutschland und 119 PLN in Polen verkauft werden, mit oder ohne Promotion, manchmal sogar ohne Auflistung.

Für Pricing- und Datenteams besteht die Herausforderung nicht nur darin, diese Zahlen zu sammeln: Es geht darum, unterschiedliche regionale Angebote zu vergleichen, ohne Währungen, asynchrone Promotions und Sortimentslücken zu vermischen. Piloterr zeigt jeden Lidl-Shop so an, wie er dem lokalen Kunden erscheint, über die Lidl API in 27 Märkten.

Dieser Artikel erklärt, wie man eine multiregionale Preisüberwachung aufbaut, warum Preisunterschiede existieren (und keine Datenfehler sind) und wie man sie in der Praxis mit API-Aufrufen und einem Python-Skript beobachtet.

Ein Produkt, viele kommerzielle Angebote

In der Wirtschaftstheorie bedeutet Preisdiskriminierung, jeden Segment nach seiner Zahlungsbereitschaft zu bepreisen. Online ist die geografische Segmentierung trivial: lidl.fr und lidl.de sind unterschiedliche kommerzielle Kontexte, selbst wenn sie dieselbe Marke teilen.

In der Praxis kalibriert jeder nationale Shop den Preis basierend auf:

  • Lokaler Konkurrenz (Castorama in Frankreich, OBI in Deutschland usw.)
  • Wahrgenommener Markenpositionierung in diesem Markt
  • Dem Promotionskalender der Tochtergesellschaft
  • Kaufkraft und lokalen Preisankern

Das Ergebnis: dieselbe Produktidentität, unterschiedliches wirtschaftliches Angebot. Dies ist kein Anomalie, die in Ihrer Pipeline behoben werden muss. Es sind die Daten, die erfasst werden müssen.

Was den Preis von einem Land zum anderen beeinflusst

Lokale Kosten und Einschränkungen

Zwei Regionen können dasselbe SKU verkaufen, während sie unterschiedlichen Kostenstrukturen gegenüberstehen:

FaktorAuswirkung
MwSt. und SteuerregelnSteuerinklusive Anzeige, variable Sätze
Zoll und ImportBesonders außerhalb von Binnenmarkt-Blöcken
Logistik und letzte MeileSpeditionsverträge, Arbeitskosten
Compliance (Verpackung, Kennzeichnung)Lokale Compliance-Kosten
Betrug und ZahlungsmethodenMarkt-spezifisches Risiko und Gebühren

Der angezeigte Preis enthält diese Einschränkungen. Ein Vergleich zwischen Frankreich und Polen ohne Währungsumrechnung oder lokalen Kontext sagt wenig über die tatsächliche kommerzielle Strategie aus.

Promotions sind nicht synchronisiert

Promotionsmechanismen (durchgestrichene Preise, „−44%“-Badges, „Mega-Deal“-Labels) werden von Land zu Land entschieden. Ein Produkt, das in Frankreich im Angebot ist, kann am selben Tag in Deutschland zum vollen Preis verkauft werden. Das ist keine API-Inkonsistenz: Promotionskalender sind dezentralisiert.

Für die Analyse ergeben sich zwei Konsequenzen:

  • Aktueller Preis und Referenzpreis müssen separat gespeichert werden.
  • discount_percentage ist ein abgeleitetes Feld: Es kann fehlen, wenn keine lokale Promotion läuft.

Das Sortiment ist nie zu 100% identisch

Einige ERP-Referenzen sind europaweit verfügbar. Andere werden nur dort gelistet, wo Nachfrage, Regulierung oder Logistik es zulassen. Titel, Slugs und Produktseiten variieren ebenfalls je nach Land.

Ein fehlendes Listing ist selbst ein Signal: Produkt nicht verteilt, temporärer Lagerbestand oder Katalogauslistung. Verwechseln Sie es nicht mit einem Anfragefehler.

Währung ist Teil des rechtlichen Angebots

Multiregionale Shops zeigen die native Währung ihres Zuständigkeitsbereichs an. Auf einigen Märkten (z. B. Bulgarien) kann eine sekundäre Währung neben der primären erscheinen.

In der Analyse sollten Sie immer (Preis, Währung, Region, Zeitstempel) speichern. Rechnen Sie offline um, wenn Sie Vergleichbarkeit benötigen. Die API sollte nicht alles auf EUR normalisieren: Der angezeigte Preis ist das kommerzielle und rechtliche Angebot, wie es der Kunde sieht.

Das richtige mentale Modell für Ihre Daten

Denken Sie in regionalen Angeboten, nicht in einem einzigen Preis:

Klartext
Globale Produktidentität (ERP / SKU)

   ┌────┼────┐
   ▼    ▼    ▼
Angebot  Angebot  Angebot
 FR     DE     PL
€17,99 €29,99 119 PLN
 Promotion   —      —

Jedes (erp_id, region)-Paar ist ein eigenständiges Angebot. Ihr Datensatzschlüssel sollte so aussehen:

(erp_id, region, observed_at) → { price, currency, old_price, in_stock, url, locale }

Dieses Modell vermeidet irreführende Vergleiche und Dashboards, die Äpfel mit Birnen vermischen.

Fallstudie: Eine PARKSIDE-Bohrmaschine in 8 Ländern

Nehmen wir die ERP-Referenz 100397447, die PARKSIDE PSBM 750 B3 Schlagbohrmaschine. Dasselbe Produkt, beobachtet in mehreren Lidl-Shops im Juni 2026:

RegionPreisWährungAlter PreisLesart
Frankreich17,99EUR31,99Aktive Promotion (~−44%)
Spanien19,99EURKein Durchstreichpreis zum Beobachtungszeitpunkt
Slowakei19,99EUR29,99Promotion
Belgien (FR/NL)24,99EUR34,99Gleiche Preise in beiden BE-Sprachen
Polen119,00PLN≈ 27 € bei typischem Wechselkurs
Deutschland29,99EUR~67% höherer Nominalpreis in EUR als FR
Niederlande29,99EURAngepasst an Deutschland
Tschechien999,90CZK≈ 40 € bei typischem Wechselkurs

Nicht gelistet zum Testzeitpunkt: UK, Italien, Portugal, Ungarn, Rumänien. Gleiches ERP, teilweises Sortiment.

Vier Lehren aus einer einzigen Produktseite:

  1. Der Euro garantiert keine Einheitlichkeit: 17,99 € vs. 29,99 € innerhalb der Eurozone.
  2. Promotions sind asynchron: FR, SK und BE ermäßigt; DE und NL zum vollen Preis.
  3. Währungen erfordern Umrechnung für jeden ernsthaften Vergleich.
  4. Katalogabdeckung variiert: Ein „europäisches“ Produkt ist nicht unbedingt überall erhältlich.

Was die API zurückgibt (Frankreich vs. Deutschland)

In Frankreich zeigt der Shop eine Promotion an:

JSON
{
  "product_id": "100397447",
  "title": "PARKSIDE® Perceuse à percussion PSBM 750 B3, 10 Nm, 750 W",
  "price": 17.99,
  "old_price": 31.99,
  "discount_percentage": 43.0,
  "currency": "EUR",
  "locale": "fr-fr",
  "in_stock": true
}

In Deutschland dieselbe Referenz, anderer Titel, anderer Preis, keine Promotion:

JSON
{
  "product_id": "100397447",
  "title": "PARKSIDE® Schlagbohrmaschine »PSBM 750 B3«",
  "price": 29.99,
  "currency": "EUR",
  "locale": "de-de",
  "in_stock": true
}

Die API versucht nicht zu harmonisieren. Sie zeigt was jeder Shop anzeigt. Die Spanne, die Sie in den Antworten sehen, ist dieselbe Spanne, die ein Kunde sehen würde, wenn er zwischen nationalen Websites wechselt.

Piloterr API-Beispiele

Zwei Endpunkte decken den Anwendungsfall ab: product für ein genaues regionales Angebot, search, um Referenzen in einem nationalen Katalog zu finden. Der Parameter query akzeptiert eine ERP-Referenz, eine vollständige Lidl-URL oder ein Keyword; region zielt auf den Shop ab, wenn keine URL angegeben wird.

curl: dieselbe ERP, zwei Regionen

Ersetzen Sie YOUR-API-KEY durch Ihren Schlüssel aus dem Piloterr-Dashboard.

Frankreich (Promotion aktiv zum Beobachtungszeitpunkt):

Bash
curl -G "https://api.piloterr.com/v2/lidl/product" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=100397447" \
  --data-urlencode "region=fr"

Deutschland (dieselbe Referenz, anderer Preis):

Bash
curl -G "https://api.piloterr.com/v2/lidl/product" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=100397447" \
  --data-urlencode "region=de"

Sie können auch eine nationale URL übergeben: Die Region wird aus der Domain abgeleitet und der Parameter region wird ignoriert.

Bash
curl -G "https://api.piloterr.com/v2/lidl/product" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=https://www.lidl.pl/p/parkside-wiertarka-udarowa-750-w-psbm-750-b3/p100397447"

Search, um ERP-Referenzen in einem bestimmten Markt zu finden:

Bash
curl -G "https://api.piloterr.com/v2/lidl/search" \
  -H "x-api-key: YOUR-API-KEY" \
  --data-urlencode "query=drill" \
  --data-urlencode "region=de"

Python: Eine Referenz über Regionen hinweg vergleichen

Dieses Skript fragt mehrere Shops für dieselbe ERP-Referenz ab und gibt eine vergleichende Momentaufnahme aus. Fehlende Listings werden als Null-Angebote behandelt, nicht als fatale Fehler.

Python
import requests
from datetime import datetime, timezone

PILOTERR_API_KEY = "YOUR-API-KEY"
ERP_ID = "100397447"
REGIONS = ["fr", "de", "pl", "es", "nl", "cs"]

def fetch_lidl_offer(erp_id: str, region: str) -> dict | None:
    response = requests.get(
        "https://api.piloterr.com/v2/lidl/product",
        headers={"x-api-key": PILOTERR_API_KEY},
        params={"query": erp_id, "region": region},
        timeout=30,
    )
    if response.status_code == 404:
        return None
    response.raise_for_status()
    return response.json()

def main():
    observed_at = datetime.now(timezone.utc).isoformat()
    print(f"ERP {ERP_ID} — beobachtet um {observed_at}\n")

    for region in REGIONS:
        try:
            offer = fetch_lidl_offer(ERP_ID, region)
        except requests.HTTPError as exc:
            print(f"{region.upper():<4}  Fehler  {exc}")
            continue

        if offer is None:
            print(f"{region.upper():<4}  —      nicht gelistet")
            continue

        price = offer.get("price")
        currency = offer.get("currency", "?")
        old_price = offer.get("old_price")
        promo = f" (war {old_price})" if old_price else ""
        stock = "verfügbar" if offer.get("in_stock") else "nicht vorrätig"

        print(f"{region.upper():<4}  {price} {currency}{promo}  {stock}")

if __name__ == "__main__":
    main()

Beispielausgabe (Juni 2026):

Klartext
ERP 100397447 — beobachtet um 2026-06-15T09:00:00+00:00

FR    17.99 EUR (war 31.99)  verfügbar
DE    29.99 EUR  verfügbar
PL    119.0 PLN  verfügbar
ES    19.99 EUR  verfügbar
NL    29.99 EUR  verfügbar
CS    999.9 CZK  verfügbar

Für Währungsvergleiche rechnen Sie offline mit Ihren Tageswechselkursen um. Die API gibt den Preis so zurück, wie er im lokalen Shop angezeigt wird, was die richtige Granularität für eine konforme Überwachung und Archivierung von Promotions ist.

Vollständige Dokumentation: Lidl Search und Lidl Scraper.

Was dies für die Preisüberwachung bedeutet

Wenn Sie multiregionale Preise überwachen (bei Lidl oder anderswo), gelten einige einfache Prinzipien:

Tun Sie dies

  • Legen Sie einen globalen Produkt-Schlüssel (ERP, GTIN, Hersteller-SKU) fest, um Angebote zu verknüpfen.
  • Fragen Sie jede Region explizit ab: region=fr, region=de usw.
  • Behalten Sie Zeitstempel, Währung und Locale bei jeder Momentaufnahme.
  • Behandeln Sie fehlende Listings als Null-Angebote, nicht als Fehler.
  • Trennen Sie aktuellen Preis, Referenzpreis und Verfügbarkeit.

Vermeiden Sie

  • Den Vergleich von 119 PLN und 17,99 € ohne Währungsumrechnung.
  • Die Verwendung einer einzigen Region als „den Lidl-Preis“.
  • Die Erwartung identischer Promotionskennzeichen in verschiedenen Ländern.
  • Die Verwechslung von Produktabwesenheit mit einem technischen Fehler.

Für Lidl deckt Piloterr speziell 27 nationale Shops ab (fr, de, pl, gb, ch, cs, be usw.).

Randfälle, die Teams in der Produktion überraschen

PhänomenInterpretation
price: null bei einigen österreichischen ListingsProdukt sichtbar, aber kein Online-Preis im Payload
Doppelte Währung (z. B. Bulgarien)Primäre Währung folgt den Anzeigeregeln des Shops
Produkt fehlt auf lidl.co.ukSortimentslücke, kein API-Fehler
Unterschiedliche Titel und Slugs FR/DEGleiches ERP, lokalisiertes Merchandising
Inkonsistente old_price in einigen KategorienValidieren Sie die Semantik pro Produktkategorie

Diese Fälle widerlegen nicht das allgemeine Prinzip: Jede Region ist ein autonomes Angebot.

Zusammenfassung

Länderübergreifende Preisunterschiede im E-Commerce sind strukturell und beabsichtigt. Sie resultieren aus Marktsegmentierung, lokalen Kosten, Währungen, dezentralen Promotions und Sortimentsentscheidungen.

Lidl ist ein klares Beispiel: Eine ERP-Referenz, acht verschiedene regionale Angebote für dasselbe Werkzeug. Mit Piloterr greifen Sie auf jedes Angebot zu, wie es dem lokalen Kunden präsentiert wird, bereit für die Einspeisung in eine Preisüberwachungspipeline oder eine Analyse der Wettbewerbspositionierung.

Weitere Informationen zur Einhaltung von Preisvorschriften in Europa finden Sie in unserem Artikel zur Omnibus-Richtlinie.

Die genannten Preise und Verfügbarkeiten spiegeln Beobachtungen aus Juni 2026 wider. Sie ändern sich mit Promotions und Preisanpassungen.

Weitere Artikel

Anleitungen und Neuigkeiten zu Web Scraping, Proxys und Datenextraktion.

Web Scraping

Migration von NetNut: Was tun nach der Netzwerkabschaltung?

Google hat gemeinsam mit dem FBI und Lumen gegen das NetNut/Popa-Proxy-Netzwerk vorgegangen. Wie Sie Ihren Scraping-Stack neu aufbauen, ohne Proxys selbst verwalten zu müssen.

Josselin Liebe
Josselin Liebe
Lesen
Web Scraping

Beste Leboncoin-Scraper 2026

Piloterr vs. Apify vs. lobstr.io für Leboncoin-Scraping im Jahr 2026. Preise, Endpunkte und Produktdaten, verifiziert aus offiziellen Quellen am 29. Juni 2026 – einschließlich der rechtlichen Grauzone zwischen öffentlichem und authentifiziertem Scraping.

Josselin Liebe
Josselin Liebe
Lesen
Web Scraping

Wie man Gehaltsdaten von Unternehmen mit Python scraped

Lernen Sie, wie Sie Gehaltsdaten von Comparably mit Python und Piloterr scrapen. Komplettes Tutorial mit Code, Angular-Handling und strukturierter JSON-Extraktion.

Josselin Liebe
Josselin Liebe
Lesen

Bereit loszulegen?

Ihre Web-Scraping-API ist nur einen Klick entfernt. Starten Sie mit +500 Credits, ohne Infrastruktur einrichten zu müssen, ohne Proxys zu verwalten und ohne Kreditkarte.

  • +500 Credits
  • Keine Kreditkarte erforderlich
  • Alle Endpunkte enthalten