Xuquuqda API

Isku darka turjumaad xoog leh in aad codsiyada la nahay fudud REST API.

Ku bilow

The TranslateAPI bixiyaan interface REST fudud u turjumaan qoraalka u dhexeeya 180+ luqadood. API dhammaan dhamaadka soo celin jawaabaha JSON.

1. Get Your API Key

Create a free account and generate your API key from the dashboard:

  1. Sign up at translateapi.ai/signup
  2. Go to Dashboard → Furayaasha API-ga
  3. Click "Create API Key" and copy your key

API keys start with ta_ followed by 56 hex characters.

URL-ka asalka ah: https://api.translateapi.ai/api/v1/
2. Make Your First Request

Replace YOUR_API_KEY with the key from your dashboard:

curl -X POST https://api.translateapi.ai/api/v1/translate/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "Hello, world!",
    "target_language": "es"
  }'
import requests

response = requests.post(
    "https://api.translateapi.ai/api/v1/translate/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "text": "Hello, world!",
        "target_language": "es"
    }
)

result = response.json()
print(result["translated_text"])  # "Hola, mundo!"
const response = await fetch("https://api.translateapi.ai/api/v1/translate/", {
    method: "POST",
    headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        text: "Hello, world!",
        target_language: "es"
    })
});

const result = await response.json();
console.log(result.translated_text);  // "Hola, mundo!"
$ch = curl_init("https://api.translateapi.ai/api/v1/translate/");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "text" => "Hello, world!",
        "target_language" => "es"
    ])
]);

$result = json_decode(curl_exec($ch), true);
echo $result["translated_text"];  // "Hola, mundo!"
payload := strings.NewReader(`{
    "text": "Hello, world!",
    "target_language": "es"
}`)

req, _ := http.NewRequest("POST", "https://api.translateapi.ai/api/v1/translate/", payload)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")

resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["translated_text"])  // "Hola, mundo!"
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");

var content = new StringContent(
    JsonSerializer.Serialize(new {
        text = "Hello, world!",
        target_language = "es"
    }),
    Encoding.UTF8,
    "application/json"
);

var response = await client.PostAsync("https://api.translateapi.ai/api/v1/translate/", content);
var result = JsonSerializer.Deserialize<JsonElement>(
    await response.Content.ReadAsStringAsync()
);
Console.WriteLine(result.GetProperty("translated_text"));  // "Hola, mundo!"
Jawaab
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

Aaminaad

Authenticate aad codsiyada isticmaalaya furaha API. Waxaad abuuri kartaa furaha API kaaga dashboard-ka.

Aaminaadda madaxa (Waxaa lagula talinayaa)
Authorization: Bearer ta_your_api_key_here
ApiKey Header
Authorization: ApiKey ta_your_api_key_here
Falanqaynta su'aasha
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
Ilaalinta furaha API ammaan ah! Ha u muujin iyaga oo ku jira codsiga dhinac code ama kaydinta dadweynaha.

Tarjuma qoraalka

Translate qoraalka in afka la doonayo oo keliya.

POST https://api.translateapi.ai/api/v1/translate/
Fadliga dalabka
Falanqaynta Nooc Loo Baahanaa Faahfaahin
text string Haa Qoraalka loo turjumay (max 50,000 xaraf)
target_language string Haa* Target language code (e.g., "es", "fr", "de")
source_language string _Haa Source language code. Default: "auto" (auto-detect)
engine string _Haa Translation engine: "auto" (default), "huggingface", or "madlad". See Translation Models. Tarjumaadda Models.

* Isticmaalka target_language (liiska) ee afka kaliya ama target_languages (array) si aad u tiro badan. Eeg Tarjumaadda Multi-Target.

Jawaab
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
Auto-Detection: Omit source_language or set it to "auto" to automatically detect the source language. The detected language is returned in the source_language response field.

Tarjumaadda Multi-Target

Translate qoraalka in luqado badan in codsi kaliya. U isticmaashaa endpoint isku mid ah sida turjumaad keliya.

