title: Translate Text description: Translate text from a source language to a target language
Translate Text
Translate text from a source language to a target language. Supports 100+ languages with high accuracy and fast response times.
Endpoint
POST /v2/translate
Request Parameters
Body Parameters
text string (required)
: The text to translate (1-5000 characters)
source string (required)
: Source language code (e.g., "en", "fr") or "auto" for auto-detection
target string (required)
: Target language code (e.g., "en", "fr")
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/translate \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "My client speaks only French. Will you translate for me?",
"source": "en",
"target": "fr"
}'
import requests
url = "https://api.translateplus.io/v2/translate"
headers = {
"X-API-KEY": "your_api_key",
"Content-Type": "application/json"
}
data = {
"text": "My client speaks only French. Will you translate for me?",
"source": "en",
"target": "fr"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
fetch('https://api.translateplus.io/v2/translate', {
method: 'POST',
headers: {
'X-API-KEY': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'My client speaks only French. Will you translate for me?',
source: 'en',
target: 'fr'
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const https = require('https');
const data = JSON.stringify({
text: 'My client speaks only French. Will you translate for me?',
source: 'en',
target: 'fr'
});
const options = {
hostname: new URL('https://api.translateplus.io').hostname,
path: '/v2/translate',
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/translate';
$apiKey = 'your_api_key';
$data = [
'text' => 'My client speaks only French. Will you translate for me?',
'source' => 'en',
'target' => 'fr'
];
$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 $result['translations']['translation'];
} else {
echo 'Error: ' . $response;
}
Response
Success Response (200 OK)
{
"translations": {
"text": "My client speaks only French. Will you translate for me?",
"translation": "Mon client ne parle que le français. Voulez-vous traduire pour moi ?",
"source": "en",
"target": "fr"
},
"details": {}
}
Response Fields
| Field | Type | Description |
|-------|------|-------------|
| translations | object | Translation result object |
| translations.text | string | Original text that was translated |
| translations.translation | string | The translated text |
| translations.source | string | Source language code |
| translations.target | string | Target language code |
| details | object | Additional details (may be empty) |
Error Responses
400 Bad Request
Invalid request parameters:
{
"detail": "Invalid language code 'xx'. Supported codes: en, fr, es..."
}
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."
}
Credits
This endpoint requires 1 credit per request.