TL;DR
languagelayer detects the natural language of any text input. Submit a string and get back the detected language code (ISO 639-1), language name, and confidence percentage. Supports 100+ languages from Afrikaans to Zulu. It's ideal for content classification, multilingual routing, and text processing pipelines.
Quick start: https://api.languagelayer.com/detect?access_key=YOUR_KEY&query=Hello+world
Free tier available — register for an API key (free plan includes 100 requests/month)
How to Use This API
1. Basic Detection
https://api.languagelayer.com/detect?access_key=YOUR_KEY&query=Bonjour%20tout%20le%20monde
Returns: {"success":true,"results":[{"language_code":"fr","language_name":"French","probability":99.8,"percentage":99.8}]}
2. Bulk Detection (Multiple Texts)
https://api.languagelayer.com/detect?access_key=YOUR_KEY&query[]=Hola%20mundo&query[]=Hello%20world
Submit up to 10 texts in a single request using array syntax.
3. JavaScript — Auto-Detect Page Content
async function detectLanguage(text) {
const apiKey = 'YOUR_API_KEY';
const resp = await fetch(
`https://api.languagelayer.com/detect` +
`?access_key=${apiKey}&query=${encodeURIComponent(text)}`
);
const data = await resp.json();
if (data.success && data.results.length) {
const result = data.results[0];
return {
code: result.language_code,
name: result.language_name,
confidence: result.percentage
};
}
return null;
}
detectLanguage('¿Cómo estás?').then(lang => {
if (lang) {
console.log(`Detected: ${lang.name} (${lang.code})`);
console.log(`Confidence: ${lang.confidence}%`);
}
});
4. Python — Language Classifier for Text
import requests
def detect_text_language(text, api_key):
resp = requests.get(
'https://api.languagelayer.com/detect',
params={
'access_key': api_key,
'query': text
}
)
data = resp.json()
if data.get('success') and data.get('results'):
result = data['results'][0]
return {
'language': result['language_name'],
'code': result['language_code'],
'confidence': result['percentage']
}
return None
api_key = 'YOUR_KEY_HERE'
samples = [
'The quick brown fox jumps over the lazy dog',
'Je ne parle pas français',
'Hallo, wie geht es dir?',
'Ciao, come stai?',
'今日はいい天気ですね'
]
for text in samples:
result = detect_text_language(text, api_key)
if result:
print(f"\"{text[:30]}...\" -> {result['language']} ({result['confidence']}%)")
https://api.languagelayer.com/detect?access_key=YOUR_KEY&query=Guten%20Tag
Frequently Asked Questions
- How many languages does it detect?
- 100+ languages covering most widely spoken world languages including major dialects. The full list is available in the documentation.
- How accurate is the detection?
- For texts longer than 20 characters, accuracy is very high (typically >95%). Very short texts (1-2 words) have lower accuracy. The API returns a confidence percentage.
- What is the free tier limit?
- The free plan includes 100 requests per month. Paid plans offer higher volumes (1,000 to 50,000+ requests/month).
- Can I detect languages in bulk?
- Yes, use array syntax (
query[]=text1&query[]=text2) to submit up to 10 texts in one API call. - What language codes are returned?
- ISO 639-1 two-letter codes (en, fr, de, es, it, ja, zh, etc.) along with the full language name.
- Is there a text moderation feature?
- languagelayer focuses on language detection. For content moderation/profanity detection, consider a complementary API.
API Details
- API URL
https://api.languagelayer.com- Documentation
- languagelayer.com/documentation
- Category
- Data
- Authentication
- API Key Required (free tier available)
- Geographic Coverage
- Global — 100+ languages
What You Can Build
- Multilingual content router — detect language and serve appropriate content
- Translation pipeline — detect source language before translating
- Language statistics dashboard for user-generated content
- Customer support ticket language detection for routing
- Social media monitoring with language breakdown