Introduction

Welcome to the Latin to English API documentation. This free, public API provides comprehensive Latin word translations, grammatical analysis, and declension/conjugation charts powered by Whitaker's Words.

Key Features

  • No authentication required
  • Free to use for personal and commercial projects
  • JSON responses for easy integration
  • Support for all 8 parts of speech
  • Complete grammatical analysis
  • Declension and conjugation charts

Getting Started

Making your first API call is simple. No API key or authentication is required.

Base URL

https://latin.71m.us

Quick Example

curl https://latin.71m.us/latin/gloria

Authentication

No authentication is required. All endpoints are publicly accessible. Simply make HTTP GET requests to the endpoints below.

API Endpoints

GET /latin/{word}
Look up a Latin word and get detailed grammatical analysis
POST /latin/batch
Lookup multiple Latin words in a single request
GET /latin/random
Get a random Latin word with optional difficulty levels
GET /chart/{word}
Get declension or conjugation chart for a word
GET /health
Check API health and status

Word Lookup

Look up any Latin word to get its definition, grammatical analysis, and optionally its declension/conjugation chart.

GET /latin/{word}

Path Parameters

Parameter Type Description
word required string The Latin word to look up (e.g., "gloria", "amare", "rex")

Query Parameters

Parameter Type Description
withChart optional boolean Include declension/conjugation chart data (default: false)

Example Request

curl "https://latin.71m.us/latin/gloria?withChart=true"
fetch('https://latin.71m.us/latin/gloria?withChart=true') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
import requests response = requests.get('https://latin.71m.us/latin/gloria', params={'withChart': 'true'}) data = response.json() print(data)
$url = 'https://latin.71m.us/latin/gloria?withChart=true'; $response = file_get_contents($url); $data = json_decode($response, true); print_r($data);

Example Response

{ "translations": [ { "inflections": [ { "stem": "glori", "ending": "a", "pos": "noun", "declension": 1, "case": "nom", "number": 1, "gender": "feminine" } ], "forms": ["gloria", "gloriae"], "definitions": ["glory, fame, renown, praise, honor"] } ] }

Batch Lookup

Look up multiple Latin words in a single request to reduce API calls and improve efficiency.

POST /latin/batch

Request Body

Field Type Description
words required array Array of Latin words to lookup (max 50 words)
withChart optional boolean Include charts for all words (default: false)

Example Request

curl -X POST "https://latin.71m.us/latin/batch" \ -H "Content-Type: application/json" \ -d '{"words": ["gloria", "amor", "pax"]}'
fetch('https://latin.71m.us/latin/batch', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ words: ['gloria', 'amor', 'pax'] }) }) .then(response => response.json()) .then(data => console.log(data));
import requests response = requests.post( 'https://latin.71m.us/latin/batch', json={'words': ['gloria', 'amor', 'pax']} ) data = response.json() print(data)

Example Response

{ "total": 3, "successful": 3, "failed": 0, "results": [ { "word": "gloria", "success": true, "data": { "translations": [...] } }, { "word": "amor", "success": true, "data": { "translations": [...] } }, { "word": "pax", "success": true, "data": { "translations": [...] } } ] }

Error Handling

If a word is not found or invalid, it will be marked with success: false in the results, but the request will still return 200 OK with partial results.

{ "word": "invalidword123", "success": false, "error": "Word not found" }

Random Word

Get a random Latin word, useful for practice or study applications.

GET /latin/random

Query Parameters

Parameter Type Description
difficulty optional string Difficulty level: beginner, intermediate, advanced, verbs, mixed (default: mixed)
definition optional boolean Include word definition (default: true)
chart optional boolean Include chart data (default: false)

Example Request

curl "https://latin.71m.us/latin/random?difficulty=beginner"
fetch('https://latin.71m.us/latin/random?difficulty=beginner') .then(response => response.json()) .then(data => console.log(data));
import requests response = requests.get('https://latin.71m.us/latin/random', params={'difficulty': 'beginner'}) print(response.json())

Declension & Conjugation Charts

Get complete declension (for nouns, adjectives) or conjugation (for verbs) charts.

GET /chart/{word}

Example Request

curl "https://latin.71m.us/chart/amo"

Tip: You can also get charts inline with word lookup by using ?withChart=true parameter.

Error Handling

The API uses standard HTTP status codes to indicate success or failure.

Status Codes

Code Description
200 Success - Request completed successfully
404 Not Found - Word not found in dictionary
400 Bad Request - Invalid parameters or input
500 Internal Server Error - Something went wrong on our end

Error Response Format

{ "error": "Word not found", "status": "404" }

Rate Limits

Currently, there are no rate limits. However, please be respectful of the service:

  • Don't make excessive requests (thousands per minute)
  • Cache responses when possible
  • Consider running your own instance for high-volume production use

If you need high-volume access or have questions, feel free to reach out.

Performance Metrics

Real-time performance statistics for the API.

Average

-

Minimum

-

Maximum

-

Requests

-

Metrics are based on the last 100 API requests

Access Metrics

curl https://latin.71m.us/metrics

Support & Resources

This API is powered by Whitaker's Words, an open-source Latin-English dictionary.