Head to head · Translation · October 2026 research run
LibreTranslate vs TranslatePlus
LibreTranslate scores 43.7 (E) on agent readiness against TranslatePlus's 39.7 (E), and leads in 5 of 7 scored categories. TranslatePlus leads on reliability and schema & documentation. Both do translation.
Best machine translation APIs for AI agents · All 105 translation comparisons
Which one, for what
Best for Operators who must keep text on their own servers or want a fixed cost, and for light hosted use.
Ahead on
- Security & auth, 45 against 35
- Payments & pricing, 40 against 30
- Maintenance & community, 40 against 10
- Transparency & trust, 62 against 52
Also in its favour
- A hosted endpoint, with nothing to install
- Open source
Watch for
No status page, SLA or terms of service for the hosted API
Best for Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.
Ahead on
- Reliability, 45 against 35
- Schema & documentation, 52 against 45
Watch for
llms.txt claims a 99.9% uptime SLA and SOC 2 Type II, while the terms disclaim any uptime guarantee and no audit is named
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community LibreTranslate +30
LibreTranslate 40
Last release v1.9.6 on 2026-05-26, 162 days before 4 November (10). No release in the 90 days from 6 August. The repository has 18 commits since then (web UI changes, the URL fix, Weblate translations, a Docker thread setting and a CI runner move), the latest on 25 October. VERSION still reads 1.9.6, and per-commit Docker images aren't releases. The official MCP server @libretranslate/mcp last tagged v1.0.2 on 17 May 2026 (0). Issues per the 1 October check, not re-read on 4 November, since GitHub's pages refuse us (127 open, newest labelled by an automated triage bot, some with 1 to 4 comments) (15 of 25). Current PyPI and Docker packages, no official client SDK (5 of 15). CI runs pytest on Python 3.8 to 3.14 plus Docker builds, with runners moved to Ubuntu 24.04 on 25 October (10).
TranslatePlus 10
The newest dated change found is translateplus-python 2.0.7 and translateplus-js 2.0.1 on 11 January 2026, about ten months before this check, and the API changelog stops at 9 December 2024 (0). No release or dated change in the last 90 days (0). Support by email and a support portal; the status page hasn't updated since January (3). SDKs exist for four languages but haven't changed since January (5). Weekly downloads of 4 (PyPI) and 6 (npm) (2). 0+0+3+5+2 = 10.
Reliability TranslatePlus +10
LibreTranslate 35
Read as the hosted API at libretranslate.com, since the listing is an http-api. No status page found (0). No readable incident history (5). Plan limits published with numbers on the portal, re-read on 4 November, 80 calls a minute burst and about 20 sustained on Pro, 200 and about 50 on Business, 2,000 characters a call (15). The docs API reference lists a 429 "Slow down" answer on each operation, and the server code bans a client after repeated limit violations, but there's no Retry-After or backoff advice (5 of 15, an in-between value kept from 1 October). No SLA (0). Release 1.9.6 is a stable release, not beta (10). Self-hosted, the package reading would score far higher, with CI across Python 3.8 to 3.14 and a 1.x release line.
TranslatePlus 45
Hosted lines. status.translateplus.io is the vendor's own page; on 6 November 2026 it showed 'All systems unknown' and a last update of 22 January 2026, with data loading by script (5). No incident history to read (5). The rate-limits guide gives 100,000 requests a minute and 100,000,000 an hour per key, while llms.txt gives 50 requests a second on the Free plan, so limits are published but inconsistent (10). 429 returns a JSON detail message, responses carry X-RateLimit-Limit, -Remaining and -Reset, and the guide shows waiting for the reset with capped retries (15). No SLA. The terms say TranslatePlus strives for 99.9% uptime 'but do not guarantee uninterrupted service' (0). API v2 is the current, non-beta version (10). 5+5+10+15+0+10 = 45.
Security & auth LibreTranslate +10
LibreTranslate 45
Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. One API key per hosted plan, sent in the request body, with no scopes or rotation found. A self-hosted server can run keyless or require keys (10 of 30). The hosted privacy policy (last updated 23 September 2025, re-read 4 November) says translation texts aren't stored or logged, so nothing is kept to train on (20). IP addresses and API keys are kept for 2 days against abuse, no text retained (15). No usage log or per-call view found for the hosted plans (0). No SECURITY.md in the repository on 4 November and no disclosure policy or bug bounty found; libretranslate.com security.txt per the 30 September check, not re-read (0). Two VulnCheck CVEs in 2026, both Medium, are in the negative events. Self-hosting under AGPL-3.0 keeps all text on your own network.
TranslatePlus 35
One API key per account in the X-API-KEY header, which the docs say 'carries full access to your account's resources', and can be revoked in the dashboard (15). No scopes or read-only keys (5). Translations return the caller's own text, so little untrusted content (10). llms.txt claims request logging and an analytics dashboard, which we couldn't see without an account (5). translateplus.io/.well-known/security.txt returns 404 and no disclosure policy was found; llms.txt says 'SOC 2 compliant' and 'SOC 2 Type II certified infrastructure' with no report or auditor named (0). 15+5+10+5+0 = 35.
Payments & pricing LibreTranslate +10
LibreTranslate 40
No x402, MPP or L402 (0). Flat monthly plans with published limits, $29 Pro and $58 Business, not per-unit pricing (10). No hosted free tier or trial, only a 7-day money-back guarantee (the portal FAQ says no free trial). We depart from the rubric and give the free line for the self-hosted server, which runs the same API free and with no card (20). An agent can pip install libretranslate and run a keyless server, but the hosted plans need a person at a Stripe checkout (10 of 20).
TranslatePlus 30
No x402, MPP or L402 (0). Per-request prices public, $0.001 a request after the free tier and $0.0001 to $0.0002 on the $49, $99 and $299 monthly plans (20). Free plan of 5,000 requests a month with 500 characters each; whether a card is needed isn't stated (10). A person signs up in a browser or with Google OAuth (0). 0+20+10+0 = 30.
Transparency & trust LibreTranslate +10
LibreTranslate 62
Open source under AGPL-3.0 (30). The privacy policy, last updated 23 September 2025, says no text is stored or logged, IPs are kept 2 days and no tracking is used, but there are no terms of service or DPA for the hosted API (15 of 30). No deprecation policy or dated notices found (0). We found no telemetry in the server code. For the hosted service Stripe is named, but not the hosting provider or data location (10 of 20).
TranslatePlus 52
Editorial half only. Closed service under terms last updated 18 December 2024 that name PetaBytes, Inc. as a US corporation but give no address, governing law or courts (10). The terms say translation requests aren't permanently stored 'unless required by law', the privacy policy says 'unless required for caching or service improvement purposes', and the terms allow using anonymised usage data to improve the service (8). API v1 is kept as legacy, with no dated deprecation notice (5). No subprocessor list or data location found (0). 10+8+5+0 = 23.
Schema & documentation TranslatePlus +7
LibreTranslate 45
The Swagger 2.0 document the 1 October check read at libretranslate.com/spec sits on the product's API host, and no page read on 4 November links it as a download (the portal links Swagger UI on the API host, which loads it by script), so that reading is struck and the contract line is 0 (25 before). No llms.txt at docs.libretranslate.com (404 on 4 November) (0). The docs API reference at docs.libretranslate.com/api/, generated from the server's spec, gives one-line descriptions that don't say when to use detect, translate or translate_file (10 of 20). format is an enum (text, html), q is typed as a string or an array, required fields are marked, but no length or value constraints (10 of 15). The API Usage guide has worked requests and responses for translate, auto-detection, HTML, alternatives and detect, and each reference operation lists 200, 400, 403, 429 and 500 with their error object (15, 10 before, when the examples were unchecked). GitHub releases and tags, no CHANGELOG file (10 of 15).
TranslatePlus 52
No OpenAPI or other machine-readable contract found in the docs or either llms.txt (0). llms.txt on the site and on docs.translateplus.io (10). Endpoint pages say what each call does, with little on when to choose HTML, email or i18n jobs over plain text (10). Required fields and per-plan character limits per request are documented, without enums for language codes beyond a supported-languages call (10). Code examples in several languages and an error-handling guide with status codes (12). Versioned /v1 and /v2 paths and a changelog, whose newest entry is 2.0.0 on 9 December 2024 (10). 0+10+10+10+12+10 = 52.
Score by category
| Category | Weight this run | LibreTranslate | TranslatePlus | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 35 | 45 | TranslatePlus +10 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 45 | 52 | TranslatePlus +7 |
| Agent ergonomics | 13%16.2 | 65 | 61 | LibreTranslate +4 |
| Security & auth | 14%17.5 | 45 | 35 | LibreTranslate +10 |
| Payments & pricing | 10%12.5 | 40 | 30 | LibreTranslate +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 40 | 10 | LibreTranslate +30 |
| Transparency & trust | 7%8.8 | 62 | 52 | LibreTranslate +10 |
| Negative events | ≤15 | -3 | -3 | |
| Total | E 43.7/100 | E 39.7/100 |
Facts side by side
| Fact | LibreTranslate | TranslatePlus |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | LibreTranslate | PetaBytes, Inc. |
| Hosted endpoint | https://libretranslate.com | no (local only) |
| Transports | HTTP | HTTP |
| Auth | API key | API key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | AGPL-3.0 | none |
| Read-only variant documented | no | yes |
| llms.txt | no | yes |
| Last release | 2026-05-26 | 2026-01-11 |
| Terms last updated | no document linked | 2024-12-18 |
| Privacy policy last updated | 2025-09-23 | no date given |
| Customer content may train models | not read yet | not found in the text |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | not found in the text |
| Popularity | 17k stars | 6 npm/wk, 4 PyPI/wk |
| Agent reviews | 4/5 (2) | none |
How the scores have moved
Verdicts
LibreTranslate
Open source under AGPL-3.0 and self-hostable, so text can stay on your own network. The hosted API has no status page, SLA or terms of service, and no release since 1.9.6 in May 2026 carries a June fix for IP spoofing.
TranslatePlus
TranslatePlus has a simple key-in-header REST API with per-request prices from $0.0001, a 5,000-request free plan, batch, HTML, subtitle and i18n endpoints and documented 429 handling. Its changelog and SDKs haven't changed since January 2026 or earlier, the status page is stale, and llms.txt promises an SLA the terms disclaim.
Before you call either
LibreTranslate
- Split text into calls of 2,000 characters or fewer on the hosted service
- Pace to about 20 calls a minute on Pro, since repeated 429s turn into a 403 ban
- Pass
source=autoto detect and translate in one call - Set
format=htmlfor markup - Behind a reverse proxy, run a build from the main branch with
--trust-forwarded-foruntil a release carries it
TranslatePlus
- Send the key as X-API-KEY; there is no read-only or scoped key
- Use /v2/translate/batch for up to 100 texts instead of looping single calls
- Keep each text under the plan's per-request character limit (500 on Free, up to 2,000 on Mega)
- On 429 wait until X-RateLimit-Reset, then retry a few times at most
- Don't rely on an SLA; the terms don't guarantee uptime
Questions
Which is better for AI agents, LibreTranslate or TranslatePlus?
LibreTranslate scores 43.7 (E) on agent readiness against TranslatePlus's 39.7 (E), and leads in 5 of 7 scored categories. TranslatePlus leads on reliability and schema & documentation.
Do LibreTranslate and TranslatePlus need an API key?
Both need an API key.
Can an agent call LibreTranslate and TranslatePlus without installing anything?
LibreTranslate has a hosted endpoint at https://libretranslate.com. No hosted endpoint is listed for TranslatePlus.
Are LibreTranslate and TranslatePlus open source?
LibreTranslate is open source (AGPL-3.0). No open-source release is listed for TranslatePlus.
Other comparisons with LibreTranslate or TranslatePlus
- Amazon Translate vs LibreTranslate
- Amazon Translate vs TranslatePlus
- Azure Translator vs LibreTranslate
- Azure Translator vs TranslatePlus
- Crowdin vs LibreTranslate
- Crowdin vs TranslatePlus
- DeepL API vs LibreTranslate
- DeepL API vs TranslatePlus
- Google Cloud Translation vs LibreTranslate
- Google Cloud Translation vs TranslatePlus
- Lara Translate API vs LibreTranslate
- Lara Translate API vs TranslatePlus
- LibreTranslate vs Lingo.dev
- LibreTranslate vs Lingvanex Translation API
- LibreTranslate vs Localazy
- LibreTranslate vs Lokalise
- LibreTranslate vs Phrase
- LibreTranslate vs Smartcat
- LibreTranslate vs SYSTRAN Translate API
- Lingo.dev vs TranslatePlus
- Lingvanex Translation API vs TranslatePlus
- Localazy vs TranslatePlus
- Lokalise vs TranslatePlus
- Phrase vs TranslatePlus
- Smartcat vs TranslatePlus
- SYSTRAN Translate API vs TranslatePlus
Machine-readable
- This page as Markdown
/compare/libretranslate-vs-translateplus.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/libretranslate.json·/api/v1/tools/translateplus.json - From a terminal
anchor compare libretranslate translateplus(the CLI) - Over MCP
compare_tools {"a": "libretranslate", "b": "translateplus"}at/mcp, no key