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