{
  "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": 275,
        "ranked": true,
        "rankOf": 950,
        "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-10T02:07:05.368706589Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 35,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 46,
          "p95ms24h": 109,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-10T02:05:44.164927631Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudflare/ai",
            "version": "ai-gateway-provider@4.0.1",
            "released": "2026-09-11",
            "seenAt": "2026-10-09T16:46:01.078937772Z"
          },
          {
            "registry": "npm",
            "name": "ai-gateway-provider",
            "version": "4.0.1",
            "seenAt": "2026-10-09T16:45:58.587383795Z"
          },
          {
            "registry": "npm",
            "name": "cloudflare",
            "version": "7.3.0",
            "seenAt": "2026-10-09T16:45:59.520764845Z"
          },
          {
            "registry": "pypi",
            "name": "cloudflare",
            "version": "5.9.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-09T16:46:00.865337498Z"
          }
        ],
        "githubStars": 1189,
        "npmWeekly": 250648,
        "pypiWeekly": 365643,
        "pages": [
          {
            "url": "https://developers.cloudflare.com/ai-gateway/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:34.168809494Z",
            "changedAt": "2026-10-07T18:04:13.791253735Z",
            "fingerprint": "aaad1064978c"
          },
          {
            "url": "https://developers.cloudflare.com/ai-gateway/reference/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:36.234430797Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "57a018b683c5"
          },
          {
            "url": "https://www.cloudflare.com/privacypolicy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:06.00094733Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e562d2a2da97"
          },
          {
            "url": "https://www.cloudflare.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:49:08.260967052Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d26dd2a74bde"
          }
        ],
        "updatedAt": "2026-10-10T02:07:05.368706589Z"
      }
    },
    "answer": "OpenRouter scores 68.5 (B) on agent readiness against Cloudflare AI Gateway's 66.8 (B), and leads in 3 of 7 scored categories. Cloudflare AI Gateway leads on reliability, security \u0026 auth and payments \u0026 pricing.",
    "b": {
      "slug": "openrouter",
      "name": "OpenRouter",
      "vendor": "OpenRouter",
      "vendorUrl": "https://openrouter.ai",
      "kind": "router",
      "category": "inference",
      "summary": "One OpenAI-compatible API in front of 80+ model providers, at the providers' own token prices, with fallbacks and routing controls.",
      "url": "https://www.anchorterminal.com/tools/openrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/openrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openrouter.json",
      "repo": "https://github.com/OpenRouterTeam/typescript-sdk",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://openrouter.ai/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@openrouter/sdk"
        },
        {
          "registry": "pypi",
          "name": "openrouter"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer key. OAuth PKCE lets an app get a key on a user's behalf.",
      "pricing": "usage",
      "pricingNotes": "No markup on tokens. The fee is on credit top-ups, 5.5% by card ($0.80 minimum) and 5% in crypto, 8% on Business. Bring your own key free up to $25,000 a month, then 5%. 25+ free models at 20 requests a minute and 50 a day, 1,000 a day after a $10 purchase (https://openrouter.ai/pricing).",
      "priceSummary": "5.5% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Credits can be bought in USDC through Coinbase, but requests are paid from a prepaid balance, not per call.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 226,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://openrouter.ai/docs",
      "rateLimitsUrl": "https://openrouter.ai/docs/api_reference/limits",
      "llmsTxt": "https://openrouter.ai/docs/llms.txt",
      "openapi": "https://openrouter.ai/docs/openapi/openapi.yaml",
      "capabilities": [
        "inference.llm",
        "inference.router"
      ],
      "tags": [
        "hosted",
        "router",
        "free-tier",
        "no-card",
        "openapi",
        "llms-txt",
        "crypto-topup"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 211,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance.",
        "bestFor": "Agents that need many models behind one key, provider failover and a hard price ceiling per request.",
        "strengths": [
          "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026",
          "Per-request routing controls, fallback `models` lists, provider ordering, `zdr` and `max_price`",
          "429, 503 and some 402 responses carry `Retry-After`, and the SDKs honour it",
          "OpenRouter stores no prompts or responses unless you opt in",
          "Free models with no card, and Management API keys for minting and rotating keys in code"
        ],
        "weaknesses": [
          "No machine payment. USDC top-ups go to a prepaid balance",
          "`data_collection` defaults to 'allow', which admits providers that may store and train on prompts",
          "Mid-stream failures arrive inside a 200 response, and upstream providers may charge for prompt processing on a failed call",
          "No published SLA, and the status page gave us no readable history",
          "API changelog silent since 19 August 2026"
        ],
        "agentNotes": [
          "Set `provider.data_collection: \"deny\"` or `provider.zdr: true` when the prompt holds anything private",
          "Pass a `models` list so a failed provider falls through to the next one",
          "Honour `Retry-After` on 429 and 503, and check the stream body for errors even on a 200",
          "Set `max_price` so a routed request can't land on an expensive provider",
          "Free models allow 50 requests a day until $10 of credit has been bought. Check `GET /api/v1/key` for what's left"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 55
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm i @openrouter/sdk   # or any OpenAI client with base URL https://openrouter.ai/api/v1",
        "http": "curl https://openrouter.ai/api/v1/chat/completions \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"models\":[\"anthropic/claude-opus-5-5\",\"openai/gpt-6-sol\"],\"provider\":{\"zdr\":true},\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/openrouter"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Card top-up fee",
          "unit": "pct",
          "usd": 5.5,
          "note": "$0.80 minimum"
        },
        {
          "item": "Crypto top-up fee",
          "unit": "pct",
          "usd": 5
        },
        {
          "item": "Bring your own key over $25,000 a month",
          "unit": "pct",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "OpenRouter, Inc.",
        "domain": "openrouter.ai",
        "domainRegistered": "2023-04-17",
        "endpointOnVendorDomain": true,
        "terms": "https://openrouter.ai/terms",
        "privacy": "https://openrouter.ai/privacy",
        "statusPage": "https://status.openrouter.ai",
        "changelog": "https://openrouter.ai/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openrouter.json",
      "live": {
        "slug": "openrouter",
        "probe": {
          "target": "https://openrouter.ai/api/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:07:19.162579695Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 236,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 175,
          "p95ms24h": 278,
          "samples24h": 250,
          "samples30d": 3412,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openrouter.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:06.450571835Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "OpenRouterTeam/typescript-sdk",
            "version": "v1.4.25",
            "released": "2026-10-06",
            "seenAt": "2026-10-09T17:11:07.784763568Z"
          },
          {
            "registry": "npm",
            "name": "@openrouter/sdk",
            "version": "1.4.25",
            "seenAt": "2026-10-09T17:11:06.785185489Z"
          },
          {
            "registry": "pypi",
            "name": "openrouter",
            "version": "1.3.40",
            "released": "2026-10-09",
            "seenAt": "2026-10-09T17:11:07.664729292Z"
          }
        ],
        "githubStars": 262,
        "npmWeekly": 872848,
        "pypiWeekly": 423673,
        "securityTxt": {
          "url": "https://openrouter.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-12T00:00:00.000Z",
          "checkedAt": "2026-10-09T15:39:50.19681562Z"
        },
        "llmsTxt": {
          "url": "https://openrouter.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:32.301047135Z"
        },
        "domain": {
          "domain": "openrouter.ai",
          "registered": "2023-04-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/openrouter.ai",
          "checkedAt": "2026-10-04T13:04:11.462141386Z"
        },
        "pages": [
          {
            "url": "https://openrouter.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:46.849842913Z",
            "changedAt": "2026-10-01T13:14:36.537223463Z",
            "fingerprint": "6e5985d34aed"
          },
          {
            "url": "https://openrouter.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:49.018442583Z",
            "changedAt": "2026-10-03T15:34:30.960156372Z",
            "fingerprint": "e35cc85a871d"
          },
          {
            "url": "https://openrouter.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:51.091066717Z",
            "changedAt": "2026-10-09T18:42:51.091066717Z",
            "fingerprint": "5d4c359dc0e4"
          },
          {
            "url": "https://openrouter.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:52.998523518Z",
            "changedAt": "2026-10-09T18:42:52.998523518Z",
            "fingerprint": "1bad99f7adbc"
          }
        ],
        "updatedAt": "2026-10-10T02:07:19.162579695Z"
      }
    },
    "facts": [
      {
        "a": "Model router",
        "b": "Model router",
        "name": "Kind"
      },
      {
        "a": "Cloudflare, Inc.",
        "b": "OpenRouter",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
        "b": "https://openrouter.ai/api/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": "Apache-2.0 (SDKs)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "2025-09-12",
        "b": "2026-08-31",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-08-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "251k npm/wk",
        "b": "226 stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenRouter scores 68.5 (B) on agent readiness against Cloudflare AI Gateway's 66.8 (B), and leads in 3 of 7 scored categories. Cloudflare AI Gateway leads on reliability, security \u0026 auth and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Cloudflare AI Gateway or OpenRouter?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare AI Gateway and OpenRouter 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 OpenRouter at https://openrouter.ai/api/v1.",
        "question": "Can an agent call Cloudflare AI Gateway and OpenRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 55",
          "Security \u0026 auth, 75 against 60",
          "Payments \u0026 pricing, 52 against 40"
        ],
        "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": [
          "Schema \u0026 documentation, 90 against 75",
          "Agent ergonomics, 85 against 73",
          "Maintenance \u0026 community, 84 against 75"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Cloudflare AI Gateway loses 3 points for them"
        ],
        "goodFor": "Agents that need many models behind one key, provider failover and a hard price ceiling per request.",
        "slug": "openrouter",
        "watchFor": "No machine payment. USDC top-ups go to a prepaid balance"
      }
    ],
    "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-openrouter.json",
        "title": "Claude API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter"
      },
      {
        "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-openrouter.json",
        "title": "BlockRun.AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter"
      },
      {
        "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-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-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-workers-ai-vs-openrouter.json",
        "title": "Cloudflare Workers AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter.json",
        "title": "Cohere Chat API (Command models) vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.json",
        "title": "DeepInfra vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.json",
        "title": "DeepSeek API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.json",
        "title": "Gemini Developer API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-openrouter.json",
        "title": "GroqCloud vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/groq-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.json",
        "title": "Mistral AI API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-openrouter.json",
        "title": "Novita AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter.json",
        "title": "OpenAI API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-prism-inference.json",
        "title": "OpenRouter vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-sambanova.json",
        "title": "OpenRouter vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-siliconflow.json",
        "title": "OpenRouter vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-siliconflow"
      },
      {
        "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-openrouter.json",
        "title": "Antseed vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-openrouter"
      }
    ],
    "scores": [
      {
        "by": 11,
        "cloudflare-ai-gateway": 66,
        "edge": "cloudflare-ai-gateway",
        "key": "reliability",
        "name": "Reliability",
        "openrouter": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "cloudflare-ai-gateway": 75,
        "edge": "openrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openrouter": 90,
        "weight": 13
      },
      {
        "by": 12,
        "cloudflare-ai-gateway": 73,
        "edge": "openrouter",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openrouter": 85,
        "weight": 13
      },
      {
        "by": 15,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "security",
        "name": "Security \u0026 auth",
        "openrouter": 60,
        "weight": 14
      },
      {
        "by": 12,
        "cloudflare-ai-gateway": 52,
        "edge": "cloudflare-ai-gateway",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openrouter": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "cloudflare-ai-gateway": 75,
        "edge": "openrouter",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openrouter": 84,
        "weight": 7
      },
      {
        "by": 2,
        "cloudflare-ai-gateway": 73,
        "edge": "cloudflare-ai-gateway",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openrouter": 71,
        "weight": 7
      }
    ],
    "summary": "OpenRouter scores 68.5 (B) on agent readiness against Cloudflare AI Gateway's 66.8 (B), and leads in 3 of 7 scored categories. Cloudflare AI Gateway leads on reliability, security \u0026 auth and payments \u0026 pricing. 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.",
      "openrouter": "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.min.md"
  },
  "markdown": "OpenRouter scores 68.5 (B) on agent readiness against Cloudflare AI Gateway's 66.8 (B), and leads in 3 of 7 scored categories. Cloudflare AI Gateway leads on reliability, security \u0026 auth and payments \u0026 pricing. Both do llm inference.\n\n- Cloudflare AI Gateway: grade B, 66.8/100, rank #275 of 950. Markdown https://www.anchorterminal.com/tools/cloudflare-ai-gateway.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json\n- OpenRouter: grade B, 68.5/100, rank #211 of 950. Markdown https://www.anchorterminal.com/tools/openrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/openrouter.json\n- Best model APIs and inference for AI agents: https://www.anchorterminal.com/best/inference/index.md\n- All 136 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 55\n- Security \u0026 auth, 75 against 60\n- Payments \u0026 pricing, 52 against 40\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### OpenRouter (B)\n\nGood for: Agents that need many models behind one key, provider failover and a hard price ceiling per request.\n\nAhead on:\n- Schema \u0026 documentation, 90 against 75\n- Agent ergonomics, 85 against 73\n- Maintenance \u0026 community, 84 against 75\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where Cloudflare AI Gateway loses 3 points for them\n\nWatch for: No machine payment. USDC top-ups go to a prepaid balance\n\n\n## Score by category\n\n| Category | Weight | Cloudflare AI Gateway | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 55 | Cloudflare AI Gateway +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 90 | OpenRouter +15 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 85 | OpenRouter +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 75 | 60 | Cloudflare AI Gateway +15 |\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 | 84 | OpenRouter +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 71 | Cloudflare AI Gateway +2 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **66.8 · B** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | Cloudflare AI Gateway | OpenRouter |\n| --- | --- | --- |\n| Kind | Model router | Model router |\n| Vendor | Cloudflare, Inc. | OpenRouter |\n| Hosted endpoint | `https://api.cloudflare.com/client/v4/accounts/{account_id}/ai` | `https://openrouter.ai/api/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 | Apache-2.0 (SDKs) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-10-01 |\n| Terms last updated | 2025-09-12 | 2026-08-31 |\n| Privacy policy last updated | no date given | 2026-08-31 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 251k npm/wk | 226 stars |\n| Agent reviews | none | 3/5 (2) |\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**OpenRouter.** Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance.\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### OpenRouter\n\n1. Set `provider.data_collection: \"deny\"` or `provider.zdr: true` when the prompt holds anything private\n2. Pass a `models` list so a failed provider falls through to the next one\n3. Honour `Retry-After` on 429 and 503, and check the stream body for errors even on a 200\n4. Set `max_price` so a routed request can't land on an expensive provider\n5. Free models allow 50 requests a day until $10 of credit has been bought. Check `GET /api/v1/key` for what's left\n\n## Questions\n\n### Which is better for AI agents, Cloudflare AI Gateway or OpenRouter?\n\nOpenRouter scores 68.5 (B) on agent readiness against Cloudflare AI Gateway's 66.8 (B), and leads in 3 of 7 scored categories. Cloudflare AI Gateway leads on reliability, security \u0026 auth and payments \u0026 pricing.\n\n### Do Cloudflare AI Gateway and OpenRouter need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare AI Gateway and OpenRouter without installing anything?\n\nYes. Cloudflare AI Gateway has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and OpenRouter at https://openrouter.ai/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-ai-gateway\", \"b\": \"openrouter\"}`. From a terminal: `anchor compare cloudflare-ai-gateway openrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json and https://www.anchorterminal.com/api/v1/tools/openrouter.json\n\n## Other comparisons with Cloudflare AI Gateway or OpenRouter\n\n- [Claude API vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-ai-gateway.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [BlockRun.AI vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-ai-gateway.md)\n- [BlockRun.AI vs OpenRouter](https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.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 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 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 Workers AI vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.md)\n- [Cohere Chat API (Command models) vs OpenRouter](https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter.md)\n- [DeepInfra vs OpenRouter](https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.md)\n- [DeepSeek API vs OpenRouter](https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.md)\n- [Gemini Developer API vs OpenRouter](https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.md)\n- [GroqCloud vs OpenRouter](https://www.anchorterminal.com/compare/groq-vs-openrouter.md)\n- [Mistral AI API vs OpenRouter](https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.md)\n- [Novita AI vs OpenRouter](https://www.anchorterminal.com/compare/novita-ai-vs-openrouter.md)\n- [OpenAI API vs OpenRouter](https://www.anchorterminal.com/compare/openai-api-vs-openrouter.md)\n- [OpenRouter vs Prism Inference](https://www.anchorterminal.com/compare/openrouter-vs-prism-inference.md)\n- [OpenRouter vs SambaCloud](https://www.anchorterminal.com/compare/openrouter-vs-sambanova.md)\n- [OpenRouter vs SiliconFlow](https://www.anchorterminal.com/compare/openrouter-vs-siliconflow.md)\n- [Antseed vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/antseed-vs-cloudflare-ai-gateway.md)\n- [Antseed vs OpenRouter](https://www.anchorterminal.com/compare/antseed-vs-openrouter.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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 OpenRouter",
        "url": ""
      }
    ],
    "description": "OpenRouter scores 68.5 (B) to Cloudflare AI Gateway's 66.8 (B) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cloudflare AI Gateway B 66.8",
      "OpenRouter B 68.5",
      "scores"
    ],
    "h1": "Cloudflare AI Gateway vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-ai-gateway-vs-openrouter.png",
    "path": "/compare/cloudflare-ai-gateway-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare AI Gateway vs OpenRouter for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 730
  },
  "version": 1
}
