Translation API Comparison 2026

Side-by-side comparison of 6 translation APIs. Free tiers, quality benchmarks, language coverage, document translation, and real code examples.

translation api google translate api deepl api azure translator free translation api deepl vs google translate machine translation document translation open source translation

How Translation APIs Work

The typical machine translation API flow

📝
Source text
(any language)
🔍
Auto-detect
language
🧠
Neural machine
translation
📚
Apply glossary
& formatting
Translated
output

Common Use Cases

Why developers need translation APIs

🌐 Website Localization

Translate web content, product descriptions, and UI strings into multiple languages. Serve localized versions based on user locale for global reach.

💬 Real-Time Chat Translation

Translate messages in real-time for multilingual customer support, team collaboration, or social platforms. Low latency is critical.

📄 Document Translation

Translate entire documents (PDF, DOCX, PPTX) while preserving formatting, tables, and images. Essential for legal, medical, and business workflows.

🛒 E-Commerce

Translate product listings, reviews, and checkout flows for international marketplaces. Custom glossaries ensure brand terms stay consistent.

📰 Content Aggregation

Aggregate and translate news, research papers, or social media content from multiple languages into a single feed for analysis.

🤖 AI Agent Pipelines

Add multilingual capabilities to AI agents and chatbots. Translate user input before processing and translate responses back to the user's language.

Translation Quality Ranking

Based on independent benchmarks and blind quality evaluations (European language pairs)

DeepL
95%
Google Cloud
85%
Azure Translator
83%
Amazon Translate
80%
LibreTranslate
65%
MyMemory
55%

Quality scores are approximate and vary by language pair. DeepL excels for European languages; Google leads for Asian and low-resource languages.

Feature Comparison

Side-by-side comparison of translation API capabilities

Feature Google Cloud DeepL Azure Translator Amazon Translate LibreTranslate MyMemory
Free Tier 500K chars/mo 500K chars/mo 2M chars/mo 2M chars/mo (12 mo) Unlimited (self-host) 5K-50K chars/day
Paid Price $20/M chars $25/M + $5.49/mo $10/M chars $15/M chars Free (OSS) Via RapidAPI
Languages 189 36 100+ 75 ~45 80+
Auto-Detect
Document Translation ✅ PDF, DOCX (v3) ✅ PDF, DOCX, PPTX ✅ PDF, DOCX, HTML+ ✅ PDF, DOCX, PPTX
Glossaries ✅ v3 only ✅ Free + Pro ✅ Custom Terminology
Custom Models ✅ AutoML Translation ✅ Custom Translator ✅ Active Custom
Batch Translation ✅ via Cloud Storage ✅ via Blob Storage ✅ via S3
Formality Control ✅ Formal/Informal
Transliteration
Offline/Self-Host ✅ Docker
No API Key Needed ✅ (self-hosted)
Official SDKs Python, Node, Go, Java, Ruby, PHP, .NET, C++ Python, Node, .NET, PHP, Ruby, Java Python, Node, Java, .NET, Go Python (boto3), Node, Java, .NET, Go REST API only REST API only
Rate Limit 10M chars/100s Throttled (unspecified) 2M chars/hr (free) No published limit Configurable 5K-150K chars/day

Provider Details

In-depth look at each translation API

Google Cloud Translation

189 Languages
Google's neural machine translation with the widest language coverage of any provider. Two editions: Basic (v2) for simple text translation, and Advanced (v3) with glossaries, custom models, batch translation, and document translation.
  • 500K characters/month free (permanent)
  • 💰 $20 per million characters (standard NMT)
  • 🧠 AutoML Translation for custom domain models ($80/M)
  • 📄 Document translation preserves formatting (v3)
  • 🌐 189 languages - widest coverage available
  • LLM-based translation via Gemini models (separate pricing)
Most languages Custom models Batch processing v3 requires IAM setup $20/M not cheapest

DeepL API