POST https://api.translateapi.ai/api/v1/translate/
Fadliga dalabka
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

U isticmaal target_languages (array) in kastoo target_language (string) si ay u tiro badan.

Jawaab
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
Nooc: Waxaad ku turjumi kartaa ilaa 50 luqadood codsi keliya.

Tarjumaadda

Translate qoraalo badan oo isla markiiba la async processing. Soo gudbinta batch iyo codbixinta natiijooyinka.

Limits: Max 100 texts per batch, max 300 total items (texts × target languages). Jobs time out 45 minutes after processing starts.
Speed: Common languages (ES, FR, DE) use fast models (~0.1s/text). Less common languages use our multilingual model (~1-3s/text).
POST https://api.translateapi.ai/api/v1/translate/batch/
Tallaabada 1: Soo gudbinta Batch
curl -X POST https://api.translateapi.ai/api/v1/translate/batch/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "texts": ["Hello", "Goodbye", "Thank you"],
    "target_language": "es",
    "source_language": "en"
}'
Jawaab (HTTP 202 Aqbalay)
{
    "job_id": "67535b2b-c9e3-4f82-9499-e237edbc1dd8",
    "status": "pending",
    "total_texts": 3,
    "queue_position": 1,
    "source_language": "en",
    "target_languages": ["es"],
    "character_count": 22,
    "credits_remaining": -1,
    "poll_url": "https://api.translateapi.ai/api/v1/jobs/67535b2b-c9e3-4f82-9499-e237edbc1dd8/"
}
Tallaabada 2: Doorasho ee natiijooyinka
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
Tirakoobka tusaale (Python)
import time, requests

job_id = response.json()["job_id"]
total = response.json()["total_texts"]
headers = {"Authorization": "Bearer YOUR_API_KEY"}

print(f"Batch submitted: {total} texts (job {job_id})")

while True:
    result = requests.get(f"https://api.translateapi.ai/api/v1/jobs/{job_id}/", headers=headers).json()
    status = result["status"]
    processed = result.get("processed_texts", 0)
    progress = result.get("progress_percentage", 0)

    if status == "completed":
        print(f"Done: {processed}/{total} in {result.get('processing_time', 0):.1f}s")
        translations = result["result_data"]["translations"]
        break
    elif status == "failed":
        raise Exception(result.get("error_message", "Translation failed"))
    elif status == "pending":
        print(f"Queued (position {result.get('queue_position', '?')})")
    else:
        print(f"[{status}] {processed}/{total} ({progress:.0f}%)")

    time.sleep(3)
Jawaab (ku dhammaaday)
{
    "job_id": "67535b2b-...",
    "status": "completed",
    "processed_texts": 3,
    "total_texts": 3,
    "progress_percentage": 100.0,
    "processing_time": 10.65,
    "result_data": {
        "translations": ["Hola", "Adiós", "Gracias"],
        "source_language": "en",
        "target_language": "es",
        "character_count": 22,
        "processing_time": 10.65
    }
}
Real-Time Progress Tracking
Field Faahfaahin
status pending (queued, waiting for a GPU worker), processing (actively translating), completed, failed
processed_texts Number of individual translations completed so far. Updates in real time as each text is translated.
progress_percentage Completion percentage (0-100). Calculated from processed_texts / total_texts.
queue_position Your position in the queue when status is "pending" (1 = next up). Null when processing or completed. Use this to estimate wait time and show queue status to your users.
processing_time Total processing time in seconds (available when completed).
Multi-Language

Translate qoraalo badan oo afaf badan oo isla markiiba:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
Result_data la dhamaystiray
{
    "translations": [
        {"es": "Hola", "fr": "Bonjour"},
        {"es": "Adiós", "fr": "Au revoir"}
    ],
    "source_language": "en",
    "target_languages": ["es", "fr"],
    "character_count": 24,
    "processing_time": 2.45
}
Tilmaamaha dalabka
Falanqaynta Nooc Loo Baahanaa Faahfaahin
texts array Haa Xidhiidhka loo turjumayo
target_language string Haa* Koodhka afka la doonayo ee afka keliya
target_languages array Haa* Array of koodhka luqadda la doonayo ee luqado badan
source_language string _Haa Source language code. Default: "auto"

