API documentation
Traduttur Mediku exposes its English ⇄ Maltese medical dictionary as a free, read-only JSON API and as an MCP server for AI assistants. No API key, no sign-up.
Overview
All endpoints are GET, return application/json, and expose only published dictionary entries. CORS is open (Access-Control-Allow-Origin: *), so you can call them straight from a browser. Base path:
https://<your-site>/api/public
Dictionary responses are cached for 60 seconds; lexicon responses for one hour. Maltese diacritics (ħ, ġ, ż, ċ, għ) are accepted but never required — matching is diacritic-insensitive, so gilda finds ġilda.
GET /api/public/terms
Search or browse the dictionary. With no parameters it returns the first page of entries in English alphabetical order.
| Parameter | Type | Notes |
|---|---|---|
| q | string, ≤120 chars | Word or phrase to search for, in English or Maltese. |
| direction | "en-mt" | "mt-en" | Restrict matching to the English or the Maltese side. Omit to search both. |
| letter | single letter A–Z | Return only entries filed under that letter. |
| limit | integer 1–200 | Page size. Defaults to the server page size. |
| offset | integer ≥ 0 | Entries to skip, for paging through total. |
Examples
curl "https://<your-site>/api/public/terms?q=blood" curl "https://<your-site>/api/public/terms?direction=mt-en&q=demm" curl "https://<your-site>/api/public/terms?letter=A&limit=100&offset=0"
Response
{
"total": 12,
"count": 1,
"items": [
{
"english": "Blood",
"maltese": "Demm",
"notes": null,
"sense_label": "n.",
"letter": "B",
"slug": "blood",
"snomed_code": "87612001",
"snomed_term": "Blood",
"atc_code": null,
"atc_name": null,
"children": [
{ "english": "Blood", "maltese": "Demm tal-vini", "notes": null, "slug": "blood-2" }
]
}
]
}total is the full number of matches, count the number returned in this page, and children holds alternative translations recorded for the same headword.
GET /api/public/terms/{slug}
Fetch one entry by its stable slug, as returned in the slug field above. Responds 404 if the entry does not exist or is unpublished.
curl "https://<your-site>/api/public/terms/blood"
The body is a single entry object with the same shape as one item of the search response.
GET /api/public/lexicon
Linguistic enrichment from Ġabra, the open Maltese lexicon of the University of Malta: lemma, phonetic transcription, part of speech, Semitic root radicals, spelling variants, glosses and example sentences.
| Parameter | Type | Notes |
|---|---|---|
| word | string, required | The word to look up. |
| from | "maltese" | "english" | Whether word is Maltese (default) or an English gloss. |
curl "https://<your-site>/api/public/lexicon?word=deni" curl "https://<your-site>/api/public/lexicon?word=fever&from=english"
Every response carries the required University of Malta attribution string. A 502 means the upstream Ġabra service was unreachable — retry with backoff.
Errors & rate limits
400— invalid query parameters. The body contains anerrormessage and adetailsobject naming the offending fields.404— no published entry with that slug.500— the dictionary was temporarily unavailable.502— the upstream Ġabra lexicon did not answer.
There is no published request quota, but the API is offered on a fair-use basis. Cache responses on your side, respect the Cache-Control headers, and prefer paging with limit and offset over repeated full sweeps.
MCP server
The dictionary is also an MCP server, so ChatGPT, Claude, Cursor and Codex can look up Maltese medical vocabulary directly. The endpoint is public and needs no login:
https://<your-site>/mcp
translate_medical_term— exact translation of one term. Params:term,from(english|maltese).search_medical_terms— fuzzy, two-way search. Params:query,direction,limit(≤50).browse_medical_terms_by_letter— list a letter of the alphabet. Params:letter,limit(≤200),offset.lookup_maltese_lexeme— Ġabra grammar, phonetics and spelling variants. Params:word,from.
Client configuration
{
"mcpServers": {
"traduttur-mediku": {
"url": "https://<your-site>/mcp"
}
}
}Attribution & terms of use
The API is free to use, including in commercial products, provided you credit Traduttur Mediku as the source of the translations and do not present the data as medical advice — it is a language reference to aid communication, not a clinical decision tool.
Data returned by /api/public/lexicon originates from Ġabra, and must be credited to the Language Technology Group, Institute of Linguistics and Language Technology, University of Malta. The attribution string is included in every lexicon response.
Spotted a wrong or missing translation? Use the suggest a term form. See also the privacy policy.