← ablaut
The ablaut API
Verb conjugation for 20+ languages over HTTP or MCP. Every form is verified against two independent lexicons per language; answers are computed in microseconds by a native Rust engine.
Newablaut now speaks MCP — use it from Claude Code, Cursor, or any MCP-capable agent, with the same key and limits. See the setup ↓
Quickstart
curl -H "x-api-key: YOUR_KEY" \
"https://api.ablaut.dev/v1/conjugate?verb=appeler&lang=fr"
{
"verb": "appeler",
"lang": "fr",
"us": 42,
"table": {
"infinitive": "appeler",
"present": ["appelle", "appelles", "appelle",
"appelons", "appelez", "appellent"],
"auxiliary": "avoir",
...
}
}
Authentication
Every /v1 request needs an x-api-key header. Create a key in your account — the free tier allows 2,000 requests/day and 60/minute, shared across the API and MCP. Requests without a valid key get 401; over the limit returns 429.
Endpoints
GET /v1/conjugate
| Parameter | Description |
|---|
verb | The infinitive (or citation form) to conjugate. Required. Whitespace, casing, and zu-/a-style particles are normalized. |
lang | ISO 639-1 (fr), ISO 639-3 (fra), or an English name (French), case-insensitive. Defaults to German. |
Responses include us, the engine compute time in microseconds. Errors: 400 missing verb, 401 bad key, 429 rate limit reached, 422 unknown language or a string that is not an infinitive of the requested language — ablaut only conjugates real verbs, it never invents forms:
{ "error": "not a supported French verb" }
GET /v1/lemma
Reverse lookup: ?form=suis&lang=fr returns every lemma whose paradigm contains the form, with the slots it occupies — ambiguity included (suis matches both être and suivre). Productive coverage for French, Spanish, German, and English; irregular forms reverse in all 14 languages. Every match is verified by forward conjugation, so a cited slot always really contains the form.
{ "form": "suis", "matches": [
{ "infinitive": "être", "slots": ["present 1sg"] },
{ "infinitive": "suivre", "slots": ["present 1sg", "present 2sg", "imperative 2sg"] } ] }
GET /v1/languages
The 20+ languages with ISO codes and maturity status (beta: verified at 100% agreement against two gold lexicons; wip: known gaps under active work).
Response shapes per language
Each language's table mirrors its real morphology instead of forcing one template: German carries both Konjunktiv rows and separable-prefix forms, Czech carries aspect and its counterpart, Spanish the Rioplatense voseo, Irish returns fully composed and mutated rows, Swedish tenses are single forms rather than person arrays. The reference below is generated from live engine output at build time, so it cannot drift. Person arrays run 1sg → 3pl (German adds the polite Sie row on the site only). Analytic tenses composed from auxiliaries (passé composé, passato prossimo, perfekti) are part of the API response for every language except Danish, whose auxiliary coverage is still partial.
Catalan — ca, sample: parlar, 11 fields
| Field | Type | Example (parlar) |
|---|
infinitive | string | parlar |
gerund | string | parlant |
pastParticiple | string | parlat |
imperative | array[5] | parla, … |
present | array[6] | parlo, … |
imperfect | array[6] | parlava, … |
preterite | array[6] | parlí, … |
future | array[6] | parlaré, … |
conditional | array[6] | parlaria, … |
subjunctivePresent | array[6] | parli, … |
subjunctiveImperfect | array[6] | parlés, … |
Ukrainian — uk, sample: робити, 4 fields
| Field | Type | Example (робити) |
|---|
infinitive | string | робити |
present | array[6] | роблю, … |
imperative | array[3] | роби, … |
past | array[4] | робив, … |
Icelandic — is, sample: kalla, 8 fields
| Field | Type | Example (kalla) |
|---|
infinitive | string | kalla |
supine | string | kallað |
presentParticiple | string | kallandi |
imperative | array[2] | kalla, … |
present | array[6] | kalla, … |
past | array[6] | kallaði, … |
subjunctivePresent | array[6] | kalli, … |
subjunctivePast | array[6] | kallaði, … |
Japanese — ja, sample: 食べる, 6 fields
| Field | Type | Example (食べる) |
|---|
terminal | string | 食べる |
continuative | string | 食べ |
irrealis | string | 食べ |
hypothetical | string | 食べれ |
imperative | string | 食べろ |
past | string | 食べた |
Korean — ko, sample: 먹다, 5 fields
| Field | Type | Example (먹다) |
|---|
infinitive | string | 먹다 |
intimate | string | 먹어 |
connectiveNi | string | 먹으니 |
adnominalPresent | string | 먹는 |
formalPresent | string | 먹습니다 |
Dutch — nl, sample: werken, 6 fields
| Field | Type | Example (werken) |
|---|
infinitive | string | werken |
present | array[6] | werk, … |
past | array[2] | werkte, … |
imperative | string | werk |
presentParticiple | string | werkend |
pastParticiple | string | gewerkt |
Russian — ru, sample: делать, 5 fields
| Field | Type | Example (делать) |
|---|
infinitive | string | делать |
nonPast | array[6] | делаю, … |
pastSingular | array[3] | делал, … |
pastPlural | string | делали |
imperative | array[2] | делай, … |
German — de, sample: aufstehen, 21 fields
| Field | Type | Example (aufstehen) |
|---|
infinitive | string | aufstehen |
zuInfinitive | string | aufzustehen |
perfectInfinitive | string | aufgestanden sein |
auxiliary | string | sein |
presentParticiple | string | aufstehend |
pastParticiple | string | aufgestanden |
imperative | array[2] | steh auf, … |
imperativeExtended | array[2] | stehen wir auf, … |
present | array[6] | stehe auf, … |
preterite | array[6] | stand auf, … |
konjunktiv1 | array[6] | stehe auf, … |
konjunktiv2 | array[6] | stünde auf, … |
perfect | array[6] | bin aufgestanden, … |
pluperfect | array[6] | war aufgestanden, … |
future1 | array[6] | werde aufstehen, … |
future2 | array[6] | werde aufgestanden sein, … |
wuerde | array[6] | würde aufstehen, … |
konj1Perfect | array[6] | sei aufgestanden, … |
konj1Future | array[6] | werde aufstehen, … |
konj2Pluperfect | array[6] | wäre aufgestanden, … |
konj2Future2 | array[6] | würde aufgestanden sein, … |
French — fr, sample: appeler, 19 fields
| Field | Type | Example (appeler) |
|---|
infinitive | string | appeler |
auxiliary | string | avoir |
presentParticiple | string | appelant |
pastParticiple | string | appelé |
imperative | array[3] | appelle, … |
present | array[6] | appelle, … |
imperfect | array[6] | appelais, … |
pastHistoric | array[6] | appelai, … |
future | array[6] | appellerai, … |
conditional | array[6] | appellerais, … |
subjunctivePresent | array[6] | appelle, … |
subjunctiveImperfect | array[6] | appelasse, … |
passeCompose | array[6] | ai appelé, … |
plusQueParfait | array[6] | avais appelé, … |
passeAnterieur | array[6] | eus appelé, … |
futurAnterieur | array[6] | aurai appelé, … |
conditionnelPasse | array[6] | aurais appelé, … |
subjonctifPasse | array[6] | aie appelé, … |
subjonctifPlusQueParfait | array[6] | eusse appelé, … |
Spanish — es, sample: hablar, 21 fields
| Field | Type | Example (hablar) |
|---|
infinitive | string | hablar |
gerund | string | hablando |
pastParticiple | string | hablado |
presentVos | string | hablás |
imperativeVos | string | hablá |
imperative | array[5] | habla, … |
present | array[6] | hablo, … |
imperfect | array[6] | hablaba, … |
preterite | array[6] | hablé, … |
future | array[6] | hablaré, … |
conditional | array[6] | hablaría, … |
subjunctivePresent | array[6] | hable, … |
subjunctiveImperfect | array[6] | hablara, … |
subjunctiveFuture | array[6] | hablare, … |
perfectoCompuesto | array[6] | he hablado, … |
pluscuamperfecto | array[6] | había hablado, … |
preteritoAnterior | array[6] | hube hablado, … |
futuroPerfecto | array[6] | habré hablado, … |
condicionalPerfecto | array[6] | habría hablado, … |
subjuntivoPerfecto | array[6] | haya hablado, … |
subjuntivoPluscuamperfecto | array[6] | hubiera hablado, … |
Portuguese — pt, sample: falar, 20 fields
| Field | Type | Example (falar) |
|---|
infinitive | string | falar |
gerund | string | falando |
pastParticiple | string | falado |
imperative | array[5] | fala, … |
personalInfinitive | array[6] | falar, … |
present | array[6] | falo, … |
imperfect | array[6] | falava, … |
preterite | array[6] | falei, … |
pluperfect | array[6] | falara, … |
future | array[6] | falarei, … |
conditional | array[6] | falaria, … |
subjunctivePresent | array[6] | fale, … |
subjunctiveImperfect | array[6] | falasse, … |
subjunctiveFuture | array[6] | falar, … |
perfeitoComposto | array[6] | tenho falado, … |
maisQuePerfeitoComposto | array[6] | tinha falado, … |
futuroComposto | array[6] | terei falado, … |
condicionalComposto | array[6] | teria falado, … |
conjuntivoPerfeito | array[6] | tenha falado, … |
conjuntivoMaisQuePerfeito | array[6] | tivesse falado, … |
Italian — it, sample: parlare, 19 fields
| Field | Type | Example (parlare) |
|---|
infinitive | string | parlare |
auxiliary | string | avere |
gerund | string | parlando |
presentParticiple | string | parlante |
pastParticiple | string | parlato |
imperative | array[5] | parla, … |
present | array[6] | parlo, … |
imperfect | array[6] | parlavo, … |
pastHistoric | array[6] | parlai, … |
future | array[6] | parlerò, … |
conditional | array[6] | parlerei, … |
subjunctivePresent | array[6] | parli, … |
subjunctiveImperfect | array[6] | parlassi, … |
passatoProssimo | array[6] | ho parlato, … |
trapassatoProssimo | array[6] | avevo parlato, … |
futuroAnteriore | array[6] | avrò parlato, … |
condizionalePassato | array[6] | avrei parlato, … |
congiuntivoPassato | array[6] | abbia parlato, … |
congiuntivoTrapassato | array[6] | avessi parlato, … |
Swedish — sv, sample: tala, 15 fields
| Field | Type | Example (tala) |
|---|
infinitive | string | tala |
present | string | talar |
past | string | talade |
supine | string | talat |
imperative | string | tala |
infinitivePassive | string | talas |
presentPassive | string | talas |
pastPassive | string | talades |
supinePassive | string | talats |
presensRow | array[6] | talar, … |
preteritumRow | array[6] | talade, … |
perfektRow | array[6] | har talat, … |
pluskvamperfektRow | array[6] | hade talat, … |
futurumRow | array[6] | ska tala, … |
konditionalisRow | array[6] | skulle tala, … |
Romanian — ro, sample: a vorbi, 15 fields
| Field | Type | Example (a vorbi) |
|---|
infinitive | string | vorbi |
gerund | string | vorbind |
participle | string | vorbit |
imperative | array[2] | vorbește, … |
present | array[6] | vorbesc, … |
imperfect | array[6] | vorbeam, … |
simplePerfect | array[6] | vorbii, … |
pluperfect | array[6] | vorbisem, … |
subjunctive | array[6] | vorbesc, … |
perfectCompus | array[6] | am vorbit, … |
viitor | array[6] | voi vorbi, … |
conditionalPrezent | array[6] | aș vorbi, … |
subjunctivePerfect | array[6] | fi vorbit, … |
conditionalPerfect | array[6] | aș fi vorbit, … |
viitorAnterior | array[6] | voi fi vorbit, … |
English — en, sample: run, 11 fields
| Field | Type | Example (run) |
|---|
infinitive | string | run |
past | string | ran |
pastParticiple | string | run |
presentParticiple | string | running |
thirdSingular | string | runs |
presentRow | array[6] | run, … |
pastRow | array[6] | ran, … |
presentPerfectRow | array[6] | have run, … |
pastPerfectRow | array[6] | had run, … |
futureRow | array[6] | will run, … |
futurePerfectRow | array[6] | will have run, … |
Danish — da, sample: virke, 9 fields
| Field | Type | Example (virke) |
|---|
infinitive | string | virke |
present | string | virker |
past | string | virkede |
pastParticiple | string | virket |
imperative | string | virk |
presentParticiple | string | virkende |
infinitivePassive | string | virkes |
presentPassive | string | virkes |
pastPassive | string | virkedes |
Czech — cs, sample: mluvit, 9 fields
| Field | Type | Example (mluvit) |
|---|
infinitive | string | mluvit |
aspect | string | imperfective |
present | array[6] | mluvím, … |
imperative | array[3] | mluv, … |
pastParticiple | array[6] | mluvil, … |
passiveParticiple | array[6] | mluven, … |
transgressive | array[3] | mluvě, … |
minulyCas | array[6] | mluvil jsem, … |
kondicional | array[6] | mluvil bych, … |
Slovenian — sl, sample: delati, 8 fields
| Field | Type | Example (delati) |
|---|
infinitive | string | delati |
supine | string | delat |
present | array[9] | delam, … |
imperative | array[5] | delaj, … |
participle | array[9] | delal, … |
preteklik | array[9] | sem delal, … |
prihodnjik | array[9] | bom delal, … |
pogojnik | array[9] | bi delal, … |
Estonian — et, sample: rääkima, 14 fields
| Field | Type | Example (rääkima) |
|---|
infinitive | string | rääkima |
daInfinitive | string | rääkida |
present | array[6] | räägin, … |
past | array[6] | rääkisin, … |
conditional | array[6] | räägiksin, … |
imperative | array[4] | räägi, … |
presentImpersonal | string | räägitakse |
pastImpersonal | string | räägiti |
quotative | string | rääkivat |
presentParticiple | string | rääkiv |
nudParticiple | string | rääkinud |
tudParticiple | string | räägitud |
perfect | array[6] | olen rääkinud, … |
pluperfect | array[6] | olin rääkinud, … |
Finnish — fi, sample: puhua, 17 fields
| Field | Type | Example (puhua) |
|---|
infinitive | string | puhua |
present | array[6] | puhun, … |
past | array[6] | puhuin, … |
conditional | array[6] | puhuisin, … |
potential | array[6] | puhunen, … |
imperative | array[5] | puhu, … |
presentPassive | string | puhutaan |
pastPassive | string | puhuttiin |
conditionalPassive | string | puhuttaisiin |
potentialPassive | string | puhuttaneen |
imperativePassive | string | puhuttakoon |
presentParticiple | string | puhuva |
pastParticiple | string | puhunut |
presentPassiveParticiple | string | puhuttava |
pastPassiveParticiple | string | puhuttu |
perfekti | array[6] | olen puhunut, … |
pluskvamperfekti | array[6] | olin puhunut, … |
Irish — ga, sample: glan, 10 fields
| Field | Type | Example (glan) |
|---|
infinitive | string | glan |
verbalNoun | string | glanadh |
verbalAdjective | string | glanta |
present | array[7] | glanaim, … |
past | array[7] | ghlan mé, … |
pastHabitual | array[7] | ghlanainn, … |
future | array[7] | glanfaidh mé, … |
conditional | array[7] | ghlanfainn, … |
imperative | array[7] | glanaim, … |
subjunctive | array[7] | glana mé, … |
Turkish — tr, sample: gitmek, 8 fields
| Field | Type | Example (gitmek) |
|---|
infinitive | string | gitmek |
aorist | array[6] | giderim, … |
progressive | array[6] | gidiyorum, … |
future | array[6] | gideceğim, … |
past | array[6] | gittim, … |
evidential | array[6] | gitmişim, … |
necessitative | array[6] | gitmeliyim, … |
imperative | array[2] | git, … |
Hindi — hi, sample: करना, 8 fields
| Field | Type | Example (करना) |
|---|
infinitive | string | करना |
obliqueInfinitive | string | करने |
imperative | array[3] | कर, … |
subjunctive | array[6] | करूं, … |
futureMasculine | array[6] | करूंगा, … |
futureFeminine | array[6] | करूंगी, … |
imperfective | array[3] | करता, … |
perfective | array[3] | किया, … |
Swahili — sw, sample: kusoma, 11 fields
| Field | Type | Example (kusoma) |
|---|
infinitive | string | kusoma |
infinitiveNegative | string | kutosoma |
imperative | array[2] | soma, … |
habitual | string | husoma |
present | array[6] | ninasoma, … |
presentNegative | array[6] | sisomi, … |
past | array[6] | nilisoma, … |
future | array[6] | nitasoma, … |
perfect | array[6] | nimesoma, … |
subjunctive | array[6] | nisome, … |
gnomic | array[6] | nasoma, … |
Tamil — ta, sample: படி, 11 fields
| Field | Type | Example (படி) |
|---|
root | string | படி |
present | array[10] | படிகிறேன், … |
past | array[10] | படித்தேன், … |
future | array[10] | படிப்பேன், … |
infinitive | string | படிக்க |
adverbial | string | படித்து |
relativePast | string | படித்த |
relativePresent | string | படிகிற |
relativeFuture | string | படியும் |
conditional | string | படித்தால் |
imperative | array[2] | படி, … |
Telugu — te, sample: చేయు, 5 fields
| Field | Type | Example (చేయు) |
|---|
infinitive | string | చేయు |
past | array[8] | చేశాను, … |
presentDurative | array[8] | చేస్తున్నాను, … |
future | array[8] | చేస్తాను, … |
imperative | array[2] | చేయు, … |
Tagalog — tl, sample: kain, 3 fields
| Field | Type | Example (kain) |
|---|
infinitive | string | kain |
actor | array[3] | kumain, … |
patient | array[3] | kinain, … |
Armenian — hy, sample: գրել, 22 fields
| Field | Type | Example (գրել) |
|---|
infinitive | string | գրել |
present | array[6] | գրում եմ, … |
imperfect | array[6] | գրում էի, … |
aorist | array[6] | գրեցի, … |
perfect | array[6] | գրել եմ, … |
pluperfect | array[6] | գրել էի, … |
future | array[6] | գրելու եմ, … |
futureInPast | array[6] | գրելու էի, … |
subjunctiveFuture | array[6] | գրեմ, … |
subjunctivePast | array[6] | գրեի, … |
conditional | array[6] | կգրեմ, … |
conditionalPast | array[6] | կգրեի, … |
imperative | array[2] | գրիր, … |
converbImperfective | string | գրում |
converbPerfective | string | գրել |
converbFuture | string | գրելու |
converbSimultaneous | string | գրելիս |
connegative | string | գրի |
participleSubject | string | գրող |
participleResultative | string | գրած |
passive | string | գրվել |
causative | string | գրեցնել |
Persian — fa, sample: کردن, 15 fields
| Field | Type | Example (کردن) |
|---|
infinitive | string | کردن |
aorist | array[6] | کنم, … |
present | array[6] | میکنم, … |
subjunctive | array[6] | بکنم, … |
past | array[6] | کردم, … |
imperfect | array[6] | میکردم, … |
perfect | array[6] | کردهام, … |
pluperfect | array[6] | کرده بودم, … |
future | array[6] | خواهم کرد, … |
perfectSubjunctive | array[6] | کرده باشم, … |
presentProgressive | array[6] | دارم میکنم, … |
pastProgressive | array[6] | داشتم میکردم, … |
imperative | array[2] | بکن, … |
pastParticiple | string | کرده |
presentParticiple | string | کننده |
Kannada — kn, sample: ಮಾಡು, 5 fields
| Field | Type | Example (ಮಾಡು) |
|---|
infinitive | string | ಮಾಡು |
past | array[10] | ಮಾಡಿದೆನು, … |
present | array[10] | ಮಾಡುತ್ತೇನೆ, … |
future | array[10] | ಮಾಡುವೆನು, … |
imperative | array[2] | ಮಾಡು, … |
Gujarati — gu, sample: કરવું, 10 fields
| Field | Type | Example (કરવું) |
|---|
infinitive | string | કરવું |
verbalNoun | string | કરવાનું |
conjunctive | string | કરી |
consecutive | string | કરીને |
present | array[5] | કરું, … |
future | array[5] | કરીશ, … |
imperative | array[4] | કર, … |
perfective | array[5] | કર્યો, … |
imperfective | array[5] | કરતો, … |
presentProgressive | array[5] | કરું છું, … |
Urdu — ur, sample: کرنا, 8 fields
| Field | Type | Example (کرنا) |
|---|
infinitive | string | کرنا |
obliqueInfinitive | string | کرنے |
imperative | array[3] | کر, … |
subjunctive | array[6] | کروں, … |
futureMasculine | array[6] | کروں گا, … |
futureFeminine | array[6] | کروں گی, … |
imperfective | array[3] | کرتا, … |
perfective | array[3] | کیا, … |
Bengali — bn, sample: করা, 14 fields
| Field | Type | Example (করা) |
|---|
infinitive | string | করা |
verbalInfinitive | string | করতে |
perfective | string | করে |
habitualParticiple | string | করে |
progressiveParticiple | string | করতে |
conditional | string | করলে |
present | array[5] | করি, … |
past | array[5] | করলাম, … |
future | array[5] | করবো, … |
habitual | array[5] | করতাম, … |
presentProgressive | array[5] | করছি, … |
pastProgressive | array[5] | করছিলাম, … |
presentPerfect | array[5] | করেছি, … |
pastPerfect | array[5] | করেছিলাম, … |
Marathi — mr, sample: बसणे, 11 fields
| Field | Type | Example (बसणे) |
|---|
infinitive | string | बसणे |
completive | string | बसून |
purposive | string | बसायला |
prospective | string | बसणार |
presentMasculine | array[6] | बसतो, … |
presentFeminine | array[6] | बसते, … |
perfectiveMasculine | array[6] | बसलो, … |
perfectiveFeminine | array[6] | बसले, … |
subjunctive | array[6] | बसावा, … |
future | array[6] | बसेन, … |
imperative | array[5] | बस, … |
Afrikaans — af, sample: loop, 6 fields
| Field | Type | Example (loop) |
|---|
infinitive | string | loop |
present | string | loop |
perfect | string | het geloop |
pastParticiple | string | geloop |
presentParticiple | string | lopende |
imperative | string | loop |
Norwegian Bokmål — nb, sample: kaste, 7 fields
| Field | Type | Example (kaste) |
|---|
infinitive | string | kaste |
present | string | kaster |
past | string | kastet |
pastParticiple | string | kastet |
imperative | string | kast |
presentParticiple | string | kastende |
presentPassive | string | kastes |
Macedonian — mk, sample: работи, 8 fields
| Field | Type | Example (работи) |
|---|
lemma | string | работи |
present | array[6] | работам, … |
imperfect | array[6] | работев, … |
imperfectParticiple | array[4] | работел, … |
imperative | array[2] | работи, … |
passiveParticiple | string | работен |
converb | string | работејќи |
verbalNoun | string | работење |
Bulgarian — bg, sample: гледам, 10 fields
| Field | Type | Example (гледам) |
|---|
present | string | гледам |
presentAll | array[6] | гледам, … |
aorist | array[6] | гледах, … |
imperfect | array[6] | гледах, … |
imperative | array[2] | гледаи, … |
pastParticiple | array[4] | гледал, … |
presentParticiple | array[4] | гледащ, … |
passiveParticiple | array[4] | гледан, … |
verbalAdverb | string | гледаики |
verbalNoun | string | гледане |
Greek — el, sample: γράφω, 6 fields
| Field | Type | Example (γράφω) |
|---|
present | string | γράφω |
presentAll | array[6] | γράφω, … |
imperfect | array[6] | έγραφα, … |
aorist | array[6] | έγραψα, … |
imperative | array[2] | γράφ', … |
gerund | string | γράφοντας |
Albanian — sq, sample: punoj, 7 fields
| Field | Type | Example (punoj) |
|---|
present | string | punoj |
presentAll | array[6] | punoj, … |
imperfect | array[6] | punoja, … |
aorist | array[6] | punova, … |
admirative | array[6] | punuakam, … |
imperative | array[2] | puno, … |
participle | string | punuar |
Polish — pl, sample: robić, 5 fields
| Field | Type | Example (robić) |
|---|
infinitive | string | robić |
present | array[6] | robię, … |
future | array[6] | będziemy robiły, … |
past | array[5] | robił, … |
imperative | array[3] | rób, … |
Azerbaijani — az, sample: sevmək, 6 fields
| Field | Type | Example (sevmək) |
|---|
infinitive | string | sevmək |
present | array[6] | sevirəm, … |
past | array[6] | sevdim, … |
future | array[6] | sevəcəyəm, … |
aorist | array[6] | sevərəm, … |
imperative | array[2] | sev, … |
Uzbek — uz, sample: ishlamoq, 6 fields
| Field | Type | Example (ishlamoq) |
|---|
infinitive | string | ishlamoq |
present | array[2] | ishlaydi, … |
past | array[2] | ishladi, … |
future | array[2] | ishlayajak, … |
aorist | array[2] | ishlar, … |
imperative | array[2] | ishlasin, … |
Turkmen — tk, sample: atmak, 5 fields
| Field | Type | Example (atmak) |
|---|
infinitive | string | atmak |
present | array[6] | atýaryn, … |
past | array[6] | atdym, … |
aorist | array[6] | ataryn, … |
imperative | array[2] | at, … |
Belarusian — be, sample: чытаць, 5 fields
| Field | Type | Example (чытаць) |
|---|
infinitive | string | чытаць |
present | array[6] | чытаю, … |
future | array[6] | чытаю, … |
past | array[4] | чытаў, … |
imperative | array[2] | чытай, … |
Welsh — cy, sample: canu, 8 fields
| Field | Type | Example (canu) |
|---|
verbalNoun | string | canu |
present | array[7] | canaf, … |
imperfect | array[7] | canwn, … |
preterite | array[7] | cenais, … |
pluperfect | array[7] | canaswn, … |
subjunctive | array[7] | canwyf, … |
imperative | array[6] | cân, … |
participle | string | canedigcanadwy |
Faroese — fo, sample: kasta, 7 fields
| Field | Type | Example (kasta) |
|---|
infinitive | string | kasta |
present | array[4] | kasti, … |
past | array[4] | kastaði, … |
imperative | array[2] | kasta, … |
supine | string | kastað |
presentParticiple | string | kastandi |
pastParticiple | string | kastaður |
Galician — gl, sample: falar, 14 fields
| Field | Type | Example (falar) |
|---|
infinitive | string | falar |
gerund | string | falando |
participle | array[4] | falado, … |
present | array[6] | falo, … |
imperfect | array[6] | falaba, … |
preterite | array[6] | falei, … |
pluperfect | array[6] | falara, … |
future | array[6] | falarei, … |
conditional | array[6] | falaría, … |
presentSubjunctive | array[6] | fale, … |
imperfectSubjunctive | array[6] | falase, … |
futureSubjunctive | array[6] | falar, … |
personalInfinitive | array[6] | falar, … |
imperative | array[2] | fala, … |
Kazakh — kk, sample: алу, 5 fields
| Field | Type | Example (алу) |
|---|
infinitive | string | алу |
aorist | array[8] | аламын, … |
past | array[8] | алдым, … |
future | array[8] | алармын, … |
imperative | array[3] | ал, … |
Latin — la, sample: amō, 6 fields
| Field | Type | Example (amō) |
|---|
citation | string | amō |
infinitive | string | amāre |
present | array[6] | amō, … |
imperfect | array[6] | amābam, … |
future | array[6] | amābō, … |
imperative | array[2] | amā, … |
Luxembourgish — lb, sample: schaffen, 4 fields
| Field | Type | Example (schaffen) |
|---|
infinitive | string | schaffen |
present | array[6] | schaffen, … |
imperative | array[2] | schaff, … |
pastParticiple | string | geschafft |
Occitan — oc, sample: parlar, 11 fields
| Field | Type | Example (parlar) |
|---|
infinitive | string | parlar |
present | array[6] | parle, … |
imperfect | array[6] | parlava, … |
preterite | array[6] | parlei, … |
future | array[6] | parlarai, … |
conditional | array[6] | parlariá, … |
presentSubjunctive | array[6] | parle, … |
imperfectSubjunctive | array[6] | parlesse, … |
imperative | array[3] | parla, … |
pastParticiple | string | parlat |
gerund | string | parlant |
Tatar — tt, sample: язу, 6 fields
| Field | Type | Example (язу) |
|---|
infinitive | string | язу |
present | array[6] | язам, … |
past | array[6] | яздым, … |
future | array[6] | язармын, … |
conditional | array[6] | язсам, … |
imperative | array[2] | яз, … |
Yiddish — yi, sample: שרײַבן, 5 fields
| Field | Type | Example (שרײַבן) |
|---|
infinitive | string | שרײַבן |
present | array[6] | שרײַב, … |
imperative | array[2] | שרײַב, … |
presentParticiple | string | שרײַבנדיק |
pastParticiple | string | געשריבן |
Arabic — ar, sample: كتب, 10 fields
| Field | Type | Example (كتب) |
|---|
lemma | string | كتب |
perfect | array[13] | كَتَبْتُ, … |
imperfect | array[13] | أَكْتُبُ, … |
subjunctive | array[13] | أَكْتُبَ, … |
jussive | array[13] | أَكْتُبْ, … |
imperative | array[5] | اُكْتُبْ, … |
perfectPassive | array[13] | كُتِبْتُ, … |
imperfectPassive | array[13] | أُكْتَبُ, … |
subjunctivePassive | array[13] | أُكْتَبَ, … |
jussivePassive | array[13] | أُكْتَبْ, … |
Hebrew — he, sample: שמר, 6 fields
| Field | Type | Example (שמר) |
|---|
lemma | string | שמר |
past | array[10] | שמרתי, … |
present | array[4] | שומר, … |
future | array[10] | אשמור, … |
imperative | array[4] | שמור, … |
infinitive | string | לשמור |
Amharic — am, sample: ሄደ, 6 fields
| Field | Type | Example (ሄደ) |
|---|
lemma | string | ሄደ |
perfective | array[8] | ሄድኩ, … |
perfect | array[8] | ሄጃለሁ, … |
imperfective | array[8] | እሄዳለሁ, … |
imperfectiveNfin | array[8] | እሄድ, … |
jussive | array[8] | ልሂድ, … |
Indonesian — id, sample: tulis, 4 fields
| Field | Type | Example (tulis) |
|---|
root | string | tulis |
active | array[3] | menulis, … |
passive | array[3] | ditulis, … |
derived | array[3] | tertulis, … |
Zulu — zu, sample: hamba, 9 fields
| Field | Type | Example (hamba) |
|---|
infinitive | string | ukuhamba |
imperative | array[2] | hamba, … |
present | array[6] | ngihamba, … |
presentLong | array[6] | ngiyahamba, … |
future | array[6] | ngizohamba, … |
recentPast | array[6] | ngihambile, … |
remotePast | array[6] | ngahamba, … |
subjunctive | array[6] | ngihambe, … |
participle | array[6] | ngihamba, … |
MCP
The same engine as an MCP server, for Claude Code, Cursor, or any MCP-capable agent:
claude mcp add ablaut --env ABLAUT_API_KEY=YOUR_KEY -- npx -y @v4nn4/ablaut-mcp
{
"mcpServers": {
"ablaut": {
"command": "npx",
"args": ["-y", "@v4nn4/ablaut-mcp"],
"env": { "ABLAUT_API_KEY": "YOUR_KEY" }
}
}
}
Tools: conjugate(verb, language) returning the same table as the HTTP API, and list_languages(). Set ABLAUT_API_URL to point at another instance.
Machine-readable spec
OpenAPI 3.1: https://api.ablaut.dev/openapi.json. The library behind the API is open source: ablaut-dev/ablaut (Rust, Python, WebAssembly).