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
Word Lookup
Look up any Latin word to get its definition, grammatical analysis, and optionally its declension/conjugation chart.
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.
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.
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.
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.