{
  "data": {
    "a": {
      "slug": "libretranslate",
      "name": "LibreTranslate",
      "vendor": "LibreTranslate",
      "vendorUrl": "https://libretranslate.com",
      "kind": "http-api",
      "category": "translation",
      "summary": "Open-source machine translation API built on Argos Translate models.",
      "url": "https://www.anchorterminal.com/tools/libretranslate",
      "markdownUrl": "https://www.anchorterminal.com/tools/libretranslate.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/libretranslate.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/libretranslate.json",
      "dns": "libretranslate.grade.anchorterminal.com",
      "repo": "https://github.com/LibreTranslate/LibreTranslate",
      "license": "AGPL-3.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://libretranslate.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "libretranslate"
        }
      ],
      "auth": "api-key",
      "authNotes": "`api_key` in the request body on libretranslate.com. A self-hosted server can run without keys or require them with `--api-keys`.",
      "pricing": "paid",
      "pricingNotes": "No free hosted tier. Pro is $29 a month with bursts of up to 80 calls a minute (about 20 sustained), Business $58 with bursts of 200 (about 50 sustained). Each call takes up to 2,000 characters. Both come with a 7-day money-back guarantee (https://portal.libretranslate.com). Self-hosting is free under AGPL-3.0 (https://github.com/LibreTranslate/LibreTranslate).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 16700,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.libretranslate.com",
      "openapi": "https://libretranslate.com/spec",
      "capabilities": [
        "translate.text",
        "translate.documents",
        "translate.detect"
      ],
      "tags": [
        "hosted",
        "open-source",
        "self-hosted",
        "openapi",
        "python",
        "card-required"
      ],
      "lastRelease": "2026-05-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1227,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 40,
          "payments": 40,
          "reliability": 35,
          "schema": 45,
          "security": 45,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -3,
        "negativeNotes": [
          "-3, a security fix in no release. On 14 June 2026 commit 397fd22 added `--trust-forwarded-for`, fixing the X-Forwarded-For IP spoofing that let a caller dodge per-IP rate limits and bans (CVE-2026-57942, Medium 6.9, published by VulnCheck on 29 June 2026). The latest release, 1.9.6 of 26 May, predates it, and the 26 September fix keeping translated text out of the web page's URL is unreleased too. The CVE, a VulnCheck Medium whose fix is in no release, isn't counted again as an advisory. Charged until a release carries them (https://github.com/LibreTranslate/LibreTranslate/commit/397fd224080515d4001a1bc60c8fed53e3c56b6f).",
          "Not charged, CVE-2026-92803 (Medium 6.9, VulnCheck, 16 September 2026), the `download_file` route in LibreTranslate's own app.py without the access check through 1.9.6, still without the check on the main branch on 25 October. Unfixed Mediums that a third party such as VulnCheck published are left uncounted pending a ruling, as Plane's and Documenso's own-code records were (https://osv.dev/list?q=libretranslate)."
        ],
        "verdict": "Open source under AGPL-3.0 and self-hostable, so text can stay on your own network. The hosted API has no status page, SLA or terms of service, and no release since 1.9.6 in May 2026 carries a June fix for IP spoofing.",
        "bestFor": "Operators who must keep text on their own servers or want a fixed cost, and for light hosted use.",
        "strengths": [
          "Open source under AGPL-3.0, self-hosted with no text leaving your network",
          "Docs carry worked requests and responses and list error answers per operation",
          "Hosted privacy policy says texts aren't stored or logged",
          "Flat monthly price, no per-character metering",
          "Official MCP server with three tools, published on npm"
        ],
        "weaknesses": [
          "No status page, SLA or terms of service for the hosted API",
          "2,000 characters a call and about 20 calls a minute sustained on Pro",
          "No release since 1.9.6 on 2026-05-26, so the June IP-spoofing fix is unreleased",
          "No security.txt, SECURITY.md or disclosure policy",
          "No published machine-readable spec link outside the API host"
        ],
        "agentNotes": [
          "Split text into calls of 2,000 characters or fewer on the hosted service",
          "Pace to about 20 calls a minute on Pro, since repeated 429s turn into a 403 ban",
          "Pass `source=auto` to detect and translate in one call",
          "Set `format=html` for markup",
          "Behind a reverse proxy, run a build from the main branch with `--trust-forwarded-for` until a release carries it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.7
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 40,
          "payments": 40,
          "reliability": 35,
          "schema": 45,
          "security": 45,
          "transparency": 55
        },
        "provenanceScore": 69,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install libretranslate",
        "http": "curl -X POST https://libretranslate.com/translate \\\n  -d q=\"Your table is booked for seven.\" -d source=auto -d target=fr -d format=text \\\n  -d api_key=\"$LIBRETRANSLATE_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/translate.text",
        "tool": "https://letme.dev/libretranslate"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 29,
          "note": "2,000 characters a call, about 20 calls a minute sustained"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 58,
          "note": "About 50 calls a minute sustained"
        }
      ],
      "provenance": {
        "legalEntity": "LibreTranslate",
        "domain": "libretranslate.com",
        "domainRegistered": "2020-12-20",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://portal.libretranslate.com/privacy.html",
        "statusPage": "",
        "changelog": "https://github.com/LibreTranslate/LibreTranslate/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The privacy policy gives a St Petersburg, Florida address and names no company beyond LibreTranslate.",
          "We found no terms of service for the hosted API. Payments go through Stripe.",
          "libretranslate.com/.well-known/security.txt returns 404."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/libretranslate.json",
      "live": {
        "slug": "libretranslate",
        "probe": {
          "target": "https://libretranslate.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:35.19089439Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 278,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.97,
          "p50ms24h": 160,
          "p95ms24h": 260,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 251
            },
            {
              "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": 249
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "LibreTranslate/LibreTranslate",
            "version": "v1.9.6",
            "released": "2026-05-26",
            "seenAt": "2026-11-06T23:39:47.000290649Z"
          },
          {
            "registry": "pypi",
            "name": "libretranslate",
            "version": "1.9.6",
            "released": "2026-05-26",
            "seenAt": "2026-11-06T23:39:46.786721554Z"
          }
        ],
        "githubStars": 17287,
        "pypiWeekly": 2041,
        "securityTxt": {
          "url": "https://libretranslate.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:08.426144656Z"
        },
        "domain": {
          "domain": "libretranslate.com",
          "registered": "2020-12-20",
          "source": "https://rdap.verisign.com/com/v1/domain/libretranslate.com",
          "checkedAt": "2026-11-01T14:27:18.928967376Z"
        },
        "pages": [
          {
            "url": "https://portal.libretranslate.com/privacy.html",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:17:05.468373165Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "52b049f96b7c"
          }
        ],
        "github": {
          "repo": "libretranslate/libretranslate",
          "checkedAt": "2026-11-02T09:00:38.932309395Z",
          "stars": 17250,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-26T03:14:14Z",
          "openIssues": 132,
          "openPRs": 0,
          "issuesOpened90d": 17,
          "issuesClosed90d": 10,
          "prsMerged90d": 3,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 47,
            "failure": 3,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-26T03:31:20Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 10,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-07T18:20:35.19089439Z"
      }
    },
    "answer": "Localazy scores 54.4 (C) on agent readiness against LibreTranslate's 43.7 (E), and leads in 3 of 7 scored categories. LibreTranslate leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "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": 35,
        "category": "maintenance",
        "leads": "localazy",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Last release v1.9.6 on 2026-05-26, 162 days before 4 November (10). No release in the 90 days from 6 August. The repository has 18 commits since then (web UI changes, the URL fix, Weblate translations, a Docker thread setting and a CI runner move), the latest on 25 October. VERSION still reads 1.9.6, and per-commit Docker images aren't releases. The official MCP server @libretranslate/mcp last tagged v1.0.2 on 17 May 2026 (0). Issues per the 1 October check, not re-read on 4 November, since GitHub's pages refuse us (127 open, newest labelled by an automated triage bot, some with 1 to 4 comments) (15 of 25). Current PyPI and Docker packages, no official client SDK (5 of 15). CI runs pytest on Python 3.8 to 3.14 plus Docker builds, with runners moved to Ubuntu 24.04 on 25 October (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": 40,
          "b": 75
        }
      },
      {
        "by": 33,
        "category": "reliability",
        "leads": "localazy",
        "name": "Reliability",
        "reasons": {
          "a": "Read as the hosted API at libretranslate.com, since the listing is an http-api. No status page found (0). No readable incident history (5). Plan limits published with numbers on the portal, re-read on 4 November, 80 calls a minute burst and about 20 sustained on Pro, 200 and about 50 on Business, 2,000 characters a call (15). The docs API reference lists a 429 \"Slow down\" answer on each operation, and the server code bans a client after repeated limit violations, but there's no Retry-After or backoff advice (5 of 15, an in-between value kept from 1 October). No SLA (0). Release 1.9.6 is a stable release, not beta (10). Self-hosted, the package reading would score far higher, with CI across Python 3.8 to 3.14 and a 1.x release line.",
          "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": 35,
          "b": 68
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "libretranslate",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. One API key per hosted plan, sent in the request body, with no scopes or rotation found. A self-hosted server can run keyless or require keys (10 of 30). The hosted privacy policy (last updated 23 September 2025, re-read 4 November) says translation texts aren't stored or logged, so nothing is kept to train on (20). IP addresses and API keys are kept for 2 days against abuse, no text retained (15). No usage log or per-call view found for the hosted plans (0). No SECURITY.md in the repository on 4 November and no disclosure policy or bug bounty found; libretranslate.com security.txt per the 30 September check, not re-read (0). Two VulnCheck CVEs in 2026, both Medium, are in the negative events. Self-hosting under AGPL-3.0 keeps all text on your own network.",
          "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": 45,
          "b": 37
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "localazy",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The Swagger 2.0 document the 1 October check read at libretranslate.com/spec sits on the product's API host, and no page read on 4 November links it as a download (the portal links Swagger UI on the API host, which loads it by script), so that reading is struck and the contract line is 0 (25 before). No llms.txt at docs.libretranslate.com (404 on 4 November) (0). The docs API reference at docs.libretranslate.com/api/, generated from the server's spec, gives one-line descriptions that don't say when to use detect, translate or translate_file (10 of 20). `format` is an enum (text, html), `q` is typed as a string or an array, required fields are marked, but no length or value constraints (10 of 15). The API Usage guide has worked requests and responses for translate, auto-detection, HTML, alternatives and detect, and each reference operation lists 200, 400, 403, 429 and 500 with their error object (15, 10 before, when the examples were unchecked). GitHub releases and tags, no CHANGELOG file (10 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": 45,
          "b": 51
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "libretranslate",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Flat monthly plans with published limits, $29 Pro and $58 Business, not per-unit pricing (10). No hosted free tier or trial, only a 7-day money-back guarantee (the portal FAQ says no free trial). We depart from the rubric and give the free line for the self-hosted server, which runs the same API free and with no card (20). An agent can `pip install libretranslate` and run a keyless server, but the hosted plans need a person at a Stripe checkout (10 of 20).",
          "b": "No x402, MPP or L402 (0). Plan prices are public ($34, $78 and $175 a month billed annually) and credits are $1 each, with Localazy AI at about $0.005 a word on average, so partial per-unit credit (15). A free plan for small projects and a 14-day Business trial with no credit card (20). A person signs up in a browser and mints tokens in the developer settings (0). 0+15+20+0 = 35."
        },
        "scores": {
          "a": 40,
          "b": 35
        }
      },
      {
        "by": 5,
        "category": "transparency",
        "leads": "libretranslate",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Open source under AGPL-3.0 (30). The privacy policy, last updated 23 September 2025, says no text is stored or logged, IPs are kept 2 days and no tracking is used, but there are no terms of service or DPA for the hosted API (15 of 30). No deprecation policy or dated notices found (0). We found no telemetry in the server code. For the hosted service Stripe is named, but not the hosting provider or data location (10 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": 62,
          "b": 57
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "LibreTranslate",
        "b": "Localazy s.r.o.",
        "name": "Vendor"
      },
      {
        "a": "https://libretranslate.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "Token",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-05-26",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-23",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "17k stars",
        "b": "61k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Localazy scores 54.4 (C) on agent readiness against LibreTranslate's 43.7 (E), and leads in 3 of 7 scored categories. LibreTranslate leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, LibreTranslate or Localazy?"
      },
      {
        "answer": "LibreTranslate needs an API key. Localazy needs an access token.",
        "question": "Do LibreTranslate and Localazy need an API key?"
      },
      {
        "answer": "LibreTranslate has a hosted endpoint at https://libretranslate.com. No hosted endpoint is listed for Localazy.",
        "question": "Can an agent call LibreTranslate and Localazy without installing anything?"
      },
      {
        "answer": "LibreTranslate is open source (AGPL-3.0). No open-source release is listed for Localazy.",
        "question": "Are LibreTranslate and Localazy open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 45 against 37",
          "Payments \u0026 pricing, 40 against 35",
          "Transparency \u0026 trust, 62 against 57"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Open source"
        ],
        "goodFor": "Operators who must keep text on their own servers or want a fixed cost, and for light hosted use.",
        "slug": "libretranslate",
        "watchFor": "No status page, SLA or terms of service for the hosted API"
      },
      {
        "aheadOn": [
          "Reliability, 68 against 35",
          "Schema \u0026 documentation, 51 against 45",
          "Maintenance \u0026 community, 75 against 40"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where LibreTranslate loses 3 points for them"
        ],
        "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": {
      "libretranslate": [
        {
          "causes": [
            "evidence",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -6.2,
          "from": 49.9,
          "fromGrade": "D",
          "to": 43.7,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 49.8,
          "fromGrade": "D",
          "to": 49.9,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": 0,
          "from": 49.8,
          "fromGrade": "D",
          "to": 49.8,
          "toGrade": "D"
        }
      ],
      "localazy": null
    },
    "job": {
      "capability": "translate.text",
      "name": "Translation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-translate-vs-libretranslate.json",
        "title": "Amazon Translate vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/amazon-translate-vs-libretranslate"
      },
      {
        "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-libretranslate.json",
        "title": "Azure Translator vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/azure-translator-vs-libretranslate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-translator-vs-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-libretranslate.json",
        "title": "Crowdin vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-libretranslate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crowdin-vs-localazy.json",
        "title": "Crowdin vs Localazy",
        "url": "https://www.anchorterminal.com/compare/crowdin-vs-localazy"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate.json",
        "title": "DeepL API vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate"
      },
      {
        "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-libretranslate.json",
        "title": "Google Cloud Translation vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/google-cloud-translation-vs-libretranslate"
      },
      {
        "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-libretranslate.json",
        "title": "Lara Translate API vs LibreTranslate",
        "url": "https://www.anchorterminal.com/compare/lara-translate-vs-libretranslate"
      },
      {
        "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-lingo-dev.json",
        "title": "LibreTranslate vs Lingo.dev",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-lingo-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-lingvanex.json",
        "title": "LibreTranslate vs Lingvanex Translation API",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-lingvanex"
      },
      {
        "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-phrase.json",
        "title": "LibreTranslate vs Phrase",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-phrase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-smartcat.json",
        "title": "LibreTranslate vs Smartcat",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-smartcat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/libretranslate-vs-systran.json",
        "title": "LibreTranslate vs SYSTRAN Translate API",
        "url": "https://www.anchorterminal.com/compare/libretranslate-vs-systran"
      },
      {
        "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-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": 33,
        "edge": "localazy",
        "key": "reliability",
        "libretranslate": 35,
        "localazy": 68,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "localazy",
        "key": "schema",
        "libretranslate": 45,
        "localazy": 51,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 3,
        "edge": "libretranslate",
        "key": "ergonomics",
        "libretranslate": 65,
        "localazy": 62,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 8,
        "edge": "libretranslate",
        "key": "security",
        "libretranslate": 45,
        "localazy": 37,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "libretranslate",
        "key": "payments",
        "libretranslate": 40,
        "localazy": 35,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "localazy",
        "key": "maintenance",
        "libretranslate": 40,
        "localazy": 75,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 5,
        "edge": "libretranslate",
        "key": "transparency",
        "libretranslate": 62,
        "localazy": 57,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Localazy scores 54.4 (C) on agent readiness against LibreTranslate's 43.7 (E), and leads in 3 of 7 scored categories. LibreTranslate leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do translation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "libretranslate": "Open source under AGPL-3.0 and self-hostable, so text can stay on your own network. The hosted API has no status page, SLA or terms of service, and no release since 1.9.6 in May 2026 carries a June fix for IP spoofing.",
      "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/libretranslate-vs-localazy",
    "json": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy.min.md"
  },
  "markdown": "Localazy scores 54.4 (C) on agent readiness against LibreTranslate's 43.7 (E), and leads in 3 of 7 scored categories. LibreTranslate leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do translation.\n\n- LibreTranslate: grade E, 43.7/100, rank #1227 of 1486. Markdown https://www.anchorterminal.com/tools/libretranslate.md · JSON https://www.anchorterminal.com/api/v1/tools/libretranslate.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### LibreTranslate (E)\n\nGood for: Operators who must keep text on their own servers or want a fixed cost, and for light hosted use.\n\nAhead on:\n- Security \u0026 auth, 45 against 37\n- Payments \u0026 pricing, 40 against 35\n- Transparency \u0026 trust, 62 against 57\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Open source\n\nWatch for: No status page, SLA or terms of service for the hosted API\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- Reliability, 68 against 35\n- Schema \u0026 documentation, 51 against 45\n- Maintenance \u0026 community, 75 against 40\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where LibreTranslate loses 3 points for them\n\nWatch for: No OpenAPI spec, and llms.txt only lists top-level pages\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Localazy +35\n\n- LibreTranslate (40): Last release v1.9.6 on 2026-05-26, 162 days before 4 November (10). No release in the 90 days from 6 August. The repository has 18 commits since then (web UI changes, the URL fix, Weblate translations, a Docker thread setting and a CI runner move), the latest on 25 October. VERSION still reads 1.9.6, and per-commit Docker images aren't releases. The official MCP server @libretranslate/mcp last tagged v1.0.2 on 17 May 2026 (0). Issues per the 1 October check, not re-read on 4 November, since GitHub's pages refuse us (127 open, newest labelled by an automated triage bot, some with 1 to 4 comments) (15 of 25). Current PyPI and Docker packages, no official client SDK (5 of 15). CI runs pytest on Python 3.8 to 3.14 plus Docker builds, with runners moved to Ubuntu 24.04 on 25 October (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### Reliability: Localazy +33\n\n- LibreTranslate (35): Read as the hosted API at libretranslate.com, since the listing is an http-api. No status page found (0). No readable incident history (5). Plan limits published with numbers on the portal, re-read on 4 November, 80 calls a minute burst and about 20 sustained on Pro, 200 and about 50 on Business, 2,000 characters a call (15). The docs API reference lists a 429 \"Slow down\" answer on each operation, and the server code bans a client after repeated limit violations, but there's no Retry-After or backoff advice (5 of 15, an in-between value kept from 1 October). No SLA (0). Release 1.9.6 is a stable release, not beta (10). Self-hosted, the package reading would score far higher, with CI across Python 3.8 to 3.14 and a 1.x release line.\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### Security \u0026 auth: LibreTranslate +8\n\n- LibreTranslate (45): Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. One API key per hosted plan, sent in the request body, with no scopes or rotation found. A self-hosted server can run keyless or require keys (10 of 30). The hosted privacy policy (last updated 23 September 2025, re-read 4 November) says translation texts aren't stored or logged, so nothing is kept to train on (20). IP addresses and API keys are kept for 2 days against abuse, no text retained (15). No usage log or per-call view found for the hosted plans (0). No SECURITY.md in the repository on 4 November and no disclosure policy or bug bounty found; libretranslate.com security.txt per the 30 September check, not re-read (0). Two VulnCheck CVEs in 2026, both Medium, are in the negative events. Self-hosting under AGPL-3.0 keeps all text on your own network.\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: Localazy +6\n\n- LibreTranslate (45): The Swagger 2.0 document the 1 October check read at libretranslate.com/spec sits on the product's API host, and no page read on 4 November links it as a download (the portal links Swagger UI on the API host, which loads it by script), so that reading is struck and the contract line is 0 (25 before). No llms.txt at docs.libretranslate.com (404 on 4 November) (0). The docs API reference at docs.libretranslate.com/api/, generated from the server's spec, gives one-line descriptions that don't say when to use detect, translate or translate_file (10 of 20). `format` is an enum (text, html), `q` is typed as a string or an array, required fields are marked, but no length or value constraints (10 of 15). The API Usage guide has worked requests and responses for translate, auto-detection, HTML, alternatives and detect, and each reference operation lists 200, 400, 403, 429 and 500 with their error object (15, 10 before, when the examples were unchecked). GitHub releases and tags, no CHANGELOG file (10 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### Payments \u0026 pricing: LibreTranslate +5\n\n- LibreTranslate (40): No x402, MPP or L402 (0). Flat monthly plans with published limits, $29 Pro and $58 Business, not per-unit pricing (10). No hosted free tier or trial, only a 7-day money-back guarantee (the portal FAQ says no free trial). We depart from the rubric and give the free line for the self-hosted server, which runs the same API free and with no card (20). An agent can `pip install libretranslate` and run a keyless server, but the hosted plans need a person at a Stripe checkout (10 of 20).\n- Localazy (35): No x402, MPP or L402 (0). Plan prices are public ($34, $78 and $175 a month billed annually) and credits are $1 each, with Localazy AI at about $0.005 a word on average, so partial per-unit credit (15). A free plan for small projects and a 14-day Business trial with no credit card (20). A person signs up in a browser and mints tokens in the developer settings (0). 0+15+20+0 = 35.\n\n### Transparency \u0026 trust: LibreTranslate +5\n\n- LibreTranslate (62): Open source under AGPL-3.0 (30). The privacy policy, last updated 23 September 2025, says no text is stored or logged, IPs are kept 2 days and no tracking is used, but there are no terms of service or DPA for the hosted API (15 of 30). No deprecation policy or dated notices found (0). We found no telemetry in the server code. For the hosted service Stripe is named, but not the hosting provider or data location (10 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## Score by category\n\n| Category | Weight | LibreTranslate | Localazy | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 35 | 68 | Localazy +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 45 | 51 | Localazy +6 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 62 | LibreTranslate +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 37 | LibreTranslate +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 35 | LibreTranslate +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 40 | 75 | Localazy +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 57 | LibreTranslate +5 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **43.7 · E** | **54.4 · C** | |\n\n## Facts side by side\n\n| Fact | LibreTranslate | Localazy |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | LibreTranslate | Localazy s.r.o. |\n| Hosted endpoint | `https://libretranslate.com` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | Token |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | AGPL-3.0 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-05-26 | 2026-10-26 |\n| Terms last updated | no document linked | no date given |\n| Privacy policy last updated | 2025-09-23 | no date given |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 17k stars | 61k npm/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## How the scores have moved\n\n### LibreTranslate\n\n- -6.2 on 4 November 2026 (D to E): new evidence, correction\n- +0.1 on 27 October 2026: checklist\n- no change on 8 October 2026: checklist\n\n### Localazy\n\nNo score change since it was listed.\n\n## Verdicts\n\n**LibreTranslate.** Open source under AGPL-3.0 and self-hostable, so text can stay on your own network. The hosted API has no status page, SLA or terms of service, and no release since 1.9.6 in May 2026 carries a June fix for IP spoofing.\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### LibreTranslate\n\n1. Split text into calls of 2,000 characters or fewer on the hosted service\n2. Pace to about 20 calls a minute on Pro, since repeated 429s turn into a 403 ban\n3. Pass `source=auto` to detect and translate in one call\n4. Set `format=html` for markup\n5. Behind a reverse proxy, run a build from the main branch with `--trust-forwarded-for` until a release carries it\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, LibreTranslate or Localazy?\n\nLocalazy scores 54.4 (C) on agent readiness against LibreTranslate's 43.7 (E), and leads in 3 of 7 scored categories. LibreTranslate leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do LibreTranslate and Localazy need an API key?\n\nLibreTranslate needs an API key. Localazy needs an access token.\n\n### Can an agent call LibreTranslate and Localazy without installing anything?\n\nLibreTranslate has a hosted endpoint at https://libretranslate.com. No hosted endpoint is listed for Localazy.\n\n### Are LibreTranslate and Localazy open source?\n\nLibreTranslate is open source (AGPL-3.0). No open-source release is listed for Localazy.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/libretranslate-vs-localazy.json, and with the fewest tokens: https://www.anchorterminal.com/compare/libretranslate-vs-localazy.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"libretranslate\", \"b\": \"localazy\"}`. From a terminal: `anchor compare libretranslate localazy`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/libretranslate.json and https://www.anchorterminal.com/api/v1/tools/localazy.json\n\n## Other comparisons with LibreTranslate or Localazy\n\n- [Amazon Translate vs LibreTranslate](https://www.anchorterminal.com/compare/amazon-translate-vs-libretranslate.md)\n- [Amazon Translate vs Localazy](https://www.anchorterminal.com/compare/amazon-translate-vs-localazy.md)\n- [Azure Translator vs LibreTranslate](https://www.anchorterminal.com/compare/azure-translator-vs-libretranslate.md)\n- [Azure Translator vs Localazy](https://www.anchorterminal.com/compare/azure-translator-vs-localazy.md)\n- [Crowdin vs LibreTranslate](https://www.anchorterminal.com/compare/crowdin-vs-libretranslate.md)\n- [Crowdin vs Localazy](https://www.anchorterminal.com/compare/crowdin-vs-localazy.md)\n- [DeepL API vs LibreTranslate](https://www.anchorterminal.com/compare/deepl-api-vs-libretranslate.md)\n- [DeepL API vs Localazy](https://www.anchorterminal.com/compare/deepl-api-vs-localazy.md)\n- [Google Cloud Translation vs LibreTranslate](https://www.anchorterminal.com/compare/google-cloud-translation-vs-libretranslate.md)\n- [Google Cloud Translation vs Localazy](https://www.anchorterminal.com/compare/google-cloud-translation-vs-localazy.md)\n- [Lara Translate API vs LibreTranslate](https://www.anchorterminal.com/compare/lara-translate-vs-libretranslate.md)\n- [Lara Translate API vs Localazy](https://www.anchorterminal.com/compare/lara-translate-vs-localazy.md)\n- [LibreTranslate vs Lingo.dev](https://www.anchorterminal.com/compare/libretranslate-vs-lingo-dev.md)\n- [LibreTranslate vs Lingvanex Translation API](https://www.anchorterminal.com/compare/libretranslate-vs-lingvanex.md)\n- [LibreTranslate vs Lokalise](https://www.anchorterminal.com/compare/libretranslate-vs-lokalise.md)\n- [LibreTranslate vs Phrase](https://www.anchorterminal.com/compare/libretranslate-vs-phrase.md)\n- [LibreTranslate vs Smartcat](https://www.anchorterminal.com/compare/libretranslate-vs-smartcat.md)\n- [LibreTranslate vs SYSTRAN Translate API](https://www.anchorterminal.com/compare/libretranslate-vs-systran.md)\n- [LibreTranslate vs TranslatePlus](https://www.anchorterminal.com/compare/libretranslate-vs-translateplus.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": "LibreTranslate vs Localazy",
        "url": ""
      }
    ],
    "description": "Localazy scores 54.4 (C) to LibreTranslate's 43.7 (E) for translation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LibreTranslate E 43.7",
      "Localazy C 54.4",
      "scores"
    ],
    "h1": "LibreTranslate vs Localazy",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/libretranslate-vs-localazy",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LibreTranslate vs Localazy for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/libretranslate-vs-localazy"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2780
  },
  "version": 1
}
