{
  "data": {
    "a": {
      "slug": "azure-translator",
      "name": "Azure Translator",
      "vendor": "Microsoft Azure",
      "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",
      "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-06-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72,
        "grade": "BB",
        "agentReady": true,
        "rank": 97,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "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-10-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.4",
            "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": 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-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",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "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-09-30",
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-translator.json",
      "live": {
        "slug": "azure-translator",
        "probe": {
          "target": "https://api.cognitive.microsofttranslator.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:16.518229431Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 76,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.9,
          "p50ms24h": 56,
          "p95ms24h": 84,
          "samples24h": 270,
          "samples30d": 1962,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 270
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 246,
              "ok": 246
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Azure/azure-sdk-for-python",
            "version": "azure-monitor-opentelemetry_1.8.11",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:01:31.245136443Z"
          },
          {
            "registry": "npm",
            "name": "@azure-rest/ai-translation-text",
            "version": "2.0.0",
            "seenAt": "2026-10-08T16:01:28.634010783Z"
          },
          {
            "registry": "pypi",
            "name": "azure-ai-translation-text",
            "version": "2.0.0",
            "released": "2026-05-29",
            "seenAt": "2026-10-08T16:01:24.82790421Z"
          }
        ],
        "githubStars": 5614,
        "npmWeekly": 138082,
        "pypiWeekly": 41633,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:08.216544687Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-10-04T13:04:13.488857536Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/ai-services/translator/whats-new",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-08T18:21:32.102820032Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "96691db5061f"
          },
          {
            "url": "https://azure.microsoft.com/en-us/pricing/details/translator/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:33.901025539Z",
            "changedAt": "2026-10-07T18:02:49.663631497Z",
            "fingerprint": "06634fbe2ae5"
          },
          {
            "url": "https://prices.azure.com/api/retail/prices?$filter=productName%20eq%20%27Translator%20Text%27",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:20.793883531Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-08T21:53:16.518229431Z"
      }
    },
    "answer": "Azure Translator scores 72 (BB) on agent readiness against Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "phrase",
      "name": "Phrase",
      "vendor": "Phrase a.s.",
      "vendorUrl": "https://phrase.com",
      "kind": "http-api",
      "category": "translation",
      "summary": "Localisation platform from Phrase a.s. in Prague. Its Language AI API translates text and files through automatically selected machine translation engines, and its Strings and TMS APIs, CLI and hosted MCP server manage translation projects, term bases and translation memories.",
      "url": "https://www.anchorterminal.com/tools/phrase",
      "markdownUrl": "https://www.anchorterminal.com/tools/phrase.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/phrase.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/phrase.json",
      "repo": "https://github.com/phrase/phrase-cli",
      "license": "Proprietary service under the Phrase Terms of Service. The CLI, the Strings API clients and the deprecated local MCP server on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.eu.phrase.com",
      "packages": [
        {
          "registry": "npm",
          "name": "phrase-js"
        },
        {
          "registry": "pypi",
          "name": "phrase-api"
        },
        {
          "registry": "npm",
          "name": "@phrase/phrase-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A user creates a Phrase Platform API token in profile settings and exchanges it at `/idm/oauth/token` for a Bearer JWT that lasts about four hours. Service accounts, added on 7 August 2026, use the OAuth client credentials grant and can be limited by product and scope. The hosted MCP server signs in with OAuth (PKCE, dynamic client registration or a client ID metadata document) and the user grants view, create, or modify and delete access. The Strings API also accepts its own access tokens with four scopes, Basic authentication with email and password, and an `access_token` query parameter.",
      "pricing": "paid",
      "pricingNotes": "Plans from $27 a month (Freelancer), $525 (Software UI/UX) and $1,245 (Team), billed annually, with Business and Enterprise quoted by sales. Each plan includes yearly capacities such as Machine Translation Units and TMS words, and top-up prices aren't public. A 14-day trial starts with an email address and a password, with no automatic charge afterwards, so an agent's owner can begin without a contract (checked 2026-10-08).",
      "priceSummary": "$27 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI specs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 49,
        "npmWeekly": 40342,
        "pypiWeekly": 14166,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.phrase.com",
      "llmsTxt": "https://developers.phrase.com/llms.txt",
      "openapi": "https://developers.phrase.com/openapi/phrase-language-ai.json",
      "registryName": "io.github.phrase/mcp",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.glossary",
        "translate.detect"
      ],
      "tags": [
        "hosted",
        "paid",
        "trial",
        "no-card",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "cli",
        "typescript",
        "python",
        "go",
        "eu",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.2,
        "grade": "B",
        "agentReady": false,
        "rank": 285,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 30,
          "reliability": 55,
          "schema": 87,
          "security": 58,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Nine APIs with public OpenAPI specs, Markdown docs and a hosted MCP server that signs in with OAuth and separates view, create and delete consents. The status page lists 14 incidents in 90 days, 12 marked major or critical. Capacity top-up prices aren't public, and the terms permit training some models on customer content and prohibit benchmarking.",
        "bestFor": "Teams that keep translation projects, term bases and translation memories in Phrase and want an agent to run them, or to translate through engines chosen per language pair.",
        "strengths": [
          "Public OpenAPI specs for all nine APIs, an llms.txt index and a Markdown copy of every docs page, with a dated changelog of 51 entries since 24 April 2026",
          "Hosted MCP server in the EU and the US with OAuth, PKCE, dynamic client registration and three scopes, `phrase-mcp:read`, `phrase-mcp:write` and `phrase-mcp:destructive`",
          "Service accounts since 7 August 2026 use the OAuth client credentials grant, limited by product and scope, and don't count as seats",
          "Language AI picks the engine for each language pair, detects the source language and translates files with a quality estimate",
          "A 14-day trial starts with an email address and a password, and plan prices from $27 a month are public"
        ],
        "weaknesses": [
          "status.phrase.com lists 14 incidents between 10 July and 8 October 2026, two marked critical and ten major, most confined to one component",
          "The terms of 4 October 2026 let Phrase train non-text models on customer content without approval, and prohibit use for benchmarking",
          "The Strings API still documents email and password Basic authentication and an `access_token` query parameter",
          "No idempotency keys, no `Retry-After` header in the docs and no published rate limit for the Language AI API",
          "The hosted MCP server's tool list isn't published, and the local npm server was deprecated on 7 August 2026, under six months after its first release"
        ],
        "agentNotes": [
          "Exchange a Phrase Platform API token at `https://eu.phrase.com/idm/oauth/token` (or `us.phrase.com`) for a Bearer JWT, which lasts about four hours, and refresh it before it expires",
          "Send a `User-Agent` header naming your application on every Strings and TMS call. The Strings API answers 400 without one",
          "Keep Strings calls under 1,000 in five minutes and four in parallel, and read `X-Rate-Limit-Reset` and `X-Rate-Limit-Reason` on a 429",
          "Send at most six texts of 2,000 characters to `/v2/textTranslations`, with `consumerId` and `targetLang`. Term bases and translation memories work only with an AI translation agent profile",
          "Use the MCP URL for the account's region, `https://mcp.eu.phrase.com` or `https://mcp.us.phrase.com`, and ask the user for the view consent alone unless the task writes"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.2
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 30,
          "reliability": 55,
          "schema": 87,
          "security": 58,
          "transparency": 65
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "brew install phrase-cli",
        "http": "curl -X POST https://eu.phrase.com/idm/oauth/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=urn:ietf:params:oauth:grant-type:token-exchange' -d 'subject_token=API-TOKEN'",
        "claudeCode": "claude mcp add --transport streamable-http phrase-mcp-prod-eu https://mcp.eu.phrase.com"
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/phrase"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Freelancer plan",
          "unit": "month",
          "usd": 27,
          "note": "Billed annually. 1 TMS seat, no Strings seats"
        },
        {
          "item": "Software UI/UX plan",
          "unit": "month",
          "usd": 525,
          "note": "Billed annually. 15 Strings seats, 1,000,000 MTUs a year"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 1245,
          "note": "Billed annually. 20 Strings seats, 12,000,000 MTUs a year"
        }
      ],
      "provenance": {
        "legalEntity": "Phrase a.s.",
        "domain": "phrase.com",
        "domainRegistered": "1999-01-08",
        "endpointOnVendorDomain": true,
        "terms": "https://phrase.com/legal/",
        "privacy": "https://phrase.com/privacy/",
        "statusPage": "https://status.phrase.com",
        "changelog": "https://developers.phrase.com/en/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms name Phrase a.s. (formerly Memsource a.s.), Václavské náměstí 2132/47, 110 00 Prague 1, Czech Republic, identification number 247 07 139. A second tab holds the terms of Phrase GmbH in Hamburg.",
          "phrase.com/legal/ carries the full Phrase a.s. Terms of Service with its Data Processing Addendum, effective 4 October 2026, plus the Fair Use Policy and the Platform Pricing Terms on further tabs. phrase.com/terms/ redirects to it.",
          "The privacy notice for users and clients was last updated on 6 October 2026 and names Phrase a.s. and Phrase GmbH as controllers.",
          "phrase.com/.well-known/security.txt and developers.phrase.com/.well-known/security.txt both return 404. The security page takes reports at security@phrase.com.",
          "The Strings, Language AI, Platform and MCP hosts are on phrase.com. The TMS OpenAPI spec names cloud.memsource.com, the product's earlier domain.",
          "RDAP for phrase.com gives a registration date of 1999-01-08."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/phrase.json",
      "live": {
        "slug": "phrase",
        "probe": {
          "target": "https://mcp.eu.phrase.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:30.536669362Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 57,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 60,
          "p95ms24h": 134,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.phrase.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:10.241168676Z"
        },
        "updatedAt": "2026-10-08T21:58:10.241168676Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Azure",
        "b": "Phrase a.s.",
        "name": "Vendor"
      },
      {
        "a": "https://api.cognitive.microsofttranslator.com",
        "b": "https://mcp.eu.phrase.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$10 per 1M characters",
        "b": "not published",
        "name": "Price for translate text"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "Proprietary service under the Phrase Terms of Service. The CLI, the Strings API clients and the deprecated local MCP server on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.phrase/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-06-06",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2026-10-06",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "yes",
        "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": "yes",
        "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": "49 stars, 40k npm/wk, 14k 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 Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Azure Translator or Phrase?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Azure Translator and Phrase need an API key?"
      },
      {
        "answer": "Yes. Azure Translator has a hosted endpoint at https://api.cognitive.microsofttranslator.com and Phrase at https://mcp.eu.phrase.com.",
        "question": "Can an agent call Azure Translator and Phrase without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 55",
          "Agent ergonomics, 82 against 70",
          "Security \u0026 auth, 75 against 58"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "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",
          "Maintenance \u0026 community, 83 against 70"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams that keep translation projects, term bases and translation memories in Phrase and want an agent to run them, or to translate through engines chosen per language pair.",
        "slug": "phrase",
        "watchFor": "status.phrase.com lists 14 incidents between 10 July and 8 October 2026, two marked critical and ten major, most confined to one component"
      }
    ],
    "job": {
      "capability": "translate.text",
      "name": "Translate text"
    },
    "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-phrase.json",
        "title": "Amazon Translate vs Phrase",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-phrase"
      },
      {
        "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-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-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-phrase.json",
        "title": "Crowdin vs Phrase",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-phrase"
      },
      {
        "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/google-cloud-translation-vs-phrase.json",
        "title": "Google Cloud Translation vs Phrase",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lara-translate-vs-phrase.json",
        "title": "Lara Translate API vs Phrase",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-phrase.json",
        "title": "LibreTranslate vs Phrase",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingo-dev-vs-phrase.json",
        "title": "Lingo.dev vs Phrase",
        "url": "https://www.anchorterminal.com/compare/lingo-dev-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingvanex-vs-phrase.json",
        "title": "Lingvanex Translation API vs Phrase",
        "url": "https://www.anchorterminal.com/compare/lingvanex-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lokalise-vs-phrase.json",
        "title": "Lokalise vs Phrase",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/phrase-vs-systran.json",
        "title": "Phrase vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/phrase-vs-systran"
      }
    ],
    "scores": [
      {
        "azure-translator": 83,
        "by": 28,
        "edge": "azure-translator",
        "key": "reliability",
        "name": "Reliability",
        "phrase": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-translator": 83,
        "by": 4,
        "edge": "phrase",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "phrase": 87,
        "weight": 13
      },
      {
        "azure-translator": 82,
        "by": 12,
        "edge": "azure-translator",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "phrase": 70,
        "weight": 13
      },
      {
        "azure-translator": 75,
        "by": 17,
        "edge": "azure-translator",
        "key": "security",
        "name": "Security \u0026 auth",
        "phrase": 58,
        "weight": 14
      },
      {
        "azure-translator": 20,
        "by": 10,
        "edge": "phrase",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "phrase": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-translator": 70,
        "by": 13,
        "edge": "phrase",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "phrase": 83,
        "weight": 7
      },
      {
        "azure-translator": 78,
        "by": 4,
        "edge": "azure-translator",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "phrase": 74,
        "weight": 7
      }
    ],
    "summary": "Azure Translator scores 72 (BB) on agent readiness against Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community. Both do translate text.",
    "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.",
      "phrase": "Nine APIs with public OpenAPI specs, Markdown docs and a hosted MCP server that signs in with OAuth and separates view, create and delete consents. The status page lists 14 incidents in 90 days, 12 marked major or critical. Capacity top-up prices aren't public, and the terms permit training some models on customer content and prohibit benchmarking."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase",
    "json": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase.md",
    "slim": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase.min.md"
  },
  "markdown": "Azure Translator scores 72 (BB) on agent readiness against Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community. Both do translate text.\n\n- Azure Translator: grade BB, 72/100, rank #97 of 722. Markdown https://www.anchorterminal.com/tools/azure-translator.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-translator.json\n- Phrase: grade B, 64.2/100, rank #285 of 722. Markdown https://www.anchorterminal.com/tools/phrase.md · JSON https://www.anchorterminal.com/api/v1/tools/phrase.json\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 55\n- Agent ergonomics, 82 against 70\n- Security \u0026 auth, 75 against 58\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: The 2026-06-06 schema breaks v3.0 clients and drops BreakSentence and dictionary lookups from the spec\n\n### Phrase (B)\n\nGood for: Teams that keep translation projects, term bases and translation memories in Phrase and want an agent to run them, or to translate through engines chosen per language pair.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 83 against 70\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: status.phrase.com lists 14 incidents between 10 July and 8 October 2026, two marked critical and ten major, most confined to one component\n\n\n## Score by category\n\n| Category | Weight | Azure Translator | Phrase | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 55 | Azure Translator +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 87 | Phrase +4 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 70 | Azure Translator +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 75 | 58 | Azure Translator +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Phrase +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 83 | Phrase +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 74 | Azure Translator +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **72 · BB** | **64.2 · B** | |\n\n## Facts side by side\n\n| Fact | Azure Translator | Phrase |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Azure | Phrase a.s. |\n| Hosted endpoint | `https://api.cognitive.microsofttranslator.com` | `https://mcp.eu.phrase.com` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| Price for translate text | $10 per 1M characters | not published |\n| x402 | no | no |\n| Licence | MIT (SDKs) | Proprietary service under the Phrase Terms of Service. The CLI, the Strings API clients and the deprecated local MCP server on GitHub are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.phrase/mcp` |\n| Last release | 2026-06-06 | 2026-10-06 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | 2026-09-01 | 2026-10-06 |\n| Customer content may train models | yes | yes |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | yes |\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 | 49 stars, 40k npm/wk, 14k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\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**Phrase.** Nine APIs with public OpenAPI specs, Markdown docs and a hosted MCP server that signs in with OAuth and separates view, create and delete consents. The status page lists 14 incidents in 90 days, 12 marked major or critical. Capacity top-up prices aren't public, and the terms permit training some models on customer content and prohibit benchmarking.\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### Phrase\n\n1. Exchange a Phrase Platform API token at `https://eu.phrase.com/idm/oauth/token` (or `us.phrase.com`) for a Bearer JWT, which lasts about four hours, and refresh it before it expires\n2. Send a `User-Agent` header naming your application on every Strings and TMS call. The Strings API answers 400 without one\n3. Keep Strings calls under 1,000 in five minutes and four in parallel, and read `X-Rate-Limit-Reset` and `X-Rate-Limit-Reason` on a 429\n4. Send at most six texts of 2,000 characters to `/v2/textTranslations`, with `consumerId` and `targetLang`. Term bases and translation memories work only with an AI translation agent profile\n5. Use the MCP URL for the account's region, `https://mcp.eu.phrase.com` or `https://mcp.us.phrase.com`, and ask the user for the view consent alone unless the task writes\n\n## Questions\n\n### Which is better for AI agents, Azure Translator or Phrase?\n\nAzure Translator scores 72 (BB) on agent readiness against Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Azure Translator and Phrase need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Azure Translator and Phrase without installing anything?\n\nYes. Azure Translator has a hosted endpoint at https://api.cognitive.microsofttranslator.com and Phrase at https://mcp.eu.phrase.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-translator-vs-phrase.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-translator-vs-phrase.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-translator\", \"b\": \"phrase\"}`. From a terminal: `anchor compare azure-translator phrase`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-translator.json and https://www.anchorterminal.com/api/v1/tools/phrase.json\n\n## Other comparisons with Azure Translator or Phrase\n\n- [Amazon Translate vs Azure Translator](https://www.anchorterminal.com/compare/amazon-translate-vs-azure-translator.md)\n- [Amazon Translate vs Phrase](https://www.anchorterminal.com/compare/amazon-translate-vs-phrase.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 Lokalise](https://www.anchorterminal.com/compare/azure-translator-vs-lokalise.md)\n- [Azure Translator vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/azure-translator-vs-systran.md)\n- [Crowdin vs Phrase](https://www.anchorterminal.com/compare/crowdin-vs-phrase.md)\n- [DeepL API vs Phrase](https://www.anchorterminal.com/compare/deepl-api-vs-phrase.md)\n- [Google Cloud Translation vs Phrase](https://www.anchorterminal.com/compare/google-cloud-translation-vs-phrase.md)\n- [Lara Translate API vs Phrase](https://www.anchorterminal.com/compare/lara-translate-vs-phrase.md)\n- [LibreTranslate vs Phrase](https://www.anchorterminal.com/compare/libretranslate-vs-phrase.md)\n- [Lingo.dev vs Phrase](https://www.anchorterminal.com/compare/lingo-dev-vs-phrase.md)\n- [Lingvanex Translation API vs Phrase](https://www.anchorterminal.com/compare/lingvanex-vs-phrase.md)\n- [Lokalise vs Phrase](https://www.anchorterminal.com/compare/lokalise-vs-phrase.md)\n- [Phrase vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/phrase-vs-systran.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Azure Translator vs Phrase",
        "url": ""
      }
    ],
    "description": "Azure Translator scores 72 (BB) on agent readiness against Phrase's 64.2 (B), and leads in 4 of 7 scored categories. Phrase leads on payments \u0026 pricing and maintenance \u0026 community. Both do translate text. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Azure Translator BB 72",
      "Phrase B 64.2",
      "scores"
    ],
    "h1": "Azure Translator vs Phrase",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-translator-vs-phrase.png",
    "path": "/compare/azure-translator-vs-phrase",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Translator vs Phrase for AI agents, BB 72 vs B 64.2",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/azure-translator-vs-phrase"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 780
  },
  "version": 1
}
