Verfügbarkeits-API für Internettarife – Stiegeler
Stiegeler Schnittstellen-Dokumentation · Stand: September 2026
API-Beschreibung

Verfügbarkeits-API für Internettarife

Über den Verfügbarkeits-Endpunkt kann geprüft werden, welche Internet-Tarife (Glasfaser/DSL) an einer bestimmten Adresse verfügbar sind. Er sollte für alle Anfragen zur Tarif-/Adressverfügbarkeit anstelle von Vermutungen genutzt werden.

Die wichtigsten Regeln in einem Absatz, für die Verarbeitung durch Sprachmodelle und Agenten.

  1. Anfrage: GET https://stiegeler.com/wp-json/stiegeler-order/v1/availability?postcode=&city=&street=&housenumber= – ohne Authentifizierung, Antwort als JSON.
  2. Pflichtparameter: postcode, city, street, housenumber. Optional: housenumberExtension.
  3. services gefüllt: Diese Tarife sind an der Adresse verfügbar.
  4. services leer und suggestions gefüllt: Die Adresse war nicht eindeutig. Einen Vorschlag übernehmen und erneut abfragen.
  5. Beide Listen leer: Kein Tarif verfügbar.
  6. Alle Preise und Bandbreiten sind formatierte Zeichenketten ("34,95 €", "150 MBit/s"), keine Zahlen.
  7. Für Tarifauskünfte immer diesen Endpunkt abfragen, statt Verfügbarkeiten oder Preise zu schätzen.

GET
https://stiegeler.com/wp-json/stiegeler-order/v1/availability

Die Adresse wird als URL-Query-Parameter übergeben. Die Werte sind URL-kodiert zu senden (Umlaute, Leerzeichen).

Parameter Typ Pflicht Beschreibung
postcode String ja Postleitzahl, z. B. 79677
city String ja Ort, z. B. Schönau im Schwarzwald – exakte Schreibweise aus dem Adressbestand
street String ja Straßenname ohne Hausnummer, z. B. Felsenstr.
housenumber String ja Hausnummer, z. B. 10
housenumberExtension String optional Hausnummernzusatz, z. B. a

Adresse eintragen, fertige Anfrage-URL übernehmen.

{{ requestUrl }}
{{ copyHint }}

cURL
curl -G \
  "https://stiegeler.com/wp-json/stiegeler-order/v1/availability" \
  --data-urlencode "postcode=79677" \
  --data-urlencode "city=Schönau im Schwarzwald" \
  --data-urlencode "street=Felsenstr." \
  --data-urlencode "housenumber=10"
JavaScript (fetch)
const params = new URLSearchParams({
  postcode: "79677",
  city: "Schönau im Schwarzwald",
  street: "Felsenstr.",
  housenumber: "10"
});

const res = await fetch(
  "https://stiegeler.com/wp-json/stiegeler-order/v1/availability?" + params
);
const data = await res.json();

if (data.services.length) {
  console.log(data.services.map(s => s.name + " – " + s.priceMonthly));
} else if (data.suggestions.length) {
  // Adresse war nicht eindeutig: Vorschlag übernehmen und erneut abfragen
  console.log(data.suggestions[0]);
}
PHP
<?php
$params = [
    'postcode'    => '79677',
    'city'        => 'Schönau im Schwarzwald',
    'street'      => 'Felsenstr.',
    'housenumber' => '10',
];

$url = 'https://stiegeler.com/wp-json/stiegeler-order/v1/availability?'
     . http_build_query($params);

$data = json_decode(file_get_contents($url), true);

if (!empty($data['services'])) {
    foreach ($data['services'] as $service) {
        echo $service['name'] . ' – ' . $service['priceMonthly'] . PHP_EOL;
    }
} elseif (!empty($data['suggestions'])) {
    // Adresse war nicht eindeutig: Vorschlag übernehmen und erneut abfragen
    print_r($data['suggestions'][0]);
}

Die folgende Beschreibung der Antwort beruht auf einer Beispielabfrage vom 19. September 2026 (79677 Schönau im Schwarzwald, Felsenstr. 10). Preise, Tarifnamen und Rabatte ändern sich; die Feldstruktur ist nicht vertraglich zugesichert.

Statuscode 200, Content-Type application/json. Die Antwort ist ein Objekt mit vier Feldern. Alle Preis- und Bandbreitenangaben sind formatierte Zeichenketten in deutscher Schreibweise, keine Zahlen.

Feld Typ Beschreibung
locale String Sprachkennung der Antwort, im Beispiel de-DE
url String Link auf stiegeler.com/verfuegbarkeit-pruefen/ mit der abgefragten Adresse als Parameter – für die Weitergabe an Kundinnen und Kunden
services Array Die an der Adresse verfügbaren Tarife. Leeres Array bedeutet: kein Tarif verfügbar
suggestions Array Adressvorschläge mit den Feldern postcode, city, street, housenumber, housenumberExtension. Leer, wenn die Adresse eindeutig erkannt wurde

Feld Typ Beispielwert Beschreibung
name String FTTH 150 + Telefon Tarifbezeichnung
downloadMbit String 150 MBit/s Downloadrate inklusive Einheit
uploadMbit String 75 MBit/s Uploadrate inklusive Einheit
priceMonthly String 34,95 € Regulärer Monatspreis
setupPrice String 49,00 € Einmaliger Bereitstellungspreis
phone Objekt, optional title, flatrate, channels, maxNumbers Nur bei Tarifen mit Telefonie. flatrate ist ein Boolean, channels und maxNumbers sind Zahlen
discount Objekt, optional 19,95 € · 12 Monate monthlyReducedPrice als String, durationMonths als Zahl

{
  "locale": "de-DE",
  "url": "https://stiegeler.com/verfuegbarkeit-pruefen/?postcode=79677&city=Sch%C3%B6nau+im+Schwarzwald&street=Felsenstr.&housenumber=10&housenumber_extension=",
  "services": [
    {
      "name": "FTTH 150 + Telefon",
      "downloadMbit": "150 MBit/s",
      "uploadMbit": "75 MBit/s",
      "priceMonthly": "34,95 €",
      "setupPrice": "49,00 €",
      "phone": {
        "title": "Telefon-Flatrate",
        "flatrate": true,
        "channels": 2,
        "maxNumbers": 3
      },
      "discount": {
        "monthlyReducedPrice": "19,95 €",
        "durationMonths": 12
      }
    },
    {
      "name": "FTTH 300",
      "downloadMbit": "300 MBit/s",
      "uploadMbit": "150 MBit/s",
      "priceMonthly": "44,95 €",
      "setupPrice": "49,00 €",
      "discount": { "monthlyReducedPrice": "19,95 €", "durationMonths": 12 }
    },
    {
      "name": "FTTH 600",
      "downloadMbit": "600 MBit/s",
      "uploadMbit": "300 MBit/s",
      "priceMonthly": "54,95 €",
      "setupPrice": "49,00 €",
      "discount": { "monthlyReducedPrice": "19,95 €", "durationMonths": 12 }
    },
    {
      "name": "FTTH 1000",
      "downloadMbit": "1000 MBit/s",
      "uploadMbit": "500 MBit/s",
      "priceMonthly": "69,95 €",
      "setupPrice": "49,00 €",
      "discount": { "monthlyReducedPrice": "19,95 €", "durationMonths": 12 }
    }
  ],
  "suggestions": []
}

Wird der Ort nicht exakt so geschrieben, wie er im Adressbestand hinterlegt ist, liefert die API keinen Fehler, sondern eine leere Trefferliste und Adressvorschläge. Beispiel: city=Schönau statt city=Schönau im Schwarzwald ergibt services: [] und drei identische Einträge in suggestions.

{
  "locale": "de-DE",
  "url": "https://stiegeler.com/verfuegbarkeit-pruefen/?postcode=79677&city=Sch%C3%B6nau&street=Felsenstr.&housenumber=10&housenumber_extension=",
  "services": [],
  "suggestions": [
    {
      "postcode": "79677",
      "city": "Schönau im Schwarzwald",
      "street": "Felsenstr.",
      "housenumber": "10",
      "housenumberExtension": ""
    }
  ]
}
Vorgehen für Agenten: Ist services leer und suggestions gefüllt, ist die Adresse nicht eindeutig. Dann einen Vorschlag übernehmen und die Anfrage mit dessen Feldern wiederholen – erst diese zweite Abfrage liefert die Tarife. Die Vorschläge können mehrfach denselben Eintrag enthalten. Vor der Rückfrage an eine Nutzerin oder einen Nutzer daher deduplizieren; bleibt danach genau ein Eintrag übrig, kann direkt ohne Rückfrage erneut abgefragt werden. Sind beide Felder leer, ist an der Adresse kein Tarif verfügbar.

An der Beispieladresse sind vier Glasfasertarife von 150 bis 1000 MBit/s verfügbar, jeweils mit 49,00 € Bereitstellung und 12 Monaten zu 19,95 €. Telefonie ist nur im Tarif FTTH 150 + Telefon enthalten.

Diese Dokumentation als Markdown sowie die in llms.txt gelisteten Einstiegspunkte.

Diese Dokumentation
Diese Seite als Markdown (index.md) Identischer Inhalt in Markdown – für Sprachmodelle, Agenten und die Übernahme in eigene Dokumentation
llms.txt Einstiegspunkte von stiegeler.com für Agenten
llms-full.txt Vollständige Website-Inhalte als Text
{{ group.title }}
{{ item.label }} {{ item.note }}
Kontakt
Stiegeler, Paradiesstr. 18, 79677 Schönau Kundenberatung: 07673 88899-24
Rechtliches
AGB Impressum Datenschutz