Docs navigation: Quickstart1. Create an account
Getting started

Quickstart: your first response in five minutes

From sign-up to your first real response in four steps. All you need is an email address and a terminal.

1. Create an account

#

On the sign in page, enter your email address and confirm that you are using Quellenkontor for a business, a self-employed activity or a public authority. You get a link that is valid for 20 minutes and works once. Click it, and you are signed in. There is no password.

New accounts start on the Free plan with 500 requests a month. You do not need a credit card for that.

You can also try it with no account at all: minimum wage, public holidays and contribution ceilings answer in a sandbox without a key, limited to 50 requests a day, see Sandbox without an account.

2. Generate a key

#

In your account, give the key a name, for example "Development", and click "Generate key". The key starts with qk_live_ and is shown exactly once. Copy it right away; afterward your account only shows the beginning of it.

Store the key as the environment variable QK_KEY. The SDK and CLI read it automatically; with curl you set it in the header.

macOS and Linux

Terminal
export QK_KEY="qk_live_DEIN_SCHLUESSEL"

Windows (PowerShell)

PowerShell
$env:QK_KEY = "qk_live_DEIN_SCHLUESSEL"

In a project

Put the key in a .env file and add that file to .gitignore:

.env
QK_KEY=qk_live_DEIN_SCHLUESSEL
A key does not belong in a repository, in frontend code or in an email. If one ends up in the wrong hands, revoke it in your account with a single click. More on this under Authentication.

3. Send your first request

#

Look up the minimum wage on January 15, 2027. The date is in the format YYYY-MM-DD:

Terminal
curl "https://api.quellenkontor.dev/v1/hr/mindestlohn?datum=2027-01-15" \
  -H "Authorization: Bearer $QK_KEY"

The response comes as JSON; here is the real response for this call:

Response
{
  "datensatz": "mindestlohn",
  "datum": "2027-01-15",
  "mindestlohn_brutto_stunde": 14.6,
  "minijob_grenze_monat": 633,
  "gueltig_ab": "2027-01-01",
  "gueltig_bis": null,
  "rechtsgrundlage": "Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268), Stufe 2",
  "quelle": {
    "titel": "Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268)",
    "url": "https://www.recht.bund.de/bgbl/1/2025/268/VO.html"
  },
  "minijob_rechtsgrundlage": "§ 8 Abs. 1a SGB IV (Mindestlohn × 130 ÷ 3, aufgerundet auf volle Euro)",
  "minijob_quelle": {
    "titel": "Bekanntmachung der Geringfügigkeitsgrenze nach § 8 Absatz 1a SGB IV vom 7. November 2025 (BAnz AT 20.11.2025 B1)",
    "url": "https://www.bundesanzeiger.de/pub/publication/VaPRG6wPGXte9CM3jI4/content/VaPRG6wPGXte9CM3jI4/BAnz%20AT%2020.11.2025%20B1.pdf"
  },
  "vorheriger_wert": {
    "gueltig_ab": "2026-01-01",
    "mindestlohn_brutto_stunde": 13.9,
    "minijob_grenze_monat": 603
  },
  "naechster_wert": null,
  "hinweise": [
    "Die Minijob-Grenze gilt je Monat. Gelegentliches unvorhersehbares Überschreiten ist in engen Grenzen erlaubt (§ 8 Abs. 1b SGB IV).",
    "Die Pauschalabgaben des Arbeitgebers für Minijobs (Kranken- und Rentenversicherung, Pauschsteuer, Umlagen) liefert der Datensatz minijob-abgaben (/v1/hr/minijob-abgaben)."
  ],
  "lizenz": "Werte aus amtlichen Werken (§ 5 UrhG). Nutzung der Zusammenstellung nach den Nutzungsbedingungen von Quellenkontor.",
  "stand": "2026-09-23",
  "zitat": "Gesetzlicher Mindestlohn in Deutschland am 15.01.2027: 14,60 Euro brutto je Stunde, gültig ab 01.01.2027. Minijob-Grenze: 633 Euro im Monat. Rechtsgrundlage: Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025, Stufe 2. Quelle: Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268), https://www.recht.bund.de/bgbl/1/2025/268/VO.html. Daten: Quellenkontor (quellenkontor.dev).",
  "datenstand": "2026-09-23.1"
}

4. Read the response

#

Every response names the dataset, the requested effective date, the value, its validity and the official source. The fields of this dataset:

