{
  "data": {
    "a": {
      "slug": "cloudflare-ai-gateway",
      "name": "Cloudflare AI Gateway",
      "vendor": "Cloudflare, Inc.",
      "vendorUrl": "https://www.cloudflare.com",
      "kind": "router",
      "category": "inference",
      "summary": "AI Gateway is Cloudflare's proxy and router for model providers. Agents call OpenAI-style, Anthropic-style or native endpoints on the Cloudflare API, with logging, caching, rate and spend limits, retries, fallbacks and one prepaid credit balance.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-ai-gateway",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-ai-gateway.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-ai-gateway.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json",
      "repo": "https://github.com/cloudflare/ai",
      "license": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement and its service-specific terms. Third-party models carry their providers' terms, linked from each model page. `ai-gateway-provider` is MIT and Cloudflare's OpenAPI repository is BSD-3-Clause",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
      "packages": [
        {
          "registry": "npm",
          "name": "ai-gateway-provider"
        },
        {
          "registry": "npm",
          "name": "cloudflare"
        },
        {
          "registry": "pypi",
          "name": "cloudflare"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Cloudflare API token as a Bearer header, created by a person in the dashboard. The `/ai/*` inference routes need Workers AI Read, and the `/ai-gateway/*` management routes need AI Gateway Read or Edit. Provider-native endpoints on `gateway.ai.cloudflare.com` take the token in `cf-aig-authorization`. Tokens can carry an expiry and an IP address filter and cannot be limited to one gateway. Access is self-serve, with no review or sales step.",
      "pricing": "freemium",
      "pricingNotes": "Free on all plans for analytics, caching and rate limiting, with a Cloudflare account. Third-party models are paid from prepaid Unified Billing credits at provider prices plus a 5 per cent fee on each credit purchase, or with the caller's own provider keys at no Cloudflare charge. Logs for new customers follow Workers Logs pricing, 200,000 events a day free. An account on the Free plan starts without a contract (https://developers.cloudflare.com/ai-gateway/reference/pricing/, checked 2026-10-09).",
      "priceSummary": "5% fee",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "Machine Payments, in beta since 30 September 2026, takes x402 payment on `POST /ai/run` for four open models when the request carries `Payment-Method: x402`. It needs a Cloudflare API token, a United States account and a card on file. The OpenAI-style and Anthropic-style routes are not covered. We did not call it (https://developers.cloudflare.com/ai-gateway/features/machine-payments/, checked 2026-10-09).",
        "endpoints": [
          {
            "url": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run",
            "priceUsd": null,
            "network": ""
          }
        ]
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 250648,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.cloudflare.com/ai-gateway/",
      "llmsTxt": "https://developers.cloudflare.com/ai-gateway/llms.txt",
      "openapi": "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.router",
        "obs.gateway",
        "guard.moderation",
        "guard.pii"
      ],
      "tags": [
        "hosted",
        "router",
        "free-tier",
        "usage-based",
        "x402",
        "openapi",
        "llms-txt",
        "openai-compatible",
        "typescript",
        "python",
        "go",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.8,
        "grade": "B",
        "agentReady": false,
        "rank": 282,
        "ranked": true,
        "rankOf": 1010,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 75,
          "payments": 52,
          "reliability": 66,
          "schema": 75,
          "security": 75,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -3,
        "negativeNotes": [
          "6 October 2026. Rejected-credential responses on `POST /ai/run` changed status (ElevenLabs 403, Vertex 500 and other providers' 402 became 401 with code 2009, and Unified Billing rejections became 503) on the day of the changelog entry, with no advance notice found. Three points (https://developers.cloudflare.com/ai-gateway/changelog/)."
        ],
        "verdict": "The gateway layer is free, per-model prices are public with no markup, and logs, spend limits and fallbacks are set per gateway. API tokens cannot be limited to one gateway, the service terms take third-party models outside Cloudflare's DPA, no SLA names the product, and error codes changed on 6 October 2026 with same-day notice.",
        "bestFor": "Teams that already hold a Cloudflare account and want one token, one bill, logs, budgets and fallbacks in front of several model providers, or that want to keep their own provider keys behind a proxy with spend limits.",
        "strengths": [
          "Core gateway functions (analytics, caching, rate limiting) are free on all plans, and provider prices pass through with no markup",
          "One Cloudflare API token reaches 241 catalogue models through OpenAI Chat Completions, OpenAI Responses, Anthropic Messages or the native `/ai/run` route",
          "Spend limits block requests with a 429 once a budget is reached, scoped by model, provider or request metadata, with up to 20 rules a gateway",
          "Logging is switched per gateway and per request, and `cf-aig-collect-log-payload: false` keeps token and cost metadata without storing prompts",
          "x402 payment (Machine Payments, beta since 30 September 2026) works on `POST /ai/run` for four open models"
        ],
        "weaknesses": [
          "API tokens are account-scoped. Any token with AI Gateway Run can send requests through every gateway in the account and spend its stored provider keys",
          "The service-specific terms say the DPA and Information Security Exhibit do not apply to third-party models reached through AI Gateway",
          "No SLA naming AI Gateway was found. The Enterprise SLA lists service-specific SLAs for R2, Queues and Workers only",
          "On 6 October 2026 rejected-credential responses on `/ai/run` changed to 401 with code 2009, or 503 under Unified Billing, announced the same day",
          "Unified Billing traffic is capped at 200 requests per 60 seconds per gateway, and a 5 per cent fee applies to credit purchases",
          "Section 2.2(e) of the Self-Serve Subscription Agreement bars automated agents that generate automated requests into the Services, which matters before any probe is run"
        ],
        "agentNotes": [
          "Use the REST API at `api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1` with a token holding Workers AI Read. A token with only an AI Gateway permission returns 401 with code 10000",
          "Send `cf-aig-gateway-id` on every Workers AI (`@cf/`) call and on dynamic routes. Without it a dynamic route resolves against the default gateway and returns 404",
          "Set `cf-aig-collect-log: false` or `cf-aig-collect-log-payload: false` on sensitive requests. Logging of prompts and responses is on by default",
          "Treat a 429 as a rate limit or a spent budget and a 401 with code 2009 as a rejected provider key. Do not retry a 2009",
          "Set `byok_only` on the gateway or send `cf-aig-no-wholesale: true` to stop a request without a provider key falling through to paid Unified Billing credits"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.8
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 75,
          "payments": 52,
          "reliability": 66,
          "schema": 75,
          "security": 75,
          "transparency": 51
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl -X POST \"https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions\" \\\n  --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\n    \"model\": \"openai/gpt-4.1-mini\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"What is Cloudflare?\"}]\n  }'",
        "x402": "curl -iX POST \"https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run\" \\\n  --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n  --header \"Payment-Method: x402\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"model\":\"z-ai/glm-4.7-flash\",\"input\":{\"messages\":[{\"role\":\"user\",\"content\":\"What is Cloudflare?\"}]}}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/cloudflare-ai-gateway"
      },
      "sameCompany": [
        "cloudflare-workers-ai",
        "cloudflare-sandbox-sdk",
        "cloudflare-web-search",
        "cloudflare-mcp",
        "cloudflare-email-service",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Unified Billing credit purchase fee",
          "unit": "pct",
          "usd": 5,
          "note": "a $100 purchase is charged $105"
        },
        {
          "item": "Logpush requests past 10 million a month",
          "unit": "1k-requests",
          "usd": 0.00005,
          "note": "listed as $0.05 per million, Workers Paid only"
        }
      ],
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://developers.cloudflare.com/ai-gateway/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "Terms are the Self-Serve Subscription Agreement, last updated 12 September 2025, which names Cloudflare, Inc. at 101 Townsend St, San Francisco.",
          "The service-specific terms (https://www.cloudflare.com/service-specific-terms-developer-platform/), last updated 28 September 2026, have a section for Workers AI and AI Gateway that supplements the agreement.",
          "The privacy policy is effective from 4 November 2025. The customer DPA is version 6.4, effective 3 April 2026.",
          "www.cloudflare.com/.well-known/security.txt, read on 9 October 2026, names HackerOne and a disclosure policy and has no Expires field. It is recorded as valid, although RFC 9116 asks for that field.",
          "The inference endpoints are on api.cloudflare.com and gateway.ai.cloudflare.com.",
          "The status page lists AI Gateway as its own component, operational on 9 October 2026.",
          "RDAP for cloudflare.com gives a registration date of 2009-02-17."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-ai-gateway.json",
      "live": {
        "slug": "cloudflare-ai-gateway",
        "probe": {
          "target": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
          "method": "get",
          "lastAt": "2026-10-14T01:36:35.608340742Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 29,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 43,
          "p95ms24h": 74,
          "samples24h": 248,
          "samples30d": 1091,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-14T01:32:18.244116496Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudflare/ai",
            "version": "ai-gateway-provider@4.0.1",
            "released": "2026-09-11",
            "seenAt": "2026-10-13T22:49:26.079256018Z"
          },
          {
            "registry": "npm",
            "name": "ai-gateway-provider",
            "version": "4.0.1",
            "seenAt": "2026-10-13T22:49:23.66912334Z"
          },
          {
            "registry": "npm",
            "name": "cloudflare",
            "version": "7.3.0",
            "seenAt": "2026-10-13T22:49:24.436872293Z"
          },
          {
            "registry": "pypi",
            "name": "cloudflare",
            "version": "5.9.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-13T22:49:25.885229135Z"
          }
        ],
        "githubStars": 1194,
        "npmWeekly": 260771,
        "pypiWeekly": 463417,
        "securityTxt": {
          "url": "https://cloudflare.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-13T15:45:20.306139352Z"
        },
        "llmsTxt": {
          "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-13T14:11:06.355007881Z"
        },
        "domain": {
          "domain": "cloudflare.com",
          "registered": "2009-02-17",
          "source": "https://rdap.verisign.com/com/v1/domain/cloudflare.com",
          "checkedAt": "2026-10-11T13:20:21.49951473Z"
        },
        "pages": [
          {
            "url": "https://developers.cloudflare.com/ai-gateway/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-13T20:13:03.516133623Z",
            "changedAt": "2026-10-10T18:59:54.224595276Z",
            "fingerprint": "e47339974300"
          },
          {
            "url": "https://developers.cloudflare.com/ai-gateway/reference/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-13T20:13:05.598279707Z",
            "changedAt": "2026-10-10T18:59:56.336264518Z",
            "fingerprint": "68da40045004"
          },
          {
            "url": "https://www.cloudflare.com/privacypolicy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-13T20:26:53.720644891Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e562d2a2da97"
          },
          {
            "url": "https://www.cloudflare.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-13T20:26:56.150352561Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d26dd2a74bde"
          }
        ],
        "updatedAt": "2026-10-14T01:36:35.608340742Z"
      }
    },
    "answer": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against RouterPlus's 51.2 (D), and leads in every scored category.",
    "b": {
      "slug": "routerplus",
      "name": "RouterPlus",
      "vendor": "RouterPlus",
      "vendorUrl": "https://routerplus.com",
      "kind": "router",
      "category": "inference",
      "summary": "RouterPlus is an LLM gateway that puts Claude, GPT and decision models behind one API key and a prepaid balance, with OpenAI-compatible and Anthropic-compatible endpoints at the providers' list prices.",
      "url": "https://www.anchorterminal.com/tools/routerplus",
      "markdownUrl": "https://www.anchorterminal.com/tools/routerplus.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/routerplus.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/routerplus.json",
      "license": "Closed service. No terms of service for the gateway were found on routerplus.com or app.routerplus.com on 13 October 2026. The only terms on the site govern the capacity request form and name EVO HQ Inc, a Delaware corporation (https://routerplus.com/capacity/terms/).",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.routerplus.com/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "A `tm_vk_` virtual key, sent as `Authorization: Bearer` or `x-api-key` on every route. A person signs up in the browser through Clerk with email verification, and the first key is shown once after sign-in. More keys come from the console or from `POST /api/identity/keys` with a console session. The programmatic signup route `POST /v1/signup` was removed and returns 404 (https://app.routerplus.com/docs/authentication.md, https://app.routerplus.com/docs/api-signup.md).",
      "pricing": "usage",
      "pricingNotes": "Provider list prices per 1M tokens with no markup, paid from prepaid credits. Purchases start at $10, and RouterPlus matches the first $100 of purchases for eligible accounts. Signup adds no free credit. Inference through the caller's own provider keys (BYOK) carries no RouterPlus charge and needs no credit. Prices are public at https://app.routerplus.com/api/models.json (https://app.routerplus.com/docs/pricing.md).",
      "priceSummary": "0% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in https://app.routerplus.com/llms-full.txt, checked 13 October 2026. Calls draw on a prepaid balance bought in the console's Billing page.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-13"
      },
      "docsUrl": "https://app.routerplus.com/docs/overview",
      "llmsTxt": "https://app.routerplus.com/llms.txt",
      "capabilities": [
        "inference.router",
        "inference.llm",
        "inference.decision",
        "image.generate"
      ],
      "tags": [
        "hosted",
        "router",
        "closed-source",
        "usage-priced",
        "prepaid",
        "llms-txt",
        "openai-compatible",
        "anthropic-compatible",
        "streaming"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.2,
        "grade": "D",
        "agentReady": false,
        "rank": 777,
        "ranked": true,
        "rankOf": 1010,
        "categoryRank": 17,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 44,
          "payments": 40,
          "reliability": 45,
          "schema": 59,
          "security": 62,
          "transparency": 38
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-13"
        },
        "negative": -2,
        "negativeNotes": [
          "Misleading claim, seen 13 October 2026. The banner on https://routerplus.com/ reads \"Try RouterPlus with free credits\" and links to the playground, while the quickstart (https://app.routerplus.com/docs/quickstart.md) says \"Signup does not add free credit\" and the playground bills the organisation's credits (https://app.routerplus.com/docs/playground.md). Only an invitation link adds credit. -2."
        ],
        "verdict": "The docs are written for agents, every model price is public, and each response carries its own cost. No terms of service, privacy policy, status page or changelog were found. Signup adds no free credit, and the chat catalogue is Claude and GPT only.",
        "bestFor": "Teams that call Claude and GPT models from one key and want the cost of every call in the response, with their own provider keys where they have them.",
        "strengths": [
          "llms.txt, llms-full.txt and a Markdown copy of every page, with an integration guide written for coding agents",
          "Every billed response carries `usage.cost` in USD, and `GET /v1/generation` lists each attempt behind a request",
          "Any chat model answers on both the OpenAI-compatible and Anthropic-compatible surfaces, with the format translated by the gateway",
          "Typed errors with a stable `error_type`, an origin header, and `retry-after` on rate-limit 429s",
          "The gateway stores no prompt or completion content for ordinary accounts, and BYOK inference carries no RouterPlus charge"
        ],
        "weaknesses": [
          "No terms of service, privacy policy, status page, changelog or security.txt found for the gateway",
          "The chat catalogue on 13 October 2026 was nine Claude and ten GPT models, all marked as retained by the provider with no ZDR",
          "Signup adds no free credit, purchases start at $10, and keys stay at 20 requests a minute until the first purchase",
          "No idempotency keys, no batch route and no embeddings, and the `zdr` and `regions` filters remove every marketplace route",
          "Optimize, the eval-based model search the homepage leads with, is paused"
        ],
        "agentNotes": [
          "Send `max_tokens` on every request. Without it the balance hold assumes up to 32,768 output tokens and can return `insufficient_quota` on a small balance",
          "Switch on `error_type`. Retry `rate_limit` after `retry-after`, and stop on `insufficient_quota`, which needs a person to add credit or raise a cap",
          "Don't add a retry loop on top of the SDK's. There is no idempotency key, so a retry that reaches a provider is billed again",
          "Copy model ids from `GET /v1/models` or /api/models.json. An unknown id is a 404 and the gateway never substitutes one",
          "Use `/v1/messages` for Claude when you need `thinking` or server tools, and `/v1/chat/completions` with `response_format` only for GPT ids"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.2
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 44,
          "payments": 40,
          "reliability": 45,
          "schema": 59,
          "security": 62,
          "transparency": 26
        },
        "provenanceScore": 50
      },
      "connect": {
        "http": "curl -N https://api.routerplus.com/v1/chat/completions \\\n  -H \"Authorization: Bearer $TM_API_KEY\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"model\":\"claude-haiku-4-5\",\"stream\":true,\"max_tokens\":60,\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.router",
        "tool": "https://letme.dev/routerplus"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Markup on provider token prices",
          "unit": "pct",
          "usd": 0,
          "note": "Pass-through per the pricing docs. Credits are bought in $10 steps or more"
        },
        {
          "item": "Claude Opus 5.5 input",
          "unit": "1m-tokens",
          "usd": 4,
          "note": "claude-opus-5-5, served by Anthropic's API"
        },
        {
          "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, served by OpenAI's API, 1,050,000-token context"
        },
        {
          "item": "GPT-6.1 Sol output",
          "unit": "1m-tokens",
          "usd": 10
        },
        {
          "item": "Anthropic web search server tool",
          "unit": "1k-requests",
          "usd": 10,
          "note": "$10 per 1,000 searches, Anthropic's price, on top of tokens"
        }
      ],
      "provenance": {
        "legalEntity": "EVO HQ Inc",
        "domain": "routerplus.com",
        "domainRegistered": "2014-04-15",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-13",
        "notes": [
          "EVO HQ Inc, a Delaware corporation, is named only in the terms of the capacity request form at https://routerplus.com/capacity/terms/, which govern form submissions and not the gateway. The footer elsewhere reads © 2026 RouterPlus.",
          "No terms of service or privacy policy for the gateway were found. /terms, /privacy and /legal/terms answer 404 on both hosts, the signup page links neither, and the footer's Privacy and Security links open an email to founders@evo-hq.com. The docs' data policy page (https://app.routerplus.com/docs/data-policy.md) is the only data statement for the gateway.",
          "No status page. Model pages such as https://app.routerplus.com/models/claude-haiku-4-5 show per-provider uptime over the last 24 hours, with no incident history. A request to status.routerplus.com failed at our proxy with a 502, so whether it exists is unchecked.",
          "No changelog found. /changelog and /docs/changelog.md answer 404, and the blog's newest post is dated 13 August 2026.",
          "routerplus.com/.well-known/security.txt and app.routerplus.com/.well-known/security.txt answer 404.",
          "RDAP gives 15 April 2014 as the registration date of routerplus.com and 2 October 2026 as its last change, so the registration may predate the current owner."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/routerplus.json",
      "live": {
        "slug": "routerplus",
        "probe": {
          "target": "https://api.routerplus.com/v1",
          "method": "get",
          "lastAt": "2026-10-14T01:36:53.290786871Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 616,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 639,
          "p95ms24h": 726,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-13",
              "probes": 4,
              "ok": 4
            },
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-14T01:36:53.290786871Z"
      }
    },
    "facts": [
      {
        "a": "Model router",
        "b": "Model router",
        "name": "Kind"
      },
      {
        "a": "Cloudflare, Inc.",
        "b": "RouterPlus",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
        "b": "https://api.routerplus.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": "payer tooling only",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement and its service-specific terms. Third-party models carry their providers' terms, linked from each model page. `ai-gateway-provider` is MIT and Cloudflare's OpenAPI repository is BSD-3-Clause",
        "b": "Closed service. No terms of service for the gateway were found on routerplus.com or app.routerplus.com on 13 October 2026. The only terms on the site govern the capacity request form and name EVO HQ Inc, a Delaware corporation (https://routerplus.com/capacity/terms/).",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2025-09-12",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "251k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against RouterPlus's 51.2 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Cloudflare AI Gateway or RouterPlus?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare AI Gateway and RouterPlus need an API key?"
      },
      {
        "answer": "Yes. Cloudflare AI Gateway has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and RouterPlus at https://api.routerplus.com/v1.",
        "question": "Can an agent call Cloudflare AI Gateway and RouterPlus without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 45",
          "Schema \u0026 documentation, 75 against 59",
          "Security \u0026 auth, 75 against 62",
          "Payments \u0026 pricing, 52 against 40",
          "Maintenance \u0026 community, 75 against 44",
          "Transparency \u0026 trust, 73 against 38"
        ],
        "also": null,
        "goodFor": "Teams that already hold a Cloudflare account and want one token, one bill, logs, budgets and fallbacks in front of several model providers, or that want to keep their own provider keys behind a proxy with spend limits.",
        "slug": "cloudflare-ai-gateway",
        "watchFor": "API tokens are account-scoped. Any token with AI Gateway Run can send requests through every gateway in the account and spend its stored provider keys"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams that call Claude and GPT models from one key and want the cost of every call in the response, with their own provider keys where they have them.",
        "slug": "routerplus",
        "watchFor": "No terms of service, privacy policy, status page, changelog or security.txt found for the gateway"
      }
    ],
    "job": {
      "capability": "inference.llm",
      "name": "LLM inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-ai-gateway.json",
        "title": "Claude API vs Cloudflare AI Gateway",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-routerplus.json",
        "title": "Claude API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-ai-gateway.json",
        "title": "BlockRun.AI vs Cloudflare AI Gateway",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-routerplus.json",
        "title": "BlockRun.AI vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai.json",
        "title": "Cloudflare AI Gateway vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cohere-chat.json",
        "title": "Cloudflare AI Gateway vs Cohere Chat API (Command models)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cohere-chat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepinfra.json",
        "title": "Cloudflare AI Gateway vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepseek-api.json",
        "title": "Cloudflare AI Gateway vs DeepSeek API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepseek-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-gemini-api.json",
        "title": "Cloudflare AI Gateway vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-groq.json",
        "title": "Cloudflare AI Gateway vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-meta-model-api.json",
        "title": "Cloudflare AI Gateway vs Meta Model API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-meta-model-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-mistral-api.json",
        "title": "Cloudflare AI Gateway vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.json",
        "title": "Cloudflare AI Gateway vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openai-api.json",
        "title": "Cloudflare AI Gateway vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.json",
        "title": "Cloudflare AI Gateway vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference.json",
        "title": "Cloudflare AI Gateway vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova.json",
        "title": "Cloudflare AI Gateway vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow.json",
        "title": "Cloudflare AI Gateway vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-stepfun-api.json",
        "title": "Cloudflare AI Gateway vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-routerplus.json",
        "title": "Cloudflare Workers AI vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-routerplus.json",
        "title": "Cohere Chat API (Command models) vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-routerplus.json",
        "title": "DeepInfra vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-routerplus.json",
        "title": "DeepSeek API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-routerplus.json",
        "title": "Gemini Developer API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-routerplus.json",
        "title": "GroqCloud vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/groq-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-model-api-vs-routerplus.json",
        "title": "Meta Model API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/meta-model-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-routerplus.json",
        "title": "Mistral AI API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-routerplus.json",
        "title": "Novita AI vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-api-vs-routerplus.json",
        "title": "OpenAI API vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/openai-api-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-routerplus.json",
        "title": "OpenRouter vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prism-inference-vs-routerplus.json",
        "title": "Prism Inference vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/prism-inference-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/routerplus-vs-sambanova.json",
        "title": "RouterPlus vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/routerplus-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/routerplus-vs-siliconflow.json",
        "title": "RouterPlus vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/routerplus-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/routerplus-vs-stepfun-api.json",
        "title": "RouterPlus vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/routerplus-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-cloudflare-ai-gateway.json",
        "title": "Antseed vs Cloudflare AI Gateway",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-cloudflare-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-routerplus.json",
        "title": "Antseed vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-routerplus"
      }
    ],
    "scores": [
      {
        "by": 21,
        "cloudflare-ai-gateway": 66,
        "edge": "cloudflare-ai-gateway",
        "key": "reliability",
        "name": "Reliability",
        "routerplus": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "routerplus": 59,
        "weight": 13
      },
      {
        "by": 2,
        "cloudflare-ai-gateway": 73,
        "edge": "cloudflare-ai-gateway",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "routerplus": 71,
        "weight": 13
      },
      {
        "by": 13,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "security",
        "name": "Security \u0026 auth",
        "routerplus": 62,
        "weight": 14
      },
      {
        "by": 12,
        "cloudflare-ai-gateway": 52,
        "edge": "cloudflare-ai-gateway",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "routerplus": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "routerplus": 44,
        "weight": 7
      },
      {
        "by": 35,
        "cloudflare-ai-gateway": 73,
        "edge": "cloudflare-ai-gateway",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "routerplus": 38,
        "weight": 7
      }
    ],
    "summary": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against RouterPlus's 51.2 (D), and leads in every scored category. Both do llm inference.",
    "verdicts": {
      "cloudflare-ai-gateway": "The gateway layer is free, per-model prices are public with no markup, and logs, spend limits and fallbacks are set per gateway. API tokens cannot be limited to one gateway, the service terms take third-party models outside Cloudflare's DPA, no SLA names the product, and error codes changed on 6 October 2026 with same-day notice.",
      "routerplus": "The docs are written for agents, every model price is public, and each response carries its own cost. No terms of service, privacy policy, status page or changelog were found. Signup adds no free credit, and the chat catalogue is Claude and GPT only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus",
    "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus.min.md"
  },
  "markdown": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against RouterPlus's 51.2 (D), and leads in every scored category. Both do llm inference.\n\n- Cloudflare AI Gateway: grade B, 66.8/100, rank #282 of 1010. Markdown https://www.anchorterminal.com/tools/cloudflare-ai-gateway.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json\n- RouterPlus: grade D, 51.2/100, rank #777 of 1010. Markdown https://www.anchorterminal.com/tools/routerplus.md · JSON https://www.anchorterminal.com/api/v1/tools/routerplus.json\n- Best model APIs and inference for AI agents: https://www.anchorterminal.com/best/inference/index.md\n- All 190 models comparisons: https://www.anchorterminal.com/compare/inference/index.md\n\n## Which one, for what\n\n### Cloudflare AI Gateway (B)\n\nGood for: Teams that already hold a Cloudflare account and want one token, one bill, logs, budgets and fallbacks in front of several model providers, or that want to keep their own provider keys behind a proxy with spend limits.\n\nAhead on:\n- Reliability, 66 against 45\n- Schema \u0026 documentation, 75 against 59\n- Security \u0026 auth, 75 against 62\n- Payments \u0026 pricing, 52 against 40\n- Maintenance \u0026 community, 75 against 44\n- Transparency \u0026 trust, 73 against 38\n\nWatch for: API tokens are account-scoped. Any token with AI Gateway Run can send requests through every gateway in the account and spend its stored provider keys\n\n### RouterPlus (D)\n\nGood for: Teams that call Claude and GPT models from one key and want the cost of every call in the response, with their own provider keys where they have them.\n\nWatch for: No terms of service, privacy policy, status page, changelog or security.txt found for the gateway\n\n\n## Score by category\n\n| Category | Weight | Cloudflare AI Gateway | RouterPlus | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 45 | Cloudflare AI Gateway +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 59 | Cloudflare AI Gateway +16 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 71 | Cloudflare AI Gateway +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 75 | 62 | Cloudflare AI Gateway +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 52 | 40 | Cloudflare AI Gateway +12 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 44 | Cloudflare AI Gateway +31 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 38 | Cloudflare AI Gateway +35 |\n| Negative events | ≤15 | -3 | -2 | |\n| **Total** | | **66.8 · B** | **51.2 · D** | |\n\n## Facts side by side\n\n| Fact | Cloudflare AI Gateway | RouterPlus |\n| --- | --- | --- |\n| Kind | Model router | Model router |\n| Vendor | Cloudflare, Inc. | RouterPlus |\n| Hosted endpoint | `https://api.cloudflare.com/client/v4/accounts/{account_id}/ai` | `https://api.routerplus.com/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | payer tooling only | no |\n| Licence | Proprietary service under Cloudflare's Self-Serve Subscription Agreement and its service-specific terms. Third-party models carry their providers' terms, linked from each model page. `ai-gateway-provider` is MIT and Cloudflare's OpenAPI repository is BSD-3-Clause | Closed service. No terms of service for the gateway were found on routerplus.com or app.routerplus.com on 13 October 2026. The only terms on the site govern the capacity request form and name EVO HQ Inc, a Delaware corporation (https://routerplus.com/capacity/terms/). |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | none |\n| Terms last updated | 2025-09-12 | no document linked |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | yes |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 251k npm/wk | none |\n\n## Verdicts\n\n**Cloudflare AI Gateway.** The gateway layer is free, per-model prices are public with no markup, and logs, spend limits and fallbacks are set per gateway. API tokens cannot be limited to one gateway, the service terms take third-party models outside Cloudflare's DPA, no SLA names the product, and error codes changed on 6 October 2026 with same-day notice.\n\n**RouterPlus.** The docs are written for agents, every model price is public, and each response carries its own cost. No terms of service, privacy policy, status page or changelog were found. Signup adds no free credit, and the chat catalogue is Claude and GPT only.\n\n## Before you call either\n\n### Cloudflare AI Gateway\n\n1. Use the REST API at `api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1` with a token holding Workers AI Read. A token with only an AI Gateway permission returns 401 with code 10000\n2. Send `cf-aig-gateway-id` on every Workers AI (`@cf/`) call and on dynamic routes. Without it a dynamic route resolves against the default gateway and returns 404\n3. Set `cf-aig-collect-log: false` or `cf-aig-collect-log-payload: false` on sensitive requests. Logging of prompts and responses is on by default\n4. Treat a 429 as a rate limit or a spent budget and a 401 with code 2009 as a rejected provider key. Do not retry a 2009\n5. Set `byok_only` on the gateway or send `cf-aig-no-wholesale: true` to stop a request without a provider key falling through to paid Unified Billing credits\n\n### RouterPlus\n\n1. Send `max_tokens` on every request. Without it the balance hold assumes up to 32,768 output tokens and can return `insufficient_quota` on a small balance\n2. Switch on `error_type`. Retry `rate_limit` after `retry-after`, and stop on `insufficient_quota`, which needs a person to add credit or raise a cap\n3. Don't add a retry loop on top of the SDK's. There is no idempotency key, so a retry that reaches a provider is billed again\n4. Copy model ids from `GET /v1/models` or /api/models.json. An unknown id is a 404 and the gateway never substitutes one\n5. Use `/v1/messages` for Claude when you need `thinking` or server tools, and `/v1/chat/completions` with `response_format` only for GPT ids\n\n## Questions\n\n### Which is better for AI agents, Cloudflare AI Gateway or RouterPlus?\n\nCloudflare AI Gateway scores 66.8 (B) on agent readiness against RouterPlus's 51.2 (D), and leads in every scored category.\n\n### Do Cloudflare AI Gateway and RouterPlus need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare AI Gateway and RouterPlus without installing anything?\n\nYes. Cloudflare AI Gateway has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and RouterPlus at https://api.routerplus.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-ai-gateway\", \"b\": \"routerplus\"}`. From a terminal: `anchor compare cloudflare-ai-gateway routerplus`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json and https://www.anchorterminal.com/api/v1/tools/routerplus.json\n\n## Other comparisons with Cloudflare AI Gateway or RouterPlus\n\n- [Claude API vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-ai-gateway.md)\n- [Claude API vs RouterPlus](https://www.anchorterminal.com/compare/anthropic-api-vs-routerplus.md)\n- [BlockRun.AI vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-ai-gateway.md)\n- [BlockRun.AI vs RouterPlus](https://www.anchorterminal.com/compare/blockrun-ai-vs-routerplus.md)\n- [Cloudflare AI Gateway vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai.md)\n- [Cloudflare AI Gateway vs Cohere Chat API (Command models)](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cohere-chat.md)\n- [Cloudflare AI Gateway vs DeepInfra](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepinfra.md)\n- [Cloudflare AI Gateway vs DeepSeek API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-deepseek-api.md)\n- [Cloudflare AI Gateway vs Gemini Developer API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-gemini-api.md)\n- [Cloudflare AI Gateway vs GroqCloud](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-groq.md)\n- [Cloudflare AI Gateway vs Meta Model API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-meta-model-api.md)\n- [Cloudflare AI Gateway vs Mistral AI API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-mistral-api.md)\n- [Cloudflare AI Gateway vs Novita AI](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.md)\n- [Cloudflare AI Gateway vs OpenAI API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openai-api.md)\n- [Cloudflare AI Gateway vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.md)\n- [Cloudflare AI Gateway vs Prism Inference](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference.md)\n- [Cloudflare AI Gateway vs SambaCloud](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova.md)\n- [Cloudflare AI Gateway vs SiliconFlow](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow.md)\n- [Cloudflare AI Gateway vs StepFun API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-stepfun-api.md)\n- [Cloudflare Workers AI vs RouterPlus](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-routerplus.md)\n- [Cohere Chat API (Command models) vs RouterPlus](https://www.anchorterminal.com/compare/cohere-chat-vs-routerplus.md)\n- [DeepInfra vs RouterPlus](https://www.anchorterminal.com/compare/deepinfra-vs-routerplus.md)\n- [DeepSeek API vs RouterPlus](https://www.anchorterminal.com/compare/deepseek-api-vs-routerplus.md)\n- [Gemini Developer API vs RouterPlus](https://www.anchorterminal.com/compare/gemini-api-vs-routerplus.md)\n- [GroqCloud vs RouterPlus](https://www.anchorterminal.com/compare/groq-vs-routerplus.md)\n- [Meta Model API vs RouterPlus](https://www.anchorterminal.com/compare/meta-model-api-vs-routerplus.md)\n- [Mistral AI API vs RouterPlus](https://www.anchorterminal.com/compare/mistral-api-vs-routerplus.md)\n- [Novita AI vs RouterPlus](https://www.anchorterminal.com/compare/novita-ai-vs-routerplus.md)\n- [OpenAI API vs RouterPlus](https://www.anchorterminal.com/compare/openai-api-vs-routerplus.md)\n- [OpenRouter vs RouterPlus](https://www.anchorterminal.com/compare/openrouter-vs-routerplus.md)\n- [Prism Inference vs RouterPlus](https://www.anchorterminal.com/compare/prism-inference-vs-routerplus.md)\n- [RouterPlus vs SambaCloud](https://www.anchorterminal.com/compare/routerplus-vs-sambanova.md)\n- [RouterPlus vs SiliconFlow](https://www.anchorterminal.com/compare/routerplus-vs-siliconflow.md)\n- [RouterPlus vs StepFun API](https://www.anchorterminal.com/compare/routerplus-vs-stepfun-api.md)\n- [Antseed vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/antseed-vs-cloudflare-ai-gateway.md)\n- [Antseed vs RouterPlus](https://www.anchorterminal.com/compare/antseed-vs-routerplus.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Cloudflare AI Gateway vs RouterPlus",
        "url": ""
      }
    ],
    "description": "Cloudflare AI Gateway scores 66.8 (B) to RouterPlus's 51.2 (D) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cloudflare AI Gateway B 66.8",
      "RouterPlus D 51.2",
      "scores"
    ],
    "h1": "Cloudflare AI Gateway vs RouterPlus",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-ai-gateway-vs-routerplus.png",
    "path": "/compare/cloudflare-ai-gateway-vs-routerplus",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare AI Gateway vs RouterPlus for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-13",
    "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-routerplus"
  },
  "tokens": {
    "markdown": 3050,
    "slim": 780
  },
  "version": 1
}