Highest Quality
Premium translation API known for producing the most natural, human-like translations. Outperforms Google in ~65% of European language pair benchmarks. Offers formality control and glossaries on both free and pro plans.
  • 500K characters/month free (permanent)
  • 💰 $5.49/month base + $25 per million characters
  • 🎯 Highest translation quality (European languages)
  • 📄 Document translation: PDF, DOCX, PPTX, HTML
  • 👔 Formality control: formal vs informal tone
  • 📖 Glossaries on free tier (custom terminology)
Best quality Formality control Free glossaries 36 languages only $5.49/mo base fee

Azure Translator

Best Value
Microsoft's translation service with the most generous free tier (2M chars/month) and lowest per-character cost ($10/M). Includes Custom Translator for domain-specific models, script transliteration, and batch document translation.
  • 2M characters/month free (permanent, most generous)
  • 💰 $10 per million characters (cheapest major provider)
  • 🧠 Custom Translator: train with your own TMX/XLIFF data
  • 📄 Document translation via Azure Blob Storage
  • 🔤 Script transliteration (Cyrillic to Latin, etc.)
  • 📖 Bilingual dictionary with usage examples
Cheapest per char 2M free/mo Transliteration Azure ecosystem required Complex doc translation setup

Amazon Translate

AWS Native
AWS translation service tightly integrated with S3, Lambda, and other AWS services. Active Custom Translation lets you upload parallel data to customize model output at runtime. Supports profanity masking and formality control.
  • 2M characters/month free (first 12 months only)
  • 💰 $15 per million characters
  • 🧠 Active Custom Translation with parallel data (TMX/TSV/CSV)
  • 📄 Document translation: PDF, DOCX, XLSX, PPTX, HTML
  • 🚫 Profanity masking for content moderation
  • 👔 Formality control for supported languages
AWS integration Profanity masking Formality control Free tier expires (12 mo) 75 languages only

LibreTranslate

Open Source
Fully open-source, self-hostable translation API. Deploy via Docker with a single command. No data ever leaves your infrastructure. Uses Argos Translate models. Quality is lower than commercial APIs but privacy is unmatched.
  • Completely free (self-hosted, no per-character cost)
  • 🐳 One-line Docker deployment
  • 🔒 Full data sovereignty - nothing leaves your server
  • ✈️ Works fully offline (air-gapped environments)
  • 🌐 ~45 languages with automatic language pivot
  • 🔑 Configurable API key quotas for multi-tenant use
100% free Full privacy Offline capable Lower quality No document translation

MyMemory API

No Signup
Zero-friction translation API backed by 7.5 billion human-translated segments. No API key or signup required. Great for prototyping and hackathons, but daily character limits make it unsuitable for production workloads.
  • No signup, no API key required
  • 📝 5K chars/day anonymous, 50K with email parameter
  • 🧠 7.5B human-translated segments (translation memory)
  • 🔄 Machine translation fallback when no TM match
  • 🌐 80+ languages, 10,000+ language pairs
  • ✏️ Contribute endpoint: submit your own translations
Zero friction No signup needed Human translations Very low daily limit Inconsistent quality

Pricing at Scale

Monthly cost comparison by translation volume (managed services only)

Volume/Month Google Cloud DeepL Pro Azure Translator Amazon Translate
500K chars Free Free Free Free*
1M chars $10.00 $18.00 Free Free*
2M chars $30.00 $43.00 Free Free*
5M chars $90.00 $118.00 $30.00 $45.00
10M chars $190.00 $243.00 $80.00 $120.00
50M chars $990.00 $1,243.00 $480.00 $720.00
100M chars $1,990.00 $2,493.00 $980.00 $1,470.00

*Amazon Translate free tier expires after 12 months. DeepL costs include $5.49/mo base fee. LibreTranslate and MyMemory not shown (free/self-hosted or very low limits).

Code Examples

Get started with translation APIs in minutes

Google Cloud
DeepL
Azure Translator
LibreTranslate
MyMemory (No Key)

Google Cloud Translation (Node.js)

// npm install @google-cloud/translate
const { Translate } = require('@google-cloud/translate').v2;

const translate = new Translate({
  key: 'YOUR_API_KEY'
});

