{
  "data": {
    "a": {
      "slug": "cloudflare-workers-ai",
      "name": "Cloudflare Workers AI",
      "vendor": "Cloudflare, Inc.",
      "vendorUrl": "https://www.cloudflare.com",
      "kind": "model",
      "category": "inference",
      "summary": "Workers AI is Cloudflare's serverless inference service for open-weight models, covering text generation, embeddings, images and speech. Agents call it through the Cloudflare REST API, OpenAI-compatible endpoints or a Workers binding.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-workers-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.json",
      "repo": "https://github.com/cloudflare/api-schemas",
      "license": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the OpenAPI repository is BSD-3-Clause",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
      "packages": [
        {
          "registry": "npm",
          "name": "workers-ai-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, with the Workers AI Read or Workers AI Edit permission on an account. Tokens can carry an expiry and an IP address filter. Inside a Worker the `AI` binding needs no token. The API reference also accepts the older global API key with an account email. Later tokens can be created through the API with an existing token.",
      "pricing": "freemium",
      "pricingNotes": "$0.011 per 1,000 neurons, shown per model as token, image or audio prices, for example Gemma 4 26B at $0.10 in and $0.30 out per 1M tokens. 10,000 neurons a day are free on the Workers Free and Paid plans, and going past that needs Workers Paid, from $5 a month. Seven frontier models need Workers Paid or prepaid AI Gateway credits. A Free plan account starts without a contract (https://developers.cloudflare.com/workers-ai/platform/pricing/, checked 2026-10-09).",
      "priceSummary": "from $0.0605 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "AI Gateway 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 per-model route `/ai/run/{model_name}` and the OpenAI-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": 379824,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.cloudflare.com/workers-ai/",
      "rateLimitsUrl": "https://developers.cloudflare.com/workers-ai/platform/limits/",
      "llmsTxt": "https://developers.cloudflare.com/workers-ai/llms.txt",
      "openapi": "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "image.generate",
        "speech.stt",
        "speech.tts",
        "compute.batch"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "usage-based",
        "free-tier",
        "x402",
        "openapi",
        "llms-txt",
        "openai-compatible",
        "batch",
        "prompt-caching",
        "typescript",
        "python",
        "go",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 224,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 72,
          "payments": 52,
          "reliability": 66,
          "schema": 80,
          "security": 77,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -3,
        "negativeNotes": [
          "28 July 2026. Kimi K2.6, Kimi K2.7 Code and GLM-5.2 began returning 403 (code 5035) on the Workers Free plan on the day of the notice, with no advance warning found. Three points (https://developers.cloudflare.com/changelog/post/2026-07-28-models-require-workers-paid/)."
        ],
        "verdict": "Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.",
        "bestFor": "Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.",
        "strengths": [
          "Per-model token prices, cached-input prices and neuron rates are published without a login, with 10,000 neurons a day free on the Workers Free plan",
          "x402 payment (Machine Payments, beta since 30 September 2026) works on `POST /ai/run` for four open models",
          "Rate limits are published per task type, and a 429 separates a spent free allocation (3036) from capacity (3040)",
          "API tokens are limited to Workers AI permissions on an account, with optional expiry and IP address filtering",
          "DeepSeek V4 and GLM-5.3 run with a 1,048,576-token context, with prefix caching and discounted cached input"
        ],
        "weaknesses": [
          "No SLA for Workers AI was found in the docs or the agreements read",
          "Three models moved to paid-only access on 28 July 2026, the day of the notice, and Free plan calls to them return 403",
          "Eighteen models were retired on 30 May 2026 with 22 days' notice, and no minimum notice period is published",
          "The REST quick start, the OpenAI-compatibility page and the JSON Mode model list still name models on the 30 May 2026 retirement list",
          "The x402 route still needs a Cloudflare API token, a United States account and a card on file"
        ],
        "agentNotes": [
          "Check the model page before calling. Seven models need Workers Paid or AI Gateway credits and return 403 with code 5035 on the Free plan",
          "Read the internal code on a 429. 3036 means the day's 10,000 free neurons are spent until 00:00 UTC, 3040 means capacity, so retry later",
          "Set `options.rejectIfBusy` to fail fast, or add `?queueRequest=true` for the batch route when the answer can wait",
          "Send the same `x-session-affinity` value on every turn of a session to reach the prefix cache and the cached-input price",
          "Keep paid frontier models under 20 requests a minute per model, or 50 with prepaid AI Gateway 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": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 72,
          "payments": 52,
          "reliability": 66,
          "schema": 80,
          "security": 77,
          "transparency": 56
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/google/gemma-4-26b-a4b-it \\\n  -X POST \\\n  -H \"Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN\" \\\n  -d '{ \"messages\": [{ \"role\": \"system\", \"content\": \"You are a friendly assistant\" }, { \"role\": \"user\", \"content\": \"Why is pizza so good\" }]}'",
        "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-workers-ai"
      },
      "sameCompany": [
        "cloudflare-ai-gateway",
        "cloudflare-sandbox-sdk",
        "cloudflare-web-search",
        "cloudflare-mcp",
        "cloudflare-email-service",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Whisper large v3 turbo, speech to text",
          "unit": "audio-minute",
          "usd": 0.0005,
          "note": "46.63 neurons"
        },
        {
          "item": "Deepgram Nova-3, speech to text",
          "unit": "audio-minute",
          "usd": 0.0052,
          "note": "472.73 neurons. $0.0092 over WebSocket"
        },
        {
          "item": "Deepgram Aura-1, text to speech",
          "unit": "1m-chars",
          "usd": 15,
          "note": "listed as $0.015 per 1,000 characters"
        },
        {
          "item": "Deepgram Aura-2, text to speech",
          "unit": "1m-chars",
          "usd": 30,
          "note": "listed as $0.030 per 1,000 characters, English and Spanish"
        }
      ],
      "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/changelog/product/workers-ai/",
        "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 Workers AI data usage page cites it and the Enterprise Subscription Agreement as the governing documents.",
          "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.",
          "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 to match the other Cloudflare listings.",
          "The endpoint is on api.cloudflare.com.",
          "The status page lists Workers AI as its own component, operational on 9 October 2026.",
          "RDAP for cloudflare.com gives a registration date of 2009-02-17.",
          "The Workers AI changelog page (https://developers.cloudflare.com/workers-ai/changelog/) stops at 16 June 2026, so the product changelog is recorded."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.json",
      "live": {
        "slug": "cloudflare-workers-ai",
        "probe": {
          "target": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
          "method": "get",
          "lastAt": "2026-10-10T04:40:45.924321341Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 19,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 19,
          "p95ms24h": 48,
          "samples24h": 133,
          "samples30d": 133,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-10T04:40:49.355630552Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "cloudflare",
            "version": "7.3.0",
            "seenAt": "2026-10-09T16:46:16.222261099Z"
          },
          {
            "registry": "npm",
            "name": "workers-ai-provider",
            "version": "4.0.0",
            "seenAt": "2026-10-09T16:46:15.310826363Z"
          },
          {
            "registry": "pypi",
            "name": "cloudflare",
            "version": "5.9.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-09T16:46:17.361988865Z"
          }
        ],
        "githubStars": 194,
        "npmWeekly": 379824,
        "pypiWeekly": 365643,
        "pages": [
          {
            "url": "https://developers.cloudflare.com/changelog/product/workers-ai/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:50.279057567Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "486cf84220c1"
          },
          {
            "url": "https://developers.cloudflare.com/changelog/post/2026-05-08-planned-model-deprecations/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:42.235428702Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "456d5c31e53a"
          },
          {
            "url": "https://developers.cloudflare.com/changelog/post/2026-07-28-models-require-workers-paid/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:44.226321807Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "23663c817503"
          }
        ],
        "updatedAt": "2026-10-10T04:40:45.924321341Z"
      }
    },
    "answer": "OpenRouter and Cloudflare Workers AI score within a point of each other on agent readiness, 68.5 (B) and 68.3 (B). Cloudflare Workers AI leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "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-10T04:40:58.469248216Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 164,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 176,
          "p95ms24h": 275,
          "samples24h": 248,
          "samples30d": 3438,
          "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": 48,
              "ok": 48
            }
          ]
        },
        "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-10T04:40:58.469248216Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "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. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the 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-01",
        "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": "380k npm/wk",
        "b": "226 stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenRouter and Cloudflare Workers AI score within a point of each other on agent readiness, 68.5 (B) and 68.3 (B). Cloudflare Workers AI leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Cloudflare Workers AI or OpenRouter?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare Workers AI and OpenRouter need an API key?"
      },
      {
        "answer": "Yes. Cloudflare Workers AI 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 Workers AI and OpenRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 55",
          "Security \u0026 auth, 77 against 60",
          "Payments \u0026 pricing, 52 against 40",
          "Transparency \u0026 trust, 76 against 71"
        ],
        "also": null,
        "goodFor": "Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.",
        "slug": "cloudflare-workers-ai",
        "watchFor": "No SLA for Workers AI was found in the docs or the agreements read"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 90 against 80",
          "Agent ergonomics, 85 against 75",
          "Maintenance \u0026 community, 84 against 72"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Cloudflare Workers AI 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-workers-ai.json",
        "title": "Claude API vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-workers-ai"
      },
      {
        "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/antseed-vs-cloudflare-workers-ai.json",
        "title": "Antseed vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai.json",
        "title": "BlockRun.AI vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai"
      },
      {
        "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-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-workers-ai-vs-cohere-chat.json",
        "title": "Cloudflare Workers AI vs Cohere Chat API (Command models)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-cohere-chat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra.json",
        "title": "Cloudflare Workers AI vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api.json",
        "title": "Cloudflare Workers AI vs DeepSeek API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api.json",
        "title": "Cloudflare Workers AI vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq.json",
        "title": "Cloudflare Workers AI vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api.json",
        "title": "Cloudflare Workers AI vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.json",
        "title": "Cloudflare Workers AI vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api.json",
        "title": "Cloudflare Workers AI vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference.json",
        "title": "Cloudflare Workers AI vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova.json",
        "title": "Cloudflare Workers AI vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow.json",
        "title": "Cloudflare Workers AI vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow"
      },
      {
        "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-openrouter.json",
        "title": "Antseed vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-openrouter"
      }
    ],
    "scores": [
      {
        "by": 11,
        "cloudflare-workers-ai": 66,
        "edge": "cloudflare-workers-ai",
        "key": "reliability",
        "name": "Reliability",
        "openrouter": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "cloudflare-workers-ai": 80,
        "edge": "openrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openrouter": 90,
        "weight": 13
      },
      {
        "by": 10,
        "cloudflare-workers-ai": 75,
        "edge": "openrouter",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openrouter": 85,
        "weight": 13
      },
      {
        "by": 17,
        "cloudflare-workers-ai": 77,
        "edge": "cloudflare-workers-ai",
        "key": "security",
        "name": "Security \u0026 auth",
        "openrouter": 60,
        "weight": 14
      },
      {
        "by": 12,
        "cloudflare-workers-ai": 52,
        "edge": "cloudflare-workers-ai",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openrouter": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "cloudflare-workers-ai": 72,
        "edge": "openrouter",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openrouter": 84,
        "weight": 7
      },
      {
        "by": 5,
        "cloudflare-workers-ai": 76,
        "edge": "cloudflare-workers-ai",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openrouter": 71,
        "weight": 7
      }
    ],
    "summary": "OpenRouter and Cloudflare Workers AI score within a point of each other on agent readiness, 68.5 (B) and 68.3 (B). Cloudflare Workers AI leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do llm inference.",
    "verdicts": {
      "cloudflare-workers-ai": "Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.",
      "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-workers-ai-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.min.md"
  },
  "markdown": "OpenRouter and Cloudflare Workers AI score within a point of each other on agent readiness, 68.5 (B) and 68.3 (B). Cloudflare Workers AI leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do llm inference.\n\n- Cloudflare Workers AI: grade B, 68.3/100, rank #224 of 950. Markdown https://www.anchorterminal.com/tools/cloudflare-workers-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.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 Workers AI (B)\n\nGood for: Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.\n\nAhead on:\n- Reliability, 66 against 55\n- Security \u0026 auth, 77 against 60\n- Payments \u0026 pricing, 52 against 40\n- Transparency \u0026 trust, 76 against 71\n\nWatch for: No SLA for Workers AI was found in the docs or the agreements read\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 80\n- Agent ergonomics, 85 against 75\n- Maintenance \u0026 community, 84 against 72\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where Cloudflare Workers AI 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 Workers AI | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 55 | Cloudflare Workers AI +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 90 | OpenRouter +10 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 85 | OpenRouter +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 60 | Cloudflare Workers AI +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 52 | 40 | Cloudflare Workers AI +12 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 84 | OpenRouter +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 71 | Cloudflare Workers AI +5 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **68.3 · B** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | Cloudflare Workers AI | OpenRouter |\n| --- | --- | --- |\n| Kind | Model API | 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. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the 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-01 | 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 | 380k npm/wk | 226 stars |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Cloudflare Workers AI.** Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.\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 Workers AI\n\n1. Check the model page before calling. Seven models need Workers Paid or AI Gateway credits and return 403 with code 5035 on the Free plan\n2. Read the internal code on a 429. 3036 means the day's 10,000 free neurons are spent until 00:00 UTC, 3040 means capacity, so retry later\n3. Set `options.rejectIfBusy` to fail fast, or add `?queueRequest=true` for the batch route when the answer can wait\n4. Send the same `x-session-affinity` value on every turn of a session to reach the prefix cache and the cached-input price\n5. Keep paid frontier models under 20 requests a minute per model, or 50 with prepaid AI Gateway 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 Workers AI or OpenRouter?\n\nOpenRouter and Cloudflare Workers AI score within a point of each other on agent readiness, 68.5 (B) and 68.3 (B). Cloudflare Workers AI leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Cloudflare Workers AI and OpenRouter need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare Workers AI and OpenRouter without installing anything?\n\nYes. Cloudflare Workers AI 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-workers-ai-vs-openrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-workers-ai\", \"b\": \"openrouter\"}`. From a terminal: `anchor compare cloudflare-workers-ai openrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.json and https://www.anchorterminal.com/api/v1/tools/openrouter.json\n\n## Other comparisons with Cloudflare Workers AI or OpenRouter\n\n- [Claude API vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-workers-ai.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [Antseed vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/antseed-vs-cloudflare-workers-ai.md)\n- [BlockRun.AI vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai.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 OpenRouter](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.md)\n- [Cloudflare Workers AI vs Cohere Chat API (Command models)](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-cohere-chat.md)\n- [Cloudflare Workers AI vs DeepInfra](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra.md)\n- [Cloudflare Workers AI vs DeepSeek API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api.md)\n- [Cloudflare Workers AI vs Gemini Developer API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api.md)\n- [Cloudflare Workers AI vs GroqCloud](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq.md)\n- [Cloudflare Workers AI vs Mistral AI API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api.md)\n- [Cloudflare Workers AI vs Novita AI](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.md)\n- [Cloudflare Workers AI vs OpenAI API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api.md)\n- [Cloudflare Workers AI vs Prism Inference](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference.md)\n- [Cloudflare Workers AI vs SambaCloud](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova.md)\n- [Cloudflare Workers AI vs SiliconFlow](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow.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 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 Workers AI vs OpenRouter",
        "url": ""
      }
    ],
    "description": "OpenRouter and Cloudflare Workers AI score within a point of each other for llm inference, 68.5 and 68.3 out of 100. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cloudflare Workers AI B 68.3",
      "OpenRouter B 68.5",
      "scores"
    ],
    "h1": "Cloudflare Workers AI vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-workers-ai-vs-openrouter.png",
    "path": "/compare/cloudflare-workers-ai-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare Workers AI vs OpenRouter for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter"
  },
  "tokens": {
    "markdown": 2750,
    "slim": 730
  },
  "version": 1
}
