Reference: Pay transparency
Right to information, review procedure and reporting duty under the German Pay Transparency Act, plus the EU Directive 2023/970 requirements, clearly marked as not yet transposed.
From which establishment size employees can request information on comparative pay, when employers should review and report on their pay structures and how often (EntgTranspG). Also the thresholds and dates of the EU Pay Transparency Directive (EU) 2023/970, which has not yet been transposed into German law and so does not yet apply directly to employers.
Endpoints and calls
#| Access | Call |
|---|---|
| REST API | GET /hr/entgelttransparenz |
| History | GET /hr/entgelttransparenz/verlauf |
| SDK JavaScript | qk.hr.entgelttransparenz(…) |
| SDK Python | qk.hr.entgelttransparenz(…) |
| CLI | qk entgelttransparenz --datum 2026-10-01 |
| MCP tool | hr_entgelttransparenz |
Parameters
#| Name | Type | Required | Default | Allowed | Description |
|---|---|---|---|---|---|
datum | date (YYYY-MM-DD) | no | heute | Effective date in the format YYYY-MM-DD. Defaults to today. | |
bestandteil | text | no | auskunftsanspruch, auskunft_wiederholung, vergleichsgruppe_mindestens, pruefverfahren, bericht, berichtsturnus_tarif, berichtsturnus_sonstige, rl_berichtspflicht_ab, rl_bericht_jaehrlich_ab, rl_turnus_unter_250, rl_entgeltbewertung_prozent | 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 |
datum | Date | Requested effective date |
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 |
|---|---|---|---|---|---|
auskunftsanspruch | Individual right to information in establishments with more than | employees | July 6, 2017 | 200 employees | open |
auskunft_wiederholung | Repeat request no earlier than after | years | July 6, 2017 | 2 years | open |
vergleichsgruppe_mindestens | Comparator pay is disclosed from a comparator group of | count | July 6, 2017 | 6 | open |
pruefverfahren | In-house pay audit (recommended) for private employers with more than | employees | July 6, 2017 | 500 employees | open |
bericht | Report on equality and equal pay for employers with more than | employees | July 6, 2017 | 500 employees | open |
berichtsturnus_tarif | Reporting cycle for employers bound by or applying collective agreements | years | July 6, 2017 | 5 years | open |
berichtsturnus_sonstige | Reporting cycle for all other employers required to report | years | July 6, 2017 | 3 years | open |
rl_berichtspflicht_ab | Directive (EU) 2023/970, not transposed into German law: gender pay gap reporting for employers with at least | employees | June 7, 2027 | 100 employees | open |
rl_bericht_jaehrlich_ab | Directive (EU) 2023/970, not transposed into German law: annual report for employers with at least | employees | June 7, 2027 | 250 employees | open |
rl_turnus_unter_250 | Directive (EU) 2023/970, not transposed into German law: reporting cycle for employers with 100 to 249 | years | June 7, 2027 | 3 years | open |
rl_entgeltbewertung_prozent | Directive (EU) 2023/970, not transposed into German law: joint pay assessment from a pay gap of | percent | June 7, 2027 | 5% | open |
Example
#Call with datum = 2026-10-01. 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: bestandteil (auskunftsanspruch, auskunft_wiederholung, vergleichsgruppe_mindestens, pruefverfahren, bericht, berichtsturnus_tarif, berichtsturnus_sonstige, rl_berichtspflicht_ab, rl_bericht_jaehrlich_ab, rl_turnus_unter_250, rl_entgeltbewertung_prozent) |
| 400 | unbekannter_parameter | a parameter this dataset does not have |
| 404 | kein_wert | outside the coverage (from July 6, 2017) 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_entgelttransparenz:
Source and freshness
#| Item | Content |
|---|---|
| Source | Pay Transparency Act (Entgelttransparenzgesetz, EntgTranspG); Directive (EU) 2023/970 |
| License | Values from official works (§ 5 UrhG). Use of the compilation under the Quellenkontor terms of use. |
| Updates | when the law changes; transposition of the EU directive pending |
| Coverage | Germany, from July 6, 2017 |
| Last checked | September 26, 2026 |
| Next expected change | transposition act for Directive (EU) 2023/970 (deadline June 7, 2026, not yet promulgated) |
Something missing or unclear? Write to us and we will extend the docs.