{
  "data": {
    "a": {
      "slug": "azure-translator",
      "name": "Azure Translator",
      "vendor": "Microsoft",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/ai-services/ai-translator",
      "kind": "http-api",
      "category": "translation",
      "summary": "Microsoft's translation API, now part of Foundry Tools.",
      "url": "https://www.anchorterminal.com/tools/azure-translator",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-translator.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-translator.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-translator.json",
      "dns": "azure-translator.grade.anchorterminal.com",
      "repo": "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/translation",
      "license": "MIT (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cognitive.microsofttranslator.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-ai-translation-text"
        },
        {
          "registry": "npm",
          "name": "@azure-rest/ai-translation-text"
        }
      ],
      "auth": "mixed",
      "authNotes": "`Ocp-Apim-Subscription-Key` with the resource key plus `Ocp-Apim-Subscription-Region`, a time-limited bearer token, or Microsoft Entra ID (managed identity or service principal). LLM translation also needs a Microsoft Foundry resource.",
      "pricing": "freemium",
      "pricingNotes": "Free F0 tier with 2 million characters a month of standard translation and custom training combined (https://azure.microsoft.com/en-us/pricing/details/translator/). Pay as you go (S1) in East US is $10 per million characters for text, $15 for document translation, $40 for custom-model translation and $10 for custom training, plus $10 a month per hosted custom model per region. Commitment tiers are $2,055 a month for 250 million characters ($8.22 per million over), $6,000 for 1 billion ($6) and $22,000 for 4 billion ($5.50) (https://prices.azure.com/api/retail/prices?$filter=productName%20eq%20%27Translator%20Text%27). LLM translation bills input and output tokens at Azure OpenAI rates instead of characters (https://learn.microsoft.com/en-us/azure/ai-services/translator/text-translation/overview).",
      "priceSummary": "$10 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 156429,
        "pypiWeekly": 39569,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/ai-services/translator/",
      "openapi": "https://github.com/Azure/azure-rest-api-specs/blob/main/specification/translation/data-plane/TextTranslation/stable/2026-06-06/openapi.json",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.glossary",
        "translate.detect",
        "translate.formality"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "python",
        "typescript",
        "enterprise",
        "batch",
        "async-jobs",
        "card-required"
      ],
      "lastRelease": "2026-08-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72,
        "grade": "BB",
        "agentReady": true,
        "rank": 141,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 70,
          "payments": 20,
          "reliability": 83,
          "schema": 83,
          "security": 75,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "$10 per million characters pay as you go, 2 million free a month on F0, commitment overage down to $5.50. The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec.",
        "bestFor": "Azure shops that want cheap NMT at volume, Entra ID auth and a choice of an LLM per request for tone and gender.",
        "strengths": [
          "$10 per million characters pay as you go, 2 million free a month on F0, commitment overage down to $5.50",
          "Text isn't stored and documents are hard-deleted after processing",
          "OpenAPI documents for 3.0 and 2026-06-06 in Microsoft's public spec repository",
          "Up to 1,000 texts and 50,000 characters in one NMT request, several targets per call",
          "Microsoft Entra ID with managed identities as well as keys"
        ],
        "weaknesses": [
          "The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec",
          "LLM translation needs a Foundry deployment and bills tokens on the Azure OpenAI meter",
          "Tone and gender controls only on the LLM option, which takes 50 texts of 5,000 characters a call",
          "No backoff or Retry-After guidance for 429",
          "The key can travel in a `Subscription-Key` query parameter"
        ],
        "agentNotes": [
          "Send `Ocp-Apim-Subscription-Region` with the key for a regional resource",
          "Pin `api-version=3.0` until your client handles the 2026-06-06 `inputs` and `value` shape",
          "Batch up to 1,000 strings a call rather than one call per string",
          "Spread load across the hour, since the character caps are hourly and bursts get 429",
          "Treat 403001 as the free quota running out, not a permissions error"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 70,
          "payments": 20,
          "reliability": 83,
          "schema": 83,
          "security": 75,
          "transparency": 65
        },
        "provenanceScore": 91,
        "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-10-08",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install azure-ai-translation-text   # or: npm i @azure-rest/ai-translation-text",
        "http": "curl -X POST \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0\u0026to=fr\" \\\n  -H \"Ocp-Apim-Subscription-Key: $AZURE_TRANSLATOR_KEY\" -H \"Ocp-Apim-Subscription-Region: $AZURE_TRANSLATOR_REGION\" \\\n  -H \"Content-Type: application/json\" -d '[{\"Text\":\"Your table is booked for seven.\"}]'"
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/azure-translator"
      },
      "sameCompany": [
        "azure-openai",
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "S1 text translation",
          "unit": "1m-chars",
          "usd": 10,
          "note": "East US, pay as you go"
        },
        {
          "item": "S1 document translation",
          "unit": "1m-chars",
          "usd": 15
        },
        {
          "item": "S1 custom-model translation",
          "unit": "1m-chars",
          "usd": 40
        },
        {
          "item": "Custom model training",
          "unit": "1m-chars",
          "usd": 10,
          "note": "Source plus target characters"
        },
        {
          "item": "Custom model hosting",
          "unit": "month",
          "usd": 10,
          "note": "Per model, per region"
        },
        {
          "item": "Commitment 250M",
          "unit": "month",
          "usd": 2055,
          "note": "250 million characters, $8.22 per million over"
        },
        {
          "item": "Commitment 1B",
          "unit": "month",
          "usd": 6000,
          "note": "1 billion characters, $6 per million over"
        },
        {
          "item": "Commitment 4B",
          "unit": "month",
          "usd": 22000,
          "note": "4 billion characters, $5.50 per million over"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The endpoint is on api.cognitive.microsofttranslator.com, a Microsoft domain. microsoft.com's security.txt passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/ai-services/translator/whats-new",
        "securityTxt": "expired",
        "checked": "2026-11-01",
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-translator.json",
      "live": {
        "slug": "azure-translator",
        "probe": {
          "target": "https://api.cognitive.microsofttranslator.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:12.31330924Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 112,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 55,
          "p95ms24h": 123,
          "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": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 249
            },
            {
              "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
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Azure/azure-sdk-for-python",
            "version": "azure-mgmt-commvaultcontentstore_2.0.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:09:42.806472527Z"
          },
          {
            "registry": "npm",
            "name": "@azure-rest/ai-translation-text",
            "version": "2.0.0",
            "seenAt": "2026-11-06T23:09:42.590847653Z"
          },
          {
            "registry": "pypi",
            "name": "azure-ai-translation-text",
            "version": "2.0.0",
            "released": "2026-05-29",
            "seenAt": "2026-11-06T23:09:42.409581725Z"
          }
        ],
        "githubStars": 5622,
        "npmWeekly": 101148,
        "pypiWeekly": 57725,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-11-01T14:14:19.336136409Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:57.855845068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "96691db5061f"
          },
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/text-translation/how-to/migrate-to-2026-06-06",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:55.597524598Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5df5f4238c7b"
          },
          {
            "url": "https://azure.microsoft.com/en-us/pricing/details/translator/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T13:59:57.756227541Z",
            "changedAt": "2026-10-30T05:32:19.250759188Z",
            "fingerprint": "f39f0fcaa0c3"
          },
          {
            "url": "https://prices.azure.com/api/retail/prices?$filter=productName%20eq%20%27Translator%20Text%27",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:19.975506245Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "github": {
          "repo": "azure/azure-sdk-for-python",
          "checkedAt": "2026-11-02T08:33:58.334097809Z",
          "stars": 5623,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T06:57:40Z",
          "openIssues": 753,
          "openPRs": 401,
          "issuesOpened90d": 181,
          "issuesClosed90d": 224,
          "prsMerged90d": 679,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-27T23:32:35Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 15,
            "medianDays": 2
          }
        },
        "updatedAt": "2026-11-07T18:20:12.31330924Z"
      }
    },
    "answer": "Azure Translator scores 72 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. TranslatePlus leads on payments \u0026 pricing.",
    "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": 60,
        "category": "maintenance",
        "leads": "azure-translator",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with official SDKs, as the other Azure listings are. The newest release that changes the client is Java text 2.0.3 on 28 August 2026 (a custom-endpoint fix), 65 days before 1 November (20). The Java text and document libraries' 2.0.4 and 2.0.2 (6 October) and 2.1.0 (30 October) only raise azure-core and azure-core-http-netty, per their changelogs and tags. Releases that don't change the service or the client count half on the 90-day line and don't set the recency line, as this run read Amazon Transcribe's and Amazon SNS's SDK tags. Well over three dated releases in the 90 days from 3 August even so, among them .NET document 3.0.0 and JavaScript document 1.0.0 on 5 August, Java text 2.0.2 on 18 August and 2.0.3 on 28 August (20). Public What's New page (updated 8 August), Microsoft Q\u0026A and GitHub issue trackers on the SDK repositories, which we didn't read (10 of 15). Official SDKs current in Python, JavaScript, .NET and Java, with text 2.0.0 for Python, JavaScript and .NET from 28 and 29 May 2026 (15). The SDKs live in the azure-sdk monorepos, CI not checked (5 of 10). Release dates are from the release tags and changelogs, since PyPI and npm didn't resolve from our shell on 1 November. 20+20+10+15+5 = 70.",
          "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": 70,
          "b": 10
        }
      },
      {
        "by": 40,
        "category": "security",
        "leads": "azure-translator",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Resource keys, 10-minute bearer tokens, or Microsoft Entra ID with the Cognitive Services User role and managed identities (30), less 10 because the authentication reference documents passing the key in a `Subscription-Key` query parameter (20). The data privacy page says text translation doesn't store customer data, which leaves nothing to train on, but we didn't find an explicit training statement there (15 of 20). Text isn't stored and documents are hard-deleted after processing. LLM translation runs through your own Foundry deployment, whose retention terms we didn't check (12 of 15). Azure Monitor and the activity log record resource actions, per-request logging not confirmed (10 of 15). MSRC disclosure policy, Azure bounty programme, SOC 2 and ISO 27001 reports. The microsoft.com security.txt passed its Expires date on 2026-09-23 and still carries it on 1 November. An MSRC search on 1 November lists no CVE for the Translator service (18 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": 75,
          "b": 35
        }
      },
      {
        "by": 38,
        "category": "reliability",
        "leads": "azure-translator",
        "name": "Reliability",
        "reasons": {
          "a": "Azure status page with post-incident reviews (20). The 90-day window now starts on 3 August. No review in it names Translator. The 29 September 2026 review covers intermittent failures and 500 and 503 errors for Azure OpenAI, Foundry and Azure AI services in Sweden Central from 10:03 to 15:58 UTC, which may touch Translator resources and LLM deployments there, one region and partial, so minor. The 30 September to 1 October gateway review covers networking services and doesn't name Translator. The public page lists only broad incidents (20). Limits published with numbers, 1,000 texts and 50,000 characters a request and hourly caps from 2 million characters on F0 to 200 million on S4 (15). 429 has three documented sub-codes (429000 to 429002) and the limits page asks for load spread across the hour, but there's no Retry-After or backoff guidance for 429, re-read on 1 November. Retry advice exists only for 408 and 503. Text translation has no side effects, so a retry is safe (8 of 15). The old Cognitive Services SLA address now redirects to Microsoft's Online Services SLA, a download we didn't open (10). API 2026-06-06 is GA (10). Same window reading as the Azure Speech, Key Vault and Blob Storage listings on 1 November.",
          "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": 83,
          "b": 45
        }
      },
      {
        "by": 31,
        "category": "schema",
        "leads": "azure-translator",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI documents for text translation 3.0 and 2026-06-06 are public in Azure/azure-rest-api-specs, with examples on each operation (25). No llms.txt found on learn.microsoft.com (0). Operation descriptions state purpose, and the overview says to pick NMT or an LLM by quality, cost and scenario, but not when to avoid either (15 of 20). Enums for `profanityAction`, `textType`, `tone` and `gender`, required fields marked, but the LLM `deploymentName` is a free string (13 of 15). Examples in the spec and a status-code page with six-digit error codes and their meanings (15). Dated `api-version` values and a What's New page (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": 83,
          "b": 52
        }
      },
      {
        "by": 26,
        "category": "transparency",
        "leads": "azure-translator",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under Microsoft's product terms, SDKs under MIT (15). The data privacy page and privacy statement agree on no storage of text and hard deletion of documents, but say nothing on training, and the LLM path falls under separate Foundry terms (22 of 30). Microsoft's lifecycle policy applies, but the What's New page gives no retirement date for v3.0 even though 2026-06-06 breaks its request shape (10 of 20). Regional resources and endpoints for data residency and a public Microsoft sub-processor list (18 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": 78,
          "b": 52
        }
      },
      {
        "by": 21,
        "category": "ergonomics",
        "leads": "azure-translator",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. Responses hold one translation per target with optional alignment and sentence lengths, and up to 1,000 texts go in one NMT call, but there's no field selection (20 of 25). Several targets per call, a `scope` filter on the language list, and `top` and `skip` paging on document jobs (18 of 20). Six-digit error codes such as 400036 (invalid target language) and 403001 (free quota exceeded) say what to fix (20). Text translation is stateless, but there's no 429 retry guidance and no idempotency key on document batches (12 of 20). A key, a region header and `api-version` on every call, with SDKs in Python, JavaScript, .NET and Java (12 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": 82,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "PetaBytes, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.cognitive.microsofttranslator.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$10 per 1M characters",
        "b": "not published",
        "name": "Price for translation"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-28",
        "b": "2026-01-11",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "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": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "156k npm/wk, 40k PyPI/wk",
        "b": "6 npm/wk, 4 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure Translator scores 72 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. TranslatePlus leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Translator or TranslatePlus?"
      },
      {
        "answer": "Azure Translator takes an API key or an OAuth sign-in. TranslatePlus needs an API key.",
        "question": "Do Azure Translator and TranslatePlus need an API key?"
      },
      {
        "answer": "Azure Translator has a hosted endpoint at https://api.cognitive.microsofttranslator.com. No hosted endpoint is listed for TranslatePlus.",
        "question": "Can an agent call Azure Translator and TranslatePlus without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 45",
          "Schema \u0026 documentation, 83 against 52",
          "Agent ergonomics, 82 against 61",
          "Security \u0026 auth, 75 against 35",
          "Maintenance \u0026 community, 70 against 10",
          "Transparency \u0026 trust, 78 against 52"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where TranslatePlus loses 3 points for them"
        ],
        "goodFor": "Azure shops that want cheap NMT at volume, Entra ID auth and a choice of an LLM per request for tone and gender.",
        "slug": "azure-translator",
        "watchFor": "The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 20"
        ],
        "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": {
      "azure-translator": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 72.2,
          "fromGrade": "BB",
          "to": 72,
          "toGrade": "BB"
        }
      ],
      "translateplus": null
    },
    "job": {
      "capability": "translate.text",
      "name": "Translation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-azure-translator.json",
        "title": "Amazon Translate vs Azure Translator",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-azure-translator"
      },
      {
        "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-crowdin.json",
        "title": "Azure Translator vs Crowdin",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-crowdin"
      },
      {
        "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-google-cloud-translation.json",
        "title": "Azure Translator vs Google Cloud Translation",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-google-cloud-translation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-lara-translate.json",
        "title": "Azure Translator vs Lara Translate API",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-lara-translate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-libretranslate.json",
        "title": "Azure Translator vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-libretranslate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-lingo-dev.json",
        "title": "Azure Translator vs Lingo.dev",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-lingo-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-lingvanex.json",
        "title": "Azure Translator vs Lingvanex Translation API",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-lingvanex"
      },
      {
        "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/azure-translator-vs-lokalise.json",
        "title": "Azure Translator vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-lokalise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase.json",
        "title": "Azure Translator vs Phrase",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-smartcat.json",
        "title": "Azure Translator vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-systran.json",
        "title": "Azure Translator vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-systran"
      },
      {
        "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-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-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": [
      {
        "azure-translator": 83,
        "by": 38,
        "edge": "azure-translator",
        "key": "reliability",
        "name": "Reliability",
        "translateplus": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-translator": 83,
        "by": 31,
        "edge": "azure-translator",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "translateplus": 52,
        "weight": 13
      },
      {
        "azure-translator": 82,
        "by": 21,
        "edge": "azure-translator",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "translateplus": 61,
        "weight": 13
      },
      {
        "azure-translator": 75,
        "by": 40,
        "edge": "azure-translator",
        "key": "security",
        "name": "Security \u0026 auth",
        "translateplus": 35,
        "weight": 14
      },
      {
        "azure-translator": 20,
        "by": 10,
        "edge": "translateplus",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "translateplus": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-translator": 70,
        "by": 60,
        "edge": "azure-translator",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "translateplus": 10,
        "weight": 7
      },
      {
        "azure-translator": 78,
        "by": 26,
        "edge": "azure-translator",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "translateplus": 52,
        "weight": 7
      }
    ],
    "summary": "Azure Translator scores 72 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. TranslatePlus leads on payments \u0026 pricing. Both do translation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "azure-translator": "$10 per million characters pay as you go, 2 million free a month on F0, commitment overage down to $5.50. The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec.",
      "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/azure-translator-vs-translateplus",
    "json": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.min.md"
  },
  "markdown": "Azure Translator scores 72 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. TranslatePlus leads on payments \u0026 pricing. Both do translation.\n\n- Azure Translator: grade BB, 72/100, rank #141 of 1486. Markdown https://www.anchorterminal.com/tools/azure-translator.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-translator.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### Azure Translator (BB)\n\nGood for: Azure shops that want cheap NMT at volume, Entra ID auth and a choice of an LLM per request for tone and gender.\n\nAhead on:\n- Reliability, 83 against 45\n- Schema \u0026 documentation, 83 against 52\n- Agent ergonomics, 82 against 61\n- Security \u0026 auth, 75 against 35\n- Maintenance \u0026 community, 70 against 10\n- Transparency \u0026 trust, 78 against 52\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where TranslatePlus loses 3 points for them\n\nWatch for: The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec\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\nAhead on:\n- Payments \u0026 pricing, 30 against 20\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: Azure Translator +60\n\n- Azure Translator (70): Read as a closed service with official SDKs, as the other Azure listings are. The newest release that changes the client is Java text 2.0.3 on 28 August 2026 (a custom-endpoint fix), 65 days before 1 November (20). The Java text and document libraries' 2.0.4 and 2.0.2 (6 October) and 2.1.0 (30 October) only raise azure-core and azure-core-http-netty, per their changelogs and tags. Releases that don't change the service or the client count half on the 90-day line and don't set the recency line, as this run read Amazon Transcribe's and Amazon SNS's SDK tags. Well over three dated releases in the 90 days from 3 August even so, among them .NET document 3.0.0 and JavaScript document 1.0.0 on 5 August, Java text 2.0.2 on 18 August and 2.0.3 on 28 August (20). Public What's New page (updated 8 August), Microsoft Q\u0026A and GitHub issue trackers on the SDK repositories, which we didn't read (10 of 15). Official SDKs current in Python, JavaScript, .NET and Java, with text 2.0.0 for Python, JavaScript and .NET from 28 and 29 May 2026 (15). The SDKs live in the azure-sdk monorepos, CI not checked (5 of 10). Release dates are from the release tags and changelogs, since PyPI and npm didn't resolve from our shell on 1 November. 20+20+10+15+5 = 70.\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: Azure Translator +40\n\n- Azure Translator (75): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Resource keys, 10-minute bearer tokens, or Microsoft Entra ID with the Cognitive Services User role and managed identities (30), less 10 because the authentication reference documents passing the key in a `Subscription-Key` query parameter (20). The data privacy page says text translation doesn't store customer data, which leaves nothing to train on, but we didn't find an explicit training statement there (15 of 20). Text isn't stored and documents are hard-deleted after processing. LLM translation runs through your own Foundry deployment, whose retention terms we didn't check (12 of 15). Azure Monitor and the activity log record resource actions, per-request logging not confirmed (10 of 15). MSRC disclosure policy, Azure bounty programme, SOC 2 and ISO 27001 reports. The microsoft.com security.txt passed its Expires date on 2026-09-23 and still carries it on 1 November. An MSRC search on 1 November lists no CVE for the Translator service (18 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### Reliability: Azure Translator +38\n\n- Azure Translator (83): Azure status page with post-incident reviews (20). The 90-day window now starts on 3 August. No review in it names Translator. The 29 September 2026 review covers intermittent failures and 500 and 503 errors for Azure OpenAI, Foundry and Azure AI services in Sweden Central from 10:03 to 15:58 UTC, which may touch Translator resources and LLM deployments there, one region and partial, so minor. The 30 September to 1 October gateway review covers networking services and doesn't name Translator. The public page lists only broad incidents (20). Limits published with numbers, 1,000 texts and 50,000 characters a request and hourly caps from 2 million characters on F0 to 200 million on S4 (15). 429 has three documented sub-codes (429000 to 429002) and the limits page asks for load spread across the hour, but there's no Retry-After or backoff guidance for 429, re-read on 1 November. Retry advice exists only for 408 and 503. Text translation has no side effects, so a retry is safe (8 of 15). The old Cognitive Services SLA address now redirects to Microsoft's Online Services SLA, a download we didn't open (10). API 2026-06-06 is GA (10). Same window reading as the Azure Speech, Key Vault and Blob Storage listings on 1 November.\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### Schema \u0026 documentation: Azure Translator +31\n\n- Azure Translator (83): OpenAPI documents for text translation 3.0 and 2026-06-06 are public in Azure/azure-rest-api-specs, with examples on each operation (25). No llms.txt found on learn.microsoft.com (0). Operation descriptions state purpose, and the overview says to pick NMT or an LLM by quality, cost and scenario, but not when to avoid either (15 of 20). Enums for `profanityAction`, `textType`, `tone` and `gender`, required fields marked, but the LLM `deploymentName` is a free string (13 of 15). Examples in the spec and a status-code page with six-digit error codes and their meanings (15). Dated `api-version` values and a What's New page (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: Azure Translator +26\n\n- Azure Translator (78): Closed service under Microsoft's product terms, SDKs under MIT (15). The data privacy page and privacy statement agree on no storage of text and hard deletion of documents, but say nothing on training, and the LLM path falls under separate Foundry terms (22 of 30). Microsoft's lifecycle policy applies, but the What's New page gives no retirement date for v3.0 even though 2026-06-06 breaks its request shape (10 of 20). Regional resources and endpoints for data residency and a public Microsoft sub-processor list (18 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: Azure Translator +21\n\n- Azure Translator (82): API reading of the checklist. Responses hold one translation per target with optional alignment and sentence lengths, and up to 1,000 texts go in one NMT call, but there's no field selection (20 of 25). Several targets per call, a `scope` filter on the language list, and `top` and `skip` paging on document jobs (18 of 20). Six-digit error codes such as 400036 (invalid target language) and 403001 (free quota exceeded) say what to fix (20). Text translation is stateless, but there's no 429 retry guidance and no idempotency key on document batches (12 of 20). A key, a region header and `api-version` on every call, with SDKs in Python, JavaScript, .NET and Java (12 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## Score by category\n\n| Category | Weight | Azure Translator | TranslatePlus | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 45 | Azure Translator +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 52 | Azure Translator +31 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 61 | Azure Translator +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 75 | 35 | Azure Translator +40 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | TranslatePlus +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 10 | Azure Translator +60 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 52 | Azure Translator +26 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **72 · BB** | **39.7 · E** | |\n\n## Facts side by side\n\n| Fact | Azure Translator | TranslatePlus |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | PetaBytes, Inc. |\n| Hosted endpoint | `https://api.cognitive.microsofttranslator.com` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for translation | $10 per 1M characters | not published |\n| x402 | no | no |\n| Licence | MIT (SDKs) | none |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-08-28 | 2026-01-11 |\n| Terms last updated | couldn't be read | 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 | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 156k npm/wk, 40k 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### Azure Translator\n\n- -0.2 on 8 October 2026: checklist\n\n### TranslatePlus\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Azure Translator.** $10 per million characters pay as you go, 2 million free a month on F0, commitment overage down to $5.50. The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec.\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### Azure Translator\n\n1. Send `Ocp-Apim-Subscription-Region` with the key for a regional resource\n2. Pin `api-version=3.0` until your client handles the 2026-06-06 `inputs` and `value` shape\n3. Batch up to 1,000 strings a call rather than one call per string\n4. Spread load across the hour, since the character caps are hourly and bursts get 429\n5. Treat 403001 as the free quota running out, not a permissions error\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, Azure Translator or TranslatePlus?\n\nAzure Translator scores 72 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. TranslatePlus leads on payments \u0026 pricing.\n\n### Do Azure Translator and TranslatePlus need an API key?\n\nAzure Translator takes an API key or an OAuth sign-in. TranslatePlus needs an API key.\n\n### Can an agent call Azure Translator and TranslatePlus without installing anything?\n\nAzure Translator has a hosted endpoint at https://api.cognitive.microsofttranslator.com. No hosted endpoint is listed for TranslatePlus.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-translator\", \"b\": \"translateplus\"}`. From a terminal: `anchor compare azure-translator translateplus`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-translator.json and https://www.anchorterminal.com/api/v1/tools/translateplus.json\n\n## Other comparisons with Azure Translator or TranslatePlus\n\n- [Amazon Translate vs Azure Translator](https://www.anchorterminal.com/compare/amazon-translate-vs-azure-translator.md)\n- [Amazon Translate vs TranslatePlus](https://www.anchorterminal.com/compare/amazon-translate-vs-translateplus.md)\n- [Azure Translator vs Crowdin](https://www.anchorterminal.com/compare/azure-translator-vs-crowdin.md)\n- [Azure Translator vs DeepL API](https://www.anchorterminal.com/compare/azure-translator-vs-deepl-api.md)\n- [Azure Translator vs Google Cloud Translation](https://www.anchorterminal.com/compare/azure-translator-vs-google-cloud-translation.md)\n- [Azure Translator vs Lara Translate API](https://www.anchorterminal.com/compare/azure-translator-vs-lara-translate.md)\n- [Azure Translator vs LibreTranslate](https://www.anchorterminal.com/compare/azure-translator-vs-libretranslate.md)\n- [Azure Translator vs Lingo.dev](https://www.anchorterminal.com/compare/azure-translator-vs-lingo-dev.md)\n- [Azure Translator vs Lingvanex Translation API](https://www.anchorterminal.com/compare/azure-translator-vs-lingvanex.md)\n- [Azure Translator vs Localazy](https://www.anchorterminal.com/compare/azure-translator-vs-localazy.md)\n- [Azure Translator vs Lokalise](https://www.anchorterminal.com/compare/azure-translator-vs-lokalise.md)\n- [Azure Translator vs Phrase](https://www.anchorterminal.com/compare/azure-translator-vs-phrase.md)\n- [Azure Translator vs Smartcat](https://www.anchorterminal.com/compare/azure-translator-vs-smartcat.md)\n- [Azure Translator vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/azure-translator-vs-systran.md)\n- [Crowdin vs TranslatePlus](https://www.anchorterminal.com/compare/crowdin-vs-translateplus.md)\n- [DeepL API vs TranslatePlus](https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.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": "Azure Translator vs TranslatePlus",
        "url": ""
      }
    ],
    "description": "Azure Translator scores 72 (BB) to TranslatePlus's 39.7 (E) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Azure Translator BB 72",
      "TranslatePlus E 39.7",
      "scores"
    ],
    "h1": "Azure Translator vs TranslatePlus",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/azure-translator-vs-translateplus",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Translator vs TranslatePlus for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 3080
  },
  "version": 1
}
