{
  "data": {
    "a": {
      "slug": "litellm",
      "name": "LiteLLM",
      "vendor": "BerriAI",
      "vendorUrl": "https://www.litellm.ai",
      "kind": "router",
      "category": "inference",
      "summary": "Open-source Python SDK and self-hosted AI gateway from BerriAI that puts 100+ model providers behind one OpenAI-compatible API, with virtual keys, spend tracking, budgets, fallbacks, guardrails and an MCP gateway.",
      "url": "https://www.anchorterminal.com/tools/litellm",
      "markdownUrl": "https://www.anchorterminal.com/tools/litellm.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/litellm.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/litellm.json",
      "dns": "litellm.grade.anchorterminal.com",
      "repo": "https://github.com/BerriAI/litellm",
      "license": "MIT, except the enterprise/ directory, which is under its own licence and needs an Enterprise licence key",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "litellm"
        },
        {
          "registry": "docker",
          "name": "docker.litellm.ai/berriai/litellm"
        }
      ],
      "auth": "api-key",
      "authNotes": "The gateway takes a Bearer key. `LITELLM_MASTER_KEY` is required at start-up and has full admin rights. Virtual keys, stored hashed, carry model, route, MCP server, budget, rate-limit and expiry limits and can be blocked. Key rotation with a grace period, SSO beyond five users, SCIM and JWT/OIDC auth need an Enterprise licence. `/key/info` takes the key being looked up as a `?key=` query parameter.",
      "pricing": "freemium",
      "pricingNotes": "Free to self-host under MIT, with no account or card. Model calls bill at each upstream provider's own prices on the operator's keys. Enterprise (SSO, audit logs, key rotation, team-scoped guardrails, support SLAs) is an annual licence priced through sales, with a 30-day trial key emailed after a form and no card (https://www.litellm.ai/pricing, https://www.litellm.ai/enterprise).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index or the llms-full.txt file, read 2026-10-06. The gateway forwards to providers on the operator's keys.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 62841,
        "npmWeekly": null,
        "pypiWeekly": 22493278,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.litellm.ai",
      "llmsTxt": "https://docs.litellm.ai/llms.txt",
      "openapi": "https://docs.litellm.ai/api-reference/",
      "capabilities": [
        "inference.router",
        "obs.gateway",
        "agent.mcp-client",
        "guard.pii"
      ],
      "tags": [
        "self-hosted",
        "open-source",
        "router",
        "gateway",
        "mcp",
        "openapi",
        "llms-txt",
        "python",
        "docker",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.4,
        "grade": "B",
        "agentReady": false,
        "rank": 559,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 20,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 60,
          "reliability": 70,
          "schema": 91,
          "security": 72,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -12,
        "negativeNotes": [
          "2026-03-24, -6. litellm 1.82.7 and 1.82.8 were uploaded to PyPI with a credential stealer that read environment variables, SSH keys, cloud and Kubernetes credentials and sent them to models.litellm.cloud. They were live for about 40 minutes before PyPI quarantined them, after a token leaked through the Trivy compromise. BerriAI published indicators, checksums and a rebuilt pipeline (v1.83.0, 30 March). A supply-chain incident that reached users, fixed, documented and six months old. https://docs.litellm.ai/blog/security-update-march-2026, https://api.osv.dev/v1/vulns/GHSA-5mg7-485q-xm76",
          "2026-04-24, -2. GHSA-r75f-5x8p-qvmc (CVE-2026-42208, critical). An unauthenticated SQL injection through the `Authorization` header in proxy key verification, affecting 1.81.16 up to 1.83.7. Fixed and published, inside six months. https://api.osv.dev/v1/vulns/GHSA-r75f-5x8p-qvmc",
          "2026-06-16, -2. GHSA-4xpc-pv4p-pm3w (CVE-2026-49468, critical). A crafted Host header could reach protected management routes without authentication where nothing upstream normalises Host. Fixed in 1.84.0. https://api.osv.dev/v1/vulns/GHSA-4xpc-pv4p-pm3w",
          "2026-08-27, -2. GHSA-6wvf-77m9-58rm (CVE-2026-37004, critical). Server-side template injection in /prompts/test let unauthenticated callers run OS commands in 1.82.4 and earlier, fixed in 1.83.7. Published months after the fix. https://api.osv.dev/v1/vulns/GHSA-6wvf-77m9-58rm",
          "Not deducted separately. 26 other GitHub advisories published between 6 November 2025 and 6 November 2026 (one more critical, ten high, six moderate and nine low), among them an OIDC cache-key collision (GHSA-jjhc-v7c2-5hh6), authenticated credential exfiltration through request-body routing (GHSA-3cv6-jpf6-8222, 30 September 2026) and, on 27 October 2026, privilege escalation from internal_user to proxy_admin through reuse of the salt key (GHSA-7hp6-4w63-5g45, high) and an arbitrary local file read by internal_user_viewer (GHSA-g5ff-637f-6q2m, high). All handled in public with fixes. https://api.osv.dev/v1/query"
        ],
        "verdict": "An MIT-licensed gateway that puts 100+ model providers behind one OpenAI-compatible API, with virtual keys, budgets, fallbacks and an MCP gateway, released several times a week. Its security record is the main limitation. Two PyPI releases carried a credential stealer on 24 March 2026, and 30 GitHub advisories followed in 12 months, five of them critical.",
        "bestFor": "Teams that want one OpenAI-compatible endpoint over many providers on their own infrastructure, with per-key budgets, model allowlists and an MCP gateway.",
        "strengths": [
          "MIT core, self-hosted, with no telemetry when self-hosted per the data security page",
          "Virtual keys limited by model, route, MCP server, budget, rate and expiry, and blockable at once",
          "Every proxy serves Swagger, ReDoc and /openapi.json, and the docs have llms.txt with a Markdown twin of every page",
          "Error reference tells a gateway 429 (with `retry-after`, `rate_limit_type`, `reset_at`) from a provider 429",
          "v1.108.1 on 5 November 2026, 125 tags since 8 August, and four stable minor lines supported with patches"
        ],
        "weaknesses": [
          "litellm 1.82.7 and 1.82.8 on PyPI carried a credential stealer for about 40 minutes on 24 March 2026",
          "30 GitHub advisories from 6 November 2025 to 6 November 2026, five critical, including unauthenticated SQL injection fixed in 1.83.7",
          "Key rotation, audit logs and SSO beyond five users need an Enterprise licence, priced only through sales",
          "Breaking changes ship in weekly minor releases on the 1.x line, and lines older than the latest four stop getting fixes",
          "The default Docker image runs as root, and the Swagger, ReDoc and OpenAPI pages are public until switched off"
        ],
        "agentNotes": [
          "Pin an exact litellm version or image digest, verify the cosign signature, and never install an unpinned latest in CI",
          "Give each agent a virtual key limited to its models, routes and MCP servers, with a budget and an expiry",
          "Treat a 429 with `retry-after` as the gateway's own limit and wait that long; a 429 without it came from the provider",
          "Set `NO_DOCS`, `NO_REDOC` and `NO_OPENAPI` to True in production, and use the `-non_root` image variant",
          "Set `LITELLM_LOCAL_MODEL_COST_MAP=True` where egress is blocked, since start-up otherwise fetches the price map from GitHub"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 82,
          "payments": 60,
          "reliability": 70,
          "schema": 91,
          "security": 72,
          "transparency": 77
        },
        "provenanceScore": 49,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install litellm   # SDK; gateway: curl -sSLO https://github.com/BerriAI/litellm/raw/main/docker/docker-compose.quickstart.yml \u0026\u0026 docker compose -f docker-compose.quickstart.yml up -d",
        "http": "curl http://localhost:4000/v1/chat/completions \\\n  -H 'Authorization: Bearer sk-\u003cyour-virtual-key\u003e' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"model\": \"gpt-5.6-terra\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Say hello in five words.\"}]\n  }'",
        "claudeCode": "export ANTHROPIC_BASE_URL=\"http://localhost:4000\"\nexport ANTHROPIC_AUTH_TOKEN=\"sk-\u003cyour-virtual-key\u003e\"\nexport ANTHROPIC_MODEL=\"\u003ca model_name from your config\u003e\"\nclaude"
      },
      "letme": {
        "capability": "https://letme.dev/inference.router",
        "tool": "https://letme.dev/litellm"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Berrie AI Incorporated",
        "domain": "litellm.ai",
        "domainRegistered": "2023-08-07",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "https://docs.litellm.ai/docs/data_security",
        "statusPage": "",
        "changelog": "https://docs.litellm.ai/release_notes",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The data security page names the legal entity as Berrie AI Incorporated, with krrish@berri.ai as the security contact.",
          "The gateway is software the operator runs, so there's no vendor endpoint and no status page.",
          "No terms of service or privacy policy found on www.litellm.ai (/terms, /privacy and /legal return 404). The data security page in the docs covers self-hosted data handling.",
          "www.litellm.ai/.well-known/security.txt and the docs host both return 404. Reports go to GitHub private vulnerability reporting under security.md.",
          "RDAP for litellm.ai gives a registration date of 2023-08-07.",
          "Rechecked 2026-11-06: www.litellm.ai/terms, /privacy, /legal, /terms-of-service and /privacy-policy all return 404, and neither host serves security.txt. Both robots.txt files allow all."
        ],
        "score": 49
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/litellm.json",
      "live": {
        "slug": "litellm",
        "versions": [
          {
            "registry": "github",
            "name": "BerriAI/litellm",
            "version": "v1.108.2",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:40:24.985518384Z"
          },
          {
            "registry": "pypi",
            "name": "litellm",
            "version": "1.108.2",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:40:24.735967257Z"
          }
        ],
        "githubStars": 62845,
        "pypiWeekly": 22493278,
        "securityTxt": {
          "url": "https://litellm.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:25.60777972Z"
        },
        "llmsTxt": {
          "url": "https://docs.litellm.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.845519783Z"
        },
        "pages": [
          {
            "url": "https://docs.litellm.ai/release_notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:55.608946935Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e493aadf92b2"
          },
          {
            "url": "https://www.litellm.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:56.79408028Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "45e60222905c"
          },
          {
            "url": "https://docs.litellm.ai/docs/data_security",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:53.531435979Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2363610f7ad"
          }
        ],
        "updatedAt": "2026-11-07T16:01:25.60777972Z"
      }
    },
    "answer": "LiteLLM scores 62.4 (B) on agent readiness against Router.com (Ramp Router)'s 53.7 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "ramp-router",
      "name": "Router.com (Ramp Router)",
      "vendor": "Ramp",
      "vendorUrl": "https://router.com",
      "kind": "router",
      "category": "inference",
      "summary": "Router.com (Ramp Router) is Ramp's LLM gateway. One API key reaches OpenAI, Anthropic, xAI and open-weight models through OpenAI Responses, Chat Completions and Anthropic Messages endpoints, with fallbacks, Flex-tier routing, shadow testing and benchmark aliases.",
      "url": "https://www.anchorterminal.com/tools/ramp-router",
      "markdownUrl": "https://www.anchorterminal.com/tools/ramp-router.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ramp-router.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ramp-router.json",
      "dns": "ramp-router.grade.anchorterminal.com",
      "repo": "https://github.com/ramp-public/ramp-cli",
      "license": "Closed service under the Router Terms of Service (last updated 31 August 2026). The Ramp CLI that configures coding agents for Router is MIT.",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.router.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@ramp/router"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Router API key, sent as `Authorization: Bearer` or `X-Api-Key`. A person signs up in the browser with Sign in with Ramp, or by email or Google with a business email address on a business domain (Gmail, Outlook, iCloud, Proton and similar are refused); other people can ask router@ramp.com for manual onboarding. Keys are created on the dashboard's API keys page and shown once, or by the Ramp CLI after browser approval. Each key can carry a lifetime or periodic spend cap and be locked, unlocked or revoked (https://docs.router.com/api/endpoint.md, https://docs.router.com/resources/signup-eligibility.md).",
      "pricing": "usage",
      "pricingNotes": "Routing is free through 2026, and models are billed at list price per 1M tokens from account credit. Router.com says the first $26 of credits are free. Requests served with the caller's own provider keys carry no Router charge, unless they fall back to Router's shared key. No routing price after 2026 was found. Per-model prices are public at https://router.com/models and https://docs.router.com/supported-models.md.",
      "priceSummary": "0% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs at https://docs.router.com (all 41 Markdown pages read on 27 October 2026). Calls draw on account credit, and a 402 means the account has no available credit.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1667,
        "pypiWeekly": null,
        "asOf": "2026-10-27"
      },
      "docsUrl": "https://docs.router.com",
      "llmsTxt": "https://docs.router.com/llms.txt",
      "capabilities": [
        "inference.router",
        "inference.llm",
        "inference.decision"
      ],
      "tags": [
        "hosted",
        "router",
        "closed-source",
        "usage-priced",
        "prepaid",
        "free-credit",
        "llms-txt",
        "openai-compatible",
        "anthropic-compatible",
        "streaming",
        "prompt-caching",
        "cli",
        "new"
      ],
      "lastRelease": "2026-11-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.7,
        "grade": "D",
        "agentReady": false,
        "rank": 942,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 30,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 59,
          "payments": 40,
          "reliability": 22,
          "schema": 58,
          "security": 66,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Detailed Markdown docs with typed error codes, per-model capability data and routing an agent can set per request. No OpenAPI document, status page, changelog or published rate limits were found. Signup needs a US business email in a browser, and Ramp records prompts and outputs for a year by default unless switched off.",
        "bestFor": "Teams in the US that want one key for OpenAI, Anthropic, xAI and open-weight models, with routing to cheaper tiers and per-request cost, and can switch off content recording.",
        "strengths": [
          "llms.txt and a Markdown copy of every docs page, with a field table for each endpoint and an error reference with an action per code",
          "`GET /v1/models` returns limits, tool, structured-output, caching and reasoning support, and per-provider prices for each model",
          "Fallback lists of up to 15 provider, model and tier candidates, with timeouts that bound each attempt",
          "Every response names the serving provider, and Responses calls return `usage.cost` in USD",
          "Routing is free through 2026, BYOK requests carry no Router charge, and the first $26 of credits are free"
        ],
        "weaknesses": [
          "Ramp-side content recording is on by default and keeps prompts, outputs and tool calls for one year",
          "No OpenAPI document, status page, changelog, SLA or published rate limits were found",
          "Signup needs a US business email domain or Sign in with Ramp, in a browser",
          "No batch, embeddings or files routes, and Chat Completions lacks fallback lists and cost",
          "No routing price after 31 December 2026 was found"
        ],
        "agentNotes": [
          "Switch off content recording in Settings before sending private data. It is on by default and keeps prompts and outputs for a year",
          "Read model ids from `GET /v1/models` at runtime. Ids are account-specific, an unknown one is a 404, and Gemini ids need your own Google key",
          "Use `POST /v1/responses` with a `models` list for fallbacks. Router stops falling back once a stream has started",
          "Set `fallback_timeout` and `provider_timeout`, or `allow_flex_tier: false`, when latency matters. Flex routing is on by default",
          "Treat both `401 invalid_api_key` and `401 api_key_deactivated` as a possibly locked key, and stop retrying on `402`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.7
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 59,
          "payments": 40,
          "reliability": 22,
          "schema": 58,
          "security": 66,
          "transparency": 50
        },
        "provenanceScore": 77,
        "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": "curl -fsSL https://router.com/install.sh | sh   # Ramp CLI, configures Claude Code, Codex, OpenCode, Pi, Hermes or Conductor",
        "http": "curl https://api.router.com/v1/responses \\\n  -H \"Authorization: Bearer $RAMP_ROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"models\":[\"openai:gpt-5.4-mini\",\"fireworks:accounts/fireworks/models/kimi-k3\"],\"input\":\"Reply with one word: pong.\",\"max_output_tokens\":16}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.router",
        "tool": "https://letme.dev/ramp-router"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Routing fee",
          "unit": "pct",
          "usd": 0,
          "note": "Free through 2026. Models are billed at list price"
        },
        {
          "item": "Claude Opus 5.5 input",
          "unit": "1m-tokens",
          "usd": 4,
          "note": "claude-opus-5-5, 1,000,000-token context"
        },
        {
          "item": "Claude Opus 5.5 output",
          "unit": "1m-tokens",
          "usd": 20
        },
        {
          "item": "GPT-6.1 Sol input",
          "unit": "1m-tokens",
          "usd": 2,
          "note": "gpt-6.1-sol, 1,050,000-token context"
        },
        {
          "item": "GPT-6.1 Sol output",
          "unit": "1m-tokens",
          "usd": 10
        },
        {
          "item": "Kimi K3 input",
          "unit": "1m-tokens",
          "usd": 3,
          "note": "kimi-k3, served by Fireworks or Baseten"
        },
        {
          "item": "Kimi K3 output",
          "unit": "1m-tokens",
          "usd": 15
        }
      ],
      "provenance": {
        "legalEntity": "Ramp Business Corporation",
        "domain": "router.com",
        "domainRegistered": "1995-07-26",
        "endpointOnVendorDomain": true,
        "terms": "https://ramp.com/legal/developer-terms/developer-terms/router-terms-of-service",
        "privacy": "https://ramp.com/legal/privacy-terms/privacy-terms/router-privacy-notice",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-11-04",
        "notes": [
          "The Router Terms of Service page renders only with JavaScript. The legal entity was read from the legal site's script files on 27 October, a reading this run no longer counts, and is kept as recorded pending a ruling.",
          "The Router Privacy Notice URL linked from router.com answers 301 to Ramp's general privacy policy. The docs FAQ and model pages now link Ramp's general privacy policy directly.",
          "No status page found. status.router.com does not resolve, router.com/status answers 404, and no status link appears in the docs or on router.com.",
          "No changelog found. The docs index lists none. The Ramp CLI's tagged releases are the only dated release record.",
          "router.com/.well-known/security.txt gives security-external@ramp.com as the contact and expires on 18 March 2027.",
          "router.com robots.txt carries Content-Signal search=yes, ai-input=yes, ai-train=yes.",
          "RDAP gives router.com a registration date of 26 July 1995 and Cloudflare, Inc. as registrar, per the 27 October check, so the domain predates Ramp. The earlier API host router-api.ramp.com still answered on 27 October."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ramp-router.json",
      "live": {
        "slug": "ramp-router",
        "probe": {
          "target": "https://api.router.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:28.770753868Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 427,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 341,
          "p95ms24h": 465,
          "samples24h": 238,
          "samples30d": 2618,
          "days": [
            {
              "date": "2026-10-27",
              "probes": 3,
              "ok": 3
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ramp-public/ramp-cli",
            "version": "v0.2.94",
            "released": "2026-11-04",
            "seenAt": "2026-11-07T00:00:15.752300599Z"
          },
          {
            "registry": "npm",
            "name": "@ramp/router",
            "version": "0.2.94",
            "seenAt": "2026-11-07T00:00:11.293440786Z"
          }
        ],
        "githubStars": 52,
        "npmWeekly": 1547,
        "securityTxt": {
          "url": "https://router.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-03-18T19:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:59.76243632Z"
        },
        "llmsTxt": {
          "url": "https://docs.router.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:43.463904493Z"
        },
        "domain": {
          "domain": "router.com",
          "registered": "1995-07-26",
          "source": "https://rdap.verisign.com/com/v1/domain/router.com",
          "checkedAt": "2026-11-01T14:14:03.12738718Z"
        },
        "pages": [
          {
            "url": "https://ramp.com/legal/privacy-terms/privacy-terms/router-privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:00.602165915Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://ramp.com/legal/developer-terms/developer-terms/router-terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:56.454985663Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "github": {
          "repo": "ramp-public/ramp-cli",
          "checkedAt": "2026-11-02T08:23:11.9563797Z",
          "stars": 52,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T03:49:03Z",
          "openIssues": 2,
          "openPRs": 5,
          "issuesOpened90d": 1,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 30,
            "failure": 20,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T04:00:13Z"
          },
          "replies": {
            "sampled": 2,
            "unanswered": 2
          }
        },
        "updatedAt": "2026-11-07T19:22:28.770753868Z"
      }
    },
    "edges": [
      {
        "by": 48,
        "category": "reliability",
        "leads": "litellm",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the local-software lines, since the gateway runs on the operator's hardware and BerriAI hosts nothing an agent calls. litellm on PyPI states Python 3.10 to 3.14, and the gateway ships as a Docker image, a Helm chart and Terraform modules, with GHCR images signed by cosign (20). 51 GitHub Actions workflows plus a CircleCI config cover unit, proxy-database, end-to-end, chaos, mutation and UI tests. The GitHub API was rate-limited for our reader on 6 November and Actions pages refused it on 6 October, so we couldn't confirm main is passing (15 of 25). The issue tracker showed 1,674 open issues on 6 November, with eight bug reports among the 15 newest, seven of them with a reply, against a project that tags several releases a day (10 of 25, down from an unchecked 12). Release notes carry breaking-change bullets, but breaking changes land in weekly minor releases on the 1.x line, so version numbers don't signal them (10 of 15). 1.108.1, past 1.0 (15).",
          "b": "Hosted reading. No status page found. status.router.com still does not resolve on 4 November, router.com/status answers 404, and neither the docs nor router.com link one (0). No readable incident history (5). No request or token rate limits are published. The docs say limits vary by model and list only technical limits, a 100 MiB body, 15 candidates and 100 keys per user (0). The errors page passes through provider `retry-after` and `retry-after-ms`, tells clients to respect them, gives a retry or fallback action for every 4xx and 5xx code, says retrying a 501 unchanged won't help and that a failed fallback candidate is not retried, and the fallbacks guide says truncated attempts are billed on top of later attempts. No idempotency key exists for the generation call that starts billing, so this is safe-retry guidance without keys (12). No SLA found in the docs or on router.com (0). The public API carries no beta label in the docs, and the docs llms.txt, re-read on 4 November, still says to treat 'beta pricing, limits, and enterprise controls as subject to change'. A 27 October reading of Ramp's product schedule came from the legal site's script and is no longer counted, so the line keeps its earlier partial value (5 of 10). 0 + 5 + 0 + 12 + 0 + 5 = 22."
        },
        "scores": {
          "a": 70,
          "b": 22
        }
      },
      {
        "by": 33,
        "category": "schema",
        "leads": "litellm",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Every gateway serves Swagger at /, ReDoc at /redoc and the raw schema at /openapi.json, and the docs host a public Swagger explorer (25). llms.txt, llms-full.txt and a Markdown twin of every page via `.md` (10). Pages say what a feature is for and where its limits are, and the key-auth page explains how permissions are inherited and where they aren't, but the reference is very large for a model to navigate (16 of 20). OpenAI-shaped request schemas from Pydantic models, with `metadata`, `litellm_params` and config blocks left as free-form objects (10 of 15). A full error reference with the envelope, every status, response headers and how to tell gateway limits from provider limits, plus examples on every page (15). Release notes per version with dates, newest v1.108.0 and v1.106.7 on 4 November 2026 (15).",
          "b": "Router, scored on the API lines. No OpenAPI or other machine-readable contract found. /openapi.json on docs.router.com returns the docs app shell. The API follows the OpenAI and Anthropic wire formats, which this checklist doesn't credit to a router, the same reading as RouterPlus (0 of 25). llms.txt and a Markdown copy of every page at the same path with `.md` (10). Pages say which endpoint to prefer and why, what isn't served (embeddings, files, batches), which Chat Completions controls return 501, and which workload suits which job (17 of 20). Router-only fields are tabled with types and bounds, the route selector rules are stated (`model` or `models` but never both, 1 to 15 candidates), over-limit timeouts are a 400 naming the maximum, and the model list documents a typed `router` object with a `schema_version`. Request bodies otherwise follow the upstream formats (12 of 15). curl, OpenAI SDK, Anthropic SDK, LangChain, Vercel AI SDK, LlamaIndex and Pydantic AI examples, and an error reference with a status, code and action for each case (15). Paths sit under `/v1` and the model object is versioned, but no API changelog or dated release notes were found (4 of 15)."
        },
        "scores": {
          "a": 91,
          "b": 58
        }
      },
      {
        "by": 23,
        "category": "maintenance",
        "leads": "litellm",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v1.108.1 tagged on 5 November 2026, v1.108.0 and v1.106.7 on 3 and 4 November (30). 125 tags between 8 August and 6 November, stable, patch, release-candidate and dev builds, with patch releases for four minor lines at once (20). Reply times not measured. On the issues page 7 of the 15 newest had a reply on the day, workflows auto-close duplicates and label issues, and Discord is the listed community channel (12 of 25). The package is the official SDK, current, with OpenAI and Anthropic SDKs working against the gateway (12 of 15). Dependency and image scanning (OSV, zizmor, Scorecard, grype) run in CI, with pass state unchecked (8 of 10).",
          "b": "Router, read on the model lines for a closed service. The Ramp CLI that ships the `router` commands tagged v0.2.91 on 3 November 2026, a release that changes `router.py` and `router_credentials.py`, one of 81 tags since 6 August (30). Models carry a `deprecated` status and the docs list deprecated and retired models, but no notice period is stated, and the Baseten retirement note gives no date and says requests aren't redirected (4 of 12). Provider-specific Baseten ids and several Fireworks models were retired without dates. The API host moved from router-api.ramp.com to api.router.com, and the old host still answers (3 of 8). No public API changelog. Support is a dashboard button and router@ramp.com, not tested (5 of 15). ramp-cli issue replies were not read, because GitHub's API wasn't available to this session (3 of 10). No API SDK. The Ramp CLI (MIT, npm @ramp/router and @ramp/cli, tagged v0.2.91 in the repository, Homebrew; npm itself not read) sets up agents and keys (7 of 15). The CLI repository has CI, build, npm and router-integration workflows and a tests folder, with 46 commit days since 29 July. ci.yml runs `cargo test` and `pytest` on pushes to main, and the results were not readable (7 of 10)."
        },
        "scores": {
          "a": 82,
          "b": 59
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "litellm",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Read with the self-hosted rule, since an agent uses the free gateway and Enterprise is a sales-led licence for the same software. No x402, MPP or L402 (0). MIT with no account and no card, so 20, 20 and 20 on the last three lines. Model calls cost what the operator's provider keys cost.",
          "b": "No x402, MPP or L402 in any of the 41 docs pages. Calls draw on account credit (0). Per-token prices for every model are public at router.com/models and in the supported-models page without a login (20). Router.com says routing is free through 2026 and the first $26 of credits are free, and BYOK requests carry no Router charge. We did not sign up to confirm that no card is asked for (20). A person signs up in the browser with a US business email or Sign in with Ramp, and the CLI creates keys only after browser approval (0)."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "litellm",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Read with the tool checklist for self-hosted software. Virtual keys are hashed, revocable and blockable, with model, route, MCP server, budget, rate and expiry limits, and a `proxy_admin_viewer` read-only role exists. Rotation with a grace period is Enterprise only, so 25, less 10 because the docs pass a key as `?key=` on `/key/info` and on the Claude Code marketplace manifest (15 of 30). `allowed_routes`, MCP permissions by key and team, an approval queue for submitted MCP servers and stdio MCP servers off by default from 1.104.0 (15 of 20). Guardrails can run before a model call and on MCP tool results, and an OWASP LLM Top 10 page maps each risk to a control, but prompt-injection detectors such as Lakera need an Enterprise licence and all of it is off by default (12 of 15). Request and spend logs per key in the open-source build; audit logs of admin actions are Enterprise only (12 of 15). security.md with GitHub private reporting, a bug bounty from $500 to $3,000 for P0 and P1 reports, a security announcements list, SOC 2 Type II per the data security page, CodeQL, OSV and Scorecard workflows, and advisories published on GitHub. No security.txt, and reports without a video are closed unread (18 of 20).",
          "b": "Router, read on the model lines. Router keys are shown once, can expire, carry lifetime or periodic spend caps, can be locked, unlocked or revoked, and each key has its own model set and default workload. No permission scopes or programmatic rotation were found (24 of 30). The docs FAQ says Ramp-side content recording is on by default and keeps inputs, outputs and tool calls for one year for debugging, semantic analysis and product improvement, with detected personal data removed before product use. Provider training terms are in Ramp's Provider Schedule, which renders only with JavaScript. Its 27 October reading came from the legal site's script and is no longer counted, so the line is held (6 of 20). Recording can be switched off account-wide, propagating asynchronously and without deleting existing archives, and flagged content may still be kept up to 30 days. The docs FAQ points to the Provider Schedule for zero data retention policies and exceptions, which could not be read, so the line is held (10 of 15). Logs show model, provider, status, tokens, cost, latency, fallback candidates, credential source and routing decisions per request, with usage export to S3 for Router Admins (14 of 15). A valid security.txt on router.com points to Ramp's security address. Ramp's SOC 2 and ISO 27001 reports, per the ramp listing's 8 October check, were not shown to cover Router, which is a separate product under its own terms. No bug bounty found (12 of 20)."
        },
        "scores": {
          "a": 72,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Model router",
        "b": "Model router",
        "name": "Kind"
      },
      {
        "a": "BerriAI",
        "b": "Ramp",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.router.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT, except the enterprise/ directory, which is under its own licence and needs an Enterprise licence key",
        "b": "Closed service under the Router Terms of Service (last updated 31 August 2026). The Ramp CLI that configures coding agents for Router is MIT.",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-11-03",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "63k stars, 22.5M PyPI/wk",
        "b": "1.7k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "LiteLLM scores 62.4 (B) on agent readiness against Router.com (Ramp Router)'s 53.7 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, LiteLLM or Router.com (Ramp Router)?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do LiteLLM and Router.com (Ramp Router) need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for LiteLLM. Router.com (Ramp Router) has a hosted endpoint at https://api.router.com/v1.",
        "question": "Can an agent call LiteLLM and Router.com (Ramp Router) without installing anything?"
      },
      {
        "answer": "LiteLLM is open source (MIT, except the enterprise/ directory, which is under its own licence and needs an Enterprise licence key). No open-source release is listed for Router.com (Ramp Router).",
        "question": "Are LiteLLM and Router.com (Ramp Router) open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 22",
          "Schema \u0026 documentation, 91 against 58",
          "Security \u0026 auth, 72 against 66",
          "Payments \u0026 pricing, 60 against 40",
          "Maintenance \u0026 community, 82 against 59"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want one OpenAI-compatible endpoint over many providers on their own infrastructure, with per-key budgets, model allowlists and an MCP gateway.",
        "slug": "litellm",
        "watchFor": "litellm 1.82.7 and 1.82.8 on PyPI carried a credential stealer for about 40 minutes on 24 March 2026"
      },
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where LiteLLM loses 12 points for them"
        ],
        "goodFor": "Teams in the US that want one key for OpenAI, Anthropic, xAI and open-weight models, with routing to cheaper tiers and per-request cost, and can switch off content recording.",
        "slug": "ramp-router",
        "watchFor": "Ramp-side content recording is on by default and keeps prompts, outputs and tool calls for one year"
      }
    ],
    "history": {
      "litellm": null,
      "ramp-router": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -0.6,
          "from": 54.3,
          "fromGrade": "C",
          "to": 53.7,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-30",
          "delta": -0.2,
          "from": 54.5,
          "fromGrade": "C",
          "to": 54.3,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "inference.router",
      "name": "Model routing"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-ramp-router.json",
        "title": "Amazon Bedrock vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-ramp-router.json",
        "title": "Claude API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router.json",
        "title": "Azure OpenAI in Foundry Models vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-ramp-router.json",
        "title": "BlockRun.AI vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cerebras-inference-vs-ramp-router.json",
        "title": "Cerebras Inference vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/cerebras-inference-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-ramp-router.json",
        "title": "Cloudflare AI Gateway vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-ramp-router.json",
        "title": "Cloudflare Workers AI vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-ramp-router.json",
        "title": "Cohere Chat API (Command models) vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-ramp-router.json",
        "title": "DeepInfra vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-ramp-router.json",
        "title": "DeepSeek API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-ramp-router.json",
        "title": "Glimpse vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fireworks-inference-vs-ramp-router.json",
        "title": "Fireworks AI Inference vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/fireworks-inference-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-ramp-router.json",
        "title": "Gemini Developer API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-ramp-router.json",
        "title": "GroqCloud vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/groq-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inkling-2-small-vs-ramp-router.json",
        "title": "Inkling 2 Small vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/inkling-2-small-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jais-3-vs-ramp-router.json",
        "title": "Jais 3 vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/jais-3-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-model-api-vs-ramp-router.json",
        "title": "Meta Model API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/meta-model-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-api-vs-ramp-router.json",
        "title": "MiniMax API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/minimax-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-ramp-router.json",
        "title": "Mistral AI API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router.json",
        "title": "Muse Spark Open vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-vs-ramp-router.json",
        "title": "Nemotron 3.5 Super VL vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-ramp-router.json",
        "title": "Novita AI vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-api-vs-ramp-router.json",
        "title": "OpenAI API vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/openai-api-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-ramp-router.json",
        "title": "OpenRouter vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prism-inference-vs-ramp-router.json",
        "title": "Prism Inference vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/prism-inference-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-reflection-beam.json",
        "title": "Router.com (Ramp Router) vs Beam 1.0",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-reflection-beam"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-sambanova.json",
        "title": "Router.com (Ramp Router) vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-siliconflow.json",
        "title": "Router.com (Ramp Router) vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-simplismart.json",
        "title": "Router.com (Ramp Router) vs Simplismart",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-simplismart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-stepfun-api.json",
        "title": "Router.com (Ramp Router) vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-swe-2-flash.json",
        "title": "Router.com (Ramp Router) vs SWE-2 Flash",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-swe-2-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-together-inference.json",
        "title": "Router.com (Ramp Router) vs Together AI Inference",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-together-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-vertex-ai.json",
        "title": "Router.com (Ramp Router) vs Vertex AI (Gemini Enterprise Agent Platform)",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-vertex-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-xai-api.json",
        "title": "Router.com (Ramp Router) vs xAI API (Grok)",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-xai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-litellm.json",
        "title": "Antseed vs LiteLLM",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-litellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-ramp-router.json",
        "title": "Antseed vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-litellm.json",
        "title": "Cloudflare AI Gateway vs LiteLLM",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-litellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-litellm.json",
        "title": "Eden AI vs LiteLLM",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-litellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router.json",
        "title": "Eden AI vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-litellm.json",
        "title": "Hugging Face Inference Providers vs LiteLLM",
        "url": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-litellm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-ramp-router.json",
        "title": "Hugging Face Inference Providers vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/litellm-vs-openrouter.json",
        "title": "LiteLLM vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/litellm-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/litellm-vs-routerplus.json",
        "title": "LiteLLM vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/litellm-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/litellm-vs-tencent-tokenhub.json",
        "title": "LiteLLM vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/litellm-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/litellm-vs-vercel-ai-gateway.json",
        "title": "LiteLLM vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/litellm-vs-vercel-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-routerplus.json",
        "title": "Router.com (Ramp Router) vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-tencent-tokenhub.json",
        "title": "Router.com (Ramp Router) vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ramp-router-vs-vercel-ai-gateway.json",
        "title": "Router.com (Ramp Router) vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/ramp-router-vs-vercel-ai-gateway"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 48,
        "edge": "litellm",
        "key": "reliability",
        "litellm": 70,
        "name": "Reliability",
        "ramp-router": 22,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "litellm",
        "key": "schema",
        "litellm": 91,
        "name": "Schema \u0026 documentation",
        "ramp-router": 58,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "litellm",
        "key": "ergonomics",
        "litellm": 79,
        "name": "Agent ergonomics",
        "ramp-router": 77,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "litellm",
        "key": "security",
        "litellm": 72,
        "name": "Security \u0026 auth",
        "ramp-router": 66,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "litellm",
        "key": "payments",
        "litellm": 60,
        "name": "Payments \u0026 pricing",
        "ramp-router": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "litellm",
        "key": "maintenance",
        "litellm": 82,
        "name": "Maintenance \u0026 community",
        "ramp-router": 59,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "ramp-router",
        "key": "transparency",
        "litellm": 63,
        "name": "Transparency \u0026 trust",
        "ramp-router": 64,
        "weight": 7
      }
    ],
    "summary": "LiteLLM scores 62.4 (B) on agent readiness against Router.com (Ramp Router)'s 53.7 (D), and leads in 6 of 7 scored categories. Both do model routing.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "litellm": "An MIT-licensed gateway that puts 100+ model providers behind one OpenAI-compatible API, with virtual keys, budgets, fallbacks and an MCP gateway, released several times a week. Its security record is the main limitation. Two PyPI releases carried a credential stealer on 24 March 2026, and 30 GitHub advisories followed in 12 months, five of them critical.",
      "ramp-router": "Detailed Markdown docs with typed error codes, per-model capability data and routing an agent can set per request. No OpenAPI document, status page, changelog or published rate limits were found. Signup needs a US business email in a browser, and Ramp records prompts and outputs for a year by default unless switched off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/litellm-vs-ramp-router",
    "json": "https://www.anchorterminal.com/compare/litellm-vs-ramp-router.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/litellm-vs-ramp-router.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/litellm-vs-ramp-router.min.md"
  },
  "markdown": "LiteLLM scores 62.4 (B) on agent readiness against Router.com (Ramp Router)'s 53.7 (D), and leads in 6 of 7 scored categories. Both do model routing.\n\n- LiteLLM: grade B, 62.4/100, rank #559 of 1510. Markdown https://www.anchorterminal.com/tools/litellm.md · JSON https://www.anchorterminal.com/api/v1/tools/litellm.json\n- Router.com (Ramp Router): grade D, 53.7/100, rank #942 of 1510. Markdown https://www.anchorterminal.com/tools/ramp-router.md · JSON https://www.anchorterminal.com/api/v1/tools/ramp-router.json\n- Best model APIs and inference for AI agents: https://www.anchorterminal.com/best/inference/index.md\n- All 830 models comparisons: https://www.anchorterminal.com/compare/inference/index.md\n\n## Which one, for what\n\n### LiteLLM (B)\n\nGood for: Teams that want one OpenAI-compatible endpoint over many providers on their own infrastructure, with per-key budgets, model allowlists and an MCP gateway.\n\nAhead on:\n- Reliability, 70 against 22\n- Schema \u0026 documentation, 91 against 58\n- Security \u0026 auth, 72 against 66\n- Payments \u0026 pricing, 60 against 40\n- Maintenance \u0026 community, 82 against 59\n\nAlso in its favour:\n- Open source\n\nWatch for: litellm 1.82.7 and 1.82.8 on PyPI carried a credential stealer for about 40 minutes on 24 March 2026\n\n### Router.com (Ramp Router) (D)\n\nGood for: Teams in the US that want one key for OpenAI, Anthropic, xAI and open-weight models, with routing to cheaper tiers and per-request cost, and can switch off content recording.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where LiteLLM loses 12 points for them\n\nWatch for: Ramp-side content recording is on by default and keeps prompts, outputs and tool calls for one year\n\n\n## Why the edge\n\n### Reliability: LiteLLM +48\n\n- LiteLLM (70): Read with the local-software lines, since the gateway runs on the operator's hardware and BerriAI hosts nothing an agent calls. litellm on PyPI states Python 3.10 to 3.14, and the gateway ships as a Docker image, a Helm chart and Terraform modules, with GHCR images signed by cosign (20). 51 GitHub Actions workflows plus a CircleCI config cover unit, proxy-database, end-to-end, chaos, mutation and UI tests. The GitHub API was rate-limited for our reader on 6 November and Actions pages refused it on 6 October, so we couldn't confirm main is passing (15 of 25). The issue tracker showed 1,674 open issues on 6 November, with eight bug reports among the 15 newest, seven of them with a reply, against a project that tags several releases a day (10 of 25, down from an unchecked 12). Release notes carry breaking-change bullets, but breaking changes land in weekly minor releases on the 1.x line, so version numbers don't signal them (10 of 15). 1.108.1, past 1.0 (15).\n- Router.com (Ramp Router) (22): Hosted reading. No status page found. status.router.com still does not resolve on 4 November, router.com/status answers 404, and neither the docs nor router.com link one (0). No readable incident history (5). No request or token rate limits are published. The docs say limits vary by model and list only technical limits, a 100 MiB body, 15 candidates and 100 keys per user (0). The errors page passes through provider `retry-after` and `retry-after-ms`, tells clients to respect them, gives a retry or fallback action for every 4xx and 5xx code, says retrying a 501 unchanged won't help and that a failed fallback candidate is not retried, and the fallbacks guide says truncated attempts are billed on top of later attempts. No idempotency key exists for the generation call that starts billing, so this is safe-retry guidance without keys (12). No SLA found in the docs or on router.com (0). The public API carries no beta label in the docs, and the docs llms.txt, re-read on 4 November, still says to treat 'beta pricing, limits, and enterprise controls as subject to change'. A 27 October reading of Ramp's product schedule came from the legal site's script and is no longer counted, so the line keeps its earlier partial value (5 of 10). 0 + 5 + 0 + 12 + 0 + 5 = 22.\n\n### Schema \u0026 documentation: LiteLLM +33\n\n- LiteLLM (91): Every gateway serves Swagger at /, ReDoc at /redoc and the raw schema at /openapi.json, and the docs host a public Swagger explorer (25). llms.txt, llms-full.txt and a Markdown twin of every page via `.md` (10). Pages say what a feature is for and where its limits are, and the key-auth page explains how permissions are inherited and where they aren't, but the reference is very large for a model to navigate (16 of 20). OpenAI-shaped request schemas from Pydantic models, with `metadata`, `litellm_params` and config blocks left as free-form objects (10 of 15). A full error reference with the envelope, every status, response headers and how to tell gateway limits from provider limits, plus examples on every page (15). Release notes per version with dates, newest v1.108.0 and v1.106.7 on 4 November 2026 (15).\n- Router.com (Ramp Router) (58): Router, scored on the API lines. No OpenAPI or other machine-readable contract found. /openapi.json on docs.router.com returns the docs app shell. The API follows the OpenAI and Anthropic wire formats, which this checklist doesn't credit to a router, the same reading as RouterPlus (0 of 25). llms.txt and a Markdown copy of every page at the same path with `.md` (10). Pages say which endpoint to prefer and why, what isn't served (embeddings, files, batches), which Chat Completions controls return 501, and which workload suits which job (17 of 20). Router-only fields are tabled with types and bounds, the route selector rules are stated (`model` or `models` but never both, 1 to 15 candidates), over-limit timeouts are a 400 naming the maximum, and the model list documents a typed `router` object with a `schema_version`. Request bodies otherwise follow the upstream formats (12 of 15). curl, OpenAI SDK, Anthropic SDK, LangChain, Vercel AI SDK, LlamaIndex and Pydantic AI examples, and an error reference with a status, code and action for each case (15). Paths sit under `/v1` and the model object is versioned, but no API changelog or dated release notes were found (4 of 15).\n\n### Maintenance \u0026 community: LiteLLM +23\n\n- LiteLLM (82): v1.108.1 tagged on 5 November 2026, v1.108.0 and v1.106.7 on 3 and 4 November (30). 125 tags between 8 August and 6 November, stable, patch, release-candidate and dev builds, with patch releases for four minor lines at once (20). Reply times not measured. On the issues page 7 of the 15 newest had a reply on the day, workflows auto-close duplicates and label issues, and Discord is the listed community channel (12 of 25). The package is the official SDK, current, with OpenAI and Anthropic SDKs working against the gateway (12 of 15). Dependency and image scanning (OSV, zizmor, Scorecard, grype) run in CI, with pass state unchecked (8 of 10).\n- Router.com (Ramp Router) (59): Router, read on the model lines for a closed service. The Ramp CLI that ships the `router` commands tagged v0.2.91 on 3 November 2026, a release that changes `router.py` and `router_credentials.py`, one of 81 tags since 6 August (30). Models carry a `deprecated` status and the docs list deprecated and retired models, but no notice period is stated, and the Baseten retirement note gives no date and says requests aren't redirected (4 of 12). Provider-specific Baseten ids and several Fireworks models were retired without dates. The API host moved from router-api.ramp.com to api.router.com, and the old host still answers (3 of 8). No public API changelog. Support is a dashboard button and router@ramp.com, not tested (5 of 15). ramp-cli issue replies were not read, because GitHub's API wasn't available to this session (3 of 10). No API SDK. The Ramp CLI (MIT, npm @ramp/router and @ramp/cli, tagged v0.2.91 in the repository, Homebrew; npm itself not read) sets up agents and keys (7 of 15). The CLI repository has CI, build, npm and router-integration workflows and a tests folder, with 46 commit days since 29 July. ci.yml runs `cargo test` and `pytest` on pushes to main, and the results were not readable (7 of 10).\n\n### Payments \u0026 pricing: LiteLLM +20\n\n- LiteLLM (60): Read with the self-hosted rule, since an agent uses the free gateway and Enterprise is a sales-led licence for the same software. No x402, MPP or L402 (0). MIT with no account and no card, so 20, 20 and 20 on the last three lines. Model calls cost what the operator's provider keys cost.\n- Router.com (Ramp Router) (40): No x402, MPP or L402 in any of the 41 docs pages. Calls draw on account credit (0). Per-token prices for every model are public at router.com/models and in the supported-models page without a login (20). Router.com says routing is free through 2026 and the first $26 of credits are free, and BYOK requests carry no Router charge. We did not sign up to confirm that no card is asked for (20). A person signs up in the browser with a US business email or Sign in with Ramp, and the CLI creates keys only after browser approval (0).\n\n### Security \u0026 auth: LiteLLM +6\n\n- LiteLLM (72): Read with the tool checklist for self-hosted software. Virtual keys are hashed, revocable and blockable, with model, route, MCP server, budget, rate and expiry limits, and a `proxy_admin_viewer` read-only role exists. Rotation with a grace period is Enterprise only, so 25, less 10 because the docs pass a key as `?key=` on `/key/info` and on the Claude Code marketplace manifest (15 of 30). `allowed_routes`, MCP permissions by key and team, an approval queue for submitted MCP servers and stdio MCP servers off by default from 1.104.0 (15 of 20). Guardrails can run before a model call and on MCP tool results, and an OWASP LLM Top 10 page maps each risk to a control, but prompt-injection detectors such as Lakera need an Enterprise licence and all of it is off by default (12 of 15). Request and spend logs per key in the open-source build; audit logs of admin actions are Enterprise only (12 of 15). security.md with GitHub private reporting, a bug bounty from $500 to $3,000 for P0 and P1 reports, a security announcements list, SOC 2 Type II per the data security page, CodeQL, OSV and Scorecard workflows, and advisories published on GitHub. No security.txt, and reports without a video are closed unread (18 of 20).\n- Router.com (Ramp Router) (66): Router, read on the model lines. Router keys are shown once, can expire, carry lifetime or periodic spend caps, can be locked, unlocked or revoked, and each key has its own model set and default workload. No permission scopes or programmatic rotation were found (24 of 30). The docs FAQ says Ramp-side content recording is on by default and keeps inputs, outputs and tool calls for one year for debugging, semantic analysis and product improvement, with detected personal data removed before product use. Provider training terms are in Ramp's Provider Schedule, which renders only with JavaScript. Its 27 October reading came from the legal site's script and is no longer counted, so the line is held (6 of 20). Recording can be switched off account-wide, propagating asynchronously and without deleting existing archives, and flagged content may still be kept up to 30 days. The docs FAQ points to the Provider Schedule for zero data retention policies and exceptions, which could not be read, so the line is held (10 of 15). Logs show model, provider, status, tokens, cost, latency, fallback candidates, credential source and routing decisions per request, with usage export to S3 for Router Admins (14 of 15). A valid security.txt on router.com points to Ramp's security address. Ramp's SOC 2 and ISO 27001 reports, per the ramp listing's 8 October check, were not shown to cover Router, which is a separate product under its own terms. No bug bounty found (12 of 20).\n\n## Score by category\n\n| Category | Weight | LiteLLM | Router.com (Ramp Router) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 22 | LiteLLM +48 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 58 | LiteLLM +33 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 77 | LiteLLM +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 72 | 66 | LiteLLM +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | LiteLLM +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 59 | LiteLLM +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 64 | Router.com (Ramp Router) +1 |\n| Negative events | ≤15 | -12 | 0 | |\n| **Total** | | **62.4 · B** | **53.7 · D** | |\n\n## Facts side by side\n\n| Fact | LiteLLM | Router.com (Ramp Router) |\n| --- | --- | --- |\n| Kind | Model router | Model router |\n| Vendor | BerriAI | Ramp |\n| Hosted endpoint | no (local only) | `https://api.router.com/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | MIT, except the enterprise/ directory, which is under its own licence and needs an Enterprise licence key | Closed service under the Router Terms of Service (last updated 31 August 2026). The Ramp CLI that configures coding agents for Router is MIT. |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-05 | 2026-11-03 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no date given | couldn't be read |\n| Customer content may train models | not read yet | couldn't be read |\n| Terms restrict automated access | not read yet | couldn't be read |\n| Terms restrict benchmarking | not read yet | couldn't be read |\n| Terms or service can change without notice | not read yet | couldn't be read |\n| Arbitration or class-action waiver | not read yet | couldn't be read |\n| Popularity | 63k stars, 22.5M PyPI/wk | 1.7k npm/wk |\n\n## How the scores have moved\n\n### LiteLLM\n\nNo score change since it was listed.\n\n### Router.com (Ramp Router)\n\n- -0.6 on 4 November 2026 (C to D): correction\n- -0.2 on 30 October 2026: checklist\n\n## Verdicts\n\n**LiteLLM.** An MIT-licensed gateway that puts 100+ model providers behind one OpenAI-compatible API, with virtual keys, budgets, fallbacks and an MCP gateway, released several times a week. Its security record is the main limitation. Two PyPI releases carried a credential stealer on 24 March 2026, and 30 GitHub advisories followed in 12 months, five of them critical.\n\n**Router.com (Ramp Router).** Detailed Markdown docs with typed error codes, per-model capability data and routing an agent can set per request. No OpenAPI document, status page, changelog or published rate limits were found. Signup needs a US business email in a browser, and Ramp records prompts and outputs for a year by default unless switched off.\n\n## Before you call either\n\n### LiteLLM\n\n1. Pin an exact litellm version or image digest, verify the cosign signature, and never install an unpinned latest in CI\n2. Give each agent a virtual key limited to its models, routes and MCP servers, with a budget and an expiry\n3. Treat a 429 with `retry-after` as the gateway's own limit and wait that long; a 429 without it came from the provider\n4. Set `NO_DOCS`, `NO_REDOC` and `NO_OPENAPI` to True in production, and use the `-non_root` image variant\n5. Set `LITELLM_LOCAL_MODEL_COST_MAP=True` where egress is blocked, since start-up otherwise fetches the price map from GitHub\n\n### Router.com (Ramp Router)\n\n1. Switch off content recording in Settings before sending private data. It is on by default and keeps prompts and outputs for a year\n2. Read model ids from `GET /v1/models` at runtime. Ids are account-specific, an unknown one is a 404, and Gemini ids need your own Google key\n3. Use `POST /v1/responses` with a `models` list for fallbacks. Router stops falling back once a stream has started\n4. Set `fallback_timeout` and `provider_timeout`, or `allow_flex_tier: false`, when latency matters. Flex routing is on by default\n5. Treat both `401 invalid_api_key` and `401 api_key_deactivated` as a possibly locked key, and stop retrying on `402`\n\n## Questions\n\n### Which is better for AI agents, LiteLLM or Router.com (Ramp Router)?\n\nLiteLLM scores 62.4 (B) on agent readiness against Router.com (Ramp Router)'s 53.7 (D), and leads in 6 of 7 scored categories.\n\n### Do LiteLLM and Router.com (Ramp Router) need an API key?\n\nBoth need an API key.\n\n### Can an agent call LiteLLM and Router.com (Ramp Router) without installing anything?\n\nNo hosted endpoint is listed for LiteLLM. Router.com (Ramp Router) has a hosted endpoint at https://api.router.com/v1.\n\n### Are LiteLLM and Router.com (Ramp Router) open source?\n\nLiteLLM is open source (MIT, except the enterprise/ directory, which is under its own licence and needs an Enterprise licence key). No open-source release is listed for Router.com (Ramp Router).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/litellm-vs-ramp-router.json, and with the fewest tokens: https://www.anchorterminal.com/compare/litellm-vs-ramp-router.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"litellm\", \"b\": \"ramp-router\"}`. From a terminal: `anchor compare litellm ramp-router`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/litellm.json and https://www.anchorterminal.com/api/v1/tools/ramp-router.json\n\n## Other comparisons with LiteLLM or Router.com (Ramp Router)\n\n- [Amazon Bedrock vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/amazon-bedrock-vs-ramp-router.md)\n- [Claude API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/anthropic-api-vs-ramp-router.md)\n- [Azure OpenAI in Foundry Models vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router.md)\n- [BlockRun.AI vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/blockrun-ai-vs-ramp-router.md)\n- [Cerebras Inference vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/cerebras-inference-vs-ramp-router.md)\n- [Cloudflare AI Gateway vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-ramp-router.md)\n- [Cloudflare Workers AI vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-ramp-router.md)\n- [Cohere Chat API (Command models) vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/cohere-chat-vs-ramp-router.md)\n- [DeepInfra vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/deepinfra-vs-ramp-router.md)\n- [DeepSeek API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/deepseek-api-vs-ramp-router.md)\n- [Glimpse vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/elorian-glimpse-vs-ramp-router.md)\n- [Fireworks AI Inference vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/fireworks-inference-vs-ramp-router.md)\n- [Gemini Developer API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/gemini-api-vs-ramp-router.md)\n- [GroqCloud vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/groq-vs-ramp-router.md)\n- [Inkling 2 Small vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/inkling-2-small-vs-ramp-router.md)\n- [Jais 3 vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/jais-3-vs-ramp-router.md)\n- [Meta Model API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/meta-model-api-vs-ramp-router.md)\n- [MiniMax API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/minimax-api-vs-ramp-router.md)\n- [Mistral AI API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/mistral-api-vs-ramp-router.md)\n- [Muse Spark Open vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/muse-spark-open-vs-ramp-router.md)\n- [Nemotron 3.5 Super VL vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-vs-ramp-router.md)\n- [Novita AI vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/novita-ai-vs-ramp-router.md)\n- [OpenAI API vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/openai-api-vs-ramp-router.md)\n- [OpenRouter vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/openrouter-vs-ramp-router.md)\n- [Prism Inference vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/prism-inference-vs-ramp-router.md)\n- [Router.com (Ramp Router) vs Beam 1.0](https://www.anchorterminal.com/compare/ramp-router-vs-reflection-beam.md)\n- [Router.com (Ramp Router) vs SambaCloud](https://www.anchorterminal.com/compare/ramp-router-vs-sambanova.md)\n- [Router.com (Ramp Router) vs SiliconFlow](https://www.anchorterminal.com/compare/ramp-router-vs-siliconflow.md)\n- [Router.com (Ramp Router) vs Simplismart](https://www.anchorterminal.com/compare/ramp-router-vs-simplismart.md)\n- [Router.com (Ramp Router) vs StepFun API](https://www.anchorterminal.com/compare/ramp-router-vs-stepfun-api.md)\n- [Router.com (Ramp Router) vs SWE-2 Flash](https://www.anchorterminal.com/compare/ramp-router-vs-swe-2-flash.md)\n- [Router.com (Ramp Router) vs Together AI Inference](https://www.anchorterminal.com/compare/ramp-router-vs-together-inference.md)\n- [Router.com (Ramp Router) vs Vertex AI (Gemini Enterprise Agent Platform)](https://www.anchorterminal.com/compare/ramp-router-vs-vertex-ai.md)\n- [Router.com (Ramp Router) vs xAI API (Grok)](https://www.anchorterminal.com/compare/ramp-router-vs-xai-api.md)\n- [Antseed vs LiteLLM](https://www.anchorterminal.com/compare/antseed-vs-litellm.md)\n- [Antseed vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/antseed-vs-ramp-router.md)\n- [Cloudflare AI Gateway vs LiteLLM](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-litellm.md)\n- [Eden AI vs LiteLLM](https://www.anchorterminal.com/compare/eden-ai-vs-litellm.md)\n- [Eden AI vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/eden-ai-vs-ramp-router.md)\n- [Hugging Face Inference Providers vs LiteLLM](https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-litellm.md)\n- [Hugging Face Inference Providers vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-ramp-router.md)\n- [LiteLLM vs OpenRouter](https://www.anchorterminal.com/compare/litellm-vs-openrouter.md)\n- [LiteLLM vs RouterPlus](https://www.anchorterminal.com/compare/litellm-vs-routerplus.md)\n- [LiteLLM vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/litellm-vs-tencent-tokenhub.md)\n- [LiteLLM vs Vercel AI Gateway](https://www.anchorterminal.com/compare/litellm-vs-vercel-ai-gateway.md)\n- [Router.com (Ramp Router) vs RouterPlus](https://www.anchorterminal.com/compare/ramp-router-vs-routerplus.md)\n- [Router.com (Ramp Router) vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/ramp-router-vs-tencent-tokenhub.md)\n- [Router.com (Ramp Router) vs Vercel AI Gateway](https://www.anchorterminal.com/compare/ramp-router-vs-vercel-ai-gateway.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": "LiteLLM vs Router.com (Ramp Router)",
        "url": ""
      }
    ],
    "description": "LiteLLM scores 62.4 (B) to Router.com's 53.7 (D) for model routing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LiteLLM B 62.4",
      "Router.com (Ramp Router) D 53.7",
      "scores"
    ],
    "h1": "LiteLLM vs Router.com (Ramp Router)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/litellm-vs-ramp-router",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LiteLLM vs Router.com for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/litellm-vs-ramp-router"
  },
  "tokens": {
    "markdown": 5950,
    "slim": 3230
  },
  "version": 1
}
