{
  "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 Localazy's 54.4 (C), and leads in 5 of 7 scored categories. Localazy leads on reliability and payments \u0026 pricing.",
    "b": {
      "slug": "localazy",
      "name": "Localazy",
      "vendor": "Localazy s.r.o.",
      "vendorUrl": "https://localazy.com",
      "kind": "http-api",
      "category": "translation",
      "summary": "Localazy is a Czech localisation platform for software teams, with a translation management system, AI and human translation, a CLI, a REST API for projects, keys, files and glossaries, and a translation CDN.",
      "url": "https://www.anchorterminal.com/tools/localazy",
      "markdownUrl": "https://www.anchorterminal.com/tools/localazy.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/localazy.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/localazy.json",
      "dns": "localazy.grade.anchorterminal.com",
      "repo": "https://github.com/localazy/api-client",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@localazy/api-client"
        },
        {
          "registry": "npm",
          "name": "@localazy/cli"
        }
      ],
      "auth": "pat",
      "authNotes": "Bearer tokens minted by a project owner at localazy.com/developer/tokens after a browser signup. Project tokens have read and write access to every endpoint of one project. Translation tokens reach only the AI Translation endpoint. Organisation tokens are a beta on request.",
      "pricing": "freemium",
      "pricingNotes": "Free plan for small projects. Professional $34, Autopilot $78 and Business $175 a month billed annually, each including monthly translation credits ($1 each). Localazy AI averages $0.005 a word. 14-day Business trial with no credit card.",
      "priceSummary": "$34 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs or pricing (checked 2026-11-06). Plans and credits are paid by card through Stripe, or SEPA on request.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 61319,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://localazy.com/docs/api/introduction",
      "llmsTxt": "https://localazy.com/llms.txt",
      "capabilities": [
        "translate.text",
        "translate.glossary",
        "translate.documents",
        "cms.localisation"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "free-trial",
        "cli",
        "typescript",
        "android",
        "ios",
        "status-page",
        "eu",
        "localisation",
        "beta",
        "closed-source"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.4,
        "grade": "C",
        "agentReady": false,
        "rank": 909,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 75,
          "payments": 35,
          "reliability": 68,
          "schema": 51,
          "security": 37,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Localazy is a localisation platform whose REST API, CLI and AI Translation endpoint use project-scoped bearer tokens, with published limits, a free plan and a no-card trial. There's no OpenAPI spec, no 429 guidance, no security.txt or disclosure policy, and project tokens carry full read and write access.",
        "bestFor": "App and game teams that keep source strings in a TMS and want agents to push keys, pull translations or run AI translation with a glossary.",
        "strengths": [
          "A translation-only token limits an agent to the AI Translation endpoint",
          "Rate and request limits published per plan, with daily import and fetch caps",
          "Free plan for small projects and a 14-day Business trial without a credit card",
          "Endpoint pages show token type, permission and role needed, with sample requests and errors",
          "TypeScript API client released 26 October 2026, plus a CLI and mobile libraries"
        ],
        "weaknesses": [
          "No OpenAPI spec, and llms.txt only lists top-level pages",
          "Project tokens get read and write access to every endpoint of the project",
          "No security.txt, disclosure policy or certification found",
          "No 429 or retry guidance, and no SLA",
          "The AI Translation endpoint is in beta"
        ],
        "agentNotes": [
          "Ask for a translation token when the task is only machine translation, rather than a project token",
          "Keep under 10 requests a second and the plan's daily import and fetch caps per project",
          "Use the Localazy CDN, not the API, to fetch translations in a live app",
          "Import at most 1,000 keys and 50 files a request, and don't run parallel imports into the same new file",
          "Check the account's credit balance before bulk AI translation, since each word uses credits"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.4
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 75,
          "payments": 35,
          "reliability": 68,
          "schema": 51,
          "security": 37,
          "transparency": 40
        },
        "provenanceScore": 73,
        "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": "npm install -g @localazy/cli",
        "http": "curl -H \"Authorization: Bearer $LOCALAZY_TOKEN\" https://api.localazy.com/projects"
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/localazy"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Professional plan, billed annually",
          "unit": "month",
          "usd": 34,
          "note": "1,000 source keys, 12,000 words of Localazy AI translation"
        },
        {
          "item": "Business plan, billed annually",
          "unit": "month",
          "usd": 175,
          "note": "Monthly credits included"
        }
      ],
      "provenance": {
        "legalEntity": "Localazy s.r.o.",
        "domain": "localazy.com",
        "domainRegistered": "2018-04-24",
        "endpointOnVendorDomain": true,
        "terms": "https://localazy.com/terms-and-conditions",
        "privacy": "https://localazy.com/privacy-policy",
        "statusPage": "https://status.localazy.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name Localazy s.r.o., Mlýnská 326/13, 602 00 Brno, Czech Republic, company ID 09050451, registered at the Regional Court in Brno, under Czech law.",
          "robots.txt on localazy.com disallows ClaudeBot, GPTBot, Google-Extended, CCBot and Bytespider and allows Claude-User, Claude-SearchBot, ChatGPT-User and others by name; research continued on that basis, as the founder decided on 30 October 2026 (arcmira's precedent).",
          "localazy.com/.well-known/security.txt and /security return 404.",
          "No API changelog was found; localazy.com/changelog returns 404. Release updates appear as blog posts.",
          "RDAP gives localazy.com a registration date of 24 April 2018."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/localazy.json",
      "live": {
        "slug": "localazy",
        "vendorStatus": {
          "page": "https://status.localazy.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:00.405159441Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "localazy/api-client",
            "version": "2.3.2",
            "released": "2026-10-26",
            "seenAt": "2026-11-06T23:41:15.049514814Z"
          },
          {
            "registry": "npm",
            "name": "@localazy/api-client",
            "version": "2.3.2",
            "seenAt": "2026-11-06T23:41:12.850780355Z"
          },
          {
            "registry": "npm",
            "name": "@localazy/cli",
            "version": "2.0.12",
            "seenAt": "2026-11-06T23:41:13.725514176Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 1211,
        "securityTxt": {
          "url": "https://localazy.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:35.625950014Z"
        },
        "llmsTxt": {
          "url": "https://localazy.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:54.35604842Z"
        },
        "pages": [
          {
            "url": "https://localazy.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:22.759899743Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3ab88891f9db"
          },
          {
            "url": "https://localazy.com/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:24.897447568Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9d1fa669c0c4"
          }
        ],
        "updatedAt": "2026-11-07T15:59:35.625950014Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "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": "Bearer tokens in the Authorization header. A project token reaches every endpoint of one project with read and write access; a translation token reaches only the AI Translation endpoint; organisation tokens are in beta on request (20). The translation token is the only least-privilege option, and project tokens can delete keys and glossary items without a confirmation step (10). The API returns strings written by translators and contributors, with no guidance on untrusted content (5). No per-call log or audit trail for tokens found (2). localazy.com/.well-known/security.txt and /security return 404, and we found no disclosure policy or certification (0). 20+10+5+2+0 = 37."
        },
        "scores": {
          "a": 82,
          "b": 37
        }
      },
      {
        "by": 44,
        "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 was found (0). localazy.com/llms.txt is a six-link index of top-level pages, with no Markdown docs for agents (5). Each endpoint page states which token types can call it, whether write permission is needed and the minimum role, and the limits page says to use the CDN, not the API, for production fetches (14). Request bodies list required and optional fields with limits, such as 512 characters for a key and 1,000 for a comment (12). Sample requests, responses and error responses per endpoint (13). Docs pages carry 'last updated' dates and the blog posts dated release updates, but there's no API version or changelog (7). 0+5+14+12+13+7 = 51."
        },
        "scores": {
          "a": 95,
          "b": 51
        }
      },
      {
        "by": 24,
        "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 that name Localazy s.r.o. of Brno and Czech law; the CLI is BSD-3-Clause and the API client MIT (15). The privacy policy keeps data while the service is used and 24 months after, and includes a DPA, but says nothing on whether content sent to Localazy AI is used for training (15). No deprecation policy or dated notices found (0). The DPA links a list of suppliers and subprocessors on an external knowledge base we didn't read (10). 15+15+0+10 = 40."
        },
        "scores": {
          "a": 81,
          "b": 57
        }
      },
      {
        "by": 21,
        "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. List endpoints return whole projects, files and keys with few output controls (13). Filtering by file, language and tags, and batch imports of up to 1,000 keys and 50 files a request (14). Error responses are documented per endpoint, with HTTP codes and messages (12). No idempotency keys, and the docs warn against parallel imports into the same new file (8). Official TypeScript API client, a CLI and Android and iOS libraries, with few required fields (15). 13+14+12+8+15 = 62."
        },
        "scores": {
          "a": 83,
          "b": 62
        }
      },
      {
        "by": 16,
        "category": "reliability",
        "leads": "localazy",
        "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, for the REST API at api.localazy.com. Better Stack status page with Web, API, Public API, Payments and Connect API components and 30, 60 and 90-day uptime (20). The incidents page reports none for September, October or November 2026, but the Public API shows 99.805% uptime in one 30-day bucket, roughly an hour and a half of downtime with no incident posted, so the line is held below clean (25). Limits per plan of 100 requests a minute and 10 a second, plus daily import and fetch caps per project (15). No 429 or retry guidance found in the API docs (0). No SLA found on the pricing page or in the terms (0). The core API is GA; the AI Translation endpoint is marked beta (8). 20+25+15+0+0+8 = 68."
        },
        "scores": {
          "a": 52,
          "b": 68
        }
      },
      {
        "by": 12,
        "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": "@localazy/api-client 2.3.2 on 26 October 2026 (30). Releases 2.3.0 (12 August), 2.3.1 (29 September) and 2.3.2 (26 October) in the last 90 days (20). Support by email, blog release updates, and public GitHub repositories, but we didn't read issue reply times (7). The TypeScript client and the CLI (2.0.12 on 31 July 2026) are current (13). The client repository shows coverage badges; we didn't confirm CI runs (5). 30+20+7+13+5 = 75."
        },
        "scores": {
          "a": 87,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DeepL",
        "b": "Localazy s.r.o.",
        "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": "Token",
        "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": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "2026-08-01",
        "b": "no date given",
        "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": "61k npm/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 Localazy's 54.4 (C), and leads in 5 of 7 scored categories. Localazy leads on reliability and payments \u0026 pricing.",
        "question": "Which is better for AI agents, DeepL API or Localazy?"
      },
      {
        "answer": "DeepL API takes an API key or an OAuth sign-in. Localazy needs an access token.",
        "question": "Do DeepL API and Localazy need an API key?"
      },
      {
        "answer": "DeepL API has a hosted endpoint at https://api.deepl.com/v2/translate. No hosted endpoint is listed for Localazy.",
        "question": "Can an agent call DeepL API and Localazy without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 95 against 51",
          "Agent ergonomics, 83 against 62",
          "Security \u0026 auth, 82 against 37",
          "Maintenance \u0026 community, 87 against 75",
          "Transparency \u0026 trust, 81 against 57"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "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": [
          "Reliability, 68 against 52",
          "Payments \u0026 pricing, 35 against 30"
        ],
        "also": [
          "No incidents deducted, where DeepL API loses 3 points for them"
        ],
        "goodFor": "App and game teams that keep source strings in a TMS and want agents to push keys, pull translations or run AI translation with a glossary.",
        "slug": "localazy",
        "watchFor": "No OpenAPI spec, and llms.txt only lists top-level pages"
      }
    ],
    "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"
        }
      ],
      "localazy": 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-localazy.json",
        "title": "Amazon Translate vs Localazy",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-localazy"
      },
      {
        "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-localazy.json",
        "title": "Azure Translator vs Localazy",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-localazy"
      },
      {
        "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-localazy.json",
        "title": "Crowdin vs Localazy",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-localazy"
      },
      {
        "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-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/deepl-api-vs-translateplus.json",
        "title": "DeepL API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-localazy.json",
        "title": "Google Cloud Translation vs Localazy",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lara-translate-vs-localazy.json",
        "title": "Lara Translate API vs Localazy",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy.json",
        "title": "LibreTranslate vs Localazy",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingo-dev-vs-localazy.json",
        "title": "Lingo.dev vs Localazy",
        "url": "https://www.anchorterminal.com/compare/lingo-dev-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingvanex-vs-localazy.json",
        "title": "Lingvanex Translation API vs Localazy",
        "url": "https://www.anchorterminal.com/compare/lingvanex-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-lokalise.json",
        "title": "Localazy vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-lokalise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-phrase.json",
        "title": "Localazy vs Phrase",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-smartcat.json",
        "title": "Localazy vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-systran.json",
        "title": "Localazy vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-systran"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-translateplus.json",
        "title": "Localazy vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-translateplus"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 16,
        "deepl-api": 52,
        "edge": "localazy",
        "key": "reliability",
        "localazy": 68,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 44,
        "deepl-api": 95,
        "edge": "deepl-api",
        "key": "schema",
        "localazy": 51,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 21,
        "deepl-api": 83,
        "edge": "deepl-api",
        "key": "ergonomics",
        "localazy": 62,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 45,
        "deepl-api": 82,
        "edge": "deepl-api",
        "key": "security",
        "localazy": 37,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "deepl-api": 30,
        "edge": "localazy",
        "key": "payments",
        "localazy": 35,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "deepl-api": 87,
        "edge": "deepl-api",
        "key": "maintenance",
        "localazy": 75,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 24,
        "deepl-api": 81,
        "edge": "deepl-api",
        "key": "transparency",
        "localazy": 57,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "DeepL API scores 69.1 (B) on agent readiness against Localazy's 54.4 (C), and leads in 5 of 7 scored categories. Localazy leads on reliability and payments \u0026 pricing. 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.",
      "localazy": "Localazy is a localisation platform whose REST API, CLI and AI Translation endpoint use project-scoped bearer tokens, with published limits, a free plan and a no-card trial. There's no OpenAPI spec, no 429 guidance, no security.txt or disclosure policy, and project tokens carry full read and write access."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy",
    "json": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy.min.md"
  },
  "markdown": "DeepL API scores 69.1 (B) on agent readiness against Localazy's 54.4 (C), and leads in 5 of 7 scored categories. Localazy leads on reliability and payments \u0026 pricing. 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- Localazy: grade C, 54.4/100, rank #909 of 1486. Markdown https://www.anchorterminal.com/tools/localazy.md · JSON https://www.anchorterminal.com/api/v1/tools/localazy.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- Schema \u0026 documentation, 95 against 51\n- Agent ergonomics, 83 against 62\n- Security \u0026 auth, 82 against 37\n- Maintenance \u0026 community, 87 against 75\n- Transparency \u0026 trust, 81 against 57\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\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### Localazy (C)\n\nGood for: App and game teams that keep source strings in a TMS and want agents to push keys, pull translations or run AI translation with a glossary.\n\nAhead on:\n- Reliability, 68 against 52\n- Payments \u0026 pricing, 35 against 30\n\nAlso in its favour:\n- No incidents deducted, where DeepL API loses 3 points for them\n\nWatch for: No OpenAPI spec, and llms.txt only lists top-level pages\n\n\n## Why the edge\n\n### Security \u0026 auth: DeepL API +45\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- Localazy (37): Bearer tokens in the Authorization header. A project token reaches every endpoint of one project with read and write access; a translation token reaches only the AI Translation endpoint; organisation tokens are in beta on request (20). The translation token is the only least-privilege option, and project tokens can delete keys and glossary items without a confirmation step (10). The API returns strings written by translators and contributors, with no guidance on untrusted content (5). No per-call log or audit trail for tokens found (2). localazy.com/.well-known/security.txt and /security return 404, and we found no disclosure policy or certification (0). 20+10+5+2+0 = 37.\n\n### Schema \u0026 documentation: DeepL API +44\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- Localazy (51): No OpenAPI or other machine-readable contract was found (0). localazy.com/llms.txt is a six-link index of top-level pages, with no Markdown docs for agents (5). Each endpoint page states which token types can call it, whether write permission is needed and the minimum role, and the limits page says to use the CDN, not the API, for production fetches (14). Request bodies list required and optional fields with limits, such as 512 characters for a key and 1,000 for a comment (12). Sample requests, responses and error responses per endpoint (13). Docs pages carry 'last updated' dates and the blog posts dated release updates, but there's no API version or changelog (7). 0+5+14+12+13+7 = 51.\n\n### Transparency \u0026 trust: DeepL API +24\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- Localazy (57): Editorial half only. Closed service under terms that name Localazy s.r.o. of Brno and Czech law; the CLI is BSD-3-Clause and the API client MIT (15). The privacy policy keeps data while the service is used and 24 months after, and includes a DPA, but says nothing on whether content sent to Localazy AI is used for training (15). No deprecation policy or dated notices found (0). The DPA links a list of suppliers and subprocessors on an external knowledge base we didn't read (10). 15+15+0+10 = 40.\n\n### Agent ergonomics: DeepL API +21\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- Localazy (62): API reading. List endpoints return whole projects, files and keys with few output controls (13). Filtering by file, language and tags, and batch imports of up to 1,000 keys and 50 files a request (14). Error responses are documented per endpoint, with HTTP codes and messages (12). No idempotency keys, and the docs warn against parallel imports into the same new file (8). Official TypeScript API client, a CLI and Android and iOS libraries, with few required fields (15). 13+14+12+8+15 = 62.\n\n### Reliability: Localazy +16\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- Localazy (68): Hosted lines, for the REST API at api.localazy.com. Better Stack status page with Web, API, Public API, Payments and Connect API components and 30, 60 and 90-day uptime (20). The incidents page reports none for September, October or November 2026, but the Public API shows 99.805% uptime in one 30-day bucket, roughly an hour and a half of downtime with no incident posted, so the line is held below clean (25). Limits per plan of 100 requests a minute and 10 a second, plus daily import and fetch caps per project (15). No 429 or retry guidance found in the API docs (0). No SLA found on the pricing page or in the terms (0). The core API is GA; the AI Translation endpoint is marked beta (8). 20+25+15+0+0+8 = 68.\n\n### Maintenance \u0026 community: DeepL API +12\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- Localazy (75): @localazy/api-client 2.3.2 on 26 October 2026 (30). Releases 2.3.0 (12 August), 2.3.1 (29 September) and 2.3.2 (26 October) in the last 90 days (20). Support by email, blog release updates, and public GitHub repositories, but we didn't read issue reply times (7). The TypeScript client and the CLI (2.0.12 on 31 July 2026) are current (13). The client repository shows coverage badges; we didn't confirm CI runs (5). 30+20+7+13+5 = 75.\n\n## Score by category\n\n| Category | Weight | DeepL API | Localazy | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 68 | Localazy +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 51 | DeepL API +44 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 62 | DeepL API +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 82 | 37 | DeepL API +45 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Localazy +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 75 | DeepL API +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 57 | DeepL API +24 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **69.1 · B** | **54.4 · C** | |\n\n## Facts side by side\n\n| Fact | DeepL API | Localazy |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DeepL | Localazy s.r.o. |\n| Hosted endpoint | `https://api.deepl.com/v2/translate` | no (local only) |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | Token |\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 | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-29 | 2026-10-26 |\n| Terms last updated | 2026-08-01 | no date given |\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 | 61k npm/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### Localazy\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**Localazy.** Localazy is a localisation platform whose REST API, CLI and AI Translation endpoint use project-scoped bearer tokens, with published limits, a free plan and a no-card trial. There's no OpenAPI spec, no 429 guidance, no security.txt or disclosure policy, and project tokens carry full read and write access.\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### Localazy\n\n1. Ask for a translation token when the task is only machine translation, rather than a project token\n2. Keep under 10 requests a second and the plan's daily import and fetch caps per project\n3. Use the Localazy CDN, not the API, to fetch translations in a live app\n4. Import at most 1,000 keys and 50 files a request, and don't run parallel imports into the same new file\n5. Check the account's credit balance before bulk AI translation, since each word uses credits\n\n## Questions\n\n### Which is better for AI agents, DeepL API or Localazy?\n\nDeepL API scores 69.1 (B) on agent readiness against Localazy's 54.4 (C), and leads in 5 of 7 scored categories. Localazy leads on reliability and payments \u0026 pricing.\n\n### Do DeepL API and Localazy need an API key?\n\nDeepL API takes an API key or an OAuth sign-in. Localazy needs an access token.\n\n### Can an agent call DeepL API and Localazy without installing anything?\n\nDeepL API has a hosted endpoint at https://api.deepl.com/v2/translate. No hosted endpoint is listed for Localazy.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deepl-api-vs-localazy.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepl-api-vs-localazy.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepl-api\", \"b\": \"localazy\"}`. From a terminal: `anchor compare deepl-api localazy`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepl-api.json and https://www.anchorterminal.com/api/v1/tools/localazy.json\n\n## Other comparisons with DeepL API or Localazy\n\n- [Amazon Translate vs DeepL API](https://www.anchorterminal.com/compare/amazon-translate-vs-deepl-api.md)\n- [Amazon Translate vs Localazy](https://www.anchorterminal.com/compare/amazon-translate-vs-localazy.md)\n- [Azure Translator vs DeepL API](https://www.anchorterminal.com/compare/azure-translator-vs-deepl-api.md)\n- [Azure Translator vs Localazy](https://www.anchorterminal.com/compare/azure-translator-vs-localazy.md)\n- [Crowdin vs DeepL API](https://www.anchorterminal.com/compare/crowdin-vs-deepl-api.md)\n- [Crowdin vs Localazy](https://www.anchorterminal.com/compare/crowdin-vs-localazy.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 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- [DeepL API vs TranslatePlus](https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.md)\n- [Google Cloud Translation vs Localazy](https://www.anchorterminal.com/compare/google-cloud-translation-vs-localazy.md)\n- [Lara Translate API vs Localazy](https://www.anchorterminal.com/compare/lara-translate-vs-localazy.md)\n- [LibreTranslate vs Localazy](https://www.anchorterminal.com/compare/libretranslate-vs-localazy.md)\n- [Lingo.dev vs Localazy](https://www.anchorterminal.com/compare/lingo-dev-vs-localazy.md)\n- [Lingvanex Translation API vs Localazy](https://www.anchorterminal.com/compare/lingvanex-vs-localazy.md)\n- [Localazy vs Lokalise](https://www.anchorterminal.com/compare/localazy-vs-lokalise.md)\n- [Localazy vs Phrase](https://www.anchorterminal.com/compare/localazy-vs-phrase.md)\n- [Localazy vs Smartcat](https://www.anchorterminal.com/compare/localazy-vs-smartcat.md)\n- [Localazy vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/localazy-vs-systran.md)\n- [Localazy vs TranslatePlus](https://www.anchorterminal.com/compare/localazy-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 Localazy",
        "url": ""
      }
    ],
    "description": "DeepL scores 69.1 (B) to Localazy's 54.4 (C) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepL API B 69.1",
      "Localazy C 54.4",
      "scores"
    ],
    "h1": "DeepL API vs Localazy",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/deepl-api-vs-localazy",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepL vs Localazy for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/deepl-api-vs-localazy"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 2880
  },
  "version": 1
}
