Skip to content

API Documentation

The latindictionary.io REST API lets you look up Latin words, translate between Latin and English, inspect Latin text, and generate inflection tables — all programmatically.

Base URL: https://api.latindictionary.io/api/v1Python Package →GitHub →

These examples cover common GET requests. The live OpenAPI reference lists all routes, optional parameters, and POST request schemas. Parsing depends on the server’s installed model; handle fallback responses and HTTP 501 explicitly.

Python Client

The easiest way to use the API is with the official Python client:

pip install latindictionary-io
from latindictionary_io import Client

with Client() as client:
    # Latin → English
    result = client.latin_to_english("canis")
    print(result)

    # English → Latin
    result = client.english_to_latin("love")
    print(result)

    # Auto-detect language
    result = client.auto_detect("amor")
    print(result)

    # Latin parsing (may return dictionary fallback)
    result = client.latin_parse("arma virumque cano")
    print(result)

    # Inflection tables
    result = client.inflection_table("amo")
    print(result)

The Python client also supports async usage via AsyncClient. See the README for full documentation.

Endpoints

GET/la-to-en/{word}

Look up a Latin word and return English definitions, inflection data, part of speech, and frequency information.

Parameters

NameTypeRequiredDescription
wordstringYesThe Latin word to look up (URL path parameter)

Example

curl "https://api.latindictionary.io/api/v1/la-to-en/canis"

Response excerpt

{
  "data": {
    "words": [{
      "word": [{
        "form": "canis",
        "entry": [{
          "dict": [{ "hdwd": "canis, canis", "pofs": "noun", "freq": "very frequent" }],
          "mean": ["dog; hound; subordinate; dog-star/fish; ..."]
        }]
      }]
    }]
  }
}
GET/en-to-la/{word}

Look up an English word and return matching Latin equivalents with definitions.

Parameters

NameTypeRequiredDescription
wordstringYesThe English word to look up (URL path parameter)

Example

curl "https://api.latindictionary.io/api/v1/en-to-la/dog"

Response excerpt

{
  "data": {
    "words": [{
      "word": [{
        "form": "dog",
        "entry": [{
          "dict": [{ "hdwd": "canis, canis", "pofs": "noun", "freq": "very frequent" }],
          "mean": ["dog; hound; subordinate; ..."]
        }]
      }]
    }]
  }
}
GET/auto-detect/{word}

Auto-detect whether the input is Latin or English and return the appropriate translation.

Parameters

NameTypeRequiredDescription
wordstringYesThe text to detect and translate (URL path parameter)

Example

curl "https://api.latindictionary.io/api/v1/auto-detect/amor"

Response excerpt

{
  "language": "latin",
  "data": {
    "words": [{
      "word": [{
        "form": "amor",
        "entry": [{ "dict": [{ "hdwd": "amor, amoris", "pofs": "noun" }], "mean": ["love; ..."] }]
      }]
    }]
  }
}
GET/latin-parse

Parse Latin text with an optional LatinCy model. Without that model, the default fallback returns dictionary candidates rather than resolved sentence grammar.

Parameters

NameTypeRequiredDescription
qstringYesThe Latin text to parse (1–64,000 characters for GET)
modelstringNoInstalled LatinCy model identifier; selecting a model does not install it
allow_fallbackbooleanNoAllow dictionary fallback if the model is unavailable (0 or 1; default: 1). Set 0 to receive HTTP 501 instead.

Example

curl "https://api.latindictionary.io/api/v1/latin-parse?q=arma%20virumque%20cano"

Response excerpt

{
  "language": "latin",
  "model": "fallback",
  "data": {
    "sentences": [{
      "text": "arma virumque cano",
      "tokens": [
        { "text": "arma", "lemma": "arma", "upos": "X" },
        { "text": "virumque", "lemma": "virumque", "upos": "X" },
        { "text": "cano", "lemma": "cano", "upos": "X" }
      ]
    }]
  }
}
GET/inflection-table

Generate inflection tables for matching dictionary entries. The default common mode limits rare forms; use mode=all to include them.

Parameters

NameTypeRequiredDescription
lemmastringNoThe word to resolve (up to 1,024 characters). Provide lemma or entry_id; word and q are aliases for lemma.
entry_idintegerNoSpecific entry ID for disambiguation
max_entriesintegerNoMaximum entries to return (1–100; default: 5)
include_periphrasticbooleanNoInclude periphrastic forms (0 or 1; default: 1)
modestringNocommon (default) or all
include_locativebooleanNoInclude locative forms (0 or 1; default: 0)

Example

curl "https://api.latindictionary.io/api/v1/inflection-table?lemma=amo"

Response excerpt

{
  "query": { "lemma": "amo", "token": "amo" },
  "results": [{
    "entry": {
      "hdwd": "amo, amare, amavi, amatus",
      "pofs": "verb",
      "mean": "love, like; fall in love with; be fond of; have a tendency to;"
    },
    "tables": {
      "finite": {
        "indicative": {
          "active": {
            "present": {
              "singular": { "1": ["amo"], "2": ["amas"], "3": ["amat"] },
              "plural": { "1": ["amamus"], "2": ["amatis"], "3": ["amant"] }
            }
          }
        }
      }
    }
  }]
}

Notes

See the full API policy for enforcement and retry guidance.