async function translateText() {
  const [translation] = await translate.translate(
    'Hello, how are you?',
    'es'  // target language
  );
  console.log(translation);
  // Output: "Hola, ¿cómo estás?"
}

translateText();

Google Cloud Translation (Python)

# pip install google-cloud-translate
from google.cloud import translate_v2 as translate

client = translate.Client()

result = client.translate(
    "Hello, how are you?",
    target_language="es"
)

print(result["translatedText"])
# Output: "Hola, ¿cómo estás?"

DeepL API (Node.js)

// npm install deepl-node
const deepl = require('deepl-node');

const translator = new deepl.Translator('YOUR_AUTH_KEY');

async function translateText() {
  const result = await translator.translateText(
    'Hello, how are you?',
    null,     // auto-detect source language
    'es',     // target language
    { formality: 'prefer_more' }  // formal tone
  );
  console.log(result.text);
  // Output: "Hola, ¿cómo está usted?"
}

translateText();

DeepL API (Python)

# pip install deepl
import deepl

translator = deepl.Translator("YOUR_AUTH_KEY")

result = translator.translate_text(
    "Hello, how are you?",
    target_lang="ES",
    formality="prefer_more"
)

print(result.text)
# Output: "Hola, ¿cómo está usted?"
print(result.detected_source_lang)
# Output: "EN"

Azure Translator (cURL)

# Simple REST API call - works with any language
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es&to=fr" \
  -H "Ocp-Apim-Subscription-Key: YOUR_KEY" \
  -H "Ocp-Apim-Subscription-Region: eastus" \
  -H "Content-Type: application/json" \
  -d '[{"Text": "Hello, how are you?"}]'

# Response: translate to MULTIPLE languages in one call
# [{"translations": [
#   {"text": "Hola, ¿cómo estás?", "to": "es"},
#   {"text": "Bonjour, comment allez-vous?", "to": "fr"}
# ]}]

Azure Translator (Node.js)

