{
  "data": {
    "a": {
      "slug": "anythingllm",
      "name": "AnythingLLM",
      "vendor": "Mintplex Labs",
      "vendorUrl": "https://anythingllm.com",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source app for chatting with documents using local or hosted models. Available as a desktop app or a self-hosted server.",
      "url": "https://www.anchorterminal.com/tools/anythingllm",
      "markdownUrl": "https://www.anchorterminal.com/tools/anythingllm.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/anythingllm.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/anythingllm.json",
      "repo": "https://github.com/Mintplex-Labs/anything-llm",
      "license": "MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "mintplexlabs/anythingllm"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/mintplex-labs/anything-llm"
        }
      ],
      "auth": "api-key",
      "authNotes": "The developer API under /api/v1 takes a key in `Authorization: Bearer`. An admin creates keys in the UI. SECURITY.md says each key has full, unrestricted access to the whole /v1 surface, equivalent to admin, and the database stores keys in plain text with no scopes or expiry. A key is revoked by deleting it. The instance itself runs with no password, one password or multi-user accounts, chosen at onboarding, and the desktop backend listens on 127.0.0.1:3001 unless network discovery is switched on.",
      "pricing": "freemium",
      "pricingNotes": "The desktop app and the Docker server are free, with no account. AnythingLLM Cloud, a private managed instance on AWS, costs $50 a month (Basic, bring your own model key) or $99 a month (Pro, 72-hour support SLA), with Enterprise on request. The pricing page shows no trial or free tier for Cloud, and checkout goes through my.mintplexlabs.com (checked 2026-10-03).",
      "priceSummary": "$50 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 66600,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.anythingllm.com",
      "openapi": "https://raw.githubusercontent.com/Mintplex-Labs/anything-llm/master/server/swagger/openapi.json",
      "capabilities": [
        "inference.local",
        "memory.search",
        "agent.mcp-client",
        "memory.user",
        "inference.open-weights"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "desktop",
        "docker",
        "openapi",
        "openai-compatible",
        "rag",
        "mcp-client",
        "freemium",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.6,
        "grade": "D",
        "agentReady": false,
        "rank": 330,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 46,
          "maintenance": 78,
          "payments": 60,
          "reliability": 67,
          "schema": 57,
          "security": 38,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-04-15 to 2026-05-21. Ten advisories published in the last year, all fixed, among them CVE-2026-48116 (GHSA-6hrp-7mw6-8v59, CVSS 7.5), code execution through a `--pre` argument passed to ripgrep by the filesystem-search-files agent skill in 1.12.1 and earlier, fixed on 20 May 2026 (commit 94ed62d3) and published on 21 May, and GHSA-4q6m-qh3w-9gf5 (15 April 2026), a DOM XSS in chart rendering that prompt injection could trigger. Fixed and published inside six months, so a small deduction, -3. https://github.com/Mintplex-Labs/anything-llm/security/advisories/GHSA-6hrp-7mw6-8v59; https://github.com/Mintplex-Labs/anything-llm/security/advisories"
        ],
        "verdict": "MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64. One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text.",
        "strengths": [
          "MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64",
          "63 developer API operations in OpenAPI 3.0, served at /api/docs on every instance",
          "OpenAI-compatible chat, embeddings and model endpoints that treat each workspace as a model",
          "38 model providers, including Ollama, LM Studio and a built-in local engine on the desktop, and LanceDB on disk by default",
          "v1.17.0 on 1 October 2026, four releases in 90 days, with advisories fixed and published"
        ],
        "weaknesses": [
          "One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text",
          "Ten security advisories between March and July 2026, one a high-severity code execution in an agent skill",
          "Telemetry on by default, and the source sends 33 event types where the README lists five kinds",
          "Request bodies in the OpenAPI file are examples, not typed schemas, and there's no llms.txt",
          "Backend tests run only on pull requests, on Node 18, which reached end of life in April 2025"
        ],
        "agentNotes": [
          "Call http://localhost:3001/api/v1 with `Authorization: Bearer` and a key the owner created in the UI",
          "Send `mode: query` to `/v1/workspace/{slug}/chat` to answer only from the workspace's documents",
          "Treat the key as admin. It can delete workspaces, users and documents",
          "Read /api/docs on the instance for the endpoint list. Request bodies there are examples, not schemas",
          "Pass a `sessionId` with each chat to keep your conversation apart from other API callers"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.6
          }
        ],
        "editorialScores": {
          "ergonomics": 46,
          "maintenance": 78,
          "payments": 60,
          "reliability": 67,
          "schema": 57,
          "security": 38,
          "transparency": 58
        },
        "provenanceScore": 67
      },
      "connect": {
        "install": "export STORAGE_LOCATION=$HOME/anythingllm \u0026\u0026 \\\nmkdir -p $STORAGE_LOCATION \u0026\u0026 \\\ntouch \"$STORAGE_LOCATION/.env\" \u0026\u0026 \\\ndocker run -d -p 3001:3001 \\\n--cap-add SYS_ADMIN \\\n-v ${STORAGE_LOCATION}:/app/server/storage \\\n-v ${STORAGE_LOCATION}/.env:/app/server/.env \\\n-e STORAGE_DIR=\"/app/server/storage\" \\\nmintplexlabs/anythingllm:latest"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/anythingllm"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "AnythingLLM Cloud Basic",
          "unit": "month",
          "usd": 50,
          "note": "Private instance, bring your own model key"
        },
        {
          "item": "AnythingLLM Cloud Pro",
          "unit": "month",
          "usd": 99,
          "note": "Private instance, 72-hour support SLA"
        }
      ],
      "provenance": {
        "legalEntity": "Mintplex Labs, Inc.",
        "domain": "anythingllm.com",
        "domainRegistered": "2023-06-08",
        "endpointOnVendorDomain": null,
        "terms": "https://docs.anythingllm.com/installation-desktop/terms",
        "privacy": "https://docs.anythingllm.com/installation-desktop/privacy",
        "statusPage": "",
        "changelog": "https://github.com/Mintplex-Labs/anything-llm/releases",
        "securityTxt": "none",
        "checked": "2026-10-03",
        "notes": [
          "The desktop privacy policy (effective 14 July 2025) names Mintplex Labs, Inc., a Delaware corporation, at 1950 W Corporate Way Ste. 25340, Anaheim, CA 92801.",
          "There's no shared hosted endpoint. Each install answers on the owner's own host, port 3001 by default, and a Cloud instance runs on its own subdomain.",
          "anythingllm.com/.well-known/security.txt returns 404. SECURITY.md takes reports only through GitHub security advisories.",
          "RDAP for anythingllm.com gives a registration date of 2023-06-08. Self-hosted terms are in TERMS_SELF_HOSTED.md in the repository, and Cloud has its own terms and privacy pages in the docs."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/anythingllm.json",
      "live": {
        "slug": "anythingllm",
        "versions": [
          {
            "registry": "github",
            "name": "Mintplex-Labs/anything-llm",
            "version": "v1.17.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:20:25.081085298Z"
          }
        ],
        "githubStars": 66708,
        "securityTxt": {
          "url": "https://anythingllm.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:04.556618476Z"
        },
        "domain": {
          "domain": "anythingllm.com",
          "registered": "2023-06-08",
          "source": "https://rdap.verisign.com/com/v1/domain/anythingllm.com",
          "checkedAt": "2026-10-04T13:06:56.741891994Z"
        },
        "pages": [
          {
            "url": "https://docs.anythingllm.com/installation-desktop/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:09.350190924Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d60b6740a520"
          },
          {
            "url": "https://docs.anythingllm.com/installation-desktop/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:11.412362007Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fbedb30fe013"
          }
        ],
        "updatedAt": "2026-10-04T16:20:25.081085298Z"
      }
    },
    "b": {
      "slug": "open-webui",
      "name": "Open WebUI",
      "vendor": "Open WebUI Inc.",
      "vendorUrl": "https://openwebui.com",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Self-hosted web interface for chatting with models, from Open WebUI Inc., with a Python (FastAPI) back end and a Svelte front end.",
      "url": "https://www.anchorterminal.com/tools/open-webui",
      "markdownUrl": "https://www.anchorterminal.com/tools/open-webui.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/open-webui.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/open-webui.json",
      "repo": "https://github.com/open-webui/open-webui",
      "license": "Open WebUI License. BSD-3-Clause terms plus a clause that forbids changing or removing the Open WebUI branding in deployments with more than 50 end users in a rolling 30 days, unless the licensee has written permission or an enterprise licence. Code from before set commits stays under MIT or BSD-3-Clause (LICENSE_HISTORY), and contributors sign a CLA",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "open-webui"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/open-webui/open-webui"
        }
      ],
      "auth": "api-key",
      "authNotes": "Sign-in is on by default (`WEBUI_AUTH`), the first account to sign up becomes admin, and sign-up then closes. An agent calls the API with `Authorization: Bearer \u003ctoken\u003e`, either an `sk-` API key from Settings \u003e Account or a session JWT, which lasts four weeks by default (`JWT_EXPIRES_IN`), and behind a reverse proxy that uses `Authorization` itself the key can go in an `x-api-key` header (https://docs.openwebui.com/reference/api-endpoints). API keys stay off until an administrator turns them on (`ENABLE_API_KEYS` defaults to false), a group permission decides who may create one, and they can be limited instance-wide to listed endpoints with `ENABLE_API_KEYS_ENDPOINT_RESTRICTIONS` and `API_KEYS_ALLOWED_ENDPOINTS` (https://github.com/open-webui/open-webui/blob/main/backend/open_webui/config.py). Each user has one key, `sk-` plus 32 hexadecimal characters, stored as plain text with a last-used time and no expiry set by the API (https://github.com/open-webui/open-webui/blob/main/backend/open_webui/routers/auths.py). People sign in with email and password, OAuth or OIDC, LDAP or trusted headers, with SCIM 2.0 provisioning.",
      "pricing": "free",
      "pricingNotes": "Free to self-host under the Open WebUI License. Deployments with more than 50 end users in a rolling 30 days have to keep the Open WebUI branding unless they hold an enterprise licence or written permission. The enterprise licence (white-labelling, SLA-backed support, Terminals) is sold through sales to registered organisations only, with no published prices (https://docs.openwebui.com/enterprise). There's no hosted Open WebUI service. You pay your model provider, or nothing with a local model (checked 2026-10-03).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 153000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-03"
      },
      "docsUrl": "https://docs.openwebui.com",
      "llmsTxt": "https://docs.openwebui.com/llms.txt",
      "capabilities": [
        "inference.local",
        "agent.mcp-client",
        "memory.user",
        "knowledge.search"
      ],
      "tags": [
        "self-hosted",
        "local",
        "free",
        "python",
        "docker",
        "openai-compatible",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "disclosure": "Open WebUI competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
      "competesWith": "localghost",
      "anchor": {
        "graded": true,
        "score": 52,
        "grade": "D",
        "agentReady": false,
        "rank": 345,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 91,
          "payments": 20,
          "reliability": 68,
          "schema": 60,
          "security": 63,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -8,
        "negativeNotes": [
          "2026-05-05. GHSA-2r4p-jpmg-48f4 (CVE-2026-44551, Critical, 9.1). LDAP sign-in accepted an empty password where the directory allows unauthenticated binds, giving full access to the victim's account. It affects 0.8.12 and earlier and was fixed in 0.9.0 (21 April 2026) before publication, -2. https://github.com/open-webui/open-webui/security/advisories/GHSA-2r4p-jpmg-48f4",
          "2026-07-02. GHSA-74h3-cxq7-vc5q (CVE-2026-59216, 7.7). A signed-in low-privilege user could run code and tools in another user's session through an unchecked Socket.IO session_id, which against an administrator meant code execution as the server process (root in default containers). Fixed in 0.10.0 on 29 June 2026 and published three days later, -2. https://github.com/open-webui/open-webui/security/advisories/GHSA-74h3-cxq7-vc5q",
          "2026-08-02 and 2026-09-04. Two account takeovers through OAuth, both High. GHSA-rq84-p6rr-vf89 accepted tokens issued to any client in the OAuth token exchange (fixed in 0.11.0), and GHSA-wpmr-8h3q-fwj7 (8.1) matched OAuth and OIDC subjects by substring on SQLite, so a crafted subject could sign in as an existing account, administrators included (fixed in 0.11.1 on 25 August). Both fixed before publication, -2. https://github.com/open-webui/open-webui/security/advisories/GHSA-rq84-p6rr-vf89; https://github.com/open-webui/open-webui/security/advisories/GHSA-wpmr-8h3q-fwj7",
          "2025-10-03 to 2026-10-03. The rest of the year's record. GitHub reviewed 143 of the repository's advisories in the 12 months to 3 October 2026, and 129 cover flaws fixed in releases from 0.6.35 (6 November 2025) on, 58 High and 1 Critical, more than half of them access-control or authorisation flaws by their titles and CWE tags. July to September alone brought 52 (18 High, 29 Moderate, 5 Low) in batches published on 2 July, 2 August and 4 September. Each was fixed in a release before publication, so the 125 beyond the four above count together, -2. https://github.com/open-webui/open-webui/security/advisories; https://github.com/advisories?query=open-webui+type%3Areviewed+ecosystem%3Apip"
        ],
        "verdict": "Five releases in the 90 days to 3 October 2026, each with a dated changelog entry that warns of database migrations. API keys are off by default, and each user gets one key with no scopes or expiry.",
        "disclosure": "Open WebUI competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.",
        "strengths": [
          "Five releases in the 90 days to 3 October 2026, each with a dated changelog entry that warns of database migrations",
          "OpenAI-compatible `/api/chat/completions` and `/api/models`, plus an Anthropic Messages route and an Ollama proxy, so OpenAI's SDKs work against a local instance",
          "Roles, groups, per-model and per-knowledge access grants, a group permission for key creation and an instance-wide endpoint allowlist for keys",
          "An audit log at metadata, request or request-and-response level, plus events for key creation and deletion",
          "No product telemetry found, third-party analytics off in the Docker image, and `OFFLINE_MODE` to stop the release check and model downloads"
        ],
        "weaknesses": [
          "API keys are off by default, and each user gets one key with no scopes or expiry",
          "The API reference covers seven route groups, and the OpenAPI file and Swagger UI need `ENV=dev`",
          "52 advisories published from July to September 2026, 18 of them High, including cross-user code execution (CVE-2026-59216) and two OAuth account takeovers, all fixed",
          "Pre-1.0 (0.11), with database migrations in patch releases and no rolling updates during them",
          "The branding clause makes the licence non-OSI, and the enterprise licence has no published price"
        ],
        "agentNotes": [
          "Ask the administrator to set `ENABLE_API_KEYS=true` and let your group create keys. `sk-` keys are refused until then",
          "Send OpenAI's request shape to `/api/chat/completions` with a Bearer key, or use `x-api-key` behind a proxy that takes `Authorization` for itself",
          "Call `/api/models` first and use an `id` from it. Model IDs depend on the instance's connections",
          "Poll `GET /api/v1/files/{id}/process/status` until it reads `completed` before adding a file to a knowledge base",
          "Expect a 403 on routes outside `API_KEYS_ALLOWED_ENDPOINTS` when the administrator has set an allowlist"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 91,
          "payments": 20,
          "reliability": 68,
          "schema": 60,
          "security": 63,
          "transparency": 66
        },
        "provenanceScore": 79
      },
      "connect": {
        "install": "pip install open-webui \u0026\u0026 open-webui serve   # or: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main",
        "http": "curl -X POST http://localhost:3000/api/chat/completions \\\n  -H \"Authorization: Bearer $OPEN_WEBUI_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"llama3.1\", \"messages\": [{\"role\": \"user\", \"content\": \"Why is the sky blue?\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.local",
        "tool": "https://letme.dev/open-webui"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Open WebUI Inc.",
        "domain": "openwebui.com",
        "domainRegistered": "2024-02-17",
        "endpointOnVendorDomain": null,
        "terms": "https://openwebui.com/terms",
        "privacy": "https://openwebui.com/privacy",
        "statusPage": "",
        "changelog": "https://github.com/open-webui/open-webui/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-03",
        "notes": [
          "The LICENSE copyright line names Open WebUI Inc., created by Timothy Jaeryang Baek, and the privacy policy names Open WebUI, Inc. with no address.",
          "openwebui.com/.well-known/security.txt points to GitHub Security Advisories and expires on 2027-06-30.",
          "The privacy policy, last updated on 31 December 2025, covers openwebui.com and its community services only, says nothing about the self-hosted software, and gives no retention periods.",
          "We found no status page linked from openwebui.com. There's no hosted service, so an instance answers on its owner's own host.",
          "RDAP for openwebui.com gives a registration date of 2024-02-17, registrar Cloudflare. The terms page wasn't read for this check."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/open-webui.json",
      "live": {
        "slug": "open-webui",
        "versions": [
          {
            "registry": "github",
            "name": "open-webui/open-webui",
            "version": "v0.11.4",
            "released": "2026-09-21",
            "seenAt": "2026-10-04T16:35:15.328941559Z"
          },
          {
            "registry": "pypi",
            "name": "open-webui",
            "version": "0.11.4",
            "released": "2026-09-21",
            "seenAt": "2026-10-04T16:35:15.214147757Z"
          }
        ],
        "githubStars": 153934,
        "pypiWeekly": 235140,
        "securityTxt": {
          "url": "https://openwebui.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-06-30T00:00:00Z",
          "checkedAt": "2026-10-04T15:15:55.536560702Z"
        },
        "llmsTxt": {
          "url": "https://docs.openwebui.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:04.221173659Z"
        },
        "domain": {
          "domain": "openwebui.com",
          "registered": "2024-02-17",
          "source": "https://rdap.verisign.com/com/v1/domain/openwebui.com",
          "checkedAt": "2026-10-04T13:06:48.742159254Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/open-webui/open-webui/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:49.239650644Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3c27bf8cc8f9"
          },
          {
            "url": "https://openwebui.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:32.010185663Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ab8757357aa3"
          },
          {
            "url": "https://openwebui.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:35.689261473Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "87cd832136e7"
          }
        ],
        "updatedAt": "2026-10-04T16:35:15.328941559Z"
      }
    },
    "summary": "AnythingLLM has a score of 53.6 (D) against Open WebUI's 52 (D). Both do local inference. The largest gap is payments \u0026 pricing, 40 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui",
    "json": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui.md",
    "slim": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui.min.md"
  },
  "markdown": "AnythingLLM has a score of 53.6 (D) against Open WebUI's 52 (D). Both do local inference. The largest gap is payments \u0026 pricing, 40 points.\n\n- AnythingLLM: grade D, 53.6/100, rank #330 of 452. Markdown https://www.anchorterminal.com/tools/anythingllm.md · JSON https://www.anchorterminal.com/api/v1/tools/anythingllm.json\n- Open WebUI: grade D, 52/100, rank #345 of 452. Markdown https://www.anchorterminal.com/tools/open-webui.md · JSON https://www.anchorterminal.com/api/v1/tools/open-webui.json\n\n## Which one, for what\n\nPick AnythingLLM for payments \u0026 pricing (+40).\n\nPick Open WebUI for agent ergonomics (+8), security \u0026 auth (+25), maintenance \u0026 community (+13), transparency \u0026 trust (+10).\n\n## Score by category\n\n| Category | Weight | AnythingLLM | Open WebUI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 68 | Open WebUI +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 60 | Open WebUI +3 |\n| Agent ergonomics | 13% (16.2 this run) | 46 | 54 | Open WebUI +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 63 | Open WebUI +25 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 20 | AnythingLLM +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 91 | Open WebUI +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 73 | Open WebUI +10 |\n| Negative events | ≤15 | -3 | -8 | |\n| **Total** | | **53.6 · D** | **52 · D** | |\n\n## Facts side by side\n\n| Fact | AnythingLLM | Open WebUI |\n| --- | --- | --- |\n| Kind | Model platform | Model platform |\n| Vendor | Mintplex Labs | Open WebUI Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT (server, document collector, frontend and Docker image). The desktop app ships under Mintplex Labs' own terms of use, which call its source code a trade secret and forbid reverse engineering | Open WebUI License. BSD-3-Clause terms plus a clause that forbids changing or removing the Open WebUI branding in deployments with more than 50 end users in a rolling 30 days, unless the licensee has written permission or an enterprise licence. Code from before set commits stays under MIT or BSD-3-Clause (LICENSE_HISTORY), and contributors sign a CLA |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-10-01 | 2026-09-21 |\n| Popularity | 67k stars | 153k stars |\n| Agent reviews | 2/5 (2) | 2.5/5 (2) |\n\n## Verdicts\n\n**AnythingLLM.** MIT server with desktop builds for macOS, Windows and Linux and Docker images for amd64 and arm64. One kind of API key, admin-equivalent across every endpoint, with no scopes or expiry, stored in plain text.\n\n**Open WebUI.** Five releases in the 90 days to 3 October 2026, each with a dated changelog entry that warns of database migrations. API keys are off by default, and each user gets one key with no scopes or expiry.\n\n## Before you call either\n\n### AnythingLLM\n\n1. Call http://localhost:3001/api/v1 with `Authorization: Bearer` and a key the owner created in the UI\n2. Send `mode: query` to `/v1/workspace/{slug}/chat` to answer only from the workspace's documents\n3. Treat the key as admin. It can delete workspaces, users and documents\n4. Read /api/docs on the instance for the endpoint list. Request bodies there are examples, not schemas\n5. Pass a `sessionId` with each chat to keep your conversation apart from other API callers\n\n### Open WebUI\n\n1. Ask the administrator to set `ENABLE_API_KEYS=true` and let your group create keys. `sk-` keys are refused until then\n2. Send OpenAI's request shape to `/api/chat/completions` with a Bearer key, or use `x-api-key` behind a proxy that takes `Authorization` for itself\n3. Call `/api/models` first and use an `id` from it. Model IDs depend on the instance's connections\n4. Poll `GET /api/v1/files/{id}/process/status` until it reads `completed` before adding a file to a knowledge base\n5. Expect a 403 on routes outside `API_KEYS_ALLOWED_ENDPOINTS` when the administrator has set an allowlist\n\n## Other comparisons with AnythingLLM or Open WebUI\n\n- [AnythingLLM vs GPT4All](https://www.anchorterminal.com/compare/anythingllm-vs-gpt4all.md)\n- [AnythingLLM vs Jan](https://www.anchorterminal.com/compare/anythingllm-vs-jan.md)\n- [AnythingLLM vs Khoj](https://www.anchorterminal.com/compare/anythingllm-vs-khoj.md)\n- [AnythingLLM vs llama.cpp](https://www.anchorterminal.com/compare/anythingllm-vs-llama-cpp.md)\n- [AnythingLLM vs LM Studio](https://www.anchorterminal.com/compare/anythingllm-vs-lm-studio.md)\n- [AnythingLLM vs LocalAI](https://www.anchorterminal.com/compare/anythingllm-vs-localai.md)\n- [AnythingLLM vs Ollama](https://www.anchorterminal.com/compare/anythingllm-vs-ollama.md)\n- [AnythingLLM vs screenpipe](https://www.anchorterminal.com/compare/anythingllm-vs-screenpipe.md)\n- [GPT4All vs Open WebUI](https://www.anchorterminal.com/compare/gpt4all-vs-open-webui.md)\n- [Jan vs Open WebUI](https://www.anchorterminal.com/compare/jan-vs-open-webui.md)\n- [Khoj vs Open WebUI](https://www.anchorterminal.com/compare/khoj-vs-open-webui.md)\n- [llama.cpp vs Open WebUI](https://www.anchorterminal.com/compare/llama-cpp-vs-open-webui.md)\n- [LM Studio vs Open WebUI](https://www.anchorterminal.com/compare/lm-studio-vs-open-webui.md)\n- [LocalAI vs Open WebUI](https://www.anchorterminal.com/compare/localai-vs-open-webui.md)\n- [Ollama vs Open WebUI](https://www.anchorterminal.com/compare/ollama-vs-open-webui.md)\n- [Open WebUI vs screenpipe](https://www.anchorterminal.com/compare/open-webui-vs-screenpipe.md)\n- [AnythingLLM vs Underdog](https://www.anchorterminal.com/compare/anythingllm-vs-underdog.md)\n- [AnythingLLM vs LocalGhost](https://www.anchorterminal.com/compare/anythingllm-vs-localghost.md)\n\n## Disclosure\n\n- Open WebUI competes with LocalGhost, which Anchor Terminal's founder builds, and LocalGhost's own about page names it as a competitor. It's graded by the same published checklist as every listing, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed instead of keeping either award by default.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AnythingLLM vs Open WebUI",
        "url": ""
      }
    ],
    "description": "AnythingLLM has a score of 53.6 (D) against Open WebUI's 52 (D). Both do local inference. The largest gap is payments \u0026 pricing, 40 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "AnythingLLM D 53.6",
      "Open WebUI D 52",
      "scores"
    ],
    "h1": "AnythingLLM vs Open WebUI",
    "image": "https://www.anchorterminal.com/assets/og/compare-anythingllm-vs-open-webui.png",
    "path": "/compare/anythingllm-vs-open-webui",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AnythingLLM vs Open WebUI for AI agents, D 53.6 vs D 52",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/anythingllm-vs-open-webui"
  },
  "tokens": {
    "markdown": 1800,
    "slim": 330
  },
  "version": 1
}
