{
  "data": {
    "a": {
      "slug": "lokalise",
      "name": "Lokalise",
      "vendor": "Lokalise, Inc.",
      "vendorUrl": "https://lokalise.com",
      "kind": "http-api",
      "category": "translation",
      "summary": "Lokalise is a hosted translation management system for software strings, documents and marketing content. Agents reach it through a REST API, the `lokalise2` CLI, SDKs in four languages and a hosted MCP server in beta.",
      "url": "https://www.anchorterminal.com/tools/lokalise",
      "markdownUrl": "https://www.anchorterminal.com/tools/lokalise.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/lokalise.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lokalise.json",
      "dns": "lokalise.grade.anchorterminal.com",
      "repo": "https://github.com/lokalise/lokalise-cli-2-go",
      "license": "Proprietary service under the Lokalise Master Service Agreement. The CLI and the Node SDK on GitHub are BSD 3-Clause",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.lokalise.com/api2",
      "packages": [
        {
          "registry": "npm",
          "name": "@lokalise/node-api"
        },
        {
          "registry": "pypi",
          "name": "python-lokalise-api"
        },
        {
          "registry": "go",
          "name": "github.com/lokalise/lokalise-cli-2-go"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A user creates a personal API token under Profile settings, read-only or read/write, and sends it in the `X-Api-Token` header. Tokens don't expire, can be deleted, and carry the creating user's project access. OAuth 2 for the API needs an app registered through Lokalise support, with scopes such as `read_keys` and `write_projects`. The MCP server takes OAuth with dynamic client registration, or an API token in the `apikey` header.",
      "pricing": "paid",
      "pricingNotes": "Explorer $149, Growth $379 and Advanced $1,049 a month billed yearly, Enterprise by quote. Monthly-billing prices load only in a browser and were not read. Every plan starts with a 14-day trial with no card, so an agent can start without a contract. There is no free plan except for open-source non-profit projects on request. The MCP article says API access depends on the plan, and the page did not show which plans include it (checked 2026-10-08).",
      "priceSummary": "$149 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 124,
        "npmWeekly": 337721,
        "pypiWeekly": 39399,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.lokalise.com",
      "llmsTxt": "https://developers.lokalise.com/llms.txt",
      "openapi": "https://developers.lokalise.com/openapi/lokalise-api-without-branches.yml",
      "capabilities": [
        "translate.text",
        "translate.glossary",
        "translate.documents"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "cli",
        "typescript",
        "python",
        "no-card",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 164,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 84,
          "payments": 30,
          "reliability": 84,
          "schema": 76,
          "security": 73,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "The REST API has public OpenAPI files, Markdown docs, published rate limits, read-only tokens, scoped OAuth and an audit log endpoint. Access needs a paid plan after a 14-day trial, a person signs up in a browser, and the Master Service Agreement forbids benchmarking. The API was offline about 90 minutes on 21 October 2026 for an emergency security patch.",
        "bestFor": "Agents that manage localisation work, such as adding keys, uploading and exporting string files, keeping a glossary and starting AI or machine translation tasks for a team that already uses Lokalise.",
        "strengths": [
          "Three public OpenAPI 3.0.3 files, llms.txt with 182 reference links and a Markdown twin of every reference page",
          "Rate limits published as 6 requests a second per token and per IP, with 10 concurrent requests per project",
          "API tokens are read-only or read/write, and OAuth 2 carries read and write scopes per resource",
          "`GET /v1/audit-logs` returns team audit events in OCSF 1.3.0 format since 16 July 2026",
          "Node and Python SDKs released in October 2026, with 15 dated product changelog entries since 3 August"
        ],
        "weaknesses": [
          "The Master Service Agreement forbids using the service for benchmarking or competitive analysis",
          "No free plan. Explorer is $149 a month billed yearly after a 14-day trial without a card",
          "The application and API were offline about 90 minutes on 21 October 2026 for an emergency PHP patch, announced about six hours ahead",
          "No idempotency keys in the OpenAPI files, though the errors page mentions an idempotent key under 409",
          "API tokens never expire and carry every permission of the user who made them",
          "The MCP server and the Vantage API are both labelled beta"
        ],
        "agentNotes": [
          "Send the token in the `X-Api-Token` header to `https://api.lokalise.com/api2`. OAuth access tokens go in `Authorization: Bearer` and expire after about 60 minutes.",
          "Stay under 6 requests a second per token and 10 concurrent requests per project. On 429, back off exponentially and read `X-RateLimit-Reset`.",
          "Use a read-only token for reads. A read/write token can call `PUT /projects/{project_id}/empty`, which deletes every key and translation.",
          "Use `pagination=cursor` on `/keys` and `/translations`, with `limit` at most 500 on keys, and follow `X-Pagination-Next-Cursor`.",
          "Projects above 10,000 key-language pairs need `/files/async-download`. Poll `/processes/{process_id}` for the bundle URL, and do the same after `/files/upload`."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.3
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 84,
          "payments": 30,
          "reliability": 84,
          "schema": 76,
          "security": 73,
          "transparency": 63
        },
        "provenanceScore": 98,
        "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",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "brew tap lokalise/cli-2\nbrew install lokalise2",
        "http": "curl \"https://api.lokalise.com/api2/projects?limit=5\" -H \"X-Api-Token: $LOKALISE_API_TOKEN\"",
        "claudeCode": "claude mcp add lokalise_pm --transport http https://mcp.lokalise.com/mcp/project-management",
        "config": {
          "lokalise_pm": {
            "url": "https://mcp.lokalise.com/mcp/project-management"
          },
          "lokalise_sd": {
            "url": "https://mcp.lokalise.com/mcp/software-development"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/lokalise"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Explorer",
          "unit": "month",
          "usd": 149,
          "note": "billed yearly"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 379,
          "note": "billed yearly"
        },
        {
          "item": "Advanced",
          "unit": "month",
          "usd": 1049,
          "note": "billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Lokalise, Inc.",
        "domain": "lokalise.com",
        "domainRegistered": "2016-09-26",
        "endpointOnVendorDomain": true,
        "terms": "https://lokalise.com/msa-new/",
        "privacy": "https://lokalise.com/privacy-policy/",
        "statusPage": "https://status.lokalise.com",
        "changelog": "https://lokalise.com/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Master Service Agreement (last updated November 2025) names Lokalise, Inc., a Delaware company at 3500 South DuPont Highway, Suite BZ-101, Dover, DE 19901. It governs paid subscriptions.",
          "Trial and individual users fall under the User and Trial Access Terms of Service at https://lokalise.com/terms-of-service/ (November 2025). API integrations published in the app library fall under the Developer Program Agreement at https://lokalise.com/dev-hub-terms/, which shows no date.",
          "The privacy policy (last updated March 2026) covers the website, platform and services, and says Lokalise is the processor for customer data.",
          "The API answers at api.lokalise.com and the MCP server at mcp.lokalise.com.",
          "https://lokalise.com/.well-known/security.txt gives vdp.lokalise.com and security@lokalise.com as contacts and expires on 20 August 2027.",
          "RDAP for lokalise.com gives a registration date of 2016-09-26."
        ],
        "score": 98
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lokalise.json",
      "live": {
        "slug": "lokalise",
        "probe": {
          "target": "https://api.lokalise.com/api2",
          "method": "get",
          "lastAt": "2026-11-07T19:22:17.132480392Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 109,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.72,
          "p50ms24h": 98,
          "p95ms24h": 179,
          "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": 234
            },
            {
              "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": 248
            },
            {
              "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
            }
          ],
          "outages": [
            {
              "start": "2026-10-21T13:56:41.448799904Z",
              "end": "2026-10-21T15:43:50.37318404Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.lokalise.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:22:22.97339194Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "lokalise/lokalise-cli-2-go",
            "version": "v3.1.7",
            "released": "2026-07-14",
            "seenAt": "2026-11-06T23:41:23.466173359Z"
          },
          {
            "registry": "npm",
            "name": "@lokalise/node-api",
            "version": "17.0.1",
            "seenAt": "2026-11-06T23:41:22.328032121Z"
          },
          {
            "registry": "pypi",
            "name": "python-lokalise-api",
            "version": "5.0.0",
            "released": "2026-10-26",
            "seenAt": "2026-11-06T23:41:23.218063505Z"
          }
        ],
        "githubStars": 124,
        "npmWeekly": 357700,
        "pypiWeekly": 38110,
        "securityTxt": {
          "url": "https://lokalise.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-20T00:00:00z",
          "checkedAt": "2026-11-07T16:00:40.286076372Z"
        },
        "llmsTxt": {
          "url": "https://developers.lokalise.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:54.820621869Z"
        },
        "domain": {
          "domain": "lokalise.com",
          "registered": "2016-09-26",
          "source": "https://rdap.verisign.com/com/v1/domain/lokalise.com",
          "checkedAt": "2026-11-01T14:27:44.921187171Z"
        },
        "pages": [
          {
            "url": "https://lokalise.com/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:27.946192363Z",
            "changedAt": "2026-11-06T13:35:32.423507247Z",
            "fingerprint": "56122549f967"
          },
          {
            "url": "https://lokalise.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:32.410679586Z",
            "changedAt": "2026-10-23T01:50:56.47246929Z",
            "fingerprint": "2f7d0db46a9f"
          },
          {
            "url": "https://lokalise.com/msa-new/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:30.407217182Z",
            "changedAt": "2026-10-17T23:05:34.963457328Z",
            "fingerprint": "1137ace42b18"
          }
        ],
        "github": {
          "repo": "lokalise/lokalise-cli-2-go",
          "checkedAt": "2026-11-02T09:01:38.942051691Z",
          "stars": 124,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-22T06:42:15Z",
          "openIssues": 50,
          "openPRs": 13,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 3,
            "success": 3,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-07-14T16:09:51Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 15,
            "medianDays": 4.9
          }
        },
        "updatedAt": "2026-11-07T19:22:17.132480392Z"
      }
    },
    "answer": "Lokalise scores 71.3 (BB) 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": 74,
        "category": "maintenance",
        "leads": "lokalise",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "`python-lokalise-api` 5.0.0 on 26 October 2026 (Python 3.11 or later, announced in 4.3.0), `@lokalise/node-api` 17.0.0 and 17.0.1 on 23 October (Vantage API client) and a product changelog entry on 23 October (30). Since 3 August, six Node SDK releases, three Python releases and 15 dated changelog entries (20). Public changelog and 24/7 support listed on the pricing page. The CLI still has no release since v3.1.7 of 14 July 2026, and its 62 open issues and pull requests rest on the 8 October count (11 of 15). Official SDKs are current (15). The Node SDK runs CI on GitHub Actions across Node 22 to 26 and needs Node 22.19 or later, and the CLI builds with GoReleaser (8 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": 84,
          "b": 10
        }
      },
      {
        "by": 39,
        "category": "reliability",
        "leads": "lokalise",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the REST API with the hosted lines. Statuspage site at status.lokalise.com with five components and history back to 2022 (20). In the 90 days to 1 November 2026, a 42-minute search outage on 17 August marked critical (search only, partial), three hours of partial email delivery failures on 14 September, and on 21 October an emergency maintenance window, announced on the status page at 07:49 UTC for 14:00 to 15:00 and extended at 14:39, in which the application, the API and Lokalise Messages were offline from 14:00 until 15:30 UTC per the postmortem (16:00 per the completion post) to patch PHP CVE-2026-109618 and CVE-2026-109619. Maintenance announced on the status page before it starts isn't counted as an incident, as akeyless's 11 October window was read, so the record holds minor incidents only (20 of 30). Limits published as 6 requests a second per token and per IP and 10 concurrent requests per project (15). 429 is documented with advice to back off exponentially, and responses carry `X-RateLimit-*` headers, but no Retry-After is documented and writes take no idempotency key (9 of 15). The Master Service Agreement commits to 99.5 per cent a month with service credits, per the 8 October check, not re-read on 1 November (10). The REST API is generally available, while the MCP server and the new Vantage API are in beta (10). 20+20+15+9+10+10 = 84.",
          "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": 84,
          "b": 45
        }
      },
      {
        "by": 38,
        "category": "security",
        "leads": "lokalise",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2 with read and write scopes per resource, and personal API tokens that are read-only or read/write and revocable. Tokens never expire and carry all of the creating user's access, and the MCP server adds PKCE and dynamic client registration (26 of 30). Read-only tokens, scopes and role-based project permissions limit access, but no confirmation step was found for calls such as emptying a project (13 of 20). The API returns strings written by translators and contributors, and no guidance on untrusted content was found in the reviewed documentation (3 of 15). `GET /v1/audit-logs` returns team audit events in OCSF 1.3.0, and the security page says logs are kept 12 months (13 of 15). security.txt valid to 20 August 2027, a disclosure policy at vdp.lokalise.com, a private bug bounty on YesWeHack, SOC 2 Type II, ISO 27001 and ISO 27017 per the security page (18 of 20).",
          "b": "One API key per account in the X-API-KEY header, which the docs say 'carries full access to your account's resources', and can be revoked in the dashboard (15). No scopes or read-only keys (5). Translations return the caller's own text, so little untrusted content (10). llms.txt claims request logging and an analytics dashboard, which we couldn't see without an account (5). translateplus.io/.well-known/security.txt returns 404 and no disclosure policy was found; llms.txt says 'SOC 2 compliant' and 'SOC 2 Type II certified infrastructure' with no report or auditor named (0). 15+5+10+5+0 = 35."
        },
        "scores": {
          "a": 73,
          "b": 35
        }
      },
      {
        "by": 29,
        "category": "transparency",
        "leads": "lokalise",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service with a published Master Service Agreement, and the CLI and SDKs under BSD 3-Clause (15). Privacy policy of March 2026 (still the date on 1 November), a DPA dated 21 March 2023, an AI statement and a sub-processor list. The agreement deletes inactive account data after 30 days. The privacy policy says customer data doesn't train general-purpose models, and the AI statement says it can train Lokalise's own models with consent. We did not read the DPA PDF (22 of 30). No deprecation policy found. The API changelog carries dated notices from 2021 and 2022, and the Developer Program Agreement allows changes to API access with or without notice (6 of 20). Sub-processors listed with purpose and location, updated 1 August 2026, and customer data hosted on AWS in EU regions (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": 81,
          "b": 52
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "lokalise",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Three public OpenAPI 3.0.3 files, the default-projects one with 63 paths and 109 operations (25). llms.txt with 182 reference links and a Markdown twin of each page (10). Every operation has a description that names the admin right and OAuth scope it needs and which project types it works on, with little on when not to call it (14 of 20). 65 enums and required fields marked, but boolean flags are numbers 0 and 1 and many filters are comma-separated strings (9 of 15). 213 examples, but 108 of 109 operations document only the 200 response and the error list is one general page (8 of 15). The path is versioned at `/api2` and there is a dated API changelog, whose newest entry is 29 May 2025 while later API changes appear only in the product changelog (10 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": 76,
          "b": 52
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "lokalise",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading of the checklist. `include_translations`, `include_comments` and similar flags and a `limit` size the responses, and the MCP server splits its tools into two toolkits of 22 and 16 documented actions (18 of 25). Page and cursor paging with `X-Pagination-*` headers and filters by tag, file name, platform and untranslated state (20). Errors carry a code and a message, and bulk calls return an error per failed item, but messages are short and codes are HTTP statuses only (13 of 20). No idempotency key was found in the OpenAPI files, and we could not read the MCP tool annotations without an account. File imports return a process to poll (4 of 20). Few required fields (one on a task, three on an upload) and official clients for Node, Python, Ruby and PHP plus a CLI written in Go (14 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": "Lokalise, Inc.",
        "b": "PetaBytes, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.lokalise.com/api2",
        "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": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Lokalise Master Service Agreement. The CLI and the Node SDK on GitHub are BSD 3-Clause",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-01-11",
        "name": "Last release"
      },
      {
        "a": "2025-11-01",
        "b": "2024-12-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-01",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "124 stars, 338k npm/wk, 39k PyPI/wk",
        "b": "6 npm/wk, 4 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Lokalise scores 71.3 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Lokalise or TranslatePlus?"
      },
      {
        "answer": "Lokalise takes an API key or an OAuth sign-in. TranslatePlus needs an API key.",
        "question": "Do Lokalise and TranslatePlus need an API key?"
      },
      {
        "answer": "Lokalise has a hosted endpoint at https://api.lokalise.com/api2. No hosted endpoint is listed for TranslatePlus.",
        "question": "Can an agent call Lokalise and TranslatePlus without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 45",
          "Schema \u0026 documentation, 76 against 52",
          "Agent ergonomics, 69 against 61",
          "Security \u0026 auth, 73 against 35",
          "Maintenance \u0026 community, 84 against 10",
          "Transparency \u0026 trust, 81 against 52"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "Free to start without a card",
          "No incidents deducted, where TranslatePlus loses 3 points for them"
        ],
        "goodFor": "Agents that manage localisation work, such as adding keys, uploading and exporting string files, keeping a glossary and starting AI or machine translation tasks for a team that already uses Lokalise.",
        "slug": "lokalise",
        "watchFor": "The Master Service Agreement forbids using the service for benchmarking or competitive analysis"
      },
      {
        "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": null,
    "job": {
      "capability": "translate.text",
      "name": "Translation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-lokalise.json",
        "title": "Amazon Translate vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "Azure Translator vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-lokalise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-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-lokalise.json",
        "title": "Crowdin vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "DeepL API vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-lokalise"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-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-lokalise.json",
        "title": "Google Cloud Translation vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "Lara Translate API vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "LibreTranslate vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "Lingo.dev vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/lingo-dev-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "Lingvanex Translation API vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/lingvanex-vs-lokalise"
      },
      {
        "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-lokalise.json",
        "title": "Localazy vs Lokalise",
        "url": "https://www.anchorterminal.com/compare/localazy-vs-lokalise"
      },
      {
        "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-phrase.json",
        "title": "Lokalise vs Phrase",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lokalise-vs-smartcat.json",
        "title": "Lokalise vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lokalise-vs-systran.json",
        "title": "Lokalise vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/lokalise-vs-systran"
      },
      {
        "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": 39,
        "edge": "lokalise",
        "key": "reliability",
        "lokalise": 84,
        "name": "Reliability",
        "translateplus": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "lokalise",
        "key": "schema",
        "lokalise": 76,
        "name": "Schema \u0026 documentation",
        "translateplus": 52,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "lokalise",
        "key": "ergonomics",
        "lokalise": 69,
        "name": "Agent ergonomics",
        "translateplus": 61,
        "weight": 13
      },
      {
        "by": 38,
        "edge": "lokalise",
        "key": "security",
        "lokalise": 73,
        "name": "Security \u0026 auth",
        "translateplus": 35,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "lokalise": 30,
        "name": "Payments \u0026 pricing",
        "translateplus": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 74,
        "edge": "lokalise",
        "key": "maintenance",
        "lokalise": 84,
        "name": "Maintenance \u0026 community",
        "translateplus": 10,
        "weight": 7
      },
      {
        "by": 29,
        "edge": "lokalise",
        "key": "transparency",
        "lokalise": 81,
        "name": "Transparency \u0026 trust",
        "translateplus": 52,
        "weight": 7
      }
    ],
    "summary": "Lokalise scores 71.3 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "lokalise": "The REST API has public OpenAPI files, Markdown docs, published rate limits, read-only tokens, scoped OAuth and an audit log endpoint. Access needs a paid plan after a 14-day trial, a person signs up in a browser, and the Master Service Agreement forbids benchmarking. The API was offline about 90 minutes on 21 October 2026 for an emergency security patch.",
      "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/lokalise-vs-translateplus",
    "json": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus.min.md"
  },
  "markdown": "Lokalise scores 71.3 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories. Both do translation.\n\n- Lokalise: grade BB, 71.3/100, rank #164 of 1510. Markdown https://www.anchorterminal.com/tools/lokalise.md · JSON https://www.anchorterminal.com/api/v1/tools/lokalise.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### Lokalise (BB)\n\nGood for: Agents that manage localisation work, such as adding keys, uploading and exporting string files, keeping a glossary and starting AI or machine translation tasks for a team that already uses Lokalise.\n\nAhead on:\n- Reliability, 84 against 45\n- Schema \u0026 documentation, 76 against 52\n- Agent ergonomics, 69 against 61\n- Security \u0026 auth, 73 against 35\n- Maintenance \u0026 community, 84 against 10\n- Transparency \u0026 trust, 81 against 52\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n- No incidents deducted, where TranslatePlus loses 3 points for them\n\nWatch for: The Master Service Agreement forbids using the service for benchmarking or competitive analysis\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: Lokalise +74\n\n- Lokalise (84): `python-lokalise-api` 5.0.0 on 26 October 2026 (Python 3.11 or later, announced in 4.3.0), `@lokalise/node-api` 17.0.0 and 17.0.1 on 23 October (Vantage API client) and a product changelog entry on 23 October (30). Since 3 August, six Node SDK releases, three Python releases and 15 dated changelog entries (20). Public changelog and 24/7 support listed on the pricing page. The CLI still has no release since v3.1.7 of 14 July 2026, and its 62 open issues and pull requests rest on the 8 October count (11 of 15). Official SDKs are current (15). The Node SDK runs CI on GitHub Actions across Node 22 to 26 and needs Node 22.19 or later, and the CLI builds with GoReleaser (8 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: Lokalise +39\n\n- Lokalise (84): Graded on the REST API with the hosted lines. Statuspage site at status.lokalise.com with five components and history back to 2022 (20). In the 90 days to 1 November 2026, a 42-minute search outage on 17 August marked critical (search only, partial), three hours of partial email delivery failures on 14 September, and on 21 October an emergency maintenance window, announced on the status page at 07:49 UTC for 14:00 to 15:00 and extended at 14:39, in which the application, the API and Lokalise Messages were offline from 14:00 until 15:30 UTC per the postmortem (16:00 per the completion post) to patch PHP CVE-2026-109618 and CVE-2026-109619. Maintenance announced on the status page before it starts isn't counted as an incident, as akeyless's 11 October window was read, so the record holds minor incidents only (20 of 30). Limits published as 6 requests a second per token and per IP and 10 concurrent requests per project (15). 429 is documented with advice to back off exponentially, and responses carry `X-RateLimit-*` headers, but no Retry-After is documented and writes take no idempotency key (9 of 15). The Master Service Agreement commits to 99.5 per cent a month with service credits, per the 8 October check, not re-read on 1 November (10). The REST API is generally available, while the MCP server and the new Vantage API are in beta (10). 20+20+15+9+10+10 = 84.\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: Lokalise +38\n\n- Lokalise (73): OAuth 2 with read and write scopes per resource, and personal API tokens that are read-only or read/write and revocable. Tokens never expire and carry all of the creating user's access, and the MCP server adds PKCE and dynamic client registration (26 of 30). Read-only tokens, scopes and role-based project permissions limit access, but no confirmation step was found for calls such as emptying a project (13 of 20). The API returns strings written by translators and contributors, and no guidance on untrusted content was found in the reviewed documentation (3 of 15). `GET /v1/audit-logs` returns team audit events in OCSF 1.3.0, and the security page says logs are kept 12 months (13 of 15). security.txt valid to 20 August 2027, a disclosure policy at vdp.lokalise.com, a private bug bounty on YesWeHack, SOC 2 Type II, ISO 27001 and ISO 27017 per the security page (18 of 20).\n- TranslatePlus (35): One API key per account in the X-API-KEY header, which the docs say 'carries full access to your account's resources', and can be revoked in the dashboard (15). No scopes or read-only keys (5). Translations return the caller's own text, so little untrusted content (10). llms.txt claims request logging and an analytics dashboard, which we couldn't see without an account (5). translateplus.io/.well-known/security.txt returns 404 and no disclosure policy was found; llms.txt says 'SOC 2 compliant' and 'SOC 2 Type II certified infrastructure' with no report or auditor named (0). 15+5+10+5+0 = 35.\n\n### Transparency \u0026 trust: Lokalise +29\n\n- Lokalise (81): Closed service with a published Master Service Agreement, and the CLI and SDKs under BSD 3-Clause (15). Privacy policy of March 2026 (still the date on 1 November), a DPA dated 21 March 2023, an AI statement and a sub-processor list. The agreement deletes inactive account data after 30 days. The privacy policy says customer data doesn't train general-purpose models, and the AI statement says it can train Lokalise's own models with consent. We did not read the DPA PDF (22 of 30). No deprecation policy found. The API changelog carries dated notices from 2021 and 2022, and the Developer Program Agreement allows changes to API access with or without notice (6 of 20). Sub-processors listed with purpose and location, updated 1 August 2026, and customer data hosted on AWS in EU regions (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### Schema \u0026 documentation: Lokalise +24\n\n- Lokalise (76): Three public OpenAPI 3.0.3 files, the default-projects one with 63 paths and 109 operations (25). llms.txt with 182 reference links and a Markdown twin of each page (10). Every operation has a description that names the admin right and OAuth scope it needs and which project types it works on, with little on when not to call it (14 of 20). 65 enums and required fields marked, but boolean flags are numbers 0 and 1 and many filters are comma-separated strings (9 of 15). 213 examples, but 108 of 109 operations document only the 200 response and the error list is one general page (8 of 15). The path is versioned at `/api2` and there is a dated API changelog, whose newest entry is 29 May 2025 while later API changes appear only in the product changelog (10 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### Agent ergonomics: Lokalise +8\n\n- Lokalise (69): API reading of the checklist. `include_translations`, `include_comments` and similar flags and a `limit` size the responses, and the MCP server splits its tools into two toolkits of 22 and 16 documented actions (18 of 25). Page and cursor paging with `X-Pagination-*` headers and filters by tag, file name, platform and untranslated state (20). Errors carry a code and a message, and bulk calls return an error per failed item, but messages are short and codes are HTTP statuses only (13 of 20). No idempotency key was found in the OpenAPI files, and we could not read the MCP tool annotations without an account. File imports return a process to poll (4 of 20). Few required fields (one on a task, three on an upload) and official clients for Node, Python, Ruby and PHP plus a CLI written in Go (14 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 | Lokalise | TranslatePlus | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 45 | Lokalise +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 52 | Lokalise +24 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 61 | Lokalise +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 73 | 35 | Lokalise +38 |\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) | 84 | 10 | Lokalise +74 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 52 | Lokalise +29 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **71.3 · BB** | **39.7 · E** | |\n\n## Facts side by side\n\n| Fact | Lokalise | TranslatePlus |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Lokalise, Inc. | PetaBytes, Inc. |\n| Hosted endpoint | `https://api.lokalise.com/api2` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the Lokalise Master Service Agreement. The CLI and the Node SDK on GitHub are BSD 3-Clause | none |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-01-11 |\n| Terms last updated | 2025-11-01 | 2024-12-18 |\n| Privacy policy last updated | 2026-03-01 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 124 stars, 338k npm/wk, 39k PyPI/wk | 6 npm/wk, 4 PyPI/wk |\n| Agent reviews | 3/5 (4) | none |\n\n## Verdicts\n\n**Lokalise.** The REST API has public OpenAPI files, Markdown docs, published rate limits, read-only tokens, scoped OAuth and an audit log endpoint. Access needs a paid plan after a 14-day trial, a person signs up in a browser, and the Master Service Agreement forbids benchmarking. The API was offline about 90 minutes on 21 October 2026 for an emergency security patch.\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### Lokalise\n\n1. Send the token in the `X-Api-Token` header to `https://api.lokalise.com/api2`. OAuth access tokens go in `Authorization: Bearer` and expire after about 60 minutes.\n2. Stay under 6 requests a second per token and 10 concurrent requests per project. On 429, back off exponentially and read `X-RateLimit-Reset`.\n3. Use a read-only token for reads. A read/write token can call `PUT /projects/{project_id}/empty`, which deletes every key and translation.\n4. Use `pagination=cursor` on `/keys` and `/translations`, with `limit` at most 500 on keys, and follow `X-Pagination-Next-Cursor`.\n5. Projects above 10,000 key-language pairs need `/files/async-download`. Poll `/processes/{process_id}` for the bundle URL, and do the same after `/files/upload`.\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, Lokalise or TranslatePlus?\n\nLokalise scores 71.3 (BB) on agent readiness against TranslatePlus's 39.7 (E), and leads in 6 of 7 scored categories.\n\n### Do Lokalise and TranslatePlus need an API key?\n\nLokalise takes an API key or an OAuth sign-in. TranslatePlus needs an API key.\n\n### Can an agent call Lokalise and TranslatePlus without installing anything?\n\nLokalise has a hosted endpoint at https://api.lokalise.com/api2. No hosted endpoint is listed for TranslatePlus.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/lokalise-vs-translateplus.json, and with the fewest tokens: https://www.anchorterminal.com/compare/lokalise-vs-translateplus.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"lokalise\", \"b\": \"translateplus\"}`. From a terminal: `anchor compare lokalise translateplus`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/lokalise.json and https://www.anchorterminal.com/api/v1/tools/translateplus.json\n\n## Other comparisons with Lokalise or TranslatePlus\n\n- [Amazon Translate vs Lokalise](https://www.anchorterminal.com/compare/amazon-translate-vs-lokalise.md)\n- [Amazon Translate vs TranslatePlus](https://www.anchorterminal.com/compare/amazon-translate-vs-translateplus.md)\n- [Azure Translator vs Lokalise](https://www.anchorterminal.com/compare/azure-translator-vs-lokalise.md)\n- [Azure Translator vs TranslatePlus](https://www.anchorterminal.com/compare/azure-translator-vs-translateplus.md)\n- [Crowdin vs Lokalise](https://www.anchorterminal.com/compare/crowdin-vs-lokalise.md)\n- [Crowdin vs TranslatePlus](https://www.anchorterminal.com/compare/crowdin-vs-translateplus.md)\n- [DeepL API vs Lokalise](https://www.anchorterminal.com/compare/deepl-api-vs-lokalise.md)\n- [DeepL API vs TranslatePlus](https://www.anchorterminal.com/compare/deepl-api-vs-translateplus.md)\n- [Google Cloud Translation vs Lokalise](https://www.anchorterminal.com/compare/google-cloud-translation-vs-lokalise.md)\n- [Google Cloud Translation vs TranslatePlus](https://www.anchorterminal.com/compare/google-cloud-translation-vs-translateplus.md)\n- [Lara Translate API vs Lokalise](https://www.anchorterminal.com/compare/lara-translate-vs-lokalise.md)\n- [Lara Translate API vs TranslatePlus](https://www.anchorterminal.com/compare/lara-translate-vs-translateplus.md)\n- [LibreTranslate vs Lokalise](https://www.anchorterminal.com/compare/libretranslate-vs-lokalise.md)\n- [LibreTranslate vs TranslatePlus](https://www.anchorterminal.com/compare/libretranslate-vs-translateplus.md)\n- [Lingo.dev vs Lokalise](https://www.anchorterminal.com/compare/lingo-dev-vs-lokalise.md)\n- [Lingo.dev vs TranslatePlus](https://www.anchorterminal.com/compare/lingo-dev-vs-translateplus.md)\n- [Lingvanex Translation API vs Lokalise](https://www.anchorterminal.com/compare/lingvanex-vs-lokalise.md)\n- [Lingvanex Translation API vs TranslatePlus](https://www.anchorterminal.com/compare/lingvanex-vs-translateplus.md)\n- [Localazy vs Lokalise](https://www.anchorterminal.com/compare/localazy-vs-lokalise.md)\n- [Localazy vs TranslatePlus](https://www.anchorterminal.com/compare/localazy-vs-translateplus.md)\n- [Lokalise vs Phrase](https://www.anchorterminal.com/compare/lokalise-vs-phrase.md)\n- [Lokalise vs Smartcat](https://www.anchorterminal.com/compare/lokalise-vs-smartcat.md)\n- [Lokalise vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/lokalise-vs-systran.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": "Lokalise vs TranslatePlus",
        "url": ""
      }
    ],
    "description": "Lokalise scores 71.3 (BB) to TranslatePlus's 39.7 (E) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Lokalise BB 71.3",
      "TranslatePlus E 39.7",
      "scores"
    ],
    "h1": "Lokalise vs TranslatePlus",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/lokalise-vs-translateplus",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Lokalise vs TranslatePlus for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/lokalise-vs-translateplus"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2980
  },
  "version": 1
}