const response = await fetch(
  'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es',
  {
    method: 'POST',
    headers: {
      'Ocp-Apim-Subscription-Key': 'YOUR_KEY',
      'Ocp-Apim-Subscription-Region': 'eastus',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify([{ Text: 'Hello, how are you?' }])
  }
);

const data = await response.json();
console.log(data[0].translations[0].text);
// Output: "Hola, ¿cómo estás?"

LibreTranslate (Self-Hosted)

# Start LibreTranslate with Docker
docker run -ti --rm -p 5000:5000 libretranslate/libretranslate

# Translate via REST API (no API key needed)
curl -X POST "http://localhost:5000/translate" \
  -H "Content-Type: application/json" \
  -d '{"q": "Hello, how are you?", "source": "en", "target": "es"}'

# Response:
# {"translatedText": "Hola, ¿cómo estás?"}

LibreTranslate (Python)

import requests

response = requests.post(
    "http://localhost:5000/translate",
    json={
        "q": "Hello, how are you?",
        "source": "en",
        "target": "es"
    }
)

print(response.json()["translatedText"])
# Output: "Hola, ¿cómo estás?"

MyMemory - No API Key Required

# Zero setup - just a GET request!
curl "https://api.mymemory.translated.net/get?q=Hello,+how+are+you?&langpair=en|es"

# Response:
# {"responseData": {"translatedText": "Hola, ¿cómo estás?"}}

MyMemory (JavaScript - Browser Compatible)

// Works directly in the browser - no API key, no CORS issues
async function translate(text, from, to) {
  const url = `https://api.mymemory.translated.net/get?q=${encodeURIComponent(text)}&langpair=${from}|${to}`;
  const res = await fetch(url);
  const data = await res.json();
  return data.responseData.translatedText;
}

// Usage
const result = await translate('Good morning!', 'en', 'ja');
console.log(result);
// Output: "おはようございます!"

MyMemory (Python)

import requests

def translate(text, source, target):
    response = requests.get(
        "https://api.mymemory.translated.net/get",
        params={"q": text, "langpair": f"{source}|{target}"}
    )
    return response.json()["responseData"]["translatedText"]

print(translate("Good morning!", "en", "de"))
# Output: "Guten Morgen!"

Which Translation API Should You Use?

Quick decision guide based on your use case

🎯 Best Translation Quality

You need the most natural, human-like translations for customer-facing content, marketing copy, or business communications.

Pick: DeepL API

🌍 Most Language Coverage

You need to support rare or low-resource languages (Quechua, Dhivehi, Luxembourgish, etc.) that other providers don't cover.

Pick: Google Cloud Translation

💰 Lowest Cost at Scale

You're translating millions of characters per month and need the best price per character from a managed service.

Pick: Azure Translator ($10/M)

☁️ AWS Native Integration

Your infrastructure is on AWS and you want tight integration with S3, Lambda, and IAM. Active Custom Translation for domain-specific output.

Pick: Amazon Translate

🔒 Maximum Privacy

You can't send data to external APIs (GDPR, HIPAA, air-gapped environments). Need full control over translation infrastructure.

Pick: LibreTranslate (self-hosted)

⚡ Quick Prototyping

You need a translation API right now with zero setup, no signup, no credit card. Just a GET request and you're translating.

Pick: MyMemory (no API key)

Build Multilingual Apps with Frostbyte

Get 50 free requests/day. IP geolocation for auto-detecting user locale, screenshots for translated page previews, and 30+ developer APIs.

Get Free API Key →

Frequently Asked Questions

What is the best free translation API?
Azure Translator offers the most generous free tier at 2 million characters per month, permanently. Google Cloud Translation and DeepL both offer 500,000 characters per month free. LibreTranslate is completely free and open source when self-hosted with no character limits. MyMemory requires no signup and gives 5,000 characters per day (50,000 with an email parameter).
DeepL vs Google Translate API: which is better?
DeepL produces higher-quality, more natural-sounding translations, especially for European languages. Independent benchmarks show DeepL outperforming Google in roughly 65% of language pairs tested. However, Google supports 189 languages vs DeepL's 36, and Google is cheaper at $20/M characters vs DeepL's $25/M + $5.49/mo base fee. Choose DeepL for quality-critical content and Google for broader language coverage or high-volume workloads.
Which translation API supports the most languages?
Google Cloud Translation leads with approximately 189 languages. Azure Translator supports 100+ languages. Amazon Translate covers 75 languages with 5,550 language pair combinations. DeepL supports 36 languages but with the highest translation quality. LibreTranslate supports about 45 languages, and MyMemory covers 80+ languages.
What is the cheapest translation API for production use?
LibreTranslate is free when self-hosted (you pay only for server costs). Among managed services, Azure Translator is the cheapest at $10 per million characters. Amazon Translate costs $15/M, Google Cloud Translation costs $20/M, and DeepL costs $25/M plus a $5.49/month base fee. At 10M characters/month, Azure costs $80, Amazon costs $120, Google costs $190, and DeepL costs $243.
Is there a translation API that works without an API key?
Yes. MyMemory API requires no API key or signup - just send a GET request with your text and language pair. You get 5,000 characters per day anonymously, or 50,000 per day by adding a valid email parameter. LibreTranslate's public instance also works without a key, though it's rate-limited. For production use, all major providers require API keys.
Can I translate documents (PDF, DOCX) with these APIs?
Yes. Google Cloud Translation v3, DeepL, Azure Translator, and Amazon Translate all support document translation that preserves formatting. DeepL handles PDF, DOCX, PPTX, and HTML. Azure supports the widest range including PDF, DOCX, HTML, XLIFF, and more via async batch processing. LibreTranslate and MyMemory only support plain text translation.
Which translation API is best for privacy?
LibreTranslate is the best choice for privacy since it's fully open source and can be self-hosted - no data ever leaves your infrastructure. For managed services, DeepL Pro deletes all texts after translation and offers a GDPR-compliant data processing agreement. Google and Azure process data in their cloud but offer data residency options. Amazon Translate processes data within your chosen AWS region.