{
  "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-10T03:07:01.621783156Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 31,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 44,
          "p95ms24h": 109,
          "samples24h": 117,
          "samples30d": 117,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 32,
              "ok": 32
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-10T03:01:55.373909115Z"
        },
        "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-10T03:07:01.621783156Z"
      }
    },
    "answer": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.",
    "b": {
      "slug": "novita-ai",
      "name": "Novita AI",
      "vendor": "Novita AI",
      "vendorUrl": "https://novita.ai",
      "kind": "model",
      "category": "inference",
      "summary": "Novita AI is a hosted inference API for open-weight language models, with embeddings, reranking, image, video and speech models on the same key. It answers OpenAI-style calls at api.novita.ai with a Bearer key.",
      "url": "https://www.anchorterminal.com/tools/novita-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/novita-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/novita-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/novita-ai.json",
      "repo": "https://github.com/novitalabs/novita-skills",
      "license": "Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.novita.ai/openai",
      "packages": [
        {
          "registry": "npm",
          "name": "novita-sdk"
        },
        {
          "registry": "pypi",
          "name": "novita-client"
        },
        {
          "registry": "npm",
          "name": "@novitalabs/novita-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve Bearer key from Key Management in the console after a browser sign-up. Keys start with `sk_`, are shown once, number up to 10 an account and take an expiry of 24 hours, 30 days, 90 days or none. A per-key model access policy and source IP allowlist can be set by API. `auth.md` also describes OAuth with PKCE after the user signs in and approves (https://docs.novita.ai/guides/llm-api-keys, https://novita.ai/auth.md).",
      "pricing": "usage",
      "pricingNotes": "Pay per token from prepaid credit. `deepseek/deepseek-v4.1-flash` costs $0.30 in and $1.20 out per 1M tokens, batch is 50 per cent off as an introductory price, and two models are listed as free. A voucher for new users is described without an amount, and whether a card is needed was not found (https://novita.ai/pricing, checked 2026-10-09).",
      "priceSummary": "from $0.05 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the docs site map, the pricing page or the skill repository (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": 1363,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.novita.ai/guides/introduction",
      "rateLimitsUrl": "https://docs.novita.ai/guides/llm-rate-limits",
      "llmsTxt": "https://docs.novita.ai/llms.txt",
      "openapi": "https://novita.ai/.well-known/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "image.generate",
        "video.generate",
        "speech.tts",
        "compute.batch"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "usage-based",
        "llms-txt",
        "openai-compatible",
        "batch",
        "prompt-caching",
        "changelog"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.5,
        "grade": "D",
        "agentReady": false,
        "rank": 706,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 62,
          "payments": 35,
          "reliability": 28,
          "schema": 62,
          "security": 65,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them.",
        "bestFor": "Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.",
        "strengths": [
          "API keys take an expiry of 24 hours, 30 days or 90 days, a per-key model access policy and a per-key source IP allowlist, the last two settable by API",
          "The pricing page lists input, output and cache-read prices per 1M tokens with context size for each language model, readable without a login",
          "The terms commit to zero data retention and say content is not used to train Novita's models by default, with stated exceptions",
          "A billing page states which HTTP statuses are charged. 400, 401, 403, 429, 500, 503 and 504 are not, and 200 and 499 are",
          "A dated changelog holds 84 entries since February 2024, 11 of them in the 90 days to 9 October 2026, and `llms.txt` links a Markdown copy of every docs page"
        ],
        "weaknesses": [
          "No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document",
          "The rate limit page explains five tiers by monthly top-up, and the RPM and TPM figures per model are drawn by script and were not readable",
          "`deepseek/deepseek-v4-flash` was retired on 9 October 2026 on a notice dated 28 September 2026, and the named replacement is priced higher",
          "The Python and JavaScript SDK repositories are archived, last changed in November 2024 and March 2025, and the SDK docs page still tells users to install them",
          "The terms name the contracting party only as Novita AI, with no corporate form or address, and no DPA or sub-processor list was found",
          "The Acceptable Use Policy forbids scripts, bots or crawlers that extract data from the Site. Recorded as a fact, and it matters before any probe is run"
        ],
        "agentNotes": [
          "Set the OpenAI client base URL to `https://api.novita.ai/openai` and send the key as `Authorization: Bearer`. Keys start with `sk_`",
          "Do not close a connection to stop generation. A request that reached the model is billed in full under status 499, so cap output with `max_tokens`",
          "On 429, check whether the code is `RATE_LIMIT_EXCEEDED` or `TOKEN_LIMIT_EXCEEDED` and back off exponentially. No `Retry-After` header is documented",
          "Read the changelog for retirement notices before pinning a model id. One retirement in October 2026 came with 11 days' notice",
          "Ask the account owner for a key with an expiry, a model access policy and an IP allowlist. Keys are created and deleted only in the console"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.5
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 62,
          "payments": 35,
          "reliability": 28,
          "schema": 62,
          "security": 65,
          "transparency": 42
        },
        "provenanceScore": 69
      },
      "connect": {
        "install": "pip install openai   # or: npm install openai",
        "http": "curl \"https://api.novita.ai/openai/v1/chat/completions\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $NOVITA_API_KEY\" \\\n  -d '{\"model\":\"deepseek/deepseek-v4.1-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/novita-ai"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Novita AI",
        "domain": "novita.ai",
        "domainRegistered": "2023-09-18",
        "endpointOnVendorDomain": true,
        "terms": "https://novita.ai/legal/terms-of-service",
        "privacy": "https://novita.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.novita.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service, updated 5 August 2026, name the party only as Novita AI, with no corporate form or address. They cover the site and the services sold through it, the inference APIs included, under Delaware law with arbitration.",
          "The Privacy Policy, effective 13 May 2026, covers the website and services and says it does not apply to content processed on behalf of customers, which it leaves to customer agreements.",
          "The Acceptable Use Policy, effective 5 August 2026, is part of the terms.",
          "No status page was found on the home page, the pricing page, the docs index or the docs site map.",
          "https://novita.ai/.well-known/security.txt returns 404.",
          "RDAP for novita.ai gives a registration date of 2023-09-18.",
          "The API answers at api.novita.ai and the docs at docs.novita.ai. `auth.md` names a token endpoint at api-server.novita.ai.",
          "No SLA, DPA or sub-processor list was found. The trust centre at trust.novita.ai is drawn by script and was not read."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/novita-ai.json",
      "live": {
        "slug": "novita-ai",
        "probe": {
          "target": "https://api.novita.ai/openai",
          "method": "get",
          "lastAt": "2026-10-10T03:07:14.327406659Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 182,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 195,
          "p95ms24h": 301,
          "samples24h": 117,
          "samples30d": 117,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 32,
              "ok": 32
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@novitalabs/novita-mcp-server",
            "version": "1.0.2",
            "seenAt": "2026-10-09T17:08:41.708799275Z"
          },
          {
            "registry": "npm",
            "name": "novita-sdk",
            "version": "3.1.3",
            "seenAt": "2026-10-09T17:08:40.700432938Z"
          },
          {
            "registry": "pypi",
            "name": "novita-client",
            "version": "0.7.1",
            "released": "2024-11-08",
            "seenAt": "2026-10-09T17:08:41.522030178Z"
          }
        ],
        "githubStars": 6,
        "npmWeekly": 1363,
        "pypiWeekly": 540,
        "pages": [
          {
            "url": "https://docs.novita.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:52.275657851Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f496fd964c8"
          },
          {
            "url": "https://docs.novita.ai/changelog/28-09-26",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:54.59372706Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f496fd964c8"
          },
          {
            "url": "https://novita.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:34.466314386Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fd70ed7ca34a"
          },
          {
            "url": "https://novita.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:29.861270188Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a91f11239499"
          },
          {
            "url": "https://novita.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:32.628448205Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "94067cded599"
          }
        ],
        "models": {
          "deepseek/deepseek-v4.1-flash": {
            "openrouterId": "deepseek/deepseek-v4.1-flash",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "image",
              "text"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 943718,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          },
          "openai/gpt-oss-120b": {
            "openrouterId": "openai/gpt-oss-120b",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "text"
            ],
            "promptCaching": false,
            "contextTokens": 131072,
            "maxOutput": 117964,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          },
          "qwen/qwen3.8-flash": {
            "openrouterId": "qwen/qwen3.8-flash",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1000000,
            "maxOutput": 131072,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          }
        },
        "updatedAt": "2026-10-10T03:07:14.327406659Z"
      }
    },
    "facts": [
      {
        "a": "Model router",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Cloudflare, Inc.",
        "b": "Novita AI",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
        "b": "https://api.novita.ai/openai",
        "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": "Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "2025-09-12",
        "b": "2026-08-05",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-05-13",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "6 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Cloudflare AI Gateway or Novita AI?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare AI Gateway and Novita AI 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 Novita AI at https://api.novita.ai/openai.",
        "question": "Can an agent call Cloudflare AI Gateway and Novita AI without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 28",
          "Schema \u0026 documentation, 75 against 62",
          "Security \u0026 auth, 75 against 65",
          "Payments \u0026 pricing, 52 against 35",
          "Maintenance \u0026 community, 75 against 62",
          "Transparency \u0026 trust, 73 against 56"
        ],
        "also": null,
        "goodFor": "Teams that already hold a Cloudflare account and want one token, one bill, logs, budgets and fallbacks in front of several model providers, or that want to keep their own provider keys behind a proxy with spend limits.",
        "slug": "cloudflare-ai-gateway",
        "watchFor": "API tokens are account-scoped. Any token with AI Gateway Run can send requests through every gateway in the account and spend its stored provider keys"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Cloudflare AI Gateway loses 3 points for them"
        ],
        "goodFor": "Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.",
        "slug": "novita-ai",
        "watchFor": "No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document"
      }
    ],
    "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-novita-ai.json",
        "title": "Claude API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-novita-ai.json",
        "title": "Antseed vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-novita-ai"
      },
      {
        "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-novita-ai.json",
        "title": "BlockRun.AI vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-novita-ai"
      },
      {
        "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-openai-api.json",
        "title": "Cloudflare AI Gateway vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.json",
        "title": "Cloudflare AI Gateway vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference.json",
        "title": "Cloudflare AI Gateway vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova.json",
        "title": "Cloudflare AI Gateway vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow.json",
        "title": "Cloudflare AI Gateway vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-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/cohere-chat-vs-novita-ai.json",
        "title": "Cohere Chat API (Command models) vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai.json",
        "title": "DeepInfra vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai.json",
        "title": "DeepSeek API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai.json",
        "title": "Gemini Developer API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-novita-ai.json",
        "title": "GroqCloud vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/groq-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai.json",
        "title": "Mistral AI API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-openai-api.json",
        "title": "Novita AI vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-openai-api"
      },
      {
        "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/novita-ai-vs-prism-inference.json",
        "title": "Novita AI vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-sambanova.json",
        "title": "Novita AI vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-siliconflow.json",
        "title": "Novita AI vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/novita-ai-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"
      }
    ],
    "scores": [
      {
        "by": 38,
        "cloudflare-ai-gateway": 66,
        "edge": "cloudflare-ai-gateway",
        "key": "reliability",
        "name": "Reliability",
        "novita-ai": 28,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "novita-ai": 62,
        "weight": 13
      },
      {
        "by": 1,
        "cloudflare-ai-gateway": 73,
        "edge": "cloudflare-ai-gateway",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "novita-ai": 72,
        "weight": 13
      },
      {
        "by": 10,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "security",
        "name": "Security \u0026 auth",
        "novita-ai": 65,
        "weight": 14
      },
      {
        "by": 17,
        "cloudflare-ai-gateway": 52,
        "edge": "cloudflare-ai-gateway",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "novita-ai": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "cloudflare-ai-gateway": 75,
        "edge": "cloudflare-ai-gateway",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "novita-ai": 62,
        "weight": 7
      },
      {
        "by": 17,
        "cloudflare-ai-gateway": 73,
        "edge": "cloudflare-ai-gateway",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "novita-ai": 56,
        "weight": 7
      }
    ],
    "summary": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category. Both do llm inference.",
    "verdicts": {
      "cloudflare-ai-gateway": "The gateway layer is free, per-model prices are public with no markup, and logs, spend limits and fallbacks are set per gateway. API tokens cannot be limited to one gateway, the service terms take third-party models outside Cloudflare's DPA, no SLA names the product, and error codes changed on 6 October 2026 with same-day notice.",
      "novita-ai": "Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai",
    "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.min.md"
  },
  "markdown": "Cloudflare AI Gateway scores 66.8 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category. 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- Novita AI: grade D, 53.5/100, rank #706 of 950. Markdown https://www.anchorterminal.com/tools/novita-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/novita-ai.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 28\n- Schema \u0026 documentation, 75 against 62\n- Security \u0026 auth, 75 against 65\n- Payments \u0026 pricing, 52 against 35\n- Maintenance \u0026 community, 75 against 62\n- Transparency \u0026 trust, 73 against 56\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### Novita AI (D)\n\nGood for: Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.\n\nAlso in its favour:\n- No incidents deducted, where Cloudflare AI Gateway loses 3 points for them\n\nWatch for: No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document\n\n\n## Score by category\n\n| Category | Weight | Cloudflare AI Gateway | Novita AI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 28 | Cloudflare AI Gateway +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 62 | Cloudflare AI Gateway +13 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 72 | Cloudflare AI Gateway +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 75 | 65 | Cloudflare AI Gateway +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 52 | 35 | Cloudflare AI Gateway +17 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 62 | Cloudflare AI Gateway +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 56 | Cloudflare AI Gateway +17 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **66.8 · B** | **53.5 · D** | |\n\n## Facts side by side\n\n| Fact | Cloudflare AI Gateway | Novita AI |\n| --- | --- | --- |\n| Kind | Model router | Model API |\n| Vendor | Cloudflare, Inc. | Novita AI |\n| Hosted endpoint | `https://api.cloudflare.com/client/v4/accounts/{account_id}/ai` | `https://api.novita.ai/openai` |\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 | Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-06 | 2026-09-28 |\n| Terms last updated | 2025-09-12 | 2026-08-05 |\n| Privacy policy last updated | no date given | 2026-05-13 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 251k npm/wk | 6 stars, 1.4k npm/wk |\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**Novita AI.** Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them.\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### Novita AI\n\n1. Set the OpenAI client base URL to `https://api.novita.ai/openai` and send the key as `Authorization: Bearer`. Keys start with `sk_`\n2. Do not close a connection to stop generation. A request that reached the model is billed in full under status 499, so cap output with `max_tokens`\n3. On 429, check whether the code is `RATE_LIMIT_EXCEEDED` or `TOKEN_LIMIT_EXCEEDED` and back off exponentially. No `Retry-After` header is documented\n4. Read the changelog for retirement notices before pinning a model id. One retirement in October 2026 came with 11 days' notice\n5. Ask the account owner for a key with an expiry, a model access policy and an IP allowlist. Keys are created and deleted only in the console\n\n## Questions\n\n### Which is better for AI agents, Cloudflare AI Gateway or Novita AI?\n\nCloudflare AI Gateway scores 66.8 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.\n\n### Do Cloudflare AI Gateway and Novita AI need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare AI Gateway and Novita AI without installing anything?\n\nYes. Cloudflare AI Gateway has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and Novita AI at https://api.novita.ai/openai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-ai-gateway\", \"b\": \"novita-ai\"}`. From a terminal: `anchor compare cloudflare-ai-gateway novita-ai`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-ai-gateway.json and https://www.anchorterminal.com/api/v1/tools/novita-ai.json\n\n## Other comparisons with Cloudflare AI Gateway or Novita AI\n\n- [Claude API vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-ai-gateway.md)\n- [Claude API vs Novita AI](https://www.anchorterminal.com/compare/anthropic-api-vs-novita-ai.md)\n- [Antseed vs Novita AI](https://www.anchorterminal.com/compare/antseed-vs-novita-ai.md)\n- [BlockRun.AI vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-ai-gateway.md)\n- [BlockRun.AI vs Novita AI](https://www.anchorterminal.com/compare/blockrun-ai-vs-novita-ai.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 OpenAI API](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openai-api.md)\n- [Cloudflare AI Gateway vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.md)\n- [Cloudflare AI Gateway vs Prism Inference](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-prism-inference.md)\n- [Cloudflare AI Gateway vs SambaCloud](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-sambanova.md)\n- [Cloudflare AI Gateway vs SiliconFlow](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-siliconflow.md)\n- [Cloudflare Workers AI vs Novita AI](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.md)\n- [Cohere Chat API (Command models) vs Novita AI](https://www.anchorterminal.com/compare/cohere-chat-vs-novita-ai.md)\n- [DeepInfra vs Novita AI](https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai.md)\n- [DeepSeek API vs Novita AI](https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai.md)\n- [Gemini Developer API vs Novita AI](https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai.md)\n- [GroqCloud vs Novita AI](https://www.anchorterminal.com/compare/groq-vs-novita-ai.md)\n- [Mistral AI API vs Novita AI](https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai.md)\n- [Novita AI vs OpenAI API](https://www.anchorterminal.com/compare/novita-ai-vs-openai-api.md)\n- [Novita AI vs OpenRouter](https://www.anchorterminal.com/compare/novita-ai-vs-openrouter.md)\n- [Novita AI vs Prism Inference](https://www.anchorterminal.com/compare/novita-ai-vs-prism-inference.md)\n- [Novita AI vs SambaCloud](https://www.anchorterminal.com/compare/novita-ai-vs-sambanova.md)\n- [Novita AI vs SiliconFlow](https://www.anchorterminal.com/compare/novita-ai-vs-siliconflow.md)\n- [Antseed vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/antseed-vs-cloudflare-ai-gateway.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 Novita AI",
        "url": ""
      }
    ],
    "description": "Cloudflare AI Gateway scores 66.8 (B) to Novita AI's 53.5 (D) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cloudflare AI Gateway B 66.8",
      "Novita AI D 53.5",
      "scores"
    ],
    "h1": "Cloudflare AI Gateway vs Novita AI",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-ai-gateway-vs-novita-ai.png",
    "path": "/compare/cloudflare-ai-gateway-vs-novita-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare AI Gateway vs Novita AI for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 730
  },
  "version": 1
}
