Die Schülerinnen und Schüler schreiben unbetonte Endsilben (Konsonant + <e>, <el>, <er>, <en>) richtig.
Your AI is guessing the curriculum. Stop it.
Every model has read about the Lehrplan. None has read it. currikon has: 234,161 competencies from 21 curricula, each traceable to its paragraph.
Find the competencies
POST /v1/alignMatches in North Rhine-Westphalia for “Groß- und Kleinschreibung bei Nomen”
POST /v1/align · 3 matches · full-text
- NW-D-GS-RechNutzUnd-K34-01grades 3–4 · 1.00
schreiben Texte unter Berücksichtigung der erarbeiteten Prinzipien der deutschen Orthographie (bezogen auf Wortbildung, Groß- und Kleinschreibung, Zeichensetzung)
page 14
- NW-D-GY-EPS-IF1-REZ-01grades 5–6 · 0.69
Wortarten (Verb, Nomen, Artikel, Pronomen, Adjektiv, Konjunktion, Adverb) unterscheiden
page 17
- NW-D-GY-ES1-IF1-REZ-01grades 7–8 · 0.67
Wortarten (Verb, Nomen, Artikel, Pronomen, Adjektiv, Konjunktion, Adverb, Präposition, Interjektion) unterscheiden
page 25
Matches in North Rhine-Westphalia for “Brüche mit gleichem Nenner addieren”
POST /v1/align · 3 matches · full-text
- NW-M-GS-Oper-K34-01grades 3–4 · 1.00
verwenden Fachbegriffe (Summe, Differenz, Produkt, Quotient, addieren, subtrahieren, multiplizieren und dividieren).
page 17
- NW-M-GY-GOST-EF-Prod-24grades 11–11 · 0.97
addieren Vektoren, multiplizieren Vektoren mit einem Skalar und untersuchen Vektoren auf Kollinearität
page 23
- NW-M-SEK-EPS-ArithAlgeb-10grades 5–6 · 0.85
deuten Brüche als Anteile, Operatoren, Quotienten, Zahlen und Verhältnisse
page 27
Matches in Bavaria for “Photosynthese als Energieumwandlung”
POST /v1/align · 3 matches · full-text
- BY-GY-BI-13e-3.1-02grades 13–13 · 1.00
Die Schülerinnen und Schüler erklären, welche Außenfaktoren die Photosynthese beeinflussen, legen dar, wie sich Veränderungen der Außenfaktoren auf die Photosyntheserate auswirken, und beurteilen deren Folgen für Wild- und Nutzpflanzen.
- BY-GY-BI-13e-3.1-05grades 13–13 · 0.80
Die Schülerinnen und Schüler beschreiben die Tracer-Methode als Werkzeug, um Stoffwechselwege, z. B. bei der Photosynthese, aufzuklären.
- BY-GY-BI-13e-3.1-03grades 13–13 · 0.72
Die Schülerinnen und Schüler trennen die verschiedenen Photosynthesefarbstoffe in einem Blattextrakt durch Chromatographie, um zu zeigen, dass ein Farbstoffgemisch für die Absorption von Licht verantwortlich ist.
Every match links to the paragraph it was extracted from. Ask the same question with your API key and get the full record.
A claim is a link, or it is a claim.
Plain JSON with a stable code, a grade band, a domain, and on every record the paragraph it came from. A test fails the build without it.
{
"code": "BY-GS-D-12-4.4-10",
"text": "Die Schülerinnen und Schüler schreiben unbetonte Endsilben (Konsonant + <e>, <el>, <er>, <en>) richtig.",
"jurisdiction": "BY",
"schoolType": "GS",
"subject": "D",
"gradeRange": {
"from": 1,
"to": 2
},
"domain": {
"code": "LB4",
"name": "Sprachgebrauch und Sprache untersuchen und reflektieren"
},
"validFrom": "2014-09-01",
"provenance": {
"sourceUrl": "https://www.lehrplanplus.bayern.de/schulart/grundschule/jgs/1/fach/deutsch/inhalt/fachlehrplaene",
"recipe": "by-gs-deutsch-2014.v1"
}
} {
"sourceCode": "BY-GS-M-12-4.2-02",
"targetCode": "KMK-M-PRI-EreiBeiZufa-01",
"mappingType": "aequivalent",
"confidence": 0.95,
"validation": "llm-bewertet",
"sourceText": "Die Schülerinnen und Schüler verwenden zur Beschreibung einfacher Zufallsexperimente die Grundbegriffe sicher, möglich und unmöglich sowie die Begriffe wahrscheinlich und unwahrscheinlich in ihrer alltagssprachlichen Bedeutung.",
"targetText": "kennen und nutzen Grundbegriffe zur Beschreibung von Zufallsereignissen (sicher, möglich, unmöglich)"
} Die Schülerinnen und Schüler verwenden zur Beschreibung einfacher Zufallsexperimente die Grundbegriffe sicher, möglich und unmöglich sowie die Begriffe wahrscheinlich und unwahrscheinlich in ihrer alltagssprachlichen Bedeutung.
kennen und nutzen Grundbegriffe zur Beschreibung von Zufallsereignissen (sicher, möglich, unmöglich)
21 curriculum systems, 1,750 curricula, and every team parses them again.
The model's memory
Invents a code that looks right. No paragraph to show a teacher.
Your own parser
Someone parses Bavaria on a Tuesday. Bavaria changes. They parse it again.
currikon
Parsed once, with a receipt. Stable codes, a grade band, a source on every record. You get JSON.
What you do with it
Search, align, map and cite competencies through one API.
Find the competency behind a worksheet title.
Send a title, a learning objective or a paragraph. Get ranked competencies with jurisdiction, grade band and source.
curl -X POST https://api.currikon.org/v1/align \
-H "Authorization: Bearer $CURRIKON_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Kinder schreiben unbetonte Endsilben wie -el, -er und -en richtig",
"filters": { "jurisdiction": "BY", "schoolType": "GS" },
"limit": 1
}' {
"query": "Kinder schreiben unbetonte Endsilben wie -el, -er und -en richtig",
"method": "semantic",
"results": [
{
"kind": "competency",
"code": "BY-GS-D-12-4.4-10",
"text": "Die Schülerinnen und Schüler schreiben unbetonte Endsilben (Konsonant + <e>, <el>, <er>, <en>) richtig.",
"score": 0.95,
"reason": "Die Kompetenzerwartung nennt genau diese unbetonten Endsilben als Rechtschreibziel.",
"competency": {
"code": "BY-GS-D-12-4.4-10",
"text": "Die Schülerinnen und Schüler schreiben unbetonte Endsilben (Konsonant + <e>, <el>, <er>, <en>) richtig.",
"jurisdiction": "BY",
"schoolType": "GS",
"subject": "D",
"gradeRange": {
"from": 1,
"to": 2
},
"domain": {
"code": "LB4",
"name": "Sprachgebrauch und Sprache untersuchen und reflektieren"
},
"validFrom": "2014-09-01",
"provenance": {
"sourceUrl": "https://www.lehrplanplus.bayern.de/schulart/grundschule/jgs/1/fach/deutsch/inhalt/fachlehrplaene",
"recipe": "by-gs-deutsch-2014.v1"
}
}
}
],
"total": 1
} Ask for grades 5–6 Mathematik in NRW and get the slice.
Filter by curriculum, school type, subject and grade; the response is the slice, ordered as the Lehrplan orders it.
curl -G https://api.currikon.org/v1/curriculum-slices \
-H "Authorization: Bearer $CURRIKON_KEY" \
-d jurisdiction=BY \
-d schoolType=GS \
-d subject=D \
-d grade=1 {
"filters": {
"jurisdiction": "BY",
"schoolType": "GS",
"subject": "D",
"grade": 1
},
"domains": [
{
"domain": {
"code": "LB4",
"name": "Sprachgebrauch und Sprache untersuchen und reflektieren"
},
"competencies": [
{
"competency": {
"code": "BY-GS-D-12-4.4-10",
"text": "Die Schülerinnen und Schüler schreiben unbetonte Endsilben (Konsonant + <e>, <el>, <er>, <en>) richtig."
}
}
]
}
]
} See what Bavaria's expectation is called in Hamburg.
Typed, scored mappings through the KMK standards, with the validation level stated on every one.
curl -G https://api.currikon.org/v1/mappings \
-H "Authorization: Bearer $CURRIKON_KEY" \
-d from=BY \
-d to=KMK {
"data": [
{
"sourceCode": "BY-GS-M-12-4.2-02",
"targetCode": "KMK-M-PRI-EreiBeiZufa-01",
"mappingType": "aequivalent",
"confidence": 0.95,
"validation": "llm-bewertet"
},
…
],
"total": 253,
"limit": 100,
"offset": 0
} Cite the paragraph, not a badge.
Every record carries its source: a URL for web sources, a hash and page for PDFs, and the recipe that produced it.
curl https://api.currikon.org/v1/competencies/BY-GS-D-12-4.4-10 \
-H "Authorization: Bearer $CURRIKON_KEY" {
"code": "BY-GS-D-12-4.4-10",
"provenance": {
"sourceUrl": "https://www.lehrplanplus.bayern.de/schulart/grundschule/jgs/1/fach/deutsch/inhalt/fachlehrplaene",
"recipe": "by-gs-deutsch-2014.v1"
}
} Ask currikon, not the model's memory.
A language model will happily invent a competency code that looks right. Give it a tool instead. Free text goes in, ranked competencies come out with their sources attached, and your product cites the Lehrplan rather than paraphrasing it.
Alignment endpoint
Send a learning objective, a worksheet title or a paragraph of text. Get back the matching competencies, scored, with jurisdiction, grade band and source paragraph.
MCP server
The same corpus as a tool for Claude, Claude Code and any agent that speaks MCP. Search, look up, find equivalents and align, from inside the assistant.
meinUnterricht's assistant is built on it
Teachers ask for material by curriculum or textbook; the assistant asks currikon and answers with the competency, not a guess. Launching this autumn.
Wire it in this afternoon.
- 1
Get a key in the Console.
https://api.currikon.org/console → API keys → New key
- 2
Send one request.
requestcurl -X POST https://api.currikon.org/v1/align \ -H "Authorization: Bearer $CURRIKON_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Brüche mit gleichem Nenner addieren", "filters": { "jurisdiction": "NW" }, "limit": 3 }' - 3
Read the response, with its source.
response{ "provenance": { "sourceHash": "sha256:…", "page": 14, "recipe": "nw-…" } }
Docs that read like docs
Generated from the OpenAPI document, every example runnable with your key.
The Console
Keys, credit packs and usage in one place.
MCP for Claude and agents
The same corpus as a tool inside your assistant.
Questions people actually ask.
Do I need a key for every endpoint?
Yes. Production requires a key on all endpoints. The homepage demo runs through a rate-limited public route.
What counts as a request?
One call to any endpoint. Align and chat consume credits from a credit pack in addition.
Can I export?
CASE v1.1 CFPackages per framework, and JSON everywhere. Your data, no lock-in.
Where is it hosted?
In Germany. Records never leave the EU.
How fresh is the data?
Every record carries the source document and its valid-from date; the corpus snapshot date is in the footer. Re-extraction is recipe-driven and count-pinned in CI, so a changed Lehrplan is a visible diff, not a silent drift.
How do you stop the model from inventing a competency?
The API does not generate competencies; it retrieves records that exist, each with its source paragraph. A test in the build refuses any record without provenance.
Stop guessing. Start citing.
Get a key, a walkthrough and a first aligned response the same day.