API-Dokumentation
rechner-hub-api — Version 2026.9 · Changelog
Getting Started
47 Endpoints — 40 POST, 7 GET. Du schickst Eingabewerte, die API rechnet, du bekommst das Ergebnis. Jede Response hat den gleichen Aufbau:
{
"success": true,
"data": { ... },
"input_echo": { ... },
"meta": {
"tax_year": 2026,
"disclaimer": "Alle Berechnungen ohne Gewähr."
}
}input_echo zeigt dir, welche Werte die API tatsächlich benutzt hat — auch die Defaults, die du nicht mitgeschickt hast. Spart Zeit beim Debuggen.
Geldbeträge sind Strings, keine Floats — "2372.83" statt 2372.83. Damit hast du bei Steuerbeträgen keine IEEE-754-Rundungsprobleme.
Fehlerbehandlung
Wenn was nicht passt, sieht die Response so aus:
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed.",
"details": [
{
"field": "bruttolohn",
"message": "Input should be greater than or equal to 0",
"type": "greater_than_equal"
}
]
}
}| Status | Bedeutung |
|---|---|
| 400 | Eingabe ungültig. In details steht welches Feld und warum. |
| 403 | Auth-Problem. Über RapidAPI sollte das nicht vorkommen. |
| 422 | JSON kaputt oder falscher Content-Type. |
| 500 | Bug bei uns. Sollte nicht passieren. |
POST /v1/brutto-netto
Monatliches Bruttogehalt rein, komplette Gehaltsabrechnung raus. Lohnsteuer, SV, Arbeitgeberkosten — alles aufgeschlüsselt.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| bruttolohn | number | ja | — | Monatliches Bruttogehalt in EUR (0–1.000.000) |
| steuerklasse | int | ja | — | Steuerklasse (1–6) |
| bundesland | string | nein | NRW | Relevant für Kirchensteuersatz |
| kirchensteuer | bool | nein | false | Kirchensteuerpflichtig? |
| kinder | int | nein | 0 | Kinderanzahl (PV-Staffelung) |
| geburtsjahr | int | nein | 1985 | Geburtsjahr (PV-Kinderlos-Zuschlag) |
| kv_zusatzbeitrag | number | nein | 2.9 | KV-Zusatzbeitrag in % (Durchschnitt 2026: 2,9%) |
| tax_year | int | nein | 2026 | Steuerjahr (2024–2026) |
Minimal-Beispiel
{"bruttolohn": 3500, "steuerklasse": 1}Response-Felder
Arbeitnehmer: brutto_monat/jahr, netto_monat/jahr, abzuege_gesamt_monat. Steuern: lohnsteuer_monat, soli_monat, kirchensteuer_monat. SV: kv_an, pv_an, rv_an, av_an, sv_gesamt (jeweils _monat).
Arbeitgeber: ag_kv, ag_pv, ag_rv, ag_av, ag_umlage, ag_gesamt, ag_kosten_gesamt (was dich der Mitarbeiter kostet).
Beitragssätze: kv_satz, pv_satz, rv_satz, av_satz — die tatsächlich angewandten Prozentsätze.
Szenarien: 5 Was-wäre-wenn-Rechnungen — was sich bei ±500, ±1.000 und +5.000 EUR brutto ändert.
Vollständiges Beispiel aufklappen
Request
POST /v1/brutto-netto
{"bruttolohn": 3500, "steuerklasse": 1}Response (gekürzt)
{
"success": true,
"data": {
"netto_monat": "2351.83",
"lohnsteuer_monat": "386.92",
"soli_monat": "0.0",
"sv_gesamt_monat": "761.25",
"ag_kosten_gesamt": "4296.25"
}
}POST /v1/grunderwerbsteuer
Grunderwerbsteuer, Notar, Grundbuch und Makler — alle Kaufnebenkosten auf einen Blick.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| kaufpreis | number | ja | — | Kaufpreis in EUR (1.000–100.000.000) |
| bundesland | string | ja | — | Bundesland des Kaufobjekts |
| mit_makler | bool | nein | false | Maklerprovision einrechnen? |
| makler_prozent | number | nein | 3.57 | Maklerprovision in % inkl. MwSt |
Minimal-Beispiel
{"kaufpreis": 300000, "bundesland": "Bayern"}Response-Felder
kaufpreis, bundesland, steuersatz, grunderwerbsteuer (die Steuer selbst). notarkosten, notar_prozent, grundbuchkosten, grundbuch_prozent (Notar + Grundbuch). maklerkosten, makler_prozent (0 wenn ohne Makler). nebenkosten_gesamt, nebenkosten_prozent, kaufpreis_gesamt (Gesamtkosten).
bundeslaender_vergleich — alle 16 Bundesländer nebeneinander: Steuersatz und Grunderwerbsteuer für deinen Kaufpreis. Sortiert nach Satz.
Vollständiges Beispiel aufklappen
Request
POST /v1/grunderwerbsteuer
{"kaufpreis": 300000, "bundesland": "Bayern"}Response (gekürzt)
{
"success": true,
"data": {
"grunderwerbsteuer": "10500.0",
"notarkosten": "4500.0",
"nebenkosten_gesamt": "16500.0",
"kaufpreis_gesamt": "316500.0",
"bundeslaender_vergleich": [...]
}
}POST /v1/minijob
Erkennt ob Minijob (≤556 €), Midijob (556–2.000 €) oder volle SV und rechnet die Beiträge für AN und AG aus.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| bruttogehalt | number | ja | — | Monatliches Bruttogehalt in EUR (0–10.000) |
| kinderlos_ueber_23 | bool | nein | false | Kinderlos und über 23? (PV-Zuschlag) |
| bundesland | string | nein | Berlin | Nur relevant für Sachsen (PV-Sonderregel) |
Beispiele
{"bruttogehalt": 550}
{"bruttogehalt": 1200, "kinderlos_ueber_23": true, "bundesland": "Sachsen"}Response-Felder
status ("minijob", "midijob" oder "volle_sv"). brutto, netto, sv_abzuege. kv_beitrag, pv_beitrag, rv_beitrag, av_beitrag (Aufschlüsselung). stunden_mindestlohn — Arbeitsstunden bei 13,90 EUR/h Mindestlohn.
vergleich_plus_100, vergleich_minus_100 — was sich am Netto ändert bei ±100 EUR brutto. hinweis — Erklärungstext zum Beschäftigungsstatus auf Deutsch.
Vollständiges Beispiel aufklappen
Request
POST /v1/minijob
{"bruttogehalt": 550}Response (gekürzt)
{
"success": true,
"data": {
"status": "minijob",
"brutto": "550.0",
"netto": "550.0",
"sv_abzuege": "0.0",
"stunden_mindestlohn": "39.6"
}
}POST /v1/abfindung
Abfindung mit und ohne Fünftelregelung (§34 EStG) durchrechnen. Zeigt die Ersparnis in Euro.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| abfindung | number | ja | — | Abfindungsbetrag in EUR (0–10.000.000) |
| jahresbrutto | number | ja | — | Reguläres Jahresbrutto ohne Abfindung in EUR |
| steuerklasse | int | nein | 1 | Steuerklasse (1–6) |
| bundesland | string | nein | NRW | Relevant für Kirchensteuersatz |
| kirchenmitglied | bool | nein | false | Kirchensteuerpflichtig? |
| kinder | number | nein | 0 | Kinderfreibeträge (0, 0.5, 1, ...) |
Minimal-Beispiel
{"abfindung": 50000, "jahresbrutto": 60000}Response-Felder
fuenftelregel: est, soli, kirchensteuer, steuer_gesamt, netto, effektiv_prozent — Besteuerung mit Fünftelregelung.
normal: Gleiche Felder — Normalbesteuerung ohne Fünftelregelung.
ersparnis — Steuerersparnis durch die Fünftelregelung in EUR.
Vollständiges Beispiel aufklappen
Request
POST /v1/abfindung
{"abfindung": 50000, "jahresbrutto": 60000}Response (gekürzt)
{
"success": true,
"data": {
"fuenftelregel": {
"steuer_gesamt": "18279.36",
"netto": "31720.64",
"effektiv_prozent": "36.56"
},
"normal": {
"steuer_gesamt": "20930.27",
"netto": "29069.73"
},
"ersparnis": "2650.91"
}
}POST /v1/erbschaftsteuer
Erbschaft oder Schenkung — Freibetrag, Steuerklasse und Steuerlast nach ErbStG. Vergleicht alle 12 Verwandtschaftsgrade.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| wert | number | ja | — | Wert der Erbschaft/Schenkung in EUR (0–1.000.000.000) |
| verwandtschaft | string | ja | — | z.B. "Kind", "Ehegatte / Lebenspartner", "Geschwister" |
| modus | string | nein | erbschaft | "erbschaft" oder "schenkung" |
| alter_kind | int | nein | null | Alter des Kindes (0–27, für Versorgungsfreibetrag) |
Minimal-Beispiel
{"wert": 500000, "verwandtschaft": "Kind"}Response-Felder
steuerklasse (I/II/III), freibetrag, versorgungsfreibetrag, freibetrag_gesamt, steuerpflichtiger_erwerb.
steuersatz, steuer, effektiv_prozent, netto, modus_label.
vergleich — Array mit Steuerberechnung für alle 12 Verwandtschaftsgrade.
Vollständiges Beispiel aufklappen
Request
POST /v1/erbschaftsteuer
{"wert": 500000, "verwandtschaft": "Kind"}Response (gekürzt)
{
"success": true,
"data": {
"steuerklasse": "I",
"freibetrag": "400000",
"steuersatz": 11,
"steuer": "11000.0",
"effektiv_prozent": "2.2",
"netto": "489000.0",
"vergleich": [...]
}
}POST /v1/weihnachtsgeld
Was bleibt vom Bonus netto? Vergleicht reguläre Hochrechnung mit Sechstelregel (§39b EStG).
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| monatslohn | number | ja | — | Reguläres monatliches Bruttogehalt in EUR |
| sonderzahlung | number | ja | — | Brutto-Sonderzahlung in EUR |
| steuerklasse | int | nein | 1 | Steuerklasse (1–6) |
| kinder | number | nein | 0 | Kinderfreibeträge |
| kirchensteuer | bool | nein | false | Kirchensteuerpflichtig? |
| bundesland | string | nein | NRW | Relevant für Kirchensteuersatz |
Minimal-Beispiel
{"monatslohn": 4000, "sonderzahlung": 4000}Response-Felder
brutto_sonderzahlung — der Brutto-Bonus.
regulaer: lohnsteuer, soli, kirchensteuer, sv_abzuege, netto — was der Arbeitgeber einbehält (seit 2025 die Standardmethode).
sechstelregel: Gleiche Felder — den Unterschied holst du über die Steuererklärung zurück.
ersparnis — die Differenz. sechstel_anwendbar — ob die Sechstelregel überhaupt greift.
Vollständiges Beispiel aufklappen
Request
POST /v1/weihnachtsgeld
{"monatslohn": 4000, "sonderzahlung": 4000}Response (gekürzt)
{
"success": true,
"data": {
"netto_regulaer": "2461.78",
"netto_sechstel": "2478.78",
"ersparnis": "17.0",
"sechstel_anwendbar": true
}
}POST /v1/steuerklassen
III/V oder IV/IV — was bringt mehr Netto? Rechnet beide Varianten für Ehepaare durch.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| brutto_partner_1 | number | ja | — | Monatsbrutto Partner 1 in EUR |
| brutto_partner_2 | number | ja | — | Monatsbrutto Partner 2 in EUR |
| bundesland | string | nein | NRW | Bundesland |
| kinder | int | nein | 0 | Anzahl Kinder (PV-Zuschlag) |
| kirchensteuer | bool | nein | false | Kirchensteuerpflichtig? |
Minimal-Beispiel
{"brutto_partner_1": 5000, "brutto_partner_2": 3000}Response-Felder
variante_3_5: Jeder Partner mit steuerklasse, brutto, netto, lohnsteuer, soli, kirchensteuer, sv_gesamt. Dazu haushalt_netto für den ganzen Haushalt.
variante_4_4: Gleiche Struktur, andere Steuerklassen.
differenz_monat, differenz_jahr — der Unterschied zwischen beiden Varianten. empfehlung — Klartext. warnungen — Sonderfälle.
Vollständiges Beispiel aufklappen
Request
POST /v1/steuerklassen
{"brutto_partner_1": 5000, "brutto_partner_2": 3000}Response (gekürzt)
{
"success": true,
"data": {
"differenz_monat": "361.17",
"differenz_jahr": "4334.04",
"empfehlung": "SK III/V bringt ...",
"variante_3_5": {...},
"variante_4_4": {...}
}
}POST /v1/einkommensteuer
Reiner ESt-Tarif nach §32a EStG. zvE rein, Steuer + Grenzsteuersatz + Tarifzone raus. Splitting, Soli und KiSt eingebaut.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| zve | number | ja | — | Zu versteuerndes Einkommen in EUR (0–10.000.000) |
| zusammenveranlagung | bool | nein | false | True für Ehegattensplitting |
| kirchensteuer | bool | nein | false | Kirchensteuerpflichtig? |
| bundesland | string | nein | NRW | Für Kirchensteuersatz (8%/9%) |
| tax_year | int | nein | 2026 | Steuerjahr (2024–2026) |
Minimal-Beispiel
{"zve": 50000}Response-Felder
einkommensteuer, solidaritaetszuschlag, kirchensteuer, steuer_gesamt — alles in EUR.
grenzsteuersatz — was der nächste Euro an Steuer kostet. durchschnittssteuersatz — ESt geteilt durch zvE. belastungsquote — Gesamtlast (ESt + Soli + KiSt) in Prozent vom Einkommen.
tarifzone — in welcher der 5 Zonen du liegst, mit Name und Satzbereich.
grundfreibetrag — der steuerfreie Grundbetrag (verdoppelt sich bei Splitting).
Vollständiges Beispiel aufklappen
Request
POST /v1/einkommensteuer
{"zve": 50000}Response (gekürzt)
{
"success": true,
"data": {
"einkommensteuer": "10548.0",
"grenzsteuersatz": "35.0",
"durchschnittssteuersatz": "21.1",
"tarifzone": {
"zone": 3,
"name": "Obere Progressionszone",
"satz": "24–42 %"
}
}
}POST /v1/sparplan
Zinseszins mit jährlicher Steuerabrechnung. 25 % KapESt + Soli, optional KiSt. Sparerpauschbetrag und Dynamik eingebaut.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| startkapital | number | nein | 0 | Einmalanlage zu Beginn in EUR |
| monatliche_sparrate | number | nein | 0 | Monatlicher Sparbetrag in EUR |
| laufzeit_jahre | int | nein | 10 | Laufzeit in Jahren (1–100) |
| rendite_pa | number | nein | 7 | Erwartete Rendite pro Jahr in Prozent |
| sparerpauschbetrag | number | nein | 1000 | Jährlicher Freibetrag (1.000 Einzel / 2.000 Zusammen) |
| kirchensteuer_satz | number | nein | 0 | 0 (keine), 0.08 (BY/BW), 0.09 (übrige) |
| dynamik_pa | number | nein | 0 | Jährliche Erhöhung der Sparrate in Prozent |
Minimal-Beispiel
{"monatliche_sparrate": 500, "laufzeit_jahre": 20}Response-Felder
endkapital_brutto, endkapital_netto — was am Ende rauskommt, vor und nach Steuer. einzahlungen_gesamt — wie viel du insgesamt eingezahlt hast.
ertraege_brutto, ertraege_netto — reiner Gewinn, vor und nach Steuer. steuer_gesamt — KapESt über die gesamte Laufzeit. steuersatz_effektiv — effektiver Satz inkl. Soli und KiSt.
jahresverlauf — Jahr für Jahr: kumulierte Einzahlungen, Erträge, gezahlte Steuer, Kapital brutto/netto und aktuelle Sparrate.
Vollständiges Beispiel aufklappen
Request
POST /v1/sparplan
{"monatliche_sparrate": 500, "laufzeit_jahre": 20}Response (gekürzt)
{
"success": true,
"data": {
"einzahlungen_gesamt": "120000.0",
"endkapital_brutto": "242719.78",
"endkapital_netto": "215333.62",
"steuer_gesamt": "27386.16",
"jahresverlauf": [...]
}
}POST /v1/netto-brutto
Du gibst dein Wunsch-Netto ein und bekommst das nötige Brutto. Umkehrrechnung mit identischer Steuer- und SV-Logik.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| nettolohn | number | ja | — | Gewünschtes Netto in EUR |
| steuerklasse | int | ja | — | Steuerklasse (1–6) |
| bundesland, kirchensteuer, kinder, geburtsjahr, kv_zusatzbeitrag, tax_year | Gleiche Felder und Defaults wie bei brutto-netto | |||
Minimal-Beispiel
{"nettolohn": 2500, "steuerklasse": 1}POST /v1/lohnkosten-netto
Wie viel Netto bleibt bei einem AG-Gesamtkosten-Budget? Rechnet rückwärts: Budget rein, Brutto und Netto raus.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| lohnkosten_ziel | number | ja | — | AG-Budget pro Monat in EUR |
| steuerklasse, bundesland, ... | Gleiche Felder wie bei brutto-netto | |||
Minimal-Beispiel
{"lohnkosten_ziel": 5000, "steuerklasse": 1}POST /v1/arbeitgeber-kosten
Was kostet ein Mitarbeiter wirklich? Alle AG-Anteile einzeln: KV, PV, RV, AV, U1, U2, Insolvenzgeld.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| brutto_monat | number | ja | — | Monats-Brutto in EUR |
| bundesland, kv_zusatzbeitrag | Optional, Defaults wie bei brutto-netto | |||
Minimal-Beispiel
{"brutto_monat": 4000}POST /v1/pfaendung
Pfändungsfreigrenzen nach §850c ZPO. Zeigt pfändbaren und unpfändbaren Betrag, abhängig von Unterhaltspflichten.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| nettoeinkommen | number | ja | — | Monatliches Nettoeinkommen in EUR |
| unterhaltspflichten | int | nein | 0 | Anzahl Unterhaltsberechtigte (0–5) |
Minimal-Beispiel
{"nettoeinkommen": 2500}POST /v1/gewerbesteuer
Gewerbesteuer für EU, PG oder KG. Freibetrag, Messzahl 3,5 %, §35-Anrechnung, Hebesatz-Vergleich. Hebesatz direkt, per AGS oder per Gemeindename.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| gewinn | number | ja | — | Gewerbeertrag in EUR |
| rechtsform | string | ja | — | einzelunternehmen, personengesellschaft, kapitalgesellschaft |
| hebesatz | ags | gemeinde | int/string | eins davon | — | Hebesatz (200–900) oder AGS (8-stellig) oder Gemeindename |
Minimal-Beispiel
{"gewinn": 100000, "rechtsform": "kapitalgesellschaft", "hebesatz": 490}GET /v1/hebesaetze
Durchsucht 10.754 deutsche Gemeinden nach Name. Gibt Hebesatz, AGS und Bundesland zurück.
Query-Parameter
| Param | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| q | string | ja | Suchbegriff (mind. 2 Zeichen) |
| limit | int | nein | Max. Ergebnisse (1–200, Default: 50) |
Beispiel
GET /v1/hebesaetze?q=M%C3%BCnchen&limit=5GET /v1/hebesaetze/{ags}
Einzelabfrage per 8-stelligem AGS, z.B. GET /v1/hebesaetze/09162000
POST /v1/koerperschaftsteuer
GmbH-Gesamtbelastung: KSt 15 % + Soli + GewSt. Bei Ausschüttung kommt KapESt dazu. Vergleicht mit Einzelunternehmen.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| gewinn | number | ja | — | Zu versteuerndes Einkommen der GmbH |
| hebesatz | ags | gemeinde | int/string | eins davon | — | Wie bei gewerbesteuer |
| ausschuettung_prozent | number | nein | 100 | Wieviel vom Gewinn ausgeschüttet wird (0–100 %) |
| kirchenmitglied, bundesland, tax_year | Optional (für KiSt auf KapESt) | |||
Minimal-Beispiel
{"gewinn": 100000, "hebesatz": 490}POST /v1/firmenwagen
1-%-Regel, 0,5 % für Plug-in-Hybride, 0,25 % für E-Autos (bis 70k LP). Rechnet den geldwerten Vorteil und die Netto-Differenz mit/ohne Firmenwagen.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| listenpreis | number | ja | — | Bruttolistenpreis inkl. Sonderausstattung |
| entfernung_km | number | ja | — | Einfache Entfernung Wohnung–Arbeit in km |
| antriebsart | string | ja | — | verbrenner, bev, plugin_hybrid |
| bruttogehalt | number | ja | — | Monatliches Bruttogehalt |
| eigenbeteiligung, steuerklasse, kinder, bundesland, kirchenmitglied, tax_year | Optional | |||
Minimal-Beispiel
{"listenpreis": 40000, "entfernung_km": 25, "antriebsart": "verbrenner", "bruttogehalt": 4000}POST /v1/elterngeld
Basiselterngeld und ElterngeldPlus nach BEEG. Ersatzrate 65–67 %, Geschwisterbonus, Mehrlingsbonus und Teilzeit während Bezug.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| nettoeinkommen_monat | number | ja | — | Durchschnittsnetto der letzten 12 Monate vor Geburt |
| teilzeit_einkommen | number | nein | 0 | Einkommen aus Teilzeit während Bezug |
| geschwisterbonus | bool | nein | false | Kind unter 3 oder 2 Kinder unter 6 |
| mehrlinge | int | nein | 1 | Anzahl gleichzeitig geborener Kinder |
Minimal-Beispiel
{"nettoeinkommen_monat": 2500}POST /v1/alg1
Arbeitslosengeld I: Bemessungsentgelt, pauschalierte Abzüge, 60/67 % Leistungssatz und Bezugsdauer nach §147 SGB III.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| bruttogehalt_monat | number | ja | — | Letztes Monatsbrutto |
| kinder | bool | nein | false | Kindergeldberechtigt? (67 % statt 60 %) |
| alter | int | nein | 35 | Alter bei Anspruchsentstehung |
| versicherungsmonate | int | nein | 24 | SV-pflichtige Monate in letzten 5 Jahren (min. 12) |
| steuerklasse, bundesland, kirchenmitglied, tax_year | Optional | |||
Minimal-Beispiel
{"bruttogehalt_monat": 4000}POST /v1/krankengeld
70 % vom Brutto, gedeckelt auf 90 % vom Netto. Zieht PV, RV und AV ab (nicht KV). Zeigt den Einkommensverlust in EUR und Prozent.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| bruttogehalt_monat | number | ja | — | Regelmäßiges Monatsbrutto |
| nettolohn_monat | number | nein | berechnet | Optionales Netto (wird sonst aus Brutto berechnet) |
| steuerklasse, kinder, bundesland, kinderlos, kirchenmitglied | Optional | |||
Minimal-Beispiel
{"bruttogehalt_monat": 4000}POST /v1/progressionsvorbehalt
Wie viel mehr Steuer fällt an, wenn du ALG, Elterngeld oder Krankengeld bezogen hast? Berechnet die Mehrbelastung nach §32b EStG.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| einkommen | number | ja | — | Zu versteuerndes Einkommen in EUR |
| lohnersatzleistung | number | ja | — | Lohnersatzleistung im Jahr in EUR |
Minimal-Beispiel
{"einkommen": 40000, "lohnersatzleistung": 10000}POST /v1/pendlerpauschale
Entfernungspauschale nach §9 EStG. 0,38 EUR pro Kilometer ab dem ersten. Jahresdeckel 4.500 EUR gilt für ÖPNV, Fahrrad und Mitfahrer — beim eigenen Auto gibt’s keine Obergrenze.
Request-Felder
| Feld | Typ | Pflicht | Default | Beschreibung |
|---|---|---|---|---|
| entfernung_km | number | ja | — | Einfache Strecke Wohnung–Arbeit in km |
| arbeitstage | int | nein | 220 | Arbeitstage pro Jahr |
| verkehrsmittel | string | nein | auto | auto, oepnv, fahrrad, mitfahrer |
| grenzsteuersatz | number | nein | — | Für die Steuerersparnis in der Response |
Minimal-Beispiel
{"entfernung_km": 25, "grenzsteuersatz": 35}POST /v1/schenkungsteuer
Schenkung zu Lebzeiten. Steuerklassen I–III, persönliche Freibeträge (20.000–500.000 EUR), Steuersätze 7–50 %. Anders als bei der Erbschaftsteuer greifen hier keine Versorgungsfreibeträge nach §17 ErbStG.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| wert | number | ja | Wert der Schenkung in EUR |
| verwandtschaft | string | ja | ehegatte, kind, enkel, eltern, geschwister, … fremder |
Minimal-Beispiel
{"wert": 450000, "verwandtschaft": "kind"}POST /v1/grundsteuer
Grundsteuer ab 2025 nach dem Modell des jeweiligen Bundeslands. Bundesmodell für elf Länder, dazu fünf Sondermodelle: Baden-Württemberg (Bodenwert), Bayern (Fläche), Hamburg (Wohnlage), Hessen (Fläche–Faktor), Niedersachsen (Fläche–Lage). Welche Felder du schickst, hängt vom Modell ab — die API zeigt dir in der Fehlermeldung, was fehlt.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| bundesland | string | ja | Bestimmt das Modell |
| hebesatz_prozent | number | ja | Grundsteuer-B-Hebesatz der Gemeinde |
| grundstuecksflaeche_m2, gebaeudeflaeche_m2, wohnflaeche_m2, bodenrichtwert_eur_m2, … | Modell-abhängig — siehe Fehlermeldung | ||
Beispiel Bayern (Flächenmodell)
{"bundesland": "Bayern", "hebesatz_prozent": 535, "grundstuecksflaeche_m2": 500, "gebaeudeflaeche_m2": 140}POST /v1/kurzarbeitergeld
Kurzarbeitergeld nach §§95–109 SGB III. Leistungssatz 60 % ohne Kinder, 67 % mit. Grundlage ist die pauschalierte Nettoentgelt-Differenz nach §106 SGB III. Seit 2026 mit der 21 %-SV-Pauschale (vorher 20 %).
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| brutto_regulaer | number | ja | Monatliches Brutto ohne Kurzarbeit |
| ausfallstunden_prozent | number | ja | Arbeitsausfall in Prozent (0–100) |
| steuerklasse | int | nein | 1–6 |
| hat_kinder, altfall_vor_2026 | Optional | ||
Minimal-Beispiel
{"brutto_regulaer": 3200, "ausfallstunden_prozent": 50, "hat_kinder": true}POST /v1/buergergeld
Bürgergeld-Anspruch nach SGB II. Regelbedarf, Mehrbedarfe nach §21, Kosten der Unterkunft und Einkommens-Freibeträge nach §11b — die Response zeigt den Anspruch plus Aufschlüsselung, damit du nachvollziehen kannst, wie die Abzugskette gelaufen ist.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| erwachsene | int | ja | Erwachsene in der Bedarfsgemeinschaft (1 oder 2) |
| kaltmiete | number | ja | Kaltmiete pro Monat |
| heizkosten | number | ja | Heizkosten pro Monat |
| kinder_alter | array[int] | nein | Alter der Kinder in Jahren (für Regelbedarfsstufe) |
| bruttoeinkommen, nettoeinkommen, sonstiges_einkommen | Optional für Einkommens-Anrechnung | ||
Minimal-Beispiel
{"erwachsene": 2, "kinder_alter": [8, 12], "kaltmiete": 700, "heizkosten": 120, "nettoeinkommen": 1180}POST /v1/bafoeg
BAföG-Förderbetrag nach §§13, 13a, 23, 25, 29 BAföG. Grundbedarf plus Wohnpauschale, KV/PV-Zuschlag, Elterneinkommen mit Freibeträgen nach §25, Eigeneinkommen nach §23, Vermögensanrechnung automatisch bis zur Freigrenze.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| ausbildungstyp | string | ja | schule, hochschule, berufsausbildung, … |
| bei_eltern | bool | ja | Wohnt der Azubi/Student zu Hause? |
| alter | int | ja | In Jahren (für KV/PV-Zuschlag) |
| elterneinkommen_netto, eltern_verheiratet, weitere_kinder_in_ausbildung, … | Optional | ||
Minimal-Beispiel
{"ausbildungstyp": "hochschule", "bei_eltern": false, "alter": 22, "elterneinkommen_netto": 3200}POST /v1/hebesaetze/bulk
Bulk-Lookup für bis zu 1.000 AGS pro Request. Nicht gefundene AGS landen im Feld nicht_gefunden statt den ganzen Request zu kippen.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| ags_liste | array[string] | ja | Liste von 8-stelligen AGS (max. 1.000) |
Minimal-Beispiel
{"ags_liste": ["05315000", "09162000", "11000000"]}Szenario-Bundles
Vier Endpoints, die mehrere Rechner in einem Call zusammenfassen. Gedacht für Anwendungen, die typische Lebenslagen abbilden — Jobwechsel, Familiengründung, Immobilienkauf, Gründung als Freelancer. Input ist bewusst schlank gehalten, die Response enthält alle Teilergebnisse.
POST /v1/szenario/jobwechsel
Aggregiert Brutto-Netto alt und neu, Abfindung mit Fünftelregel, ALG I-Anspruch und Progressionsvorbehalt. Statt vier Requests einer.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| altes_brutto_monat | number | ja | Monatliches Brutto im alten Job |
| neues_brutto_monat, abfindung, arbeitslos_monate, steuerklasse, … | Optional — nur die Teile rechnen, die du brauchst | ||
Beispiel
{"altes_brutto_monat": 4500, "neues_brutto_monat": 5200, "abfindung": 25000, "arbeitslos_monate": 3}POST /v1/szenario/familie
Basiselterngeld, ElterngeldPlus, Kindergeld-Simulation und eine Empfehlung zur Steuerklassenkombination. Alles in einem Call für die Zeit vor der Geburt.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| nettoeinkommen_monat | number | ja | Relevant für Elterngeld-Berechnung |
| brutto_monat | number | ja | Relevant für Steuerklassen-Empfehlung |
| partner_brutto_monat, anzahl_kinder_aktuell, erwartete_kinder, geschwisterbonus | Optional | ||
Beispiel
{"nettoeinkommen_monat": 2500, "brutto_monat": 3800, "partner_brutto_monat": 5500, "geschwisterbonus": true}POST /v1/szenario/immobilie
Grunderwerbsteuer, Jahres-Grundsteuer und Kaufnebenkosten in einem Call. Die Grundsteuer wird modellabhängig aus den mitgeschickten Feldern berechnet — fehlen welche, kennzeichnet das input_echo.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| kaufpreis | number | ja | Kaufpreis der Immobilie |
| bundesland | string | ja | Für GrESt-Satz und Grundsteuermodell |
| grundstuecksflaeche_m2, wohnflaeche_m2, bodenrichtwert_eur_m2, hebesatz_grundsteuer_prozent, … | Optional (modellabhängig) | ||
Beispiel
{"kaufpreis": 450000, "bundesland": "Bayern", "grundstuecksflaeche_m2": 500, "wohnflaeche_m2": 140, "hebesatz_grundsteuer_prozent": 535}POST /v1/szenario/freelance-start
Einzelunternehmer gegen GmbH: ESt + Soli + KiSt + GewSt mit §35-Anrechnung auf der einen Seite, KSt + Soli + GewSt + KapESt bei Ausschüttung auf der anderen. Die Response nennt den Netto-Gewinner.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| gewinn_jahr | number | ja | Jahresgewinn vor Steuern in EUR |
| hebesatz_gewerbesteuer, bundesland, kirchenmitglied, zusammenveranlagung | Optional | ||
Beispiel
{"gewinn_jahr": 120000, "hebesatz_gewerbesteuer": 475, "bundesland": "Nordrhein-Westfalen"}POST /v1/verlustverrechnung
3-Topf-Verlustverrechnung nach §20 Abs. 6 EStG (Aktien-Topf, Sonstiger Topf) und §23 EStG (Krypto/PrivVG-Topf). Beruecksichtigt Sparer-Pauschbetrag (1.000/2.000 EUR), §23-Freigrenze (1.000 EUR), Verlustvortraege aus Vorjahren und das BVerfG-Verfahren 2 BvL 3/21 zur Aktien-Topf-Beschraenkung. Liefert eine Schaetzung der Steuer-Ersparnis im Vergleich zu einer naiven Berechnung ohne Verluste.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| aktien_gewinne_ytd, aktien_verluste_ytd, aktien_verlustvortrag | Decimal | nein | Aktien-Topf YTD und Vortrag aus Vorjahren in EUR (Verluste positiv eintragen). Default 0. |
| sonstige_gewinne_ytd, sonstige_verluste_ytd, sonstige_verlustvortrag | Decimal | nein | Sonstiger Topf (ETFs, Anleihen, Zinsen, Termingeschaefte). Default 0. |
| krypto_gewinne_ytd, krypto_verluste_ytd, krypto_verlustvortrag | Decimal | nein | §23-Topf (Krypto, Gold, NFTs). Default 0. |
| veranlagungszeitraum | int | nein | 2018–2030. Default 2026. |
| sparer_pauschbetrag_verfuegbar | Decimal | nein | 0–2000 EUR. Default 1000 (Einzelveranlagung). |
Beispiel
{"aktien_verluste_ytd": "3000", "sonstige_gewinne_ytd": "5000",
"sonstige_verluste_ytd": "2000",
"krypto_verluste_ytd": "1500", "krypto_gewinne_ytd": "800"}Response-Felder (Auszug)
| Feld | Beschreibung |
|---|---|
| aktien_topf_saldo, aktien_topf_vortrag_neu, aktien_in_sonstige_geflossen | Aktien-Topf Bilanz. Bei negativem Saldo: Vortrag entsteht, Wert fliesst NICHT in Sonstigen Topf (BVerfG-Watch). |
| sonstiger_topf_saldo, sonstiger_topf_vortrag_neu | Sonstiger Topf Bilanz nach Aufnahme positiver Aktien-Salden. |
| krypto_topf_saldo, krypto_topf_vortrag_neu, krypto_freigrenze_greift | §23-Topf separat. krypto_freigrenze_greift ist true wenn Saldo < 1000 EUR. |
| sparer_pauschbetrag_verbraucht, sparer_pauschbetrag_rest | Anwendung auf Sonstigen Topf, falls positiv. |
| steuerpflichtige_kapitalertraege, steuerpflichtige_krypto | Bemessungsgrundlage nach Verrechnung und Pauschbetrag. |
| bverfg_hinweis | String mit §165 AO-Vorlaeufigkeitsvermerk-Hinweis (oder null) bei Aktien-Verlustvortrag. |
| ersparnis_vs_naive | Steuer-Ersparnis vs. naive Rechnung (KapESt 25 % + 5,5 % Soli, ohne KiSt). |
POST /v1/vorabpauschale
Vorabpauschale fuer thesaurierende ETF/Fonds nach §18 InvStG fuer ein volles Kalenderjahr. Basisertrag = Fondswert_Jahresanfang × Basiszins × 0,70, abzueglich Ausschuettungen, gedeckelt auf die Wertsteigerung im Kalenderjahr. Teilfreistellung nach §20 InvStG je Fondstyp. Basiszins-Reihe 2018–2026 hinterlegt (BMF-Schreiben jaehrlich Anfang Januar). Sonderfaelle (negativer Basiszins, Verlustjahr, Ausschuettungen ≥ Basisertrag) werden mit keine_vap_grund markiert.
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| fondswert_jahresanfang | Decimal | ja | Ruecknahmepreis am ersten Bewertungstag (02.01.) in EUR. |
| fondswert_jahresende | Decimal | ja | Ruecknahmepreis am letzten Bewertungstag (31.12.) in EUR. |
| fondstyp | enum | ja | aktien_51 (TFQ 30 %), misch_25 (15 %), sonstige (0 %), immo_inland (60 %), immo_ausland (80 %). |
| ausschuettungen | Decimal | nein | Im Jahr gezahlte Ausschuettungen in EUR. Default 0 (thesaurierend). |
| jahr | int | nein | 2018–2026 (Basiszins hinterlegt). Default 2026. |
Beispiel
{"fondswert_jahresanfang": "10000", "fondswert_jahresende": "11000",
"fondstyp": "aktien_51", "jahr": 2026}Response-Felder (Auszug)
| Feld | Beschreibung |
|---|---|
| basiszins_prozent | Anzuwendender Basiszins (2026 = 3,20 %). |
| basisertrag, wertsteigerung | §16 InvStG-Basisertrag und Wertentwicklung im Jahr. |
| vorabpauschale_brutto | VAP gedeckelt auf Wertsteigerung, vor Teilfreistellung. |
| teilfreistellung_quote, vorabpauschale_steuerpflichtig | TFQ und finale Bemessungsgrundlage fuer KapESt. |
| keine_vap_grund | negativer_basiszins | kein_wertzuwachs | ausschuettungen_decken_basisertrag | null. |
POST /v1/vorabpauschale/portfolio
Multi-Fonds-Vorabpauschale fuer einen Anleger. Berechnet die Vorabpauschale nach §18 InvStG fuer bis zu 1.000 Fonds in einem Aufruf. Optimiert fuer Robo-Advisor-Use-Cases (n Kunden × m Fonds × jaehrlich Anfang Januar). Per-Item-Error-Isolation: Schlaegt ein Item fehl (z.B. Lib-Validierungsfehler), werden andere dennoch berechnet. Antwortet mit data.items[i].success als Pro-Item-Status plus aggregiertem data.summe_steuerpflichtig ueber alle erfolgreichen Items. Top-level success=True bedeutet ledigich, dass das Request well-formed war (keine 422). Performance-Limit: 1.000 Items <2 s Pure-Python-Decimal-Math.
Request-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
| items | list | Liste von 1-1000 Fonds-Items, Felder pro Item analog /v1/vorabpauschale (fondswert_jahresanfang, fondswert_jahresende, ausschuettungen, fondstyp, jahr). |
Beispiel
{"items": [
{"fondswert_jahresanfang": "10000", "fondswert_jahresende": "11000", "fondstyp": "aktien_51"},
{"fondswert_jahresanfang": "5000", "fondswert_jahresende": "5300", "ausschuettungen": "50", "fondstyp": "misch_25"}
]}POST /v1/brutto-netto/batch
Bis zu 1.000 Mitarbeiter-Brutto-Netto-Berechnungen in einem Aufruf. Killer-Use-Case fuer Lohn-/HR-SaaS mit pro-Monat-Slip-Generation. Per-Item-Error-Isolation analog Vorabpauschale-Portfolio. Performance-verifiziert <3 s fuer 1.000 Items.
Request-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
| items | list | Liste von 1-1000 Mitarbeiter-Items, Felder pro Item analog /v1/brutto-netto (bruttolohn, steuerklasse, bundesland, kirchensteuer, kinder, geburtsjahr, kv_zusatzbeitrag, tax_year). |
Beispiel
{"items": [
{"bruttolohn": "3500", "steuerklasse": 1},
{"bruttolohn": "5500", "steuerklasse": 3, "kinder": 2}
]}POST /v1/minijob/batch
Minijob/Midijob-Status fuer bis zu 1.000 Mitarbeiter in einem Aufruf. Per-Item-Error-Isolation analog brutto-netto/batch. Fuer Pflege-/Gastro-/Reinigungs-SaaS.
Beispiel
{"items": [
{"bruttogehalt": "538"},
{"bruttogehalt": "1500", "kinderlos_ueber_23": true}
]}POST /v1/kapitalertragsteuer
Berechnet die abgeltende Quellensteuer auf eine bereits BEREINIGTE Bemessungsgrundlage (nach Sparer-Pauschbetrag und Verlustverrechnung): KapESt 25 % nach §43a EStG, Solidaritaetszuschlag 5,5 % auf KapESt (kein Phase-Out beim Quellenabzug, §4 SolzG), Kirchensteuer 8 % (BY/BW) bzw. 9 % (uebrige). Bei aktiver Kirchensteuer greift die §51a Abs. 2c EStG-Spezialformel KapESt = e / (4 + k) — viele Marketplace-Wettbewerber ignorieren das und liefern die nominellen 25 % statt der korrekten ~24,51 % (BY/BW) bzw. ~24,45 % (Rest).
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| bemessungsgrundlage | Decimal | ja | Steuerpflichtige Kapitalertraege in EUR (nach Sparer-Pauschbetrag und nach Verlustverrechnung). 0 ≤ bemessungsgrundlage ≤ 100.000.000. |
| bundesland | enum | ja | Voller Name (z.B. "Bayern") oder ISO-Kuerzel ("BY") der 16 BL. |
| kirchensteuerpflichtig | bool | nein | Default false. Bei true greift die §51a-Spezialformel. |
Beispiel
{"bemessungsgrundlage": "10000", "bundesland": "Bayern",
"kirchensteuerpflichtig": true}Response-Felder (Auszug)
| Feld | Beschreibung |
|---|---|
| kapest, soli, kirchensteuer | Einzelposten in EUR. KiSt = 0 wenn nicht pflichtig. |
| steuer_summe, netto | Summe aller Steuern und auszahlbarer Rest = Bemessungsgrundlage − Steuer-Summe. |
| effektivsatz_prozent | Steuer-Summe / Bemessungsgrundlage in Prozent (4 Nachkommastellen). |
| kirchensteuer_satz_prozent | Verwendeter KiSt-Satz: 8 (BY/BW), 9 (uebrige) oder 0. |
GET /v1/werte/current
Aggregiert alle deutschen Lohn- und Steuerwerte als 1-Call-JSON-Snapshot zum heutigen Tag: Sozialversicherung (BBG, Saetze AN+AG), ESt-Tarif (5 Zonen + Grundfreibetrag + Soli + KapESt + Sparer-Pauschbetrag), Lohnsteuer-PAP-Hilfsbetraege (ANP/SAP/EFA/KFB/VSP/StKl5-W1-W3), Pfändungsfreigrenzen-Bekanntmachung §850c ZPO, Firmenwagen-1%-Regelung incl. BEV-Stichtag-Logik 70k/100k, alle 16 Bundesländer mit KiSt-Satz + GrESt-Satz + PV-Sachsen-Sonder, Vorabpauschale-Basiszins-Reihe seit 2018 (BMF jährlich), Sachbezugswerte SvEV (Verpflegung 333 EUR/Mo, Unterkunft 282 EUR/Mo, Wohnung pro m²), Inland-Reisekostenpauschalen §9 Abs. 4a EStG (Volltag 28 EUR, Halbtag 14 EUR, Übernachtung 20 EUR, Mahlzeitenkürzung 5,60/11,20/11,20).
Caching
Im Gegensatz zu allen anderen Endpoints (Cache-Control: no-store) liefert das Werte-Bundle Cache-Control: public, max-age=86400 — CDN-cachebar für 24 h. Zusätzlich ETag + Last-Modified-Header. Schick den ETag mit If-None-Match bei deinem Daily-Cron zurück und du bekommst 304 Not Modified ohne Body, falls sich nichts geändert hat.
Beispiel
curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
https://api.rechner-hub.de/v1/werte/currentResponse-Struktur (Auszug)
{
"data": {
"stichtag": "2026-05-10", "jahr": 2026,
"sozialversicherung": { "bbg_kv_pv_monat": "5812.5", "kv_an_basis": "7.3", ... },
"einkommensteuer": { "grundfreibetrag": "12096", "kapest_satz": "25", ... },
"lohnsteuer_pap": { "arbeitnehmer_pauschbetrag": "...", ... },
"pfaendung": { "gueltig_ab": "2025-07-01", "grundfreibetrag_monat": "...", ... },
"firmenwagen": { "bev_listenpreis_grenze": "100000",
"bev_grenze_alt": "70000", "bev_stichtag": "2025-07-01", ... },
"bundeslaender": [ {"name": "Bayern", "kuerzel": "BY",
"kirchensteuersatz_prozent": "8", ... }, ... 16 ],
"basiszins_reihe": [ {"jahr": 2018, "basiszins_prozent": "0.87", ...}, ... ],
"sachbezug": { "verpflegung": {...}, "unterkunft": {...}, "wohnung": {...} },
"reisekosten_inland": { "verpflegung": {...}, "uebernachtung": {...},
"mahlzeitenkuerzung": {...} },
"quellen": [ {"name": "...", "url": "...", "abrufdatum": "..."}, ... ]
}
}GET /v1/werte/{stichtag}
Wie /v1/werte/current, aber für einen frei gewählten Stichtag im ISO-Format YYYY-MM-DD. Stichtag-Jahr muss in den unterstützten Jahren liegen (2024-2026). Pfändungs-Bekanntmachung wird per Stichtag korrekt aufgelöst, alle anderen Werte stammen aus dem Stichtag-Jahr.
Beispiel
curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
https://api.rechner-hub.de/v1/werte/2024-09-01Für Stichtage in 2024 wird die alte Pfändungs-Bekanntmachung (gueltig 2024-07-01..2025-06-30) aufgelöst und die ESt-Tarif-Werte aus 2024.
GET /v1/basiszins/current
Aktuell gueltiger Basiszinssatz nach §247 BGB. Der Satz wird halbjaehrlich (1.1./1.7.) per Bundesbank-Pressemitteilung angepasst und ist die Grundlage fuer Verzugszins-Berechnungen (§288 BGB) sowie viele Vertrags- und AGB-Klauseln. Cache-Control: public, max-age=86400 (24h CDN-cachebar).
Beispiel
curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
https://api.rechner-hub.de/v1/basiszins/currentResponse (Auszug)
{"data": {
"stichtag": "2026-01-01",
"satz_prozent": "1.27",
"naechste_anpassung_erwartet": "2026-07-01",
"rechtsgrundlage": "§247 Abs. 1 Satz 1 BGB"
}}GET /v1/basiszins/series
Komplette Reihe aller Basiszinssaetze seit Einfuehrung 2002-01-01 (49+ Eintraege halbjaehrlich, sortiert alt -> neu). Praktisch fuer Excel-/CSV-Export oder Audit-Trails von Verzugszins-Berechnungen ueber lange Zeitraeume. Cache-Control: public, max-age=86400.
Response (Auszug)
{"data": {
"items": [
{"stichtag": "2002-01-01", "satz_prozent": "2.57"},
...
{"stichtag": "2026-01-01", "satz_prozent": "1.27"}
],
"erster_eintrag": "2002-01-01",
"letzter_eintrag": "2026-01-01",
"anzahl_eintraege": 49
}}GET /v1/basiszins/{stichtag}
Liefert den am Stichtag gueltigen Basiszinssatz (juengster Eintrag ≤ Stichtag). Stichtag im Format YYYY-MM-DD, mind. 2002-01-01. Aufloesung des Geltungsbeginns geschieht automatisch (z.B. 2025-08-15 -> gueltig_ab 2025-07-01).
Beispiel
curl -H "X-RapidAPI-Proxy-Secret: $SECRET" \
https://api.rechner-hub.de/v1/basiszins/2025-08-15Response (Auszug)
{"data": {
"stichtag_requested": "2025-08-15",
"gueltig_ab": "2025-07-01",
"satz_prozent": "1.27",
"rechtsgrundlage": "§247 Abs. 1 Satz 1 BGB"
}}POST /v1/verzugszins
Berechnet Verzugszinsen §288 BGB auf eine ueberfaellige Forderung. Verzugsbeginn = Tag NACH Faelligkeit (§286 Abs. 1 BGB), Endpunkt = Zahlungsdatum (zaehlt MIT). actual/365. Bei langem Verzugszeitraum mit Halbjahres-Wechsel des Basiszinses (§247 BGB) wird pro Halbjahres-Fenster mit dem dort gueltigen Satz gerechnet — keine Mischzinsen, keine Tagesdurchschnittsbildung. Aufschlag: +5 Pkt (b2c) oder +9 Pkt (b2b). Optional 40-EUR-Schadenersatzpauschale §288 Abs. 5 BGB (B2B-only, separat ausgewiesen).
Request-Felder
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| forderung_eur | Decimal | ja | Hauptforderung in EUR (mind. 0,01). |
| faelligkeit | date | ja | Faelligkeitstag YYYY-MM-DD (mind. 2002-01-01). Tag selbst zaehlt nicht als Verzugstag. |
| zahlungsdatum | date | nein | Default: heute. Tag der Zahlung (zaehlt MIT). |
| geschaeftsverkehr | enum | nein | Default "b2c". Werte: "b2c" (+5 Pkt §288 Abs. 1) oder "b2b" (+9 Pkt §288 Abs. 2). |
| pauschale_anwenden | bool | nein | Default false. Bei true + b2b: weist 40-EUR-Pauschale §288 Abs. 5 BGB separat aus. |
Beispiel: B2B mit Halbjahres-Wechsel
{"forderung_eur": "10000",
"faelligkeit": "2024-12-15", "zahlungsdatum": "2025-08-15",
"geschaeftsverkehr": "b2b", "pauschale_anwenden": true}Response (Auszug)
{"data": {
"verzugsbeginn": "2024-12-16",
"verzugstage_gesamt": 243,
"posten": [
{"von": "2024-12-16", "bis": "2024-12-31", "tage": 16,
"basiszins_prozent": "3.37", "gesamtzins_prozent": "12.37",
"zinsen_eur": "54.22"},
{"von": "2025-01-01", "bis": "2025-06-30", "tage": 181,
"basiszins_prozent": "2.27", "gesamtzins_prozent": "11.27",
"zinsen_eur": "558.87"},
{"von": "2025-07-01", "bis": "2025-08-15", "tage": 46,
"basiszins_prozent": "1.27", "gesamtzins_prozent": "10.27",
"zinsen_eur": "129.43"}
],
"verzugszinsen_summe_eur": "742.52",
"pauschale_288_abs_5_eur": "40",
"rechtsgrundlage": "§288 Abs. 2 BGB (Geschäftsverkehr): Basiszinssatz + 9 Prozentpunkte"
}}POST /v1/szenario/aktien-etf
Bündel-Endpoint: aggregiert Vorabpauschale (§18 InvStG) + 3-Topf-Verlustverrechnung (§20 Abs. 6 EStG + §23 EStG) + echte Kapitalertragsteuer mit bundeslandspezifischer Kirchensteuer (§51a Abs. 2c EStG-Spezialformel) in einem Aufruf. Liefert die tatsächliche Steuerlast statt der ueberschlägigen 26,375-%-Pauschale, die viele Online-Rechner ansetzen. Effektivsatz inkl. KiSt: 27,82 % (BY/BW, 8 % KiSt) bzw. 27,99 % (uebrige Länder, 9 % KiSt).
Request-Felder (alle optional, Default 0 oder Konstante)
| Feld | Typ | Beschreibung |
|---|---|---|
| fondswert_jahresanfang/-ende, ausschuettungen, fondstyp | Decimal/enum | Vorabpauschale-Inputs (siehe /v1/vorabpauschale). Wenn fondswert_jahresanfang = 0: kein VAP-Anteil. |
| aktien_*, sonstige_*, krypto_* | Decimal | Verlustverrechnungs-Inputs (Gewinne/Verluste/Vortrag pro Topf, alle YTD in EUR, positiv eintragen). |
| sparer_pauschbetrag_verfuegbar | Decimal | 1.000 Einzelveranlagung, 2.000 Zusammenveranlagung. Default 1.000. |
| bundesland | enum | Für KiSt-Satz: 8 % in BY/BW, 9 % in den uebrigen 14 Ländern. |
| kirchenmitglied, veranlagungszeitraum | bool/int | Default false, 2026. |
Beispiel
{"aktien_gewinne_ytd": "5000", "aktien_verluste_ytd": "1500",
"sonstige_gewinne_ytd": "2000",
"bundesland": "Bayern", "kirchenmitglied": true}Response-Felder (Auszug)
| Feld | Beschreibung |
|---|---|
| aktien_topf_*, sonstiger_topf_*, krypto_topf_* | 3-Topf-Bilanz inkl. Vortrag fuer Folgejahr. |
| vorabpauschale_brutto, vorabpauschale_steuerpflichtig | VAP brutto und nach Teilfreistellung. Fällt in den Sonstigen Topf. |
| steuerpflichtige_bemessungsgrundlage | Sonstiger-Topf-Saldo + VAP, abzüglich Sparer-Pauschbetrag. |
| kapest, soli, kirchensteuer, steuer_summe | Echte KapESt mit BL-spezifischer KiSt nach §51a-Spezialformel e/(4+k). |
| effektivsatz_prozent, netto_kapitalertraege | Echter Effektivsatz inkl. KiSt (27,82 % / 27,99 %) und Netto. |
| krypto_steuerpflichtig | §23-Krypto-Saldo — nicht 25 % KapESt, sondern persönlicher ESt-Tarif §32a EStG. |
| pauschal_steuer_naiv, differenz_zu_naiv | Vergleich gegen pauschalen 26,375-%-Ansatz: positive Differenz = du zahlst durch KiSt mehr als suggeriert. |
Bundesland-Werte
Muss exakt so geschrieben sein — Groß-/Kleinschreibung und Bindestriche zählen:
Baden-WürttembergBayernBerlinBrandenburgBremenHamburgHessenMecklenburg-VorpommernNiedersachsenNordrhein-WestfalenRheinland-PfalzSaarlandSachsenSachsen-AnhaltSchleswig-HolsteinThüringenRechtliches
Grundlage: BMF-Programmablaufpläne 2026, SV-Rechengrößen nach SGB IV, Grunderwebsteuersätze nach GrEStG, Erbschaftsteuertarife nach ErbStG. Das hier ist ein Rechner — keine Steuerberatung. Für verbindliche Auskünfte brauchst du einen Steuerberater.