Reference: Pension allowance
Pension allowance, supplement and old-age relief amount by cohort from 2005 to 2058.
The tax-free part of civil servant pensions and company pensions from direct commitments or support funds (§ 19 Abs. 2 EStG), and the old-age relief amount on wages and other income from age 64 (§ 24a EStG). The values depend on the year the pension starts or the year after the 64th birthday and then stay the same. Reflects the Growth Opportunities Act, which slowed the phase-out from 2023.
Endpoints and calls
#| Access | Call |
|---|---|
| REST API | GET /hr/versorgungsfreibetrag |
| History | GET /hr/versorgungsfreibetrag/verlauf |
| SDK JavaScript | qk.hr.versorgungsfreibetrag(…) |
| SDK Python | qk.hr.versorgungsfreibetrag(…) |
| CLI | qk versorgungsfreibetrag --jahr 2026 |
| MCP tool | hr_versorgungsfreibetrag |
Parameters
#| Name | Type | Required | Default | Allowed | Description |
|---|---|---|---|---|---|
jahr | year | no | laufendes Jahr | 2005 to 2058 | Year the pension started (pension allowance, supplement) or the calendar year after the 64th birthday (old-age relief), 2005 to 2058. Not the year of payment. |
bestandteil | text | no | versorgungsfreibetrag_prozent, versorgungsfreibetrag_hoechstbetrag, zuschlag, altersentlastung_prozent, altersentlastung_hoechstbetrag | Return and cite only this component, for example for a single question (optional). Allowed values are the component ids. |
The API rejects unknown parameters with unbekannter_parameter. In addition there are format and trennzeichen, see CSV.
Response fields
#| Field | Type | Meaning |
|---|---|---|
datensatz | Text | Dataset id |
jahr | Integer | Calendar year |
vorlaeufig | Boolean | true if not all values are set yet for the effective date; pending values are null |
werte | Object | Short form: component and value on the effective date, null for an announced value that is not set yet |
bestandteile | List | Per component: value or rate, validity, legal basis and source |
regeln | List | Rules from the law in sentences, each with its legal provision |
hinweise | List | Limits of the values or the calculation, in sentences |
lizenz | Text | Terms of use for the values |
stand | Date | Date of the last check against the source |
zitat | Text | Ready-made sentence for citing, with value, validity, legal basis and source |
datenstand | Text | Id of the data snapshot: date and sequence number of the last changelog entry (/v1/aenderungen) affecting this dataset. The same datenstand means unchanged content, useful for auditors and for comparing two requests |
Components
#For each effective date, the response contains the components that apply, each with id, name, gruppe, einheit, wert, gueltig_ab, rechtsgrundlage, quelle, hinweis and naechster_wert. The werte object holds the same list in short form. A component is missing if it does not yet or no longer apply on that date.
| id | Component | Unit | First level | Current value | End |
|---|---|---|---|---|---|
versorgungsfreibetrag_prozent | Pension allowance as a percentage of pension payments | percent | January 1, 2005 | 0% | open |
versorgungsfreibetrag_hoechstbetrag | Maximum pension allowance per year | euros per year | January 1, 2005 | €0 per year | open |
zuschlag | Supplement to the pension allowance per year | euros per year | January 1, 2005 | €0 per year | open |
altersentlastung_prozent | Old-age relief amount as a percentage of income | percent | January 1, 2005 | 0% | open |
altersentlastung_hoechstbetrag | Maximum old-age relief amount per year | euros per year | January 1, 2005 | €0 per year | open |
Example
#Call with jahr = 2026. The response is generated by the same code that answers the API.
History
#Every level since 2015 in one call, as JSON or with format=csv as CSV. The last two levels:
Error cases
#| Status | Code | When |
|---|---|---|
| 400 | ungueltiger_parameter | wrong format or a value outside: jahr (2005 to 2058); bestandteil (versorgungsfreibetrag_prozent, versorgungsfreibetrag_hoechstbetrag, zuschlag, altersentlastung_prozent, altersentlastung_hoechstbetrag) |
| 400 | unbekannter_parameter | a parameter this dataset does not have |
| 404 | kein_wert | outside the coverage (cohorts 2005 to 2058) or the value for this period has not been promulgated yet |
| 401, 429 | see errors | all error codes |
Schema for MCP
#This is how the MCP server describes the arguments of the tool hr_versorgungsfreibetrag:
Source and freshness
#| Item | Content |
|---|---|
| Source | § 19 Abs. 2 and § 24a EStG as amended by the Growth Opportunities Act (BGBl. 2024 I Nr. 108) |
| License | Values from official works (§ 5 UrhG). Use of the compilation under the Quellenkontor terms of use. |
| Updates | statutory table up to 2058, changes only by law |
| Coverage | Germany, cohorts 2005 to 2058 |
| Last checked | September 26, 2026 |
| Next expected change | statutory table to 2058, changes only by law |
Something missing or unclear? Write to us and we will extend the docs.