{
  "data": {
    "a": {
      "slug": "deepl-api",
      "name": "DeepL API",
      "vendor": "DeepL",
      "vendorUrl": "https://www.deepl.com/en/products/api",
      "kind": "http-api",
      "category": "translation",
      "summary": "Translation API for text and documents in over 100 languages, with glossaries, formality control, style rules, custom instructions, a writing endpoint and a voice API.",
      "url": "https://www.anchorterminal.com/tools/deepl-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/deepl-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deepl-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deepl-api.json",
      "dns": "deepl-api.grade.anchorterminal.com",
      "repo": "https://github.com/DeepL/deepl-mcp-server",
      "license": "MIT (MCP server)",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.deepl.com/v2/translate",
      "packages": [
        {
          "registry": "npm",
          "name": "deepl-node"
        },
        {
          "registry": "pypi",
          "name": "deepl"
        },
        {
          "registry": "npm",
          "name": "deepl-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "`Authorization: DeepL-Auth-Key \u003ckey\u003e` header. API Free keys end in `:fx` and go to api-free.deepl.com, paid keys to api.deepl.com. The hosted MCP at mcp.deepl.com signs in with OAuth 2.1 against a DeepL account and takes no API key. The local MCP server reads `DEEPL_API_KEY`.",
      "pricing": "freemium",
      "pricingNotes": "DeepL has replaced its API plans. API Free (500,000 characters a month) and API Pro can no longer be bought. API Developer, where the free API key sign-up leads, allows 1,000,000 characters in total and never resets. API Growth is a monthly or yearly subscription with 1 million characters a month included (12 million a year), pay-as-you-go above that, and caps of 50 million characters and 300 speech-to-text hours a month. Enterprise is custom (https://support.deepl.com/hc/en-us/articles/360021200939-DeepL-API-plans, https://www.deepl.com/en/ai-agents). Every source character counts, spaces included, but HTML and XML tags don't when tag handling is on. Word, PowerPoint, Excel and PDF files bill at least 50,000 characters each (https://support.deepl.com/hc/en-us/articles/360020685720-Usage-count-and-billing-in-DeepL-API). We couldn't read the per-character rates, which the pricing page renders only in a browser.",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": 117,
        "npmWeekly": 328192,
        "pypiWeekly": 291467,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.deepl.com",
      "llmsTxt": "https://developers.deepl.com/llms.txt",
      "openapi": "https://developers.deepl.com/api-reference/openapi.yaml",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.glossary",
        "translate.detect",
        "translate.formality",
        "speech.translation"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "eu",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.1,
        "grade": "B",
        "agentReady": false,
        "rank": 260,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 87,
          "payments": 30,
          "reliability": 52,
          "schema": 95,
          "security": 82,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "On 2026-09-30 DeepL changed `POST /v2/document` so brace placeholders in JSON files such as `{stars}` are kept verbatim by default instead of translated, changing output for existing clients. The changelog announced it the day it took effect, with no earlier notice found. An opt-out exists (`json-placeholders:translate`), but the hosted API changed for everyone, so the same-day floor (-3). https://developers.deepl.com/docs/resources/roadmap-and-release-notes"
        ],
        "verdict": "Up to 5 glossaries, five formality settings, style rules and up to 10 custom instructions on the translate call. API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset.",
        "bestFor": "Agents that need terminology control, formality and document layout kept, in European and Asian languages, and teams that want an MCP server today.",
        "strengths": [
          "Up to 5 glossaries, five formality settings, style rules and up to 10 custom instructions on the translate call",
          "OpenAPI document synced to GitHub, llms.txt and 19 dated changelog entries since 3 August 2026",
          "API Key Permissions scope a key to chosen endpoints, and keys travel only in a header",
          "Two official MCP servers, hosted with OAuth and local with an API key, the local one with CI and 15 releases since 3 August",
          "Documented retry rules, retry 429, 529 and 5xx with backoff, don't retry 456"
        ],
        "weaknesses": [
          "API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset",
          "Per-character rates only appear on a browser-rendered pricing page",
          "No published request rate and no SLA found for self-serve plans",
          "The privacy policy doesn't say how API Developer text is handled",
          "JSON placeholder handling changed by default on 30 September 2026, announced the same day"
        ],
        "agentNotes": [
          "Match the host to the key. Keys ending `:fx` go to api-free.deepl.com, others to api.deepl.com",
          "Send the key in the `Authorization: DeepL-Auth-Key` header, since query and body keys now get 403",
          "Retry 429 and 529 with exponential backoff but stop on 456, which means the quota is spent",
          "Set `tag_handling` to html for markup so the tags survive and aren't billed",
          "Put a key-level usage limit on any key an agent holds, and scope it to the endpoints it needs",
          "Set `input_conversion_options=version:1,json-placeholders:translate` on JSON documents only if placeholders should be translated; they're kept verbatim by default"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.1
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 87,
          "payments": 30,
          "reliability": 52,
          "schema": 95,
          "security": 82,
          "transparency": 67
        },
        "provenanceScore": 94,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install deepl   # or: npm i deepl-node",
        "http": "curl -X POST https://api.deepl.com/v2/translate -H \"Authorization: DeepL-Auth-Key $DEEPL_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"text\":[\"Your table is booked for seven.\"],\"target_lang\":\"FR\",\"formality\":\"prefer_more\"}'",
        "claudeCode": "claude mcp add --transport http deepl https://mcp.deepl.com/v1/mcp",
        "config": {
          "mcpServers": {
            "deepl": {
              "args": [
                "-y",
                "deepl-mcp-server"
              ],
              "command": "npx",
              "env": {
                "DEEPL_API_KEY": "${DEEPL_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/deepl-api"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "DeepL SE",
        "domain": "deepl.com",
        "domainRegistered": "2010-04-22",
        "endpointOnVendorDomain": true,
        "terms": "https://www.deepl.com/en/pro-license",
        "privacy": "https://www.deepl.com/en/privacy",
        "statusPage": "https://status.deepl.com",
        "changelog": "https://developers.deepl.com/docs/resources/roadmap-and-release-notes",
        "securityTxt": "valid",
        "checked": "2026-11-01",
        "notes": [
          "The privacy policy names DeepL SE and DeepL AI GmbH, Maarweg 165, 50825 Cologne, as controllers.",
          "security.txt is PGP-signed and expires on 2026-12-01, re-read on 1 November 2026.",
          "The changelog says status.deepl.com became one combined page with a dedicated API view on 2026-07-16. It renders only in a browser."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deepl-api.json",
      "live": {
        "slug": "deepl-api",
        "probe": {
          "target": "https://api.deepl.com/v2/translate",
          "method": "get",
          "lastAt": "2026-11-07T18:20:20.372502099Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 211,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 146,
          "p95ms24h": 229,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.deepl.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:37.09716224Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "DeepL/deepl-mcp-server",
            "version": "v1.3.15",
            "released": "2026-10-14",
            "seenAt": "2026-11-06T23:20:33.311668855Z"
          },
          {
            "registry": "npm",
            "name": "deepl-mcp-server",
            "version": "1.3.15",
            "seenAt": "2026-11-06T23:20:31.606218758Z"
          },
          {
            "registry": "npm",
            "name": "deepl-node",
            "version": "1.29.0",
            "seenAt": "2026-11-06T23:20:31.129132882Z"
          },
          {
            "registry": "pypi",
            "name": "deepl",
            "version": "1.33.0",
            "released": "2026-11-02",
            "seenAt": "2026-11-06T23:20:31.41482563Z"
          }
        ],
        "githubStars": 120,
        "npmWeekly": 479327,
        "pypiWeekly": 301377,
        "securityTxt": {
          "url": "https://deepl.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-01T09:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:19.169349871Z"
        },
        "llmsTxt": {
          "url": "https://developers.deepl.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:15.85884994Z"
        },
        "domain": {
          "domain": "deepl.com",
          "registered": "2010-04-22",
          "source": "https://rdap.verisign.com/com/v1/domain/deepl.com",
          "checkedAt": "2026-11-01T14:16:34.618949718Z"
        },
        "pages": [
          {
            "url": "https://developers.deepl.com/docs/resources/roadmap-and-release-notes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:03:44.960739482Z",
            "changedAt": "2026-11-04T08:18:46.651904937Z",
            "fingerprint": "f37fb478b9cb"
          },
          {
            "url": "https://www.deepl.com/en/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:27:47.067472007Z",
            "changedAt": "2026-10-23T02:01:12.30242001Z",
            "fingerprint": "8295512fbe99"
          },
          {
            "url": "https://www.deepl.com/en/pro-license",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:27:49.492798803Z",
            "changedAt": "2026-10-23T02:01:14.707004935Z",
            "fingerprint": "96ea382e0be9"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.deepl.com/v1/mcp",
          "checkedAt": "2026-11-07T01:43:42.282104709Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:42.282104709Z"
        },
        "github": {
          "repo": "deepl/deepl-mcp-server",
          "checkedAt": "2026-11-02T08:43:34.252492935Z",
          "stars": 119,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T01:01:57Z",
          "openIssues": 3,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T01:02:20Z"
          },
          "replies": {
            "sampled": 12,
            "unanswered": 3,
            "medianDays": 234.6
          }
        },
        "updatedAt": "2026-11-07T18:20:20.372502099Z"
      }
    },
    "answer": "DeepL API scores 69.1 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "translateplus",
      "name": "TranslatePlus",
      "vendor": "PetaBytes, Inc.",
      "vendorUrl": "https://translateplus.io",
      "kind": "http-api",
      "category": "translation",
      "summary": "TranslatePlus is a machine translation API from PetaBytes, Inc. for text, batches, HTML, emails, subtitles and i18n files in more than 100 languages, with language detection, priced per request.",
      "url": "https://www.anchorterminal.com/tools/translateplus",
      "markdownUrl": "https://www.anchorterminal.com/tools/translateplus.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/translateplus.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/translateplus.json",
      "dns": "translateplus.grade.anchorterminal.com",
      "repo": "https://github.com/translateplus/translateplus-js",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "translateplus-python"
        },
        {
          "registry": "npm",
          "name": "translateplus-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key per account from the dashboard at app.translateplus.io after a browser or Google OAuth signup, sent in the X-API-KEY header. The docs say the key carries full access to the account; keys can be revoked in the dashboard. No scopes.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 5,000 requests a month at 500 characters each, then $0.001 a request. Basic $49 a month (250,000 requests), Professional $99 (700,000) and Mega $299 (3,000,000), with 1,000 to 2,000 characters per request.",
      "priceSummary": "$0.001 / call",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in either llms.txt, the docs or the pricing page (checked 2026-11-06). Payments go through third-party processors.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 6,
        "pypiWeekly": 4,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.translateplus.io/",
      "llmsTxt": "https://translateplus.io/llms.txt",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.detect"
      ],
      "tags": [
        "hosted",
        "api-key",
        "freemium",
        "free-tier",
        "llms-txt",
        "python",
        "typescript",
        "java",
        "php",
        "batch",
        "async-jobs",
        "closed-source"
      ],
      "lastRelease": "2026-01-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1316,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 10,
          "payments": 30,
          "reliability": 45,
          "schema": 52,
          "security": 35,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -3,
        "negativeNotes": [
          "Misleading claim (-3): llms.txt on translateplus.io, read 6 November 2026, lists a '99.9% uptime SLA' and 'SLA Guarantees', while the terms of service (last updated 18 December 2024) say TranslatePlus strives for 99.9% uptime 'but do not guarantee uninterrupted service'. https://translateplus.io/llms.txt and https://translateplus.io/terms-of-service"
        ],
        "verdict": "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.",
        "bestFor": "Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.",
        "strengths": [
          "Per-request prices published, $0.001 after the free tier and down to $0.0001 on the $299 plan",
          "Free plan of 5,000 requests a month",
          "Endpoints for batch, HTML, email, subtitle and i18n file translation plus language detection",
          "429 responses with X-RateLimit headers and a documented wait-for-reset pattern",
          "Key sent in the X-API-KEY header, never the URL"
        ],
        "weaknesses": [
          "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",
          "The changelog stops at December 2024 and the SDKs at January 2026",
          "The status page showed 'All systems unknown' and a last update of 22 January 2026",
          "One account key with full access, no scopes",
          "The terms name PetaBytes, Inc. but no address or governing law"
        ],
        "agentNotes": [
          "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"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.7
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 10,
          "payments": 30,
          "reliability": 45,
          "schema": 52,
          "security": 35,
          "transparency": 23
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install translateplus-python",
        "http": "curl -X POST https://api.translateplus.io/v2/translate -H \"X-API-KEY: $TRANSLATEPLUS_API_KEY\" -H \"Content-Type: application/json\" -d '{\"text\":\"Hello\",\"source\":\"en\",\"target\":\"fr\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/translateplus"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Request after the free tier",
          "unit": "call",
          "usd": 0.001,
          "note": "Free plan, 500 characters per request"
        },
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 49,
          "note": "250,000 requests, 1,000 characters each"
        },
        {
          "item": "Mega plan",
          "unit": "month",
          "usd": 299,
          "note": "3,000,000 requests, 2,000 characters each"
        }
      ],
      "provenance": {
        "legalEntity": "PetaBytes, Inc.",
        "domain": "translateplus.io",
        "domainRegistered": "2023-01-30",
        "endpointOnVendorDomain": true,
        "terms": "https://translateplus.io/terms-of-service",
        "privacy": "https://translateplus.io/privacy-policy",
        "statusPage": "https://status.translateplus.io",
        "changelog": "https://docs.translateplus.io/guides/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms (last updated 18 December 2024) and the about page name PetaBytes, Inc., a US-based corporation, as operator and billing party. No address, state of incorporation or governing law is given.",
          "The home page names no legal entity, as the sweep noted; the terms and about page do.",
          "translateplus.io/.well-known/security.txt returns 404.",
          "RDAP gives translateplus.io a registration date of 30 January 2023.",
          "robots.txt on translateplus.io allows all agents; docs.translateplus.io disallows /api/ and /admin/, which weren't fetched."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/translateplus.json",
      "live": {
        "slug": "translateplus",
        "vendorStatus": {
          "page": "https://status.translateplus.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:53.407307635Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "translateplus/translateplus-js",
            "version": "v2.0.3",
            "released": "2026-01-11",
            "seenAt": "2026-11-07T00:12:43.487331Z"
          },
          {
            "registry": "npm",
            "name": "translateplus-js",
            "version": "2.0.1",
            "seenAt": "2026-11-07T00:12:43.099950457Z"
          },
          {
            "registry": "pypi",
            "name": "translateplus-python",
            "version": "2.0.7",
            "released": "2026-01-11",
            "seenAt": "2026-11-07T00:12:42.911714719Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 6,
        "pypiWeekly": 4,
        "securityTxt": {
          "url": "https://translateplus.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:44.17894812Z"
        },
        "llmsTxt": {
          "url": "https://translateplus.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:10.649421836Z"
        },
        "pages": [
          {
            "url": "https://docs.translateplus.io/guides/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:22.717992878Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a0f0c5a14906"
          },
          {
            "url": "https://translateplus.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:21.573523178Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b272e83390f6"
          },
          {
            "url": "https://translateplus.io/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:23.795736869Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "298ba99dd1b5"
          }
        ],
        "updatedAt": "2026-11-07T16:01:44.17894812Z"
      }
    },
    "edges": [
      {
        "by": 77,
        "category": "maintenance",
        "leads": "deepl-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Changelog entries on 28 and 29 October 2026 (30). 19 dated changelog entries on 15 days since 3 August and 15 `deepl-mcp-server` releases in the same window, the newest 1.3.15 on 14 October (20). Public changelog, support centre and an issue triage workflow on the MCP repository, but we didn't read the GitHub issues (12 of 15). Official SDKs current, the MCP server pins `deepl-node` 1.28.1 (15). The MCP server runs CI on every push, with Renovate keeping dependencies current (latest update 30 October) (10).",
          "b": "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."
        },
        "scores": {
          "a": 87,
          "b": 10
        }
      },
      {
        "by": 47,
        "category": "security",
        "leads": "deepl-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Keys go only in the `Authorization` header since query and body auth were switched off in January and February 2026. API Key Permissions, GA on 24 June 2026, scope a key to chosen endpoints, the Admin API creates, labels and deactivates developer keys, and the hosted MCP signs in with OAuth (30). DeepL says paid-plan texts aren't used for training without consent, while free services may keep content for a limited time to train models. The privacy policy doesn't say which side API Developer keys fall on (15 of 20). Paid-plan texts are deleted once the job is done, document translation runs on DeepL's own infrastructure in the EEA (12 of 15). Usage reports by key and custom reporting tag, and a trace ID per call, but no audit log of key use found (10 of 15). security.txt PGP-signed and valid to 2026-12-01 per the 30 September check, a security@deepl.com address in the repositories and SOC 2 Type II claimed. No bug bounty found (15 of 20).",
          "b": "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."
        },
        "scores": {
          "a": 82,
          "b": 35
        }
      },
      {
        "by": 43,
        "category": "schema",
        "leads": "deepl-api",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3 document (version 3.14.0, 45 paths on 1 November), synced from DeepL's docs to the DeepLcom/openapi repository (last sync 28 October 2026) and served at developers.deepl.com (25). llms.txt with 144 links and agent instructions, plus a keyless docs MCP server since 3 June 2026 (10). Operation descriptions say what each call does, and the docs say when to pick `latency_optimized` or `quality_optimized`, though not when to avoid an endpoint (15 of 20). Enums for formality, tag handling, model type and sentence splitting, with required fields marked (15). `/v2/translate` documents 11 response codes including 429, 456 and 529, with examples throughout (15). Versioned paths (v1, v2, v3) and a dated changelog (15).",
          "b": "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."
        },
        "scores": {
          "a": 95,
          "b": 52
        }
      },
      {
        "by": 29,
        "category": "transparency",
        "leads": "deepl-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms, the MCP server and OpenAPI repository under MIT (15). The privacy policy and data security page agree that paid-plan texts are deleted after the job and not used for training without consent, but neither places API Developer keys (22 of 30). Dated deprecations in the changelog, query and body auth deprecated in November 2025 and cut off on 20 January 2026 after a brownout, `/v2/languages` deprecated on 18 May 2026 (18 of 20). EEA processing for documents and regional endpoints for some customers, but we didn't find a public sub-processor list outside the trust centre at trust.deepl.com (12 of 20).",
          "b": "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."
        },
        "scores": {
          "a": 81,
          "b": 52
        }
      },
      {
        "by": 22,
        "category": "ergonomics",
        "leads": "deepl-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. Responses carry the translation and detected language, with billed characters opt-in through `show_billed_characters`. The local MCP server has 13 compact tools, the hosted one up to 28 per DeepL's docs (22 of 25). Many strings per call up to 128 KiB, paging on style rules and translation memories, up to 5 glossaries a request (18 of 20). Errors carry a message, a code where available and a trace ID, and the docs say which codes to retry (20). Text translation is stateless with backoff guidance, but document jobs take no idempotency key and the MCP tools carry no readOnlyHint or destructiveHint annotations (10 of 20). Two required fields on translate, official SDKs for Python, Node.js and others, but a free key sent to the paid host fails (13 of 15).",
          "b": "API reading. Batch translation of up to 100 texts a call and separate HTML, email, subtitle and i18n job endpoints (16). Few output controls or filters (10). Errors are a `detail` string with HTTP status codes (12). No idempotency key for i18n jobs, though text translation is stateless (8). Official SDKs listed for Python, JavaScript and TypeScript, Java and PHP, with few required fields (15). 16+10+12+8+15 = 61."
        },
        "scores": {
          "a": 83,
          "b": 61
        }
      },
      {
        "by": 7,
        "category": "reliability",
        "leads": "deepl-api",
        "name": "Reliability",
        "reasons": {
          "a": "Status page at status.deepl.com, which the changelog says became one combined page with an API view on 16 July 2026 (20). The page renders only in a browser, and /history, the Statuspage JSON path and an RSS feed all return the same empty application shell on 1 November, so we couldn't read its incidents. That's our limit, not a finding, but the rubric gives 5 for history we can't read (5). Request size limits are published (128 KiB a request, 16 KiB of headers) and plan character caps, and the error-handling guide says there is no fixed request-per-second figure because the service adjusts to load (5 of 15). 429 and 529 mean wait and resend, 456 means a usage limit was reached, and the guide says to retry 429 and 5xx with exponential backoff and jitter, to honour Retry-After when a response includes one and to log `X-Trace-ID`. It doesn't say which responses carry Retry-After, and document uploads take no idempotency key (12 of 15). No SLA found for self-serve plans (0). The text and document APIs are GA (10).",
          "b": "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."
        },
        "scores": {
          "a": 52,
          "b": 45
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DeepL",
        "b": "PetaBytes, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.deepl.com/v2/translate",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (MCP server)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-01-11",
        "name": "Last release"
      },
      {
        "a": "2026-08-01",
        "b": "2024-12-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "117 stars, 328k npm/wk, 291k PyPI/wk",
        "b": "6 npm/wk, 4 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "DeepL API scores 69.1 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, DeepL API or TranslatePlus?"
      },
      {
        "answer": "DeepL API takes an API key or an OAuth sign-in. TranslatePlus needs an API key.",
        "question": "Do DeepL API and TranslatePlus need an API key?"
      },
      {
        "answer": "DeepL API has a hosted endpoint at https://api.deepl.com/v2/translate. No hosted endpoint is listed for TranslatePlus.",
        "question": "Can an agent call DeepL API and TranslatePlus without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 52 against 45",
          "Schema \u0026 documentation, 95 against 52",
          "Agent ergonomics, 83 against 61",
          "Security \u0026 auth, 82 against 35",
          "Maintenance \u0026 community, 87 against 10",
          "Transparency \u0026 trust, 81 against 52"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need terminology control, formality and document layout kept, in European and Asian languages, and teams that want an MCP server today.",
        "slug": "deepl-api",
        "watchFor": "API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.",
        "slug": "translateplus",
        "watchFor": "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"
      }
    ],
    "history": {
      "deepl-api": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": -3,
          "from": 72.1,
          "fromGrade": "BB",
          "to": 69.1,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 72,
          "fromGrade": "BB",
          "to": 72.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 72.4,
          "fromGrade": "BB",
          "to": 72,
          "toGrade": "BB"
        }
      ],
      "translateplus": null
    },
    "job": {
      "capability": "translate.text",
      "name": "Translation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-deepl-api.json",
        "title": "Amazon Translate vs DeepL API",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-deepl-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-translateplus.json",
        "title": "Amazon Translate vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-deepl-api.json",
        "title": "Azure Translator vs DeepL API",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-deepl-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.json",
        "title": "Azure Translator vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-deepl-api.json",
        "title": "Crowdin vs DeepL API",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-deepl-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus.json",
        "title": "Crowdin vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-google-cloud-translation.json",
        "title": "DeepL API vs Google Cloud Translation",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-google-cloud-translation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-lara-translate.json",
        "title": "DeepL API vs Lara Translate API",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-lara-translate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate.json",
        "title": "DeepL API vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-lingo-dev.json",
        "title": "DeepL API vs Lingo.dev",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-lingo-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-lingvanex.json",
        "title": "DeepL API vs Lingvanex Translation API",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-lingvanex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy.json",
        "title": "DeepL API vs Localazy",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-lokalise.json",
        "title": "DeepL API vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-lokalise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-phrase.json",
        "title": "DeepL API vs Phrase",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-smartcat.json",
        "title": "DeepL API vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-systran.json",
        "title": "DeepL API vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-systran"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus.json",
        "title": "Google Cloud Translation vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lara-translate-vs-translateplus.json",
        "title": "Lara Translate API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-translateplus.json",
        "title": "LibreTranslate vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus.json",
        "title": "Lingo.dev vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingvanex-vs-translateplus.json",
        "title": "Lingvanex Translation API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lingvanex-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-translateplus.json",
        "title": "Localazy vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus.json",
        "title": "Lokalise vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/phrase-vs-translateplus.json",
        "title": "Phrase vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/phrase-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smartcat-vs-translateplus.json",
        "title": "Smartcat vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/smartcat-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/systran-vs-translateplus.json",
        "title": "SYSTRAN Translate API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/systran-vs-translateplus"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 7,
        "deepl-api": 52,
        "edge": "deepl-api",
        "key": "reliability",
        "name": "Reliability",
        "translateplus": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "deepl-api": 95,
        "edge": "deepl-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "translateplus": 52,
        "weight": 13
      },
      {
        "by": 22,
        "deepl-api": 83,
        "edge": "deepl-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "translateplus": 61,
        "weight": 13
      },
      {
        "by": 47,
        "deepl-api": 82,
        "edge": "deepl-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "translateplus": 35,
        "weight": 14
      },
      {
        "by": 0,
        "deepl-api": 30,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "translateplus": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 77,
        "deepl-api": 87,
        "edge": "deepl-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "translateplus": 10,
        "weight": 7
      },
      {
        "by": 29,
        "deepl-api": 81,
        "edge": "deepl-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "translateplus": 52,
        "weight": 7
      }
    ],
    "summary": "DeepL API scores 69.1 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "deepl-api": "Up to 5 glossaries, five formality settings, style rules and up to 10 custom instructions on the translate call. API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus",
    "json": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.min.md"
  },
  "markdown": "DeepL API scores 69.1 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.\n\n- DeepL API: grade B, 69.1/100, rank #260 of 1486. Markdown https://www.anchorterminal.com/tools/deepl-api.md · JSON https://www.anchorterminal.com/api/v1/tools/deepl-api.json\n- TranslatePlus: grade E, 39.7/100, rank #1316 of 1486. Markdown https://www.anchorterminal.com/tools/translateplus.md · JSON https://www.anchorterminal.com/api/v1/tools/translateplus.json\n- Best machine translation APIs for AI agents: https://www.anchorterminal.com/best/translation/index.md\n- All 105 translation comparisons: https://www.anchorterminal.com/compare/translation/index.md\n\n## Which one, for what\n\n### DeepL API (B)\n\nGood for: Agents that need terminology control, formality and document layout kept, in European and Asian languages, and teams that want an MCP server today.\n\nAhead on:\n- Reliability, 52 against 45\n- Schema \u0026 documentation, 95 against 52\n- Agent ergonomics, 83 against 61\n- Security \u0026 auth, 82 against 35\n- Maintenance \u0026 community, 87 against 10\n- Transparency \u0026 trust, 81 against 52\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset\n\n### TranslatePlus (E)\n\nGood for: Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.\n\nWatch 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\n\n\n## Why the edge\n\n### Maintenance \u0026 community: DeepL API +77\n\n- DeepL API (87): Changelog entries on 28 and 29 October 2026 (30). 19 dated changelog entries on 15 days since 3 August and 15 `deepl-mcp-server` releases in the same window, the newest 1.3.15 on 14 October (20). Public changelog, support centre and an issue triage workflow on the MCP repository, but we didn't read the GitHub issues (12 of 15). Official SDKs current, the MCP server pins `deepl-node` 1.28.1 (15). The MCP server runs CI on every push, with Renovate keeping dependencies current (latest update 30 October) (10).\n- 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.\n\n### Security \u0026 auth: DeepL API +47\n\n- DeepL API (82): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Keys go only in the `Authorization` header since query and body auth were switched off in January and February 2026. API Key Permissions, GA on 24 June 2026, scope a key to chosen endpoints, the Admin API creates, labels and deactivates developer keys, and the hosted MCP signs in with OAuth (30). DeepL says paid-plan texts aren't used for training without consent, while free services may keep content for a limited time to train models. The privacy policy doesn't say which side API Developer keys fall on (15 of 20). Paid-plan texts are deleted once the job is done, document translation runs on DeepL's own infrastructure in the EEA (12 of 15). Usage reports by key and custom reporting tag, and a trace ID per call, but no audit log of key use found (10 of 15). security.txt PGP-signed and valid to 2026-12-01 per the 30 September check, a security@deepl.com address in the repositories and SOC 2 Type II claimed. No bug bounty found (15 of 20).\n- 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.\n\n### Schema \u0026 documentation: DeepL API +43\n\n- DeepL API (95): OpenAPI 3 document (version 3.14.0, 45 paths on 1 November), synced from DeepL's docs to the DeepLcom/openapi repository (last sync 28 October 2026) and served at developers.deepl.com (25). llms.txt with 144 links and agent instructions, plus a keyless docs MCP server since 3 June 2026 (10). Operation descriptions say what each call does, and the docs say when to pick `latency_optimized` or `quality_optimized`, though not when to avoid an endpoint (15 of 20). Enums for formality, tag handling, model type and sentence splitting, with required fields marked (15). `/v2/translate` documents 11 response codes including 429, 456 and 529, with examples throughout (15). Versioned paths (v1, v2, v3) and a dated changelog (15).\n- 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.\n\n### Transparency \u0026 trust: DeepL API +29\n\n- DeepL API (81): Closed service with published terms, the MCP server and OpenAPI repository under MIT (15). The privacy policy and data security page agree that paid-plan texts are deleted after the job and not used for training without consent, but neither places API Developer keys (22 of 30). Dated deprecations in the changelog, query and body auth deprecated in November 2025 and cut off on 20 January 2026 after a brownout, `/v2/languages` deprecated on 18 May 2026 (18 of 20). EEA processing for documents and regional endpoints for some customers, but we didn't find a public sub-processor list outside the trust centre at trust.deepl.com (12 of 20).\n- 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.\n\n### Agent ergonomics: DeepL API +22\n\n- DeepL API (83): API reading of the checklist. Responses carry the translation and detected language, with billed characters opt-in through `show_billed_characters`. The local MCP server has 13 compact tools, the hosted one up to 28 per DeepL's docs (22 of 25). Many strings per call up to 128 KiB, paging on style rules and translation memories, up to 5 glossaries a request (18 of 20). Errors carry a message, a code where available and a trace ID, and the docs say which codes to retry (20). Text translation is stateless with backoff guidance, but document jobs take no idempotency key and the MCP tools carry no readOnlyHint or destructiveHint annotations (10 of 20). Two required fields on translate, official SDKs for Python, Node.js and others, but a free key sent to the paid host fails (13 of 15).\n- TranslatePlus (61): API reading. Batch translation of up to 100 texts a call and separate HTML, email, subtitle and i18n job endpoints (16). Few output controls or filters (10). Errors are a `detail` string with HTTP status codes (12). No idempotency key for i18n jobs, though text translation is stateless (8). Official SDKs listed for Python, JavaScript and TypeScript, Java and PHP, with few required fields (15). 16+10+12+8+15 = 61.\n\n### Reliability: DeepL API +7\n\n- DeepL API (52): Status page at status.deepl.com, which the changelog says became one combined page with an API view on 16 July 2026 (20). The page renders only in a browser, and /history, the Statuspage JSON path and an RSS feed all return the same empty application shell on 1 November, so we couldn't read its incidents. That's our limit, not a finding, but the rubric gives 5 for history we can't read (5). Request size limits are published (128 KiB a request, 16 KiB of headers) and plan character caps, and the error-handling guide says there is no fixed request-per-second figure because the service adjusts to load (5 of 15). 429 and 529 mean wait and resend, 456 means a usage limit was reached, and the guide says to retry 429 and 5xx with exponential backoff and jitter, to honour Retry-After when a response includes one and to log `X-Trace-ID`. It doesn't say which responses carry Retry-After, and document uploads take no idempotency key (12 of 15). No SLA found for self-serve plans (0). The text and document APIs are GA (10).\n- 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.\n\n## Score by category\n\n| Category | Weight | DeepL API | TranslatePlus | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 45 | DeepL API +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 52 | DeepL API +43 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 61 | DeepL API +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 82 | 35 | DeepL API +47 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 10 | DeepL API +77 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 52 | DeepL API +29 |\n| Negative events | ≤15 | -3 | -3 | |\n| **Total** | | **69.1 · B** | **39.7 · E** | |\n\n## Facts side by side\n\n| Fact | DeepL API | TranslatePlus |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DeepL | PetaBytes, Inc. |\n| Hosted endpoint | `https://api.deepl.com/v2/translate` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (MCP server) | none |\n| Tools exposed | 13 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-29 | 2026-01-11 |\n| Terms last updated | 2026-08-01 | 2024-12-18 |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 117 stars, 328k npm/wk, 291k PyPI/wk | 6 npm/wk, 4 PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## How the scores have moved\n\n### DeepL API\n\n- -3.0 on 1 November 2026 (BB to B): correction\n- +0.1 on 27 October 2026: checklist\n- -0.4 on 8 October 2026: checklist\n\n### TranslatePlus\n\nNo score change since it was listed.\n\n## Verdicts\n\n**DeepL API.** Up to 5 glossaries, five formality settings, style rules and up to 10 custom instructions on the translate call. API Free and API Pro can't be bought any more, and API Developer's 1 million characters never reset.\n\n**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.\n\n## Before you call either\n\n### DeepL API\n\n1. Match the host to the key. Keys ending `:fx` go to api-free.deepl.com, others to api.deepl.com\n2. Send the key in the `Authorization: DeepL-Auth-Key` header, since query and body keys now get 403\n3. Retry 429 and 529 with exponential backoff but stop on 456, which means the quota is spent\n4. Set `tag_handling` to html for markup so the tags survive and aren't billed\n5. Put a key-level usage limit on any key an agent holds, and scope it to the endpoints it needs\n6. Set `input_conversion_options=version:1,json-placeholders:translate` on JSON documents only if placeholders should be translated; they're kept verbatim by default\n\n### TranslatePlus\n\n1. Send the key as X-API-KEY; there is no read-only or scoped key\n2. Use /v2/translate/batch for up to 100 texts instead of looping single calls\n3. Keep each text under the plan's per-request character limit (500 on Free, up to 2,000 on Mega)\n4. On 429 wait until X-RateLimit-Reset, then retry a few times at most\n5. Don't rely on an SLA; the terms don't guarantee uptime\n\n## Questions\n\n### Which is better for AI agents, DeepL API or TranslatePlus?\n\nDeepL API scores 69.1 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.\n\n### Do DeepL API and TranslatePlus need an API key?\n\nDeepL API takes an API key or an OAuth sign-in. TranslatePlus needs an API key.\n\n### Can an agent call DeepL API and TranslatePlus without installing anything?\n\nDeepL API has a hosted endpoint at https://api.deepl.com/v2/translate. No hosted endpoint is listed for TranslatePlus.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepl-api\", \"b\": \"translateplus\"}`. From a terminal: `anchor compare deepl-api translateplus`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepl-api.json and https://www.anchorterminal.com/api/v1/tools/translateplus.json\n\n## Other comparisons with DeepL API or TranslatePlus\n\n- [Amazon Translate vs DeepL API](https://www.anchorterminal.com/compare/amazon-translate-vs-deepl-api.md)\n- [Amazon Translate vs TranslatePlus](https://www.anchorterminal.com/compare/amazon-translate-vs-translateplus.md)\n- [Azure Translator vs DeepL API](https://www.anchorterminal.com/compare/azure-translator-vs-deepl-api.md)\n- [Azure Translator vs TranslatePlus](https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.md)\n- [Crowdin vs DeepL API](https://www.anchorterminal.com/compare/crowdin-vs-deepl-api.md)\n- [Crowdin vs TranslatePlus](https://www.anchorterminal.com/compare/crowdin-vs-translateplus.md)\n- [DeepL API vs Google Cloud Translation](https://www.anchorterminal.com/compare/deepl-api-vs-google-cloud-translation.md)\n- [DeepL API vs Lara Translate API](https://www.anchorterminal.com/compare/deepl-api-vs-lara-translate.md)\n- [DeepL API vs LibreTranslate](https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate.md)\n- [DeepL API vs Lingo.dev](https://www.anchorterminal.com/compare/deepl-api-vs-lingo-dev.md)\n- [DeepL API vs Lingvanex Translation API](https://www.anchorterminal.com/compare/deepl-api-vs-lingvanex.md)\n- [DeepL API vs Localazy](https://www.anchorterminal.com/compare/deepl-api-vs-localazy.md)\n- [DeepL API vs Lokalise](https://www.anchorterminal.com/compare/deepl-api-vs-lokalise.md)\n- [DeepL API vs Phrase](https://www.anchorterminal.com/compare/deepl-api-vs-phrase.md)\n- [DeepL API vs Smartcat](https://www.anchorterminal.com/compare/deepl-api-vs-smartcat.md)\n- [DeepL API vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/deepl-api-vs-systran.md)\n- [Google Cloud Translation vs TranslatePlus](https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus.md)\n- [Lara Translate API vs TranslatePlus](https://www.anchorterminal.com/compare/lara-translate-vs-translateplus.md)\n- [LibreTranslate vs TranslatePlus](https://www.anchorterminal.com/compare/libretranslate-vs-translateplus.md)\n- [Lingo.dev vs TranslatePlus](https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus.md)\n- [Lingvanex Translation API vs TranslatePlus](https://www.anchorterminal.com/compare/lingvanex-vs-translateplus.md)\n- [Localazy vs TranslatePlus](https://www.anchorterminal.com/compare/localazy-vs-translateplus.md)\n- [Lokalise vs TranslatePlus](https://www.anchorterminal.com/compare/lokalise-vs-translateplus.md)\n- [Phrase vs TranslatePlus](https://www.anchorterminal.com/compare/phrase-vs-translateplus.md)\n- [Smartcat vs TranslatePlus](https://www.anchorterminal.com/compare/smartcat-vs-translateplus.md)\n- [SYSTRAN Translate API vs TranslatePlus](https://www.anchorterminal.com/compare/systran-vs-translateplus.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DeepL API vs TranslatePlus",
        "url": ""
      }
    ],
    "description": "DeepL scores 69.1 (B) to TranslatePlus's 39.7 (E) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepL API B 69.1",
      "TranslatePlus E 39.7",
      "scores"
    ],
    "h1": "DeepL API vs TranslatePlus",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/deepl-api-vs-translateplus",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepL vs TranslatePlus for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 2830
  },
  "version": 1
}