FieldTypeMeaning
datensatzTextDataset id
datumDateRequested effective date
mindestlohn_brutto_stundeDecimalStatutory minimum wage in euros per hour
minijob_grenze_monatIntegerMini-job earnings limit (Geringfügigkeitsgrenze) in euros per month
gueltig_abDateStart of validity of the value
gueltig_bisDate or nullEnd of validity, null until a successor is set
rechtsgrundlageTextLaw or ordinance
quelleObjectTitle and URL of the source the value is based on
minijob_rechtsgrundlageTextLegal basis of the mini-job limit
minijob_quelleObjectSource of the mini-job limit
vorheriger_wertObject or nullThe step before the effective date
naechster_wertObject or nullThe next adopted step
hinweiseListLimits of the values or the calculation, in sentences
lizenzTextTerms of use for the values
standDateDate of the last check against the source
zitatTextReady-made sentence for citing, with value, validity, legal basis and source
datenstandTextId 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

Every response made with a key also carries two headers about usage: X-Kontingent-Limit and X-Kontingent-Verbraucht. With curl -i you see them above the JSON.

The same request through every access method

#

The four tabs show the same call through the REST API, the SDK, the command line and MCP. The response is the same in every case.

api.quellenkontor.dev/v1/hr/mindestlohn?datum=2027-01-15
Zur API-Doku →
curl "https://api.quellenkontor.dev/v1/hr/mindestlohn?datum=2027-01-15" \
  -H "Authorization: Bearer $QK_KEY"
Antwort200 OK · JSON
{
  "datensatz": "mindestlohn",
  "datum": "2027-01-15",
  "mindestlohn_brutto_stunde": 14.6,
  "minijob_grenze_monat": 633,
  "gueltig_ab": "2027-01-01",
  "gueltig_bis": null,
  "rechtsgrundlage": "Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268), Stufe 2",
  "quelle": {
    "titel": "Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268)",
    "url": "https://www.recht.bund.de/bgbl/1/2025/268/VO.html"
  },
  "minijob_rechtsgrundlage": "§ 8 Abs. 1a SGB IV (Mindestlohn × 130 ÷ 3, aufgerundet auf volle Euro)",
  "minijob_quelle": {
    "titel": "Bekanntmachung der Geringfügigkeitsgrenze nach § 8 Absatz 1a SGB IV vom 7. November 2025 (BAnz AT 20.11.2025 B1)",
    "url": "https://www.bundesanzeiger.de/pub/publication/VaPRG6wPGXte9CM3jI4/content/VaPRG6wPGXte9CM3jI4/BAnz%20AT%2020.11.2025%20B1.pdf"
  },
  "vorheriger_wert": {
    "gueltig_ab": "2026-01-01",
    "mindestlohn_brutto_stunde": 13.9,
    "minijob_grenze_monat": 603
  },
  "naechster_wert": null,
  "hinweise": [
    "Die Minijob-Grenze gilt je Monat. Gelegentliches unvorhersehbares Überschreiten ist in engen Grenzen erlaubt (§ 8 Abs. 1b SGB IV).",
    "Die Pauschalabgaben des Arbeitgebers für Minijobs (Kranken- und Rentenversicherung, Pauschsteuer, Umlagen) liefert der Datensatz minijob-abgaben (/v1/hr/minijob-abgaben)."
  ],
  "lizenz": "Werte aus amtlichen Werken (§ 5 UrhG). Nutzung der Zusammenstellung nach den Nutzungsbedingungen von Quellenkontor.",
  "stand": "2026-09-23",
  "zitat": "Gesetzlicher Mindestlohn in Deutschland am 15.01.2027: 14,60 Euro brutto je Stunde, gültig ab 01.01.2027. Minijob-Grenze: 633 Euro im Monat. Rechtsgrundlage: Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025, Stufe 2. Quelle: Fünfte Mindestlohnanpassungsverordnung vom 5. November 2025 (BGBl. 2025 I Nr. 268), https://www.recht.bund.de/bgbl/1/2025/268/VO.html. Daten: Quellenkontor (quellenkontor.dev).",
  "datenstand": "2026-09-23.1"
}

If it does not work

#
You seeCauseFix
schluessel_fehltThe Authorization header is missing, or the environment variable is not set in this terminal.Check with echo $QK_KEY whether the variable has a value, and repeat the call in the same window.
schluessel_ungueltigThe key was copied incompletely or has been revoked.Check in your account whether the key is active. Otherwise generate a new one.
ungueltiger_parameterA value has the wrong format, for example 15.01.2027 instead of 2027-01-15.The message names the parameter and the expected format.
unbekannter_parameterA typo in a parameter name.The message lists the allowed names.
kein_wertThere is no official value for this effective date, for example before 2015 or for a year that has not been set yet.Check the effective date, see Effective dates and validity.
kontingent_erreichtThis month's quota is used up.Wait until the first of the month, or change your plan in your account.

All codes with their status and fix are listed under Errors and error codes.

Next steps

#

Something missing or unclear? Write to us and we will extend the docs.