Building the Romanian NLP API that should already exist
LexicRo — open-core Romanian language intelligence infrastructure. Looking for early feedback, collaborators, and anchor users.
/analyze returns lemma, part of speech and full morphology for every token in context - 98.1% POS accuracy, 95.5% lemma accuracy (UD Romanian test split, gold tokenisation), ~120ms per paragraph. Conjugation is live too. Free tier: 1,000 requests/day, no credit card.If you've ever tried to do anything programmatic with Romanian text — parse a sentence, get the correct inflected form of a noun, check whether a verb conjugation is right — you've probably hit the same wall.
There's no clean API for it. Verbecc handles conjugation, but there's nothing for morphology or lemmatisation. This is not good enough for production.
pip install. For Romanian, no equivalent exists as a callable REST API.
The available Romanian NLP tooling is currently a fraction of what exists for English. The academic resources are there (DEXonline, RoLEX, the UD Romanian treebank), they're just not packaged in a way that developers can actually use.
That's what LexicRo is for.
What we're building
A hosted REST API — with an open-source core — covering the endpoints Romanian developers actually need:
POST /analyze
→ lemma, POS, case, gender, number, person, tense per token
# Full verb conjugation
GET /conjugate/{verb}
→ all moods and tenses, including perfect simplu and viitor I
The core is open source (MIT). It is built on openly licensed Romanian language resources — see attribution — and licensing terms for the model weights are still being worked out. The hosted API is available now either way, with a generous free tier (1,000 req/day, no credit card).
Built on what already exists
We're not starting from scratch. The data and models are there — they just need engineering:
Data: the MULTEXT-East Romanian word-form lexicon (428k entries, CC BY-SA 4.0), and the UD Romanian RRT treebank (9.5k annotated sentences, CC BY-SA 4.0, developed at RACAI). Full citations on the attribution page.
Models: bert-base-romanian-cased-v1 fine-tuned for morphological tagging, paired with lexicon lookup — the model resolves what the dictionary cannot, the dictionary supplies what the model would only guess at. verbecc for conjugation, extended.
Infrastructure: FastAPI, Docker, full OpenAPI spec, Python and JS SDKs.
/analyze handles contextual disambiguation, not just dictionary lookup — it knows that era is the verb a fi in one sentence and the noun eră in another. Measured on the UD Romanian treebank: 98.1% part-of-speech accuracy, 98.43% morphological features (F1), 95.50% lemma accuracy. Full numbers and caveats in the documentation.
What we're looking for right now
Three ways in.
Everything described here is live. Read the docs, or get in touch if you want to talk about your use case.