* Siiyaan midkood target_language ama target_languages, ma labadaba.

Best Practices for Large Workloads
  • Send 1 target language per batch request. This keeps each batch fast and makes progress easy to track.
  • Keep batches at 50-100 texts. Smaller batches complete faster and give you more frequent progress updates.
  • Submit as many batch jobs as you need — our GPU cluster auto-scales to handle demand. Jobs are processed in parallel across multiple instances.
  • On timeout, re-poll the same job_id instead of submitting a new batch. The original job may still be processing on the GPU.
  • Poll every 3-5 seconds. More frequent polling does not speed up processing.

Tarjumaadda xuquuqda

Translate dukumintiga oo dhan iyadoo la ilaalinayo qaabeynta. taageertaa qaabab file kala duwan.

POST https://api.translateapi.ai/api/v1/translate/document/
Wixii su'aalo ah (multipart/form-data)
Falanqaynta Nooc Loo Baahanaa Faahfaahin
file file Haa Xuquuqda in la tarjumay (max 10MB)
target_language string Haa Target language code (e.g., "es", "fr", "de")
source_language string _Haa Source language code. Default: "auto" (auto-detect)
Noocyada Faylka ee la taageerayo
Documents
  • .txt - Faylka qoraalka caadiga ah
  • .docx - Dukumiintiyada Word
  • .pdf - Docs PDF (oo ay ku jiraan scanned)
Data & Localization
  • .json - Faylasha JSON (ku beddela qiimaha xarfaha)
  • .xml - Faylasha XML
  • .srt - Faylasha qoraalka hoose
  • .po / .pot - Faylasha tarjumaadda Gettext
Images (OCR)
  • .jpg / .jpeg - Sawirada JPEG (OCR)
  • .png - Sawirada PNG (OCR)
  • .tiff / .tif - Sawirada TIFF (OCR)
  • .bmp - Sawirada BMP (OCR)
  • .webp - Sawirada WebP (OCR)
tusaale (cURL)
# Translate a Word document
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@document.docx" \
  -F "target_language=es" \
  -F "source_language=en"

# Translate text from an image (OCR)
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@scanned_page.jpg" \
  -F "target_language=es" \
  -F "source_language=en"
Jawaab
{
    "id": 123,
    "original_filename": "document.docx",
    "file_type": "docx",
    "source_language": "en",
    "target_language": "es",
    "status": "completed",
    "character_count": 5420,
    "translated_file_url": "/media/translated/document_es.docx",
    "created_at": "2024-01-15T10:30:00Z",
    "completed_at": "2024-01-15T10:30:05Z"
}
OCR taageero: Faylasha sawirka iyo PDF-yada scanned ayaa lagu dhaqaajin karaa aqoonsiga xarfaha muuqaalka ah (OCR) si loo soo saaro qoraalka ka hor tarjumaadda. Si aad u hesho natiijooyinka ugu fiican, isticmaal sawirro cad oo heer sare ah.
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

Ka hubi xaaladda turjumaadda xuquuqda ama ka soo kabsado URL soo dejinta.

Qiimaha xaaladda
pending Fayl la soo dejiyey, oo sugaya in la dhaqaajiyo
processing Tarjumaadda ayaa socda
completed Tarjumaad dhamaystiran, soo dejisan oo la heli karo
failed Tarjumaadda fashilantay (wax ka eeg error_message)

Afaf la taageeray

Ka hel liiska luqadaha la taageeray oo dhan.

GET https://api.translateapi.ai/api/v1/translate/languages/
Jawaab
{
    "count": 186,
    "results": [
        {"iso": "en", "name": "English", "en_label": "English"},
        {"iso": "es", "name": "Español", "en_label": "Spanish"},
        {"iso": "fr", "name": "Français", "en_label": "French"},
        ...
    ]
}

View All 186 Languages

