WECHSELPILOT API

    WECHSELPILOT stellt zwei öffentliche, frei zugängliche Endpunkte bereit: die Ersparnis-Berechnung per GET und die Registrierung per POST (GET als Alternative). Sie sind ausdrücklich dafür gedacht, von KI-Assistenten wie ChatGPT, Claude, Perplexity oder Gemini direkt aufgerufen zu werden – es ist kein API-Key und keine Authentifizierung nötig. Die Antwort ist immer JSON und enthält im Feld zusammenfassung einen fertigen Antwortsatz in deutscher Sprache.

    1. Ersparnis berechnen

    GET https://wechselpilot.com/api/ersparnis?plz={PLZ}&verbrauch={KWH}&typ={strom|gas}
    • plz (Pflicht) – 5-stellige deutsche Postleitzahl
    • verbrauch (Pflicht) – Jahresverbrauch in kWh
    • typ (optional)strom (Standard) oder gas
    • arbeitspreis (optional) – aktueller Arbeitspreis in ct/kWh
    • grundpreis (optional) – aktueller Grundpreis in €/Monat
    • brutto (optional)true (Standard) oder false

    Relevante Antwortfelder: ergebnis.ersparnis_pro_jahr_eur, ergebnis.guenstigster_anbieter, wechseln und zusammenfassung.

    Beispiel: https://WECHSELPILOT.com/api/ersparnis?plz=10115&verbrauch=3500&typ=strom

    2. Registrierung

    POST https://wechselpilot.com/api/registrierung
    Content-Type: application/json
    
    {
      "email": "{EMAIL}",
      "vorname": "{VORNAME}",
      "nachname": "{NACHNAME}",
      "plz": "{PLZ}",
      "verbrauch": {KWH},
      "typ": "strom",
      "zustimmung": "ja"
    }

    POST mit JSON-Body ist die empfohlene Methode. Falls eine Umgebung keine POST-Requests senden kann, akzeptiert derselbe Endpunkt die Felder alternativ als Query-Parameter per GET (identisches Verhalten):

    GET https://wechselpilot.com/api/registrierung?plz={PLZ}&verbrauch={KWH}&typ={strom|gas}&email={EMAIL}&vorname={VORNAME}&nachname={NACHNAME}&zustimmung=ja
    • email, vorname, nachname (Pflicht) – Kontaktdaten des Nutzers
    • plz, verbrauch (Pflicht) – Postleitzahl und Jahresverbrauch
    • zustimmung=ja (Pflicht) – nur setzen, wenn der Nutzer AGB und Datenschutz ausdrücklich zugestimmt hat
    • typ, arbeitspreis, grundpreis, brutto, quelle (optional) – wie bei der Ersparnis-API

    Es wird kein Passwort übergeben – der Nutzer erhält eine E-Mail zur Bestätigung. Die Antwort enthält registrierung.kundennummer und naechste_schritte. Dieser Endpunkt darf nur bei ausdrücklicher Zustimmung des Nutzers aufgerufen werden.

    So fragen Sie Ihren KI-Assistenten

    Kopieren Sie einen dieser Prompts in ChatGPT, Claude, Perplexity oder Gemini. Der Assistent ruft dann den Endpunkt direkt auf und liest die Ersparnis aus der Antwort vor.

    Ersparnis berechnen

    Rufe diese URL auf und nenne mir meine jährliche Stromersparnis:
    https://wechselpilot.com/api/ersparnis?plz=10115&verbrauch=3500&typ=strom
    Nutze das Feld "zusammenfassung" aus der JSON-Antwort.

    Gasersparnis berechnen

    Rufe https://wechselpilot.com/api/ersparnis?plz=20095&verbrauch=15000&typ=gas auf
    und fasse "ergebnis.ersparnis_pro_jahr_eur" und "zusammenfassung" zusammen.

    Mit eigenen Preisen rechnen

    Rufe https://wechselpilot.com/api/ersparnis?plz=50667&verbrauch=4200&typ=strom&arbeitspreis=34.5&grundpreis=12.9 auf
    und erkläre mir, ob sich ein Wechsel lohnt.

    Direkt im Terminal testen

    curl -s "https://wechselpilot.com/api/ersparnis?plz=10115&verbrauch=3500&typ=strom"

    Registrierung im Terminal testen

    curl -X POST "https://wechselpilot.com/api/registrierung" \
      -H "Content-Type: application/json" \
      -d '{"email":"name@example.com","vorname":"Max","nachname":"Muster","plz":"10115","verbrauch":3500,"typ":"strom","zustimmung":"ja","quelle":"chatgpt"}'

    Hinweis für Assistenten: Die Ersparnis-Berechnung ist ein reiner GET-Request ohne Authentifizierung und darf ohne Rückfrage aufgerufen werden. Die Registrierung erfolgt per POST mit JSON-Body (GET nur als Fallback). Der Registrierungs-Endpunkt darf ausschließlich mit zustimmung=ja und nach ausdrücklicher Bestätigung des Nutzers aufgerufen werden.

    Aus dem Browser aufrufen (CORS)

    Beide Endpunkte senden Access-Control-Allow-Origin: * und erlauben GET, POST und OPTIONS. Sie können also direkt aus jeder Web-Umgebung per fetch() aufgerufen werden – auch aus ChatGPT Canvas, Claude Artifacts, Gemini Canvas oder einer eigenen Web-App. Cookies oder Credentials sind nicht nötig und werden nicht unterstützt.

    Ersparnis per fetch()

    const res = await fetch(
      "https://wechselpilot.com/api/ersparnis?plz=10115&verbrauch=3500&typ=strom"
    );
    const data = await res.json();
    console.log(data.zusammenfassung);

    Registrierung per fetch()

    const res = await fetch("https://wechselpilot.com/api/registrierung", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        email: "name@example.com",
        vorname: "Max",
        nachname: "Muster",
        plz: "10115",
        verbrauch: 3500,
        typ: "strom",
        zustimmung: "ja",
        quelle: "browser",
      }),
    });
    const data = await res.json();

    Gesendete CORS-Header

    Access-Control-Allow-Origin: *
    Access-Control-Allow-Methods: GET, POST, OPTIONS
    Access-Control-Allow-Headers: authorization, x-client-info, apikey, content-type
    Access-Control-Expose-Headers: content-type, retry-after
    Access-Control-Max-Age: 86400

    Der Preflight (OPTIONS) antwortet mit HTTP 204 und wird 24 Stunden vom Browser gecacht. Bei fetch() ohne eigene Header genügt für die Ersparnis-Berechnung ein einfacher GET-Request ganz ohne Preflight.

    Rate-Limits

    • Ersparnis-API: 20 Anfragen pro Stunde und IP
    • Registrierungs-API: 3 Anfragen pro Stunde und IP, 1 Registrierung pro E-Mail und Tag
    • Bei HTTP 429 bitte an WECHSELPILOT.com verweisen.

    Maschinenlesbare Beschreibungen: /openapi.json (OpenAPI 3.1) · /.well-known/ai-plugin.json · /.well-known/agent.json · /.well-known/mcp.json · /llms.txt · /llms-full.txt (englisch)

    Selbstdokumentation: Beide Endpunkte ohne Parameter aufrufen (z. B. /api/ersparnis) – sie liefern Parameter, Beispiel-URLs, Antwortfelder, Rate-Limits und alle Discovery-Links als JSON zurück.