title: Detect Language description: Detect the language of the provided text

Detect Language

Detect the language of the provided text automatically.

Endpoint:

POST /v2/language_detect

Request Parameters

Body Parameters

text string (required) : The text to detect (1-5000 characters)

Headers

X-API-KEY string (required) : Your API key for authentication

Content-Type string (required) : Must be application/json

Example Request

curl https://api.translateplus.io/v2/detect_language \
  -H "X-API-KEY: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Bonjour le monde!"
  }'
import requests

url = "https://api.translateplus.io/v2/detect_language"
headers = {
    "X-API-KEY": "your_api_key",
    "Content-Type": "application/json"
}
data = {
    "text": "Bonjour le monde!"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
fetch('https://api.translateplus.io/v2/detect_language', {
  method: 'POST',
  headers: {
    'X-API-KEY': 'your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: 'Bonjour le monde!'
  })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const https = require('https');

const data = JSON.stringify({
  text: 'Bonjour le monde!'
});

const options = {
  hostname: new URL('https://api.translateplus.io').hostname,
  path: '/v2/detect_language',
  method: 'POST',
  headers: {
    'X-API-KEY': 'your_api_key',
    'Content-Type': 'application/json',
    'Content-Length': data.length
  }
};

const req = https.request(options, (res) => {
  let responseData = '';
  res.on('data', (chunk) => {
    responseData += chunk;
  });
  res.on('end', () => {
    console.log(JSON.parse(responseData));
  });
});

req.on('error', (error) => {
  console.error('Error:', error);
});

req.write(data);
req.end();
<?php

$url = 'https://api.translateplus.io/v2/detect_language';
$apiKey = 'your_api_key';

$data = [
    'text' => 'Bonjour le monde!'
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-KEY: ' . $apiKey,
    'Content-Type: application/json'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
    $result = json_decode($response, true);
    echo 'Detected language: ' . $result['language_detection']['language'];
} else {
    echo 'Error: ' . $response;
}

Response

Success Response (200 OK)

{
  "language_detection": {
    "text": "Bonjour le monde!",
    "language": "fr"
  }
}

Response Fields

| Field | Type | Description | |-------|------|-------------| | language_detection | object | Language detection result object | | language_detection.text | string | The text that was analyzed | | language_detection.language | string | Detected language code (e.g., "fr", "en") |

Error Responses

400 Bad Request

Invalid request parameters:

{
  "detail": "Text cannot be empty"
}

402 Payment Required

Insufficient credits:

{
  "detail": "Insufficient credits. You have 0 credit(s) remaining, but this request requires 1 credit(s). Please upgrade your plan to continue using the API."
}

403 Forbidden

Invalid or missing API key:

{
  "detail": "API key is required. Please provide X-API-KEY header."
}

429 Too Many Requests

Rate limit exceeded:

{
  "detail": "Rate limit exceeded. You have made 60 requests. Maximum allowed: 60 requests per minute. Please try again after 45 seconds."
}

Supported Languages

Language detection supports all languages available for translation. See Supported Languages for the complete list.

Credits

This endpoint requires 1 credit per request.