Document translation APIs compared: DeepL, Google, Azure, Amazon and Polytranslator

Maxim Enis

Maxim Enis · co-creator of Polytranslator · author of From LLM to NMT (125+ citations)Updated September 23, 2026

A stack of documents in several scripts beside their translated copies

Five APIs translate whole files and return a translated file. They differ most on scanned pages and photos, on which languages they cover, on how large a file can be, and on what you must set up before the first request. Every vendor fact below comes from the vendor's developer documentation or pricing page, read on September 23, 2026.

File types in

Polytranslator: PDF, DOCX, PPTX, XLSX, EPUB, PNG, JPG, WEBP, HEIC; DOC, ODT, RTF, TXT, MD, HTML, SRT, VTT, XLS, ODS, CSV, PPT, ODP, Pages, Numbers, Key, MOBI, AZW3, FB2 converted on upload

DeepL API: DOCX, PPTX, XLSX, PDF, HTML, TXT, XLIFF, SRT, IDML, XML, JSON and more; JPG/PNG in beta

Google Cloud Translation: DOC, DOCX, PDF, PPT, PPTX, XLS, XLSX

Azure AI Translator: Batch: PDF, Office, OpenDocument, HTML, Markdown, TXT, CSV, MSG, XLIFF, images (preview). Synchronous: no PDF or images

Amazon Translate: DOCX, PPTX, XLSX, HTML, TXT, XLIFF. No PDF

Scanned PDFs and photos

Polytranslator: Yes, translated in the original layout; photos return as PNG, PDFs as PDF

DeepL API: PDF supported; JPG and PNG in beta

Google Cloud Translation: Scanned PDFs yes (20 pages per synchronous request); mixed scanned and digital PDFs translate only the digital text; no image input

Azure AI Translator: Scanned PDFs in batch only; mixed PDFs translate only the digital text; OCR covers fewer languages than text

Amazon Translate: No

Size per document

Polytranslator: 50 MB, 1,000 PDF pages, 1,000,000 characters

DeepL API: Pro: 100 MB for DOCX/PPTX/PDF, 1,000,000 characters. Free: 10 MB

Google Cloud Translation: 20 MB; 300 pages for digital PDFs

Azure AI Translator: Synchronous 10 MB; batch 40 MB

Amazon Translate: Synchronous 100 KB; batch 20 MB

Languages

Polytranslator: 475, including Ancient Greek, Latin, Coptic, Old English, Old Norse, Aramaic, Akkadian and Sumerian

DeepL API: About 120 language codes (regional variants listed separately), including Latin and Sanskrit

Google Cloud Translation: About 130, including Latin

Azure AI Translator: Same list as its text API; no Latin

Amazon Translate: 72; no Latin

Ancient Greek, Old English, Coptic

Polytranslator: Yes

DeepL API: No

Google Cloud Translation: No

Azure AI Translator: No

Amazon Translate: No

Pricing for documents

Polytranslator: Prepaid credits ($9.99 for 300 to $99.99 for 5,000). Free quote per file; charged exactly the quote

DeepL API: Character-based, same rate as text

Google Cloud Translation: $0.08 per page (standard model)

Azure AI Translator: Per million characters, separate from text

Amazon Translate: $15 per million characters (synchronous DOCX $30)

Minimum charge

Polytranslator: None beyond the quote

DeepL API: 50,000 characters per DOCX, PPTX, XLSX or PDF

Google Cloud Translation: None documented

Azure AI Translator: None documented

Amazon Translate: None documented

Free tier for documents

Polytranslator: Free quotes; translation uses purchased credits

DeepL API: Yes, with smaller file limits

Google Cloud Translation: No (XLSX only, within the text credit)

Azure AI Translator: No; the free tier excludes documents

Amazon Translate: 2 million characters a month for 12 months

Getting started

Polytranslator: An API key; no cloud project. Agents can create an account and buy credits headlessly

DeepL API: An API key

Google Cloud Translation: A Google Cloud project, billing account and service credentials

Azure AI Translator: An Azure subscription, a Translator resource with a custom domain, and Blob Storage for batch

Amazon Translate: An AWS account, an IAM role and S3 buckets for batch

Job model

Polytranslator: Upload, then a signed webhook or long-poll status (up to 60 s per request); download the file or a PDF

DeepL API: Upload, poll status, download

Google Cloud Translation: Long-running operation, poll

Azure AI Translator: Blob Storage containers, poll

Amazon Translate: S3 buckets, poll or EventBridge events

Completion webhooks

Polytranslator: Yes: HMAC-signed, retried for about 24 hours

DeepL API: Not documented

Google Cloud Translation: Not documented

Azure AI Translator: Not documented

Amazon Translate: EventBridge events

Retry safety

Polytranslator: Idempotency-Key: a retried upload never creates or charges a second job

DeepL API: Not documented

Google Cloud Translation: Not documented

Azure AI Translator: Not documented

Amazon Translate: Required ClientToken

Sources, read on September 23, 2026: DeepL document API, DeepL limits, DeepL document billing, DeepL languages, Google document translation, Google pricing, Google languages, Azure document translation, Azure limits, Azure languages, Amazon Translate formats, Amazon limits, Amazon pricing. Language counts are the vendors' published lists; regional variants are counted as the vendor lists them.

Choose Google Cloud Translation when…

You translate modern-language Office files and digital PDFs at volume and already run on Google Cloud. At $0.08 a page its price is simple to forecast and, for ordinary business documents, lower than Polytranslator's.

Choose DeepL when…

Your pairs are among DeepL's languages and your files are long Office documents. Short files are billed at least 50,000 characters each, so a one-page memo is billed like about twenty pages of text.

Choose Azure or Amazon when…

Your documents already live in Blob Storage or S3 and your languages are modern ones. Amazon publishes completion events through EventBridge, but it does not accept PDF at all.

Choose Polytranslator when…

Your documents are scans or phone photos, or they are in languages the other four do not offer: Ancient Greek, Old English, Coptic, Old Norse, Aramaic, Akkadian, Sumerian and more than 200 other low-resource languages. It also suits agents and small teams: one API key, prepaid credits, a free quote before every job, a max_credits cap per request, safe retries and signed completion webhooks. As measured examples, a one-page scanned court filing on the fast tier costs 19 credits and a short Word document costs 1 credit.

A first request

Upload the file; the response is a document id. Poll GET /v1/documents/{id}?wait=60 and download /file when it completes.

curl https://www.polytranslator.com/api/v1/documents \
  -H "Authorization: Bearer $POLYTRANSLATOR_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F file=@contract.pdf \
  -F tgt=spa_Latn

Read the API reference

Formats, limits, pricing, error codes and a Python example.

Open the docs

Limits of this comparison

Quality is not compared in the table: it depends on the language pair and the document, and every API above should be tried on your own files. Machine translation is not a certified translation, and names, numbers and dates should be checked against the original. See also Polytranslator vs DeepL for document translation.