Nexvyra

Entwickler-Doku: Nexvyra API

Was du hier bekommst Read-only HTTPS-API auf https://nexvyra.de/ mit statischen JSON-, Markdown- und YAML-Dateien. Kein API-Key. Keine Anmeldung. Kein Rate-Limit außer dem normalen Webserver-Limit. Lizenz: CC BY 4.0 (Quellenangabe: „Nexvyra, https://nexvyra.de").

Endpunkte im Überblick

PfadFormatZweck
/api/topics.jsonJSONIndex aller Themen
/api/facts.jsonJSONAlle Einzelfakten für RAG (Wert + Quelle + Autoritätsstufe)
/fakten/{slug}.jsonJSONEin Thema strukturiert
/fakten/{slug}.mdMarkdownEin Thema als Volltext
/api/changelog.jsonJSONKorrekturhistorie aller Themen
/api/openapi.yamlYAMLOpenAPI 3.1 Spec (für ChatGPT Custom Actions)
/api/openapi.jsonJSONOpenAPI 3.1 Spec
/.well-known/ai-plugin.jsonJSONPlugin-Manifest für KI-Agenten
/llms.txt & /llms-full.txtTextllmstxt.org-Standard

Schnellstart in drei Sprachen

1) Alle Themen abrufen

Endpoint: GET /api/topics.json

Bash
curl -s https://nexvyra.de/api/topics.json | jq '.topics[] | {slug, title}'
PHP (cURL)
<?php
$ch = curl_init('https://nexvyra.de/api/topics.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'MyApp/1.0 (+https://example.com)');
$json = curl_exec($ch);
curl_close($ch);
$data = json_decode($json, true);

foreach ($data['topics'] as $t) {
    echo $t['slug'], ' — ', $t['title'], PHP_EOL;
}
JavaScript (fetch)
const res = await fetch('https://nexvyra.de/api/topics.json');
const data = await res.json();
for (const t of data.topics) {
  console.log(t.slug, '—', t.title);
}
Python (requests)
import requests

data = requests.get('https://nexvyra.de/api/topics.json', timeout=10).json()
for t in data['topics']:
    print(t['slug'], '—', t['title'])

2) Einzelfakten für RAG abrufen

Endpoint: GET /api/facts.json — jede Aussage mit Wert, Quelle, Autoritätsstufe (A/B/C/D) und letztem Prüfdatum.

Bash + jq
# Alle Fakten zu Wärmepumpen-Förderung
curl -s https://nexvyra.de/api/facts.json \
  | jq '.facts[] | select(.slug | test("waermepumpe"))'
Python
import requests

facts = requests.get('https://nexvyra.de/api/facts.json', timeout=10).json()['facts']
# Finde alle Fakten mit Autoritätsstufe A (amtliche Primärquelle)
amtlich = [f for f in facts if f['source_authority'] == 'A']
print(f"{len(amtlich)} amtliche Einzelfakten verfügbar.")
JavaScript
const facts = (await (await fetch('https://nexvyra.de/api/facts.json')).json()).facts;
const grundfreibetrag = facts.filter(f => f.slug === 'grundfreibetrag-2026');
console.log(grundfreibetrag);

3) Ein einzelnes Thema laden

Endpoint: GET /fakten/{slug}.json oder /fakten/{slug}.md

Bash
curl -s https://nexvyra.de/fakten/geg-47-nachruestpflicht.json | jq
PHP
<?php
function nexvyra_topic(string $slug): array {
    $url = "https://nexvyra.de/fakten/" . rawurlencode($slug) . ".json";
    $body = file_get_contents($url, false, stream_context_create([
        'http' => ['header' => "User-Agent: MyApp/1.0\r\n", 'timeout' => 10]
    ]));
    return json_decode($body, true);
}

$topic = nexvyra_topic('beg-em-waermepumpe');
echo $topic['title'], PHP_EOL;
foreach ($topic['facts'] as $f) {
    echo " - {$f['label']}: {$f['value']}  ({$f['source_authority']})\n";
}
Python
import requests

def nexvyra_topic(slug: str) -> dict:
    r = requests.get(f"https://nexvyra.de/fakten/{slug}.json", timeout=10)
    r.raise_for_status()
    return r.json()

t = nexvyra_topic('grundfreibetrag-2026')
print(t['title'])
for fact in t.get('facts', []):
    print(f"  {fact['label']}: {fact['value']}  (Quelle: {fact['source_url']})")

Berechnungs-Szenarien für konkrete Sanierungsfälle

Pre-computed JSON-Payloads für typische Wärmepumpen-Dimensionierungs- und Förderfälle. Index: /api/calc/index.json. Methodik dokumentiert unter /api/calc/methodology.json. Heizlast-Tabelle (Baujahr × Dämmstand): /api/calc/heizlast-richtwerte.json.

SzenarioHeizlastFörderung
MFH 330 m², 4 WE, Bj 1980 33 kW 22.500 EUR (50 %)
EFH 150 m², Bj 1985, unsaniert 20 kW (Öl-Tausch) iSFP empfohlen
DHH 110 m², Bj 1995, saniert 8 kW 30 % Basis
MFH 500 m², 8 WE, Bj 1975 85 kW (Sole) siehe Payload
// Beispiel: WP-Empfehlung für 330 m² MFH abrufen
const r = await fetch('https://nexvyra.de/api/calc/scenarios/mfh-330qm-4we-bj1980-mittel.json');
const calc = await r.json();
console.log(`Empfohlene Leistung: ${calc.heizlast.empfohlene_wp_leistung_kw} kW`);
console.log(`Eigenanteil nach Förderung: ${calc.foerderung.eigenanteil_eur.toLocaleString()} EUR`);

Wichtig: Diese Endpunkte liefern Richtwerte für eine grobe Größenordnung. Sie ersetzen keine Heizlastberechnung nach DIN EN 12831 und keine BAFA-Förderzusage.

Hard-Facts Lookup-API für Berechnungen

Unter /api/lookup/ liegen kuratierte Schlüssel-Werte-Tabellen für klassische Berechnungs-Use-Cases. Jede Tabelle hat eine Primärquelle, ein Geltungs-Intervall und ein Stand-Datum. Index aller Tabellen: /api/lookup/index.json.

TabelleInhaltQuelle
verpflegungspauschalen-de-2026 14 EUR / 28 EUR Inlandspauschalen + Kürzungen § 9 Abs. 4a EStG
entfernungspauschale-2026 0,30 EUR / 0,38 EUR pro km, Höchstbetrag, Beispielrechnung § 9 Abs. 1 EStG
foerdersaetze-beg-em-2026 Förderquoten BEG-EM inkl. Wärmepumpe, Boni, max. 70 % BAFA / BEG-Richtlinie
sachbezugswerte-de-2026 Freie Verpflegung 333 EUR/Monat, Unterkunft 309 EUR/Monat § 2 SvEV
sv-beitragssaetze-de-2026 KV/PV/RV/ALV — Arbeitnehmer- und Arbeitgeber-Anteile SGB V, VI, XI; SGB III
beitragsbemessungsgrenzen-de-2026 BBG + JAEG + Bezugsgröße (West/Ost) SV-Recheng