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.