Submit Corrections

Suggest a better translation for a given source text. Corrections enter a moderation queue; once approved by our team they surface as "Community Verified" translations for that text.

Note: this endpoint is served from the main domain https://translateapi.ai/api/v1/ (not the api. translation host), and requires an API key.
POST https://translateapi.ai/api/v1/suggestions/
Fadliga dalabka
Parameter Nooc Faahfaahin
source_text string The original text that was translated.
source_language string Source language code (e.g. "en").
target_language string Target language code (e.g. "es").
machine_translation string The machine translation you are correcting.
suggested_translation string Your improved translation (must differ from machine_translation).
Example Request
curl -X POST https://translateapi.ai/api/v1/suggestions/ \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "source_text": "Hello, world!",
    "source_language": "en",
    "target_language": "es",
    "machine_translation": "Hola, mundo!",
    "suggested_translation": "¡Hola, mundo!"
}'
Jawaab
{
    "id": 4213,
    "status": "pending",
    "created": true,
    "message": "Correction submitted for review."
}

Re-submitting the same source/language pair updates your existing suggestion instead of creating a duplicate (returns 200 with "created": false).

Tarjumaadda Models

Waxaan u isticmaali state-of-the-art qaababka turjumida asalka furan oo socda on our GPU dhismayaasha. dhammaan qaababka waa ganacsi liisan (Apache 2.0).

Nooc Afaf Ugu Fiican
Helsinki-NLP/opus-mt 50+ noocyada luqadaha Afka caadiga ah (EN, ES, FR, DE, IT, PT, RU, ZH, JA, iwm.)
Google MADLAD-400 400+ luqadood Afaf qaali ah, daboolid buuxda

The API si otomaatig ah u doortaa qaabka ugu fiican ee labadaada afka. Waxaad dooran kartaa in ay muujiyaan engine xaraf:

Mashiinka Faahfaahin
"auto" Default. isku dayaya HuggingFace hore, dib u dhaca in MADLAD-400
"huggingface" Force HuggingFace/MarianMT (ugu dhaqsaha badan, 50+ luqadood)
"madlad" Force MADLAD-400 (400+ luqadood)

Xakamaynta khaladaadka

API isticmaalaa koodhka heerka HTTP si ay u muujiyaan guul ama guul darro.

Koodhadhka Faahfaahin
200 Guul
202 Accepted — Batch job queued successfully
400 Bad Request — Invalid parameters (missing text, unsupported language, etc.)
401 Aan la oggolayn - Fudud API oo aan sax ahayn ama ka maqan
402 Payment Required — Character credits exhausted. Upgrade your plan or purchase a top-up.
403 Forbidden — API key lacks required scope or IP not in whitelist
503 Service Inavailable - Tarjumaadda engine waqti dheer hoos
Noocka Jawaabta Gafafka
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

Usage Limits

TranslateAPI has no request rate limits. All requests are queued and processed by our auto-scaling GPU cluster. Your plan determines your monthly character allowance:

Qorshaha Noocyada/Bishii Batch API Documents Qiimaha
Bilaash 250,000 $0 Ka diiwaangashan Free
Bilow 2,500,000 $9/MB Ku soo biir
Pro 10,000,000 $29/MB Ku soo biir
Ganacsi 40,000,000 $79/MB Ku soo biir
Miisaanka 125,000,000 $199/MB Ku soo biir
Enterprise Unlimited $499/MB Contact Sales

Marka aad ka badan tahay xadkaaga, waxaad heli doontaa 402 Payment Required jawaabta ilaa bisha soo socota ama aad u cusbooneysiiso.

Auto-Scaling Cloud Infrastructure

TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. All requests are queued and processed — send hundreds of concurrent requests and they'll all be handled. Real-time translations get priority, batch jobs process in the background.

Need More Credits?

Run out of characters mid-month? Purchase a one-time credit top-up without changing your plan. View top-up packs

Qiyaaso boggan
Waad ku mahadsan tahay qiimeyntaada!
/5 ku saleysan qiimeyn