{
  "data": {
    "a": {
      "slug": "crowdin",
      "name": "Crowdin",
      "vendor": "Crowdin OÜ",
      "vendorUrl": "https://crowdin.com",
      "kind": "http-api",
      "category": "translation",
      "summary": "Crowdin is a hosted localisation platform that stores source files and strings, translation memories and glossaries, and runs machine and AI translation over them. Agents reach it through a REST API, a CLI and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/crowdin",
      "markdownUrl": "https://www.anchorterminal.com/tools/crowdin.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/crowdin.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/crowdin.json",
      "dns": "crowdin.grade.anchorterminal.com",
      "repo": "https://github.com/crowdin/crowdin-cli",
      "license": "Proprietary service under Crowdin's terms. The CLI and the official API clients are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.crowdin.com/api/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@crowdin/crowdin-api-client"
        },
        {
          "registry": "npm",
          "name": "@crowdin/cli"
        },
        {
          "registry": "pypi",
          "name": "crowdin-api-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser, then creates a personal access token in Account Settings or registers an OAuth app. No review or sales approval is described. Every call sends `Authorization: Bearer \u003ctoken\u003e`. Tokens take an expiry date (the default is never), scopes with read-only or read-and-write access, and a granular option that limits them to chosen projects. OAuth is the authorisation code grant at accounts.crowdin.com, with a client secret or PKCE, and access tokens last 7,200 seconds with a refresh token. The MCP server accepts the same tokens, or an OAuth sign-in where the client registers itself at `https://mcp.crowdin.com/register`.",
      "pricing": "freemium",
      "pricingNotes": "A Free plan at $0 and a 14-day trial of the Team plan let an agent's owner start without a contract. Paid plans in the pricing page's structured data are Pro $50, Team $150 and Team+ $450 a month, with annual billing giving two months free. Plans are sized by hosted words (source words multiplied by target languages). Machine translation, AI and professional translation are paid from prepaid Crowdin Credits, or run on the customer's own engine keys. Plan limits, the comparison table and the CDN add-on's unit prices are drawn by script and were not read. Whether the Free plan needs a card is not stated on the page (https://crowdin.com/pricing, checked 2026-10-08).",
      "priceSummary": "$50 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer documentation, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 320,
        "npmWeekly": 264028,
        "pypiWeekly": 13847,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://support.crowdin.com/developer/api/",
      "llmsTxt": "https://support.crowdin.com/llms.txt",
      "openapi": "https://support.crowdin.com/src/assets/api/crowdin/file-based.yml",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.glossary",
        "translate.detect"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "cli",
        "typescript",
        "python",
        "eu",
        "status-page",
        "closed-source",
        "localisation"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.6,
        "grade": "B",
        "agentReady": false,
        "rank": 232,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 82,
          "payments": 30,
          "reliability": 78,
          "schema": 80,
          "security": 68,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI document with 374 operations, and tokens can be limited by scope, access level and project. Translation runs inside Crowdin projects and connected engines, so it is not a stateless per-character translation API. No Retry-After guidance, idempotency keys or SLA were found in the reviewed documentation.",
        "bestFor": "Teams that keep product strings and files in Crowdin and want an agent to upload sources, check progress, apply pre-translation, manage glossaries and pull builds.",
        "strengths": [
          "Public OpenAPI 3.0 document with 374 operations on 218 paths, plus `llms.txt` with one text file per route",
          "Personal access tokens take an expiry date, per-scope read-only or read-and-write access, and a granular option limiting them to chosen projects",
          "The MCP V2 endpoint filters tools by header, with `crowdin-read-only`, `crowdin-tool-sets`, `crowdin-project-type` and `crowdin-tool-filter`",
          "status.crowdin.com lists no incident between 10 July and 8 October 2026, with separate components for the API and the EU data centre",
          "Seven official API clients under MIT, with `@crowdin/crowdin-api-client` 1.59.0 on 29 September and `@crowdin/cli` 5.3.0 on 24 September 2026"
        ],
        "weaknesses": [
          "The terms forbid accessing the service to monitor availability, performance or functionality, or for benchmarking, without Crowdin's prior written consent",
          "A 429 is returned above 20 simultaneous requests an account, with no Retry-After header or backoff guidance in the reference",
          "No idempotency keys in the OpenAPI document, and no SLA found in the terms or the help centre",
          "Plan limits and add-on unit prices on the pricing page are drawn by script. Only four plan prices were readable, from the page's structured data",
          "MCP V1 and 12 API operations are marked deprecated with no removal date, and no deprecation policy was found"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ctoken\u003e` to `https://api.crowdin.com/api/v2`. Crowdin Enterprise uses `https://\u003corganization_domain\u003e.api.crowdin.com/api/v2`",
          "Use the MCP V2 endpoint `https://mcp.crowdin.com/v2/mcp` and set `crowdin-tool-sets`, because the server loads all 33 tool sets by default",
          "Set `crowdin-read-only: true` on the MCP connection for exploration. It exposes only list and get tools",
          "Keep to 20 concurrent requests an account across all tokens, and add your own backoff on 429",
          "Upload a file to `/storages` first, then pass the `storageId` to the add-file call. Builds, exports and reports are asynchronous and need a status poll",
          "`/mts/{mtId}/translations` takes at most 100 strings a call and needs the `mt` scope and a configured engine"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.6
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 82,
          "payments": 30,
          "reliability": 78,
          "schema": 80,
          "security": 68,
          "transparency": 65
        },
        "provenanceScore": 94,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm i @crowdin/crowdin-api-client   # or: pip install crowdin-api-client",
        "http": "curl -H \"Authorization: Bearer ACCESS_TOKEN\" https://api.crowdin.com/api/v2/projects",
        "claudeCode": "claude mcp add --transport http --header \"Authorization: Bearer {YOUR_CROWDIN_TOKEN}\" crowdin https://mcp.crowdin.com/v2/mcp",
        "config": {
          "mcpServers": {
            "crowdin": {
              "headers": {
                "Authorization": "Bearer {YOUR_CROWDIN_TOKEN}"
              },
              "url": "https://mcp.crowdin.com/v2/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/crowdin"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 50,
          "note": "from the pricing page's structured data, plan limits not read"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 150,
          "note": "from the pricing page's structured data, plan limits not read"
        },
        {
          "item": "Team+ plan",
          "unit": "month",
          "usd": 450,
          "note": "from the pricing page's structured data, plan limits not read"
        }
      ],
      "provenance": {
        "legalEntity": "Crowdin OÜ",
        "domain": "crowdin.com",
        "domainRegistered": "2009-02-07",
        "endpointOnVendorDomain": true,
        "terms": "https://support.crowdin.com/terms/",
        "privacy": "https://support.crowdin.com/privacy-policy/",
        "statusPage": "https://status.crowdin.com",
        "changelog": "https://crowdin.com/blog/whats-new-at-crowdin-september-2026",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms (last revised 24 September 2026) name Crowdin OÜ, Liivalaia 36, Tallinn, Estonia, register code 14479905, as the contracting party, under Estonian law.",
          "The terms govern the platform and its APIs (the definition of Software Services includes APIs) and carry the data processing contract in section 9.",
          "The privacy policy (last revised 24 September 2026) covers the site and the service. crowdin.com/privacy redirects to it.",
          "crowdin.com/.well-known/security.txt gives a contact page, a policy link and an expiry of 31 January 2030.",
          "No dated API changelog was found. The changelog link is the latest monthly product update on the blog, published 1 October 2026.",
          "RDAP for crowdin.com gives a registration date of 2009-02-07.",
          "The API answers at api.crowdin.com and the MCP server at mcp.crowdin.com."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/crowdin.json",
      "live": {
        "slug": "crowdin",
        "probe": {
          "target": "https://api.crowdin.com/api/v2",
          "method": "get",
          "lastAt": "2026-11-07T19:22:02.043085231Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 357,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 277,
          "p95ms24h": 368,
          "samples24h": 238,
          "samples30d": 7430,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.crowdin.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:21:40.346065586Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "crowdin/crowdin-cli",
            "version": "5.6.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:18:35.959260044Z"
          },
          {
            "registry": "npm",
            "name": "@crowdin/cli",
            "version": "5.6.0",
            "seenAt": "2026-11-06T23:18:33.7213704Z"
          },
          {
            "registry": "npm",
            "name": "@crowdin/crowdin-api-client",
            "version": "1.59.2",
            "seenAt": "2026-11-06T23:18:33.457509664Z"
          },
          {
            "registry": "pypi",
            "name": "crowdin-api-client",
            "version": "1.30.0",
            "released": "2026-09-30",
            "seenAt": "2026-11-06T23:18:35.70830194Z"
          }
        ],
        "githubStars": 323,
        "npmWeekly": 161755,
        "pypiWeekly": 10058,
        "securityTxt": {
          "url": "https://crowdin.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-01-31T10:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:24.560938594Z"
        },
        "llmsTxt": {
          "url": "https://support.crowdin.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:13.514849353Z"
        },
        "domain": {
          "domain": "crowdin.com",
          "registered": "2009-02-07",
          "source": "https://rdap.verisign.com/com/v1/domain/crowdin.com",
          "checkedAt": "2026-11-01T14:07:28.042180185Z"
        },
        "pages": [
          {
            "url": "https://crowdin.com/blog/whats-new-at-crowdin-september-2026",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:09.114630756Z",
            "changedAt": "2026-11-05T12:26:32.357952954Z",
            "fingerprint": "1651cd01a923"
          },
          {
            "url": "https://crowdin.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:11.351617971Z",
            "changedAt": "2026-10-29T05:00:55.917270809Z",
            "fingerprint": "2b37a2a4f988"
          },
          {
            "url": "https://support.crowdin.com/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:21:25.393897008Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1b15cabc949b"
          },
          {
            "url": "https://support.crowdin.com/terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:21:27.416252975Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6a59ebb5854f"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.crowdin.com/v2/mcp",
          "checkedAt": "2026-11-07T01:43:41.015105126Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:41.015105126Z"
        },
        "github": {
          "repo": "crowdin/crowdin-cli",
          "checkedAt": "2026-11-02T08:42:16.308318676Z",
          "stars": 322,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T07:51:13Z",
          "openIssues": 2,
          "openPRs": 3,
          "issuesOpened90d": 7,
          "issuesClosed90d": 7,
          "prsMerged90d": 73,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 42,
            "failure": 6,
            "other": 2,
            "latest": "success",
            "latestAt": "2026-11-02T07:52:06Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 0,
            "medianDays": 1
          }
        },
        "updatedAt": "2026-11-07T19:22:02.043085231Z"
      }
    },
    "answer": "Crowdin scores 69.6 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "translateplus",
      "name": "TranslatePlus",
      "vendor": "PetaBytes, Inc.",
      "vendorUrl": "https://translateplus.io",
      "kind": "http-api",
      "category": "translation",
      "summary": "TranslatePlus is a machine translation API from PetaBytes, Inc. for text, batches, HTML, emails, subtitles and i18n files in more than 100 languages, with language detection, priced per request.",
      "url": "https://www.anchorterminal.com/tools/translateplus",
      "markdownUrl": "https://www.anchorterminal.com/tools/translateplus.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/translateplus.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/translateplus.json",
      "dns": "translateplus.grade.anchorterminal.com",
      "repo": "https://github.com/translateplus/translateplus-js",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "translateplus-python"
        },
        {
          "registry": "npm",
          "name": "translateplus-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key per account from the dashboard at app.translateplus.io after a browser or Google OAuth signup, sent in the X-API-KEY header. The docs say the key carries full access to the account; keys can be revoked in the dashboard. No scopes.",
      "pricing": "freemium",
      "pricingNotes": "Free plan of 5,000 requests a month at 500 characters each, then $0.001 a request. Basic $49 a month (250,000 requests), Professional $99 (700,000) and Mega $299 (3,000,000), with 1,000 to 2,000 characters per request.",
      "priceSummary": "$0.001 / call",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in either llms.txt, the docs or the pricing page (checked 2026-11-06). Payments go through third-party processors.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 6,
        "pypiWeekly": 4,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.translateplus.io/",
      "llmsTxt": "https://translateplus.io/llms.txt",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.detect"
      ],
      "tags": [
        "hosted",
        "api-key",
        "freemium",
        "free-tier",
        "llms-txt",
        "python",
        "typescript",
        "java",
        "php",
        "batch",
        "async-jobs",
        "closed-source"
      ],
      "lastRelease": "2026-01-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1335,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 15,
        "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": 72,
        "category": "maintenance",
        "leads": "crowdin",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "`@crowdin/crowdin-api-client` 1.59.2 on 22 October 2026 (scope annotations on every method), 10 days before 1 November, after `@crowdin/cli` 5.5.0 on 21 October and 5.4.0 on 16 October (30). In the 90 days from 3 August, ten CLI tags (4.15.1, the 5.0.0-next.6 pre-release and 5.0.0 on 26 August to 5.5.0), seven JavaScript client releases (1.56.3 on 6 August to 1.59.2) and three Python client releases (1.28.0, 1.29.0 and 1.30.0), none with a breaking change marked in a minor release (20). Monthly dated product updates and a support contact. The CLI and JavaScript client repositories each showed 2 open issues per the GitHub API on 8 October. We did not read the issue threads (12 of 15). Seven current official clients (15). CI and dependency state were not inspected, though the CLI began attesting build provenance for release binaries on 13 October, so half credit (5 of 10).",
          "b": "The newest dated change found is translateplus-python 2.0.7 and translateplus-js 2.0.1 on 11 January 2026, about ten months before this check, and the API changelog stops at 9 December 2024 (0). No release or dated change in the last 90 days (0). Support by email and a support portal; the status page hasn't updated since January (3). SDKs exist for four languages but haven't changed since January (5). Weekly downloads of 4 (PyPI) and 6 (npm) (2). 0+0+3+5+2 = 10."
        },
        "scores": {
          "a": 82,
          "b": 10
        }
      },
      {
        "by": 33,
        "category": "reliability",
        "leads": "crowdin",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted reading. The surface graded is the REST API v2, with the hosted MCP server noted where it differs. status.crowdin.com is a Statuspage site with ten components, three of them for the API (Crowdin API, Crowdin API Enterprise, Crowdin API Enterprise EU) (20). Its history feed, read on 1 November 2026 (the host's robots.txt disallows /api/, so the feed and incident pages stand in for incidents.json), lists one incident in the 90 days from 3 August, a 12-minute slowdown on 22 October (11:13 to 11:25 UTC) that named only the Crowdin Enterprise and Crowdin Enterprise EU web components. No incident named an API component, so the line reads clean, as intercom's non-API incidents were read (30). The reference states 20 simultaneous requests an account across all tokens (15). A 429 is returned above that, with no Retry-After header, backoff guidance or idempotency keys found. Long jobs have a documented start, status and download sequence (3 of 15). No SLA found in the terms or the help centre (0). API v2 and MCP V2 are presented as current, with no beta label (10).",
          "b": "Hosted lines. status.translateplus.io is the vendor's own page; on 6 November 2026 it showed 'All systems unknown' and a last update of 22 January 2026, with data loading by script (5). No incident history to read (5). The rate-limits guide gives 100,000 requests a minute and 100,000,000 an hour per key, while llms.txt gives 50 requests a second on the Free plan, so limits are published but inconsistent (10). 429 returns a JSON detail message, responses carry X-RateLimit-Limit, -Remaining and -Reset, and the guide shows waiting for the reset with capped retries (15). No SLA. The terms say TranslatePlus strives for 99.9% uptime 'but do not guarantee uninterrupted service' (0). API v2 is the current, non-beta version (10). 5+5+10+15+0+10 = 45."
        },
        "scores": {
          "a": 78,
          "b": 45
        }
      },
      {
        "by": 33,
        "category": "security",
        "leads": "crowdin",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Personal access tokens with an expiry date, scopes at read-only or read-and-write, per-project granular access and revocation. OAuth authorisation code grant with PKCE for public apps. No query-string token option found (30). Read-only scope levels and the MCP `crowdin-read-only` header. No server-side confirmation for destructive calls was found, and the MCP examples include deleting a user (15 of 20). The API returns strings, comments and translations written by contributors. No prompt-injection guidance was found in the developer or help documentation (0 of 15). A security log of account events (logins, password changes, device and IP address) with a read-only `security-log` scope, and AI request logs. No per-call API log found (8 of 15). security.txt valid to 31 January 2030 (re-read on 1 November), a vulnerability policy pointing to a private HackerOne programme, ISO/IEC 27001 certification and HIPAA agreements claimed on the security page. No SOC 2 report found (15 of 20).",
          "b": "One API key per account in the X-API-KEY header, which the docs say 'carries full access to your account's resources', and can be revoked in the dashboard (15). No scopes or read-only keys (5). Translations return the caller's own text, so little untrusted content (10). llms.txt claims request logging and an analytics dashboard, which we couldn't see without an account (5). translateplus.io/.well-known/security.txt returns 404 and no disclosure policy was found; llms.txt says 'SOC 2 compliant' and 'SOC 2 Type II certified infrastructure' with no report or auditor named (0). 15+5+10+5+0 = 35."
        },
        "scores": {
          "a": 68,
          "b": 35
        }
      },
      {
        "by": 28,
        "category": "schema",
        "leads": "crowdin",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.0 document for API v2, 374 operations on 218 paths in the file-based reference, with string-based and Enterprise variants (25). `llms.txt` links abridged and complete documentation and one text file per route (10). Operations carry a summary and the required scope, and parameters point to the call that supplies their value, but few say when to use or avoid an endpoint (12 of 20). 518 enums, required fields and numeric bounds. Edits are JSON Patch arrays and several forms are `oneOf` (12 of 15). 2,831 examples, with 400, 401, 403, 404 and 405 responses on most operations (13 of 15). The API is versioned at `/api/v2` and the MCP server at V1 and V2. Changes appear in monthly product posts and client release notes, and no dated API changelog was found (8 of 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": 80,
          "b": 52
        }
      },
      {
        "by": 28,
        "category": "transparency",
        "leads": "crowdin",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with published terms revised on 24 September 2026 (unchanged on 1 November) and earlier versions kept on GitHub. The CLI and clients are MIT (15). The privacy policy gives retention periods (closed-account data deleted within 60 days, backups up to two more months, billing records 7 years), the terms carry a data processing contract, and both say Crowdin does not train models on client input. For managed AI the commitment about sub-processors is commercially reasonable efforts (26 of 30). MCP V1 and 12 API operations are marked deprecated with no removal dates, and no deprecation policy was found (6 of 20). A dated sub-processor list with countries, and data centres named as the United States and Ireland (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": 80,
          "b": 52
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "crowdin",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP V2 server has 33 tool sets, all loaded by default. We could not list the tools without an account, so the count is read as more than 30 (5), with 10 added back for the tool-set, project-type and wildcard filters and the read-only mode (15 of 25). `limit` up to 500, `offset`, `orderBy` and CroQL filters on the API, and `crowdin://` resources on MCP (20). Errors are JSON with a message and code, or per-field string codes. The 429 has no recovery guidance (15 of 20). No idempotency keys. The MCP read-only header helps, and tool annotations could not be read (6 of 20). Seven official clients and a CLI, though a file upload takes two calls through storage (13 of 15).",
          "b": "API reading. Batch translation of up to 100 texts a call and separate HTML, email, subtitle and i18n job endpoints (16). Few output controls or filters (10). Errors are a `detail` string with HTTP status codes (12). No idempotency key for i18n jobs, though text translation is stateless (8). Official SDKs listed for Python, JavaScript and TypeScript, Java and PHP, with few required fields (15). 16+10+12+8+15 = 61."
        },
        "scores": {
          "a": 69,
          "b": 61
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Crowdin OÜ",
        "b": "PetaBytes, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.crowdin.com/api/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Crowdin's terms. The CLI and the official API clients are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-22",
        "b": "2026-01-11",
        "name": "Last release"
      },
      {
        "a": "2026-09-24",
        "b": "2024-12-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-24",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "320 stars, 264k npm/wk, 14k PyPI/wk",
        "b": "6 npm/wk, 4 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Crowdin scores 69.6 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Crowdin or TranslatePlus?"
      },
      {
        "answer": "Crowdin takes an API key or an OAuth sign-in. TranslatePlus needs an API key.",
        "question": "Do Crowdin and TranslatePlus need an API key?"
      },
      {
        "answer": "Crowdin has a hosted endpoint at https://api.crowdin.com/api/v2. No hosted endpoint is listed for TranslatePlus.",
        "question": "Can an agent call Crowdin and TranslatePlus without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 78 against 45",
          "Schema \u0026 documentation, 80 against 52",
          "Agent ergonomics, 69 against 61",
          "Security \u0026 auth, 68 against 35",
          "Maintenance \u0026 community, 82 against 10",
          "Transparency \u0026 trust, 80 against 52"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where TranslatePlus loses 3 points for them"
        ],
        "goodFor": "Teams that keep product strings and files in Crowdin and want an agent to upload sources, check progress, apply pre-translation, manage glossaries and pull builds.",
        "slug": "crowdin",
        "watchFor": "The terms forbid accessing the service to monitor availability, performance or functionality, or for benchmarking, without Crowdin's prior written consent"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.",
        "slug": "translateplus",
        "watchFor": "llms.txt claims a 99.9% uptime SLA and SOC 2 Type II, while the terms disclaim any uptime guarantee and no audit is named"
      }
    ],
    "history": {
      "crowdin": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0,
          "from": 69.6,
          "fromGrade": "B",
          "to": 69.6,
          "toGrade": "B"
        }
      ],
      "translateplus": null
    },
    "job": {
      "capability": "translate.text",
      "name": "Translation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-crowdin.json",
        "title": "Amazon Translate vs Crowdin",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-crowdin"
      },
      {
        "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-translateplus.json",
        "title": "Azure Translator vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-deepl-api.json",
        "title": "Crowdin vs DeepL API",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-deepl-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-google-cloud-translation.json",
        "title": "Crowdin vs Google Cloud Translation",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-google-cloud-translation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-lara-translate.json",
        "title": "Crowdin vs Lara Translate API",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-lara-translate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-libretranslate.json",
        "title": "Crowdin vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-libretranslate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-lingo-dev.json",
        "title": "Crowdin vs Lingo.dev",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-lingo-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-lingvanex.json",
        "title": "Crowdin vs Lingvanex Translation API",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-lingvanex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-localazy.json",
        "title": "Crowdin vs Localazy",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-lokalise.json",
        "title": "Crowdin vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-lokalise"
      },
      {
        "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/crowdin-vs-smartcat.json",
        "title": "Crowdin vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-systran.json",
        "title": "Crowdin vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-systran"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.json",
        "title": "DeepL API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus.json",
        "title": "Google Cloud Translation vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lara-translate-vs-translateplus.json",
        "title": "Lara Translate API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-translateplus.json",
        "title": "LibreTranslate vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus.json",
        "title": "Lingo.dev vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lingvanex-vs-translateplus.json",
        "title": "Lingvanex Translation API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lingvanex-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localazy-vs-translateplus.json",
        "title": "Localazy vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus.json",
        "title": "Lokalise vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/phrase-vs-translateplus.json",
        "title": "Phrase vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/phrase-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smartcat-vs-translateplus.json",
        "title": "Smartcat vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/smartcat-vs-translateplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/systran-vs-translateplus.json",
        "title": "SYSTRAN Translate API vs TranslatePlus",
        "url": "https://www.anchorterminal.com/compare/systran-vs-translateplus"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 33,
        "crowdin": 78,
        "edge": "crowdin",
        "key": "reliability",
        "name": "Reliability",
        "translateplus": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 28,
        "crowdin": 80,
        "edge": "crowdin",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "translateplus": 52,
        "weight": 13
      },
      {
        "by": 8,
        "crowdin": 69,
        "edge": "crowdin",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "translateplus": 61,
        "weight": 13
      },
      {
        "by": 33,
        "crowdin": 68,
        "edge": "crowdin",
        "key": "security",
        "name": "Security \u0026 auth",
        "translateplus": 35,
        "weight": 14
      },
      {
        "by": 0,
        "crowdin": 30,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "translateplus": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 72,
        "crowdin": 82,
        "edge": "crowdin",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "translateplus": 10,
        "weight": 7
      },
      {
        "by": 28,
        "crowdin": 80,
        "edge": "crowdin",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "translateplus": 52,
        "weight": 7
      }
    ],
    "summary": "Crowdin scores 69.6 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "crowdin": "The REST API has a public OpenAPI document with 374 operations, and tokens can be limited by scope, access level and project. Translation runs inside Crowdin projects and connected engines, so it is not a stateless per-character translation API. No Retry-After guidance, idempotency keys or SLA were found in the reviewed documentation.",
      "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/crowdin-vs-translateplus",
    "json": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus.min.md"
  },
  "markdown": "Crowdin scores 69.6 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.\n\n- Crowdin: grade B, 69.6/100, rank #232 of 1510. Markdown https://www.anchorterminal.com/tools/crowdin.md · JSON https://www.anchorterminal.com/api/v1/tools/crowdin.json\n- TranslatePlus: grade E, 39.7/100, rank #1335 of 1510. 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### Crowdin (B)\n\nGood for: Teams that keep product strings and files in Crowdin and want an agent to upload sources, check progress, apply pre-translation, manage glossaries and pull builds.\n\nAhead on:\n- Reliability, 78 against 45\n- Schema \u0026 documentation, 80 against 52\n- Agent ergonomics, 69 against 61\n- Security \u0026 auth, 68 against 35\n- Maintenance \u0026 community, 82 against 10\n- Transparency \u0026 trust, 80 against 52\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where TranslatePlus loses 3 points for them\n\nWatch for: The terms forbid accessing the service to monitor availability, performance or functionality, or for benchmarking, without Crowdin's prior written consent\n\n### TranslatePlus (E)\n\nGood for: Low-cost per-request translation of short strings, HTML, emails, subtitles and i18n files for small projects.\n\nWatch for: llms.txt claims a 99.9% uptime SLA and SOC 2 Type II, while the terms disclaim any uptime guarantee and no audit is named\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Crowdin +72\n\n- Crowdin (82): `@crowdin/crowdin-api-client` 1.59.2 on 22 October 2026 (scope annotations on every method), 10 days before 1 November, after `@crowdin/cli` 5.5.0 on 21 October and 5.4.0 on 16 October (30). In the 90 days from 3 August, ten CLI tags (4.15.1, the 5.0.0-next.6 pre-release and 5.0.0 on 26 August to 5.5.0), seven JavaScript client releases (1.56.3 on 6 August to 1.59.2) and three Python client releases (1.28.0, 1.29.0 and 1.30.0), none with a breaking change marked in a minor release (20). Monthly dated product updates and a support contact. The CLI and JavaScript client repositories each showed 2 open issues per the GitHub API on 8 October. We did not read the issue threads (12 of 15). Seven current official clients (15). CI and dependency state were not inspected, though the CLI began attesting build provenance for release binaries on 13 October, so half credit (5 of 10).\n- TranslatePlus (10): The newest dated change found is translateplus-python 2.0.7 and translateplus-js 2.0.1 on 11 January 2026, about ten months before this check, and the API changelog stops at 9 December 2024 (0). No release or dated change in the last 90 days (0). Support by email and a support portal; the status page hasn't updated since January (3). SDKs exist for four languages but haven't changed since January (5). Weekly downloads of 4 (PyPI) and 6 (npm) (2). 0+0+3+5+2 = 10.\n\n### Reliability: Crowdin +33\n\n- Crowdin (78): Hosted reading. The surface graded is the REST API v2, with the hosted MCP server noted where it differs. status.crowdin.com is a Statuspage site with ten components, three of them for the API (Crowdin API, Crowdin API Enterprise, Crowdin API Enterprise EU) (20). Its history feed, read on 1 November 2026 (the host's robots.txt disallows /api/, so the feed and incident pages stand in for incidents.json), lists one incident in the 90 days from 3 August, a 12-minute slowdown on 22 October (11:13 to 11:25 UTC) that named only the Crowdin Enterprise and Crowdin Enterprise EU web components. No incident named an API component, so the line reads clean, as intercom's non-API incidents were read (30). The reference states 20 simultaneous requests an account across all tokens (15). A 429 is returned above that, with no Retry-After header, backoff guidance or idempotency keys found. Long jobs have a documented start, status and download sequence (3 of 15). No SLA found in the terms or the help centre (0). API v2 and MCP V2 are presented as current, with no beta label (10).\n- TranslatePlus (45): Hosted lines. status.translateplus.io is the vendor's own page; on 6 November 2026 it showed 'All systems unknown' and a last update of 22 January 2026, with data loading by script (5). No incident history to read (5). The rate-limits guide gives 100,000 requests a minute and 100,000,000 an hour per key, while llms.txt gives 50 requests a second on the Free plan, so limits are published but inconsistent (10). 429 returns a JSON detail message, responses carry X-RateLimit-Limit, -Remaining and -Reset, and the guide shows waiting for the reset with capped retries (15). No SLA. The terms say TranslatePlus strives for 99.9% uptime 'but do not guarantee uninterrupted service' (0). API v2 is the current, non-beta version (10). 5+5+10+15+0+10 = 45.\n\n### Security \u0026 auth: Crowdin +33\n\n- Crowdin (68): Personal access tokens with an expiry date, scopes at read-only or read-and-write, per-project granular access and revocation. OAuth authorisation code grant with PKCE for public apps. No query-string token option found (30). Read-only scope levels and the MCP `crowdin-read-only` header. No server-side confirmation for destructive calls was found, and the MCP examples include deleting a user (15 of 20). The API returns strings, comments and translations written by contributors. No prompt-injection guidance was found in the developer or help documentation (0 of 15). A security log of account events (logins, password changes, device and IP address) with a read-only `security-log` scope, and AI request logs. No per-call API log found (8 of 15). security.txt valid to 31 January 2030 (re-read on 1 November), a vulnerability policy pointing to a private HackerOne programme, ISO/IEC 27001 certification and HIPAA agreements claimed on the security page. No SOC 2 report found (15 of 20).\n- TranslatePlus (35): One API key per account in the X-API-KEY header, which the docs say 'carries full access to your account's resources', and can be revoked in the dashboard (15). No scopes or read-only keys (5). Translations return the caller's own text, so little untrusted content (10). llms.txt claims request logging and an analytics dashboard, which we couldn't see without an account (5). translateplus.io/.well-known/security.txt returns 404 and no disclosure policy was found; llms.txt says 'SOC 2 compliant' and 'SOC 2 Type II certified infrastructure' with no report or auditor named (0). 15+5+10+5+0 = 35.\n\n### Schema \u0026 documentation: Crowdin +28\n\n- Crowdin (80): Public OpenAPI 3.0 document for API v2, 374 operations on 218 paths in the file-based reference, with string-based and Enterprise variants (25). `llms.txt` links abridged and complete documentation and one text file per route (10). Operations carry a summary and the required scope, and parameters point to the call that supplies their value, but few say when to use or avoid an endpoint (12 of 20). 518 enums, required fields and numeric bounds. Edits are JSON Patch arrays and several forms are `oneOf` (12 of 15). 2,831 examples, with 400, 401, 403, 404 and 405 responses on most operations (13 of 15). The API is versioned at `/api/v2` and the MCP server at V1 and V2. Changes appear in monthly product posts and client release notes, and no dated API changelog was found (8 of 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: Crowdin +28\n\n- Crowdin (80): Closed service with published terms revised on 24 September 2026 (unchanged on 1 November) and earlier versions kept on GitHub. The CLI and clients are MIT (15). The privacy policy gives retention periods (closed-account data deleted within 60 days, backups up to two more months, billing records 7 years), the terms carry a data processing contract, and both say Crowdin does not train models on client input. For managed AI the commitment about sub-processors is commercially reasonable efforts (26 of 30). MCP V1 and 12 API operations are marked deprecated with no removal dates, and no deprecation policy was found (6 of 20). A dated sub-processor list with countries, and data centres named as the United States and Ireland (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: Crowdin +8\n\n- Crowdin (69): The MCP V2 server has 33 tool sets, all loaded by default. We could not list the tools without an account, so the count is read as more than 30 (5), with 10 added back for the tool-set, project-type and wildcard filters and the read-only mode (15 of 25). `limit` up to 500, `offset`, `orderBy` and CroQL filters on the API, and `crowdin://` resources on MCP (20). Errors are JSON with a message and code, or per-field string codes. The 429 has no recovery guidance (15 of 20). No idempotency keys. The MCP read-only header helps, and tool annotations could not be read (6 of 20). Seven official clients and a CLI, though a file upload takes two calls through storage (13 of 15).\n- TranslatePlus (61): API reading. Batch translation of up to 100 texts a call and separate HTML, email, subtitle and i18n job endpoints (16). Few output controls or filters (10). Errors are a `detail` string with HTTP status codes (12). No idempotency key for i18n jobs, though text translation is stateless (8). Official SDKs listed for Python, JavaScript and TypeScript, Java and PHP, with few required fields (15). 16+10+12+8+15 = 61.\n\n## Score by category\n\n| Category | Weight | Crowdin | TranslatePlus | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 78 | 45 | Crowdin +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 52 | Crowdin +28 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 61 | Crowdin +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 35 | Crowdin +33 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 10 | Crowdin +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 52 | Crowdin +28 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **69.6 · B** | **39.7 · E** | |\n\n## Facts side by side\n\n| Fact | Crowdin | TranslatePlus |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Crowdin OÜ | PetaBytes, Inc. |\n| Hosted endpoint | `https://api.crowdin.com/api/v2` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Crowdin's terms. The CLI and the official API clients are MIT | none |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-22 | 2026-01-11 |\n| Terms last updated | 2026-09-24 | 2024-12-18 |\n| Privacy policy last updated | 2026-09-24 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 320 stars, 264k npm/wk, 14k PyPI/wk | 6 npm/wk, 4 PyPI/wk |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### Crowdin\n\n- no change on 27 October 2026: checklist\n\n### TranslatePlus\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Crowdin.** The REST API has a public OpenAPI document with 374 operations, and tokens can be limited by scope, access level and project. Translation runs inside Crowdin projects and connected engines, so it is not a stateless per-character translation API. No Retry-After guidance, idempotency keys or SLA were found in the reviewed documentation.\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### Crowdin\n\n1. Send `Authorization: Bearer \u003ctoken\u003e` to `https://api.crowdin.com/api/v2`. Crowdin Enterprise uses `https://\u003corganization_domain\u003e.api.crowdin.com/api/v2`\n2. Use the MCP V2 endpoint `https://mcp.crowdin.com/v2/mcp` and set `crowdin-tool-sets`, because the server loads all 33 tool sets by default\n3. Set `crowdin-read-only: true` on the MCP connection for exploration. It exposes only list and get tools\n4. Keep to 20 concurrent requests an account across all tokens, and add your own backoff on 429\n5. Upload a file to `/storages` first, then pass the `storageId` to the add-file call. Builds, exports and reports are asynchronous and need a status poll\n6. `/mts/{mtId}/translations` takes at most 100 strings a call and needs the `mt` scope and a configured engine\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, Crowdin or TranslatePlus?\n\nCrowdin scores 69.6 (B) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.\n\n### Do Crowdin and TranslatePlus need an API key?\n\nCrowdin takes an API key or an OAuth sign-in. TranslatePlus needs an API key.\n\n### Can an agent call Crowdin and TranslatePlus without installing anything?\n\nCrowdin has a hosted endpoint at https://api.crowdin.com/api/v2. No hosted endpoint is listed for TranslatePlus.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/crowdin-vs-translateplus.json, and with the fewest tokens: https://www.anchorterminal.com/compare/crowdin-vs-translateplus.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"crowdin\", \"b\": \"translateplus\"}`. From a terminal: `anchor compare crowdin translateplus`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/crowdin.json and https://www.anchorterminal.com/api/v1/tools/translateplus.json\n\n## Other comparisons with Crowdin or TranslatePlus\n\n- [Amazon Translate vs Crowdin](https://www.anchorterminal.com/compare/amazon-translate-vs-crowdin.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 TranslatePlus](https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.md)\n- [Crowdin vs DeepL API](https://www.anchorterminal.com/compare/crowdin-vs-deepl-api.md)\n- [Crowdin vs Google Cloud Translation](https://www.anchorterminal.com/compare/crowdin-vs-google-cloud-translation.md)\n- [Crowdin vs Lara Translate API](https://www.anchorterminal.com/compare/crowdin-vs-lara-translate.md)\n- [Crowdin vs LibreTranslate](https://www.anchorterminal.com/compare/crowdin-vs-libretranslate.md)\n- [Crowdin vs Lingo.dev](https://www.anchorterminal.com/compare/crowdin-vs-lingo-dev.md)\n- [Crowdin vs Lingvanex Translation API](https://www.anchorterminal.com/compare/crowdin-vs-lingvanex.md)\n- [Crowdin vs Localazy](https://www.anchorterminal.com/compare/crowdin-vs-localazy.md)\n- [Crowdin vs Lokalise](https://www.anchorterminal.com/compare/crowdin-vs-lokalise.md)\n- [Crowdin vs Phrase](https://www.anchorterminal.com/compare/crowdin-vs-phrase.md)\n- [Crowdin vs Smartcat](https://www.anchorterminal.com/compare/crowdin-vs-smartcat.md)\n- [Crowdin vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/crowdin-vs-systran.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": "Crowdin vs TranslatePlus",
        "url": ""
      }
    ],
    "description": "Crowdin scores 69.6 (B) to TranslatePlus's 39.7 (E) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Crowdin B 69.6",
      "TranslatePlus E 39.7",
      "scores"
    ],
    "h1": "Crowdin vs TranslatePlus",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/crowdin-vs-translateplus",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Crowdin vs TranslatePlus for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/crowdin-vs-translateplus"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 2930
  },
  "version": 1
}
