{
  "data": {
    "a": {
      "slug": "azure-openai",
      "name": "Azure OpenAI in Foundry Models",
      "vendor": "Microsoft",
      "vendorUrl": "https://azure.microsoft.com",
      "kind": "model",
      "category": "inference",
      "summary": "Microsoft Azure's hosted API for OpenAI's GPT models and other Foundry Models sold by Azure, such as DeepSeek, Llama, Mistral and Grok, called through an OpenAI-compatible v1 endpoint on each customer's Azure resource.",
      "url": "https://www.anchorterminal.com/tools/azure-openai",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-openai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-openai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-openai.json",
      "dns": "azure-openai.grade.anchorterminal.com",
      "repo": "https://github.com/Azure/azure-rest-api-specs",
      "license": "Proprietary service under the Microsoft Product Terms. The v1 OpenAPI spec is MIT, and the OpenAI SDKs the docs use are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://\u003cresource\u003e.openai.azure.com/openai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "@azure/openai"
        }
      ],
      "auth": "mixed",
      "authNotes": "`api-key` header with one of the resource's two regenerable keys, or a Microsoft Entra ID bearer token (scope https://ai.azure.com/.default) with the Cognitive Services OpenAI User role. Key authentication can be disabled per resource (`disableLocalAuth`). Each model must be deployed in the resource before it can be called, by deployment name.",
      "pricing": "usage",
      "pricingNotes": "Pay per token on an Azure subscription. Global Standard GPT-6 and GPT-6.1 prices match OpenAI's list (GPT-6.1 Sol $2/$10, GPT-6.1 Terra $1/$5 per million tokens), Data Zone costs 10% more, long-context requests cost 2x input and 1.5x output, cached input 0.1x, cache writes 1.25x, Flex half price and priority processing 2x (GPT-6 Sol). Batch is 50% off Global Standard. Provisioned throughput is billed per PTU hour. Prices from the Azure Retail Prices API, because the pricing page fills its table with JavaScript (checked 2026-11-06).",
      "priceSummary": "from $0.10 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Foundry docs, the v1 OpenAPI spec or the pricing page. Access needs an Azure subscription with a payment method (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 454039,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/foundry/openai/",
      "rateLimitsUrl": "https://learn.microsoft.com/en-us/azure/foundry/openai/quotas-limits",
      "openapi": "https://github.com/Azure/azure-rest-api-specs/blob/main/specification/ai/data-plane/OpenAI.v1/azure-v1-v1-generated.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "card-required",
        "openapi",
        "openai-compatible",
        "closed-source",
        "enterprise",
        "eu",
        "python",
        "typescript",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 80,
        "grade": "A",
        "agentReady": true,
        "rank": 14,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 98,
          "maintenance": 86,
          "payments": 20,
          "reliability": 80,
          "schema": 87,
          "security": 95,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "An OpenAI-compatible v1 API with a public OpenAPI spec, Entra ID roles in place of shared keys and FedRAMP High scope, with GPT-6 and GPT-6.1 at OpenAI's list prices on Global Standard. Access needs an Azure subscription with a card and a deployment per model, and a 29 September 2026 incident caused about six hours of failures in Sweden Central.",
        "bestFor": "Teams on Azure that need OpenAI models with Entra ID, private networking, EU or US data zones or FedRAMP scope, and one resource that also serves DeepSeek, Llama, Mistral and Grok models.",
        "strengths": [
          "Public OpenAPI 3.2 spec for the v1 API, 71 paths covering Responses, Chat Completions, batches, files and vector stores",
          "Microsoft Entra ID tokens with Azure roles, and key authentication can be switched off per resource",
          "GA models carry a retirement date 18 months after launch, set at release and readable through the Models API",
          "Data Zone deployments keep processing inside the EU or US, and Azure OpenAI is in FedRAMP High scope",
          "GPT-6 Astra, Sol and Luna at $10/$50, $2/$10 and $0.10/$0.50 per million tokens on Global Standard"
        ],
        "weaknesses": [
          "Intermittent failures and 5xx errors in Sweden Central for about six hours on 29 September 2026",
          "An Azure subscription with a card, a resource and a model deployment come before the first call",
          "No llms.txt, and no Azure OpenAI what's new page was found; the Foundry one still covered August on 6 November",
          "No retention period stated for prompts kept for human abuse review, and Responses data is kept 30 days by default",
          "The retirement schedule lists two `gpt-realtime-mini` versions twice with different retirement dates, and no GPT-6 retirement dates yet"
        ],
        "agentNotes": [
          "Point the OpenAI SDK at https://\u003cresource\u003e.openai.azure.com/openai/v1/ and pass the deployment name as `model`, not the model id",
          "Prefer Entra ID with the Cognitive Services OpenAI User role over the resource key, which opens the whole data plane",
          "On 429 wait for `retry-after-ms`, then back off with jitter. The OpenAI SDK retries twice by default",
          "Set `store: false` on Responses calls you don't need kept. Stored responses persist 30 days by default",
          "Keep remote MCP approvals on for servers you don't control. They're required by default"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 80
          }
        ],
        "editorialScores": {
          "ergonomics": 98,
          "maintenance": 86,
          "payments": 20,
          "reliability": 80,
          "schema": 87,
          "security": 95,
          "transparency": 77
        },
        "provenanceScore": 88,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install openai azure-identity   # or: npm i openai @azure/identity",
        "http": "curl \"https://$AZURE_OPENAI_RESOURCE.openai.azure.com/openai/v1/responses\" \\\n  -H \"api-key: $AZURE_OPENAI_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"\u003cyour-deployment-name\u003e\",\"input\":\"hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/azure-openai"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "bing-grounding",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "tokeneconomizer",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "azure-blob-storage",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "copilot-studio-mcp",
        "power-automate",
        "foundry-local",
        "microsoft-decision-1",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph",
        "microsoft-graph-people",
        "mage-vl-cowork"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "GPT-6.1 Sol input, Global Standard",
          "unit": "1m-tokens",
          "usd": 2,
          "note": "short context, Retail Prices API meter effective 2026-10-01"
        },
        {
          "item": "GPT-6.1 Sol output, Global Standard",
          "unit": "1m-tokens",
          "usd": 10,
          "note": "short context"
        },
        {
          "item": "GPT-6.1 Terra input, Global Standard",
          "unit": "1m-tokens",
          "usd": 1,
          "note": "short context"
        },
        {
          "item": "GPT-6.1 Terra output, Global Standard",
          "unit": "1m-tokens",
          "usd": 5,
          "note": "short context"
        },
        {
          "item": "GPT-6 Astra input, Global Standard",
          "unit": "1m-tokens",
          "usd": 10,
          "note": "short context"
        },
        {
          "item": "GPT-6 Astra output, Global Standard",
          "unit": "1m-tokens",
          "usd": 50,
          "note": "short context"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Endpoints are on openai.azure.com and cognitiveservices.azure.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23 and was still expired on 2026-11-06.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/product/ForOnlineServices/all",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/foundry/whats-new-foundry",
        "securityTxt": "expired",
        "checked": "2026-11-06",
        "score": 88
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-openai.json",
      "live": {
        "slug": "azure-openai",
        "probe": {
          "target": "https://\u003cresource\u003e.openai.azure.com/openai/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:12.145420458Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-11-06T22:45:05.888142257Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "DNS lookup failed"
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@azure/openai",
            "version": "2.0.0",
            "seenAt": "2026-11-06T23:09:28.988578937Z"
          },
          {
            "registry": "npm",
            "name": "openai",
            "version": "7.53.0",
            "seenAt": "2026-11-06T23:09:28.954764315Z"
          },
          {
            "registry": "pypi",
            "name": "openai",
            "version": "3.46.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:09:28.844701934Z"
          }
        ],
        "githubStars": 3113,
        "npmWeekly": 56543040,
        "pypiWeekly": 91156146,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-27T16:00:00.000Z",
          "checkedAt": "2026-11-07T16:02:01.196666056Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:01.613678733Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "51438ff38076"
          }
        ],
        "updatedAt": "2026-11-07T18:20:12.145420458Z"
      }
    },
    "answer": "Azure OpenAI in Foundry Models scores 80 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments \u0026 pricing.",
    "b": {
      "slug": "openrouter",
      "name": "OpenRouter",
      "vendor": "OpenRouter",
      "vendorUrl": "https://openrouter.ai",
      "kind": "router",
      "category": "inference",
      "summary": "One OpenAI-compatible API in front of 80+ model providers, at the providers' own token prices, with fallbacks and routing controls.",
      "url": "https://www.anchorterminal.com/tools/openrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/openrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openrouter.json",
      "dns": "openrouter.grade.anchorterminal.com",
      "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-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.6,
        "grade": "B",
        "agentReady": false,
        "rank": 364,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 82,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 67,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-21. Breaking changes published the day they shipped, folded into one term. The Python SDK `openrouter` 1.3.70, a patch release in the listing's own package, removed the `client.end_users` namespace for `client.external_users`, and `POST /messages` streams stopped sending a trailing `data: [DONE]` frame, so clients that waited for it must end on `message_stop`. The versioning page promises migration notes but no notice period, and earlier same-day removals (8 September, 23 October) are of the same kind. -3. https://openrouter.ai/docs/changelog.md"
        ],
        "verdict": "Public OpenAPI document, llms.txt with Markdown twins, and a changelog generated from the spec on every release, with SDKs in TypeScript and Python tagged on 31 October 2026. Breaking changes ship with migration notes on the day, with no notice period. No machine payment, and 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 a changelog generated from the spec with migration notes",
          "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",
          "Breaking changes are published the day they ship, with no notice period, among them the Python SDK's `end_users` removal on 21 October 2026",
          "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"
        ],
        "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",
          "On `/messages` streams, stop at `message_stop` or an `error` event. No `[DONE]` frame is sent since 21 October 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.6
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 82,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 67,
          "transparency": 57
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openrouter.json",
      "live": {
        "slug": "openrouter",
        "probe": {
          "target": "https://openrouter.ai/api/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:44.682242215Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 129,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 158,
          "p95ms24h": 257,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "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": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openrouter.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:32.364573242Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "OpenRouterTeam/typescript-sdk",
            "version": "v1.5.63",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:53:19.843060338Z"
          },
          {
            "registry": "npm",
            "name": "@openrouter/sdk",
            "version": "1.5.63",
            "seenAt": "2026-11-06T23:53:19.458250016Z"
          },
          {
            "registry": "pypi",
            "name": "openrouter",
            "version": "1.3.136",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:53:19.721594609Z"
          }
        ],
        "githubStars": 266,
        "npmWeekly": 1500637,
        "pypiWeekly": 508914,
        "securityTxt": {
          "url": "https://openrouter.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-12T00:00:00.000Z",
          "checkedAt": "2026-11-07T15:59:55.426629359Z"
        },
        "llmsTxt": {
          "url": "https://openrouter.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:32.781344125Z"
        },
        "domain": {
          "domain": "openrouter.ai",
          "registered": "2023-04-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/openrouter.ai",
          "checkedAt": "2026-11-01T14:08:10.430011075Z"
        },
        "pages": [
          {
            "url": "https://openrouter.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:31.271472972Z",
            "changedAt": "2026-11-06T13:37:16.450910388Z",
            "fingerprint": "643881c9ce0d"
          },
          {
            "url": "https://openrouter.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:39.383701632Z",
            "changedAt": "2026-10-30T05:44:51.931625899Z",
            "fingerprint": "5cb2a28b714b"
          },
          {
            "url": "https://openrouter.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:39.647363812Z",
            "changedAt": "2026-10-30T05:44:54.355186693Z",
            "fingerprint": "9aab6dce3dcb"
          },
          {
            "url": "https://openrouter.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:41.576148386Z",
            "changedAt": "2026-10-30T05:44:56.728736628Z",
            "fingerprint": "e65daca75fd6"
          }
        ],
        "github": {
          "repo": "openrouterteam/typescript-sdk",
          "checkedAt": "2026-11-02T09:13:41.01188934Z",
          "stars": 266,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T00:31:43Z",
          "openIssues": 16,
          "openPRs": 21,
          "issuesOpened90d": 10,
          "issuesClosed90d": 6,
          "prsMerged90d": 535,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-31T04:54:28Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 14,
            "medianDays": 39.5
          }
        },
        "updatedAt": "2026-11-07T18:20:44.682242215Z"
      }
    },
    "edges": [
      {
        "by": 28,
        "category": "security",
        "leads": "azure-openai",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading. Microsoft Entra ID tokens with Azure roles (the Cognitive Services OpenAI User role for calls), managed identities, and key authentication that can be disabled per resource, or two regenerable resource keys in the `api-key` header. No documented route puts the key in a URL query string (30). Prompts, completions, embeddings and training data aren't used to train foundation models without the customer's permission or instruction, per the data privacy page updated 4 August 2026 (20). Flagged prompts and completions may be stored in the customer's geography for human abuse review, with no retention period stated, and approved customers can turn that storage off through modified abuse monitoring. Responses API data is kept 30 days by default unless `store` is false (12 of 15). Azure Monitor resource logs and the subscription activity log, as read in the Foundry fine-tuning dossier (15). MSRC coordinated disclosure policy and Microsoft's bounty programme, both named in microsoft.com's security.txt, and Azure OpenAI is listed in FedRAMP High and DoD IL2 scope in Azure public regions. The security.txt passed its Expires date on 2026-09-23 and was still expired on 6 November, which the Bedrock and S3 dossiers mark down by 2, applied here too (18 of 20, down from 20 on 6 October for consistency).",
          "b": "Model reading. Bearer keys with per-key credit limits, Management API keys for creating and rotating keys in code, and OAuth PKCE for user-delegated keys. No permission scopes on keys (25 of 30). OpenRouter doesn't store or use prompts unless you opt in for a 1% discount, but the routing reference, re-read on 1 November 2026, still sets `data_collection` to 'allow' by default, which admits providers that may store and train on data. An account privacy setting can switch that off, and the docs don't say what a new account starts with (5 of 20). Prompts not stored by default and a per-request `zdr` filter (15). Request metadata kept for reporting, per-call logs not confirmed (10 of 15). security.txt, read on 1 November 2026, is valid to 12 August 2027 with security@openrouter.ai and a PGP key, and says reports confirmed as high-impact get an invitation to a private HackerOne bug bounty. The private bounty counts as a bounty, as other listings' invitation-only programmes do (activepieces, fireflies, mixpanel). No certification or public advisory was found, so 12, above blockrun-ai's 10 (valid security.txt, no bounty) and below activepieces' 13 (a private bounty and nine public advisories) (12 of 20)."
        },
        "scores": {
          "a": 95,
          "b": 67
        }
      },
      {
        "by": 25,
        "category": "reliability",
        "leads": "azure-openai",
        "name": "Reliability",
        "reasons": {
          "a": "Azure status page with post-incident reviews, listing Azure OpenAI Service, Foundry Models and Foundry Agent Service as components (20). One incident in the 90 days to 6 November 2026 names Azure OpenAI, and no review after it does, intermittent request failures, higher latency and HTTP 5xx errors in Sweden Central from 10:03 to 15:58 UTC on 29 September 2026 (tracking 7QL5-Z50), counted as one major outage as in the Foundry fine-tuning dossier. The 23 July West US review and the 30 September gateway incident don't name it (10). Quota tiers from Free to Tier 6 with TPM and RPM per model and deployment type, 1,000 RPM and 1,000,000 TPM for each GPT-6 model on Global Standard at Tier 1 (15). 429 responses carry `retry-after-ms`, every response carries `x-ratelimit-*` headers, and the quota guide gives exponential backoff with jitter and SDK retry settings (15). The models page says models sold by Azure are covered by Azure service-level agreements and links the Online Services SLA. The consolidated SLA document wouldn't download on 6 October and wasn't retried on 6 November, so the clause rests on Microsoft's docs, read the same way as the 5 October Azure Speech check (10). The v1 API is GA and the GPT-6 models carry no preview label (10).",
          "b": "Status page at status.openrouter.ai, which rendered only in a browser with its feed and JSON paths answering 403 on 1 and 2 October. On 1 November its robots.txt answered 403 AccessDenied, so the host is treated as blocked and the page was not read (10 of 20, per the 2 October check, and 5 for the incident line, no readable history). The limits page gives 20 requests a minute on free models, 50 a day below $10 of lifetime purchases and 1,000 a day above, no platform cap on paid models, and a key endpoint that reports what's left (15). The errors page says 429, 503 and 402 responses from the in-flight spending budget carry `Retry-After`, tells clients to honour it, and says the official SDKs already do (15). The pricing page lists 'Contractual SLAs' for Enterprise without publishing terms, which we count as no published SLA (0). The chat completions API is GA (10). Model fallbacks through a `models` list soften an upstream outage, which this checklist doesn't score."
        },
        "scores": {
          "a": 80,
          "b": 55
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "openrouter",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-1M-token prices are public in the Azure Retail Prices API without a login, while the pricing page fills its table with JavaScript and showed GPT-6 prices as pending on 6 October (20). The quota tiers include a Free tier, but an Azure subscription needs a payment method (0). A person signs up for Azure in a browser and creates a resource and a deployment before the first call (0).",
          "b": "No machine payment protocol found in the docs index. Credits can be bought in USDC through Coinbase, but calls draw on a prepaid balance (0). Per-token prices published per model without a login (20). 25 or more free models with no card, per the listing (20). Browser sign-up for the first key (0). Management API keys and OAuth PKCE mint keys in code, but only after a person has an account."
        },
        "scores": {
          "a": 20,
          "b": 40
        }
      },
      {
        "by": 13,
        "category": "ergonomics",
        "leads": "azure-openai",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Model reading of the checklist (tool use, structured output, caching, context, batch, SDKs, errors). Tool use with parallel calls and a forced call by naming the function in `tool_choice`, 18 of 20 because `gpt-6.1-sol` calls tools only through the Responses API (18). Strict structured outputs (15). Prompt caching from 1,024 tokens, cached input at 0.1x on GPT-6 ($1 per million on Astra) and cache writes at 1.25x from GPT-5.6 on, with explicit breakpoints (15). 1,050,000-token context on GPT-6 and GPT-6.1, input capped at 922,000 (15). Batch at 50% off Global Standard with a 24-hour target (10). The docs use OpenAI's own SDKs for Python, JavaScript, C#, Go and Java against the v1 endpoint (10). 429 and quota errors documented with retry headers (15). Calls name a deployment rather than a model, so each model must be deployed in the resource first, which the model checklist doesn't score.",
          "b": "Model reading of the checklist (tool use, structured output, caching, context, batch, SDKs, errors). Tool calling documented, behaviour depends on the routed model (15 of 20). Structured outputs depend on the upstream model (10 of 15). Prompt caching documented, discount set by each provider (10 of 15). Routes to models with 1M-token context, a judgement call since a router has no default model (15). Batch API, usually half price per the listing (10). Official SDKs in TypeScript, Python and Go (10). Errors and debugging page (15)."
        },
        "scores": {
          "a": 98,
          "b": 85
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "azure-openai",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under the Microsoft Product Terms, with the v1 spec under MIT and the OpenAI SDKs under Apache-2.0 (15). The data privacy page agrees with the product terms on no training and states where data is processed and stored by deployment type, but gives no retention period for the human-review store and sits beside a 30-day default for Responses data (24 of 30). A published lifecycle policy and a retirement schedule with dates and replacements, but on 6 November the schedule listed `gpt-realtime-mini` 2025-10-06 and 2025-12-15 twice each with different retirement dates, and no GPT-6 model yet (18 of 20, down from 20). Data locations stated for Standard, Data Zone and Global deployments, and a public sub-processor list per the 5 October Azure Speech check, not re-read (20).",
          "b": "Closed service with clear terms, SDKs Apache-2.0 (15). Data collection page and privacy policy agree that content isn't stored unless you opt in, but training defaults for upstream providers sit on other pages we didn't read (15 of 30). An API versioning page states how deprecations are announced (in the changelog, with the field or endpoint marked deprecated in the reference) and the changelog dates each one, but no notice period is promised (12 of 20). Each provider's data policy is shown per endpoint per the listing, and EU or US in-region routing is part of the Business plan. No subprocessor list checked (15 of 20)."
        },
        "scores": {
          "a": 83,
          "b": 72
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model router",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "OpenRouter",
        "name": "Vendor"
      },
      {
        "a": "https://\u003cresource\u003e.openai.azure.com/openai/v1",
        "b": "https://openrouter.ai/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Microsoft Product Terms. The v1 OpenAPI spec is MIT, and the OpenAI SDKs the docs use are Apache-2.0",
        "b": "Apache-2.0 (SDKs)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-10-31",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-08-31",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2026-08-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "454k npm/wk",
        "b": "226 stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure OpenAI in Foundry Models scores 80 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure OpenAI in Foundry Models or OpenRouter?"
      },
      {
        "answer": "Azure OpenAI in Foundry Models takes an API key or an OAuth sign-in. OpenRouter needs an API key.",
        "question": "Do Azure OpenAI in Foundry Models and OpenRouter need an API key?"
      },
      {
        "answer": "Yes. Azure OpenAI in Foundry Models has a hosted endpoint at https://\u003cresource\u003e.openai.azure.com/openai/v1 and OpenRouter at https://openrouter.ai/api/v1.",
        "question": "Can an agent call Azure OpenAI in Foundry Models and OpenRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 55",
          "Agent ergonomics, 98 against 85",
          "Security \u0026 auth, 95 against 67",
          "Transparency \u0026 trust, 83 against 72"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No incidents deducted, where OpenRouter loses 3 points for them"
        ],
        "goodFor": "Teams on Azure that need OpenAI models with Entra ID, private networking, EU or US data zones or FedRAMP scope, and one resource that also serves DeepSeek, Llama, Mistral and Grok models.",
        "slug": "azure-openai",
        "watchFor": "Intermittent failures and 5xx errors in Sweden Central for about six hours on 29 September 2026"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "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"
      }
    ],
    "history": {
      "azure-openai": null,
      "openrouter": [
        {
          "causes": [
            "evidence",
            "event"
          ],
          "date": "2026-11-01",
          "delta": -1.9,
          "from": 68.5,
          "fromGrade": "B",
          "to": 66.6,
          "toGrade": "B"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 68.6,
          "fromGrade": "B",
          "to": 68.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 68.5,
          "fromGrade": "B",
          "to": 68.6,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "inference.llm",
      "name": "LLM inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-azure-openai.json",
        "title": "Amazon Bedrock vs Azure OpenAI in Foundry Models",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-azure-openai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-openrouter.json",
        "title": "Amazon Bedrock vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-azure-openai.json",
        "title": "Claude API vs Azure OpenAI in Foundry Models",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-azure-openai"
      },
      {
        "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-azure-openai.json",
        "title": "Antseed vs Azure OpenAI in Foundry Models",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-azure-openai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-blockrun-ai.json",
        "title": "Azure OpenAI in Foundry Models vs BlockRun.AI",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-blockrun-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-cerebras-inference.json",
        "title": "Azure OpenAI in Foundry Models vs Cerebras Inference",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-cerebras-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-ai-gateway.json",
        "title": "Azure OpenAI in Foundry Models vs Cloudflare AI Gateway",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-workers-ai.json",
        "title": "Azure OpenAI in Foundry Models vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-cohere-chat.json",
        "title": "Azure OpenAI in Foundry Models vs Cohere Chat API (Command models)",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-cohere-chat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-deepinfra.json",
        "title": "Azure OpenAI in Foundry Models vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-deepseek-api.json",
        "title": "Azure OpenAI in Foundry Models vs DeepSeek API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-deepseek-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai.json",
        "title": "Azure OpenAI in Foundry Models vs Eden AI",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-elorian-glimpse.json",
        "title": "Azure OpenAI in Foundry Models vs Glimpse",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-elorian-glimpse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-fireworks-inference.json",
        "title": "Azure OpenAI in Foundry Models vs Fireworks AI Inference",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-fireworks-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-gemini-api.json",
        "title": "Azure OpenAI in Foundry Models vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-groq.json",
        "title": "Azure OpenAI in Foundry Models vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-hugging-face-inference-providers.json",
        "title": "Azure OpenAI in Foundry Models vs Hugging Face Inference Providers",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-hugging-face-inference-providers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-inkling-2-small.json",
        "title": "Azure OpenAI in Foundry Models vs Inkling 2 Small",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-inkling-2-small"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-jais-3.json",
        "title": "Azure OpenAI in Foundry Models vs Jais 3",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-jais-3"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-meta-model-api.json",
        "title": "Azure OpenAI in Foundry Models vs Meta Model API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-meta-model-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-minimax-api.json",
        "title": "Azure OpenAI in Foundry Models vs MiniMax API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-minimax-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-mistral-api.json",
        "title": "Azure OpenAI in Foundry Models vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open.json",
        "title": "Azure OpenAI in Foundry Models vs Muse Spark Open",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-nemotron-3-5-super-vl.json",
        "title": "Azure OpenAI in Foundry Models vs Nemotron 3.5 Super VL",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-nemotron-3-5-super-vl"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-novita-ai.json",
        "title": "Azure OpenAI in Foundry Models vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-openai-api.json",
        "title": "Azure OpenAI in Foundry Models vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-prism-inference.json",
        "title": "Azure OpenAI in Foundry Models vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router.json",
        "title": "Azure OpenAI in Foundry Models vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-reflection-beam.json",
        "title": "Azure OpenAI in Foundry Models vs Beam 1.0",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-reflection-beam"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-routerplus.json",
        "title": "Azure OpenAI in Foundry Models vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-sambanova.json",
        "title": "Azure OpenAI in Foundry Models vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-siliconflow.json",
        "title": "Azure OpenAI in Foundry Models vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-simplismart.json",
        "title": "Azure OpenAI in Foundry Models vs Simplismart",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-simplismart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-stepfun-api.json",
        "title": "Azure OpenAI in Foundry Models vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-swe-2-flash.json",
        "title": "Azure OpenAI in Foundry Models vs SWE-2 Flash",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-swe-2-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-tencent-tokenhub.json",
        "title": "Azure OpenAI in Foundry Models vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-together-inference.json",
        "title": "Azure OpenAI in Foundry Models vs Together AI Inference",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-together-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-vercel-ai-gateway.json",
        "title": "Azure OpenAI in Foundry Models vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-vercel-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-vertex-ai.json",
        "title": "Azure OpenAI in Foundry Models vs Vertex AI (Gemini Enterprise Agent Platform)",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-vertex-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-openai-vs-xai-api.json",
        "title": "Azure OpenAI in Foundry Models vs xAI API (Grok)",
        "url": "https://www.anchorterminal.com/compare/azure-openai-vs-xai-api"
      },
      {
        "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/cerebras-inference-vs-openrouter.json",
        "title": "Cerebras Inference vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cerebras-inference-vs-openrouter"
      },
      {
        "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-openrouter.json",
        "title": "Cloudflare Workers AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter.json",
        "title": "Cohere Chat API (Command models) vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.json",
        "title": "DeepInfra vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.json",
        "title": "DeepSeek API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-openrouter.json",
        "title": "Glimpse vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/elorian-glimpse-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fireworks-inference-vs-openrouter.json",
        "title": "Fireworks AI Inference vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/fireworks-inference-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/inkling-2-small-vs-openrouter.json",
        "title": "Inkling 2 Small vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/inkling-2-small-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jais-3-vs-openrouter.json",
        "title": "Jais 3 vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/jais-3-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meta-model-api-vs-openrouter.json",
        "title": "Meta Model API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/meta-model-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-api-vs-openrouter.json",
        "title": "MiniMax API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/minimax-api-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/muse-spark-open-vs-openrouter.json",
        "title": "Muse Spark Open vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/muse-spark-open-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-vs-openrouter.json",
        "title": "Nemotron 3.5 Super VL vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-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-ramp-router.json",
        "title": "OpenRouter vs Router.com (Ramp Router)",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-ramp-router"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-reflection-beam.json",
        "title": "OpenRouter vs Beam 1.0",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-reflection-beam"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-routerplus.json",
        "title": "OpenRouter vs RouterPlus",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-routerplus"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/openrouter-vs-simplismart.json",
        "title": "OpenRouter vs Simplismart",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-simplismart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-stepfun-api.json",
        "title": "OpenRouter vs StepFun API",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-stepfun-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-swe-2-flash.json",
        "title": "OpenRouter vs SWE-2 Flash",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-swe-2-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-tencent-tokenhub.json",
        "title": "OpenRouter vs Tencent Cloud TokenHub",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-tencent-tokenhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-together-inference.json",
        "title": "OpenRouter vs Together AI Inference",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-together-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-vercel-ai-gateway.json",
        "title": "OpenRouter vs Vercel AI Gateway",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-vercel-ai-gateway"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-vertex-ai.json",
        "title": "OpenRouter vs Vertex AI (Gemini Enterprise Agent Platform)",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-vertex-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-xai-api.json",
        "title": "OpenRouter vs xAI API (Grok)",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-xai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-openrouter.json",
        "title": "Antseed vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eden-ai-vs-openrouter.json",
        "title": "Eden AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/eden-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-openrouter.json",
        "title": "Hugging Face Inference Providers vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/litellm-vs-openrouter.json",
        "title": "LiteLLM vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/litellm-vs-openrouter"
      }
    ],
    "panel": null,
    "scores": [
      {
        "azure-openai": 80,
        "by": 25,
        "edge": "azure-openai",
        "key": "reliability",
        "name": "Reliability",
        "openrouter": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-openai": 87,
        "by": 3,
        "edge": "openrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openrouter": 90,
        "weight": 13
      },
      {
        "azure-openai": 98,
        "by": 13,
        "edge": "azure-openai",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openrouter": 85,
        "weight": 13
      },
      {
        "azure-openai": 95,
        "by": 28,
        "edge": "azure-openai",
        "key": "security",
        "name": "Security \u0026 auth",
        "openrouter": 67,
        "weight": 14
      },
      {
        "azure-openai": 20,
        "by": 20,
        "edge": "openrouter",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openrouter": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-openai": 86,
        "by": 4,
        "edge": "azure-openai",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openrouter": 82,
        "weight": 7
      },
      {
        "azure-openai": 83,
        "by": 11,
        "edge": "azure-openai",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openrouter": 72,
        "weight": 7
      }
    ],
    "summary": "Azure OpenAI in Foundry Models scores 80 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments \u0026 pricing. Both do llm inference.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "azure-openai": "An OpenAI-compatible v1 API with a public OpenAPI spec, Entra ID roles in place of shared keys and FedRAMP High scope, with GPT-6 and GPT-6.1 at OpenAI's list prices on Global Standard. Access needs an Azure subscription with a card and a deployment per model, and a 29 September 2026 incident caused about six hours of failures in Sweden Central.",
      "openrouter": "Public OpenAPI document, llms.txt with Markdown twins, and a changelog generated from the spec on every release, with SDKs in TypeScript and Python tagged on 31 October 2026. Breaking changes ship with migration notes on the day, with no notice period. No machine payment, and 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/azure-openai-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/azure-openai-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-openai-vs-openrouter.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/azure-openai-vs-openrouter.min.md"
  },
  "markdown": "Azure OpenAI in Foundry Models scores 80 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments \u0026 pricing. Both do llm inference.\n\n- Azure OpenAI in Foundry Models: grade A, 80/100, rank #14 of 1486. Markdown https://www.anchorterminal.com/tools/azure-openai.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-openai.json\n- OpenRouter: grade B, 66.6/100, rank #364 of 1486. 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 830 models comparisons: https://www.anchorterminal.com/compare/inference/index.md\n\n## Which one, for what\n\n### Azure OpenAI in Foundry Models (A)\n\nGood for: Teams on Azure that need OpenAI models with Entra ID, private networking, EU or US data zones or FedRAMP scope, and one resource that also serves DeepSeek, Llama, Mistral and Grok models.\n\nAhead on:\n- Reliability, 80 against 55\n- Agent ergonomics, 98 against 85\n- Security \u0026 auth, 95 against 67\n- Transparency \u0026 trust, 83 against 72\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No incidents deducted, where OpenRouter loses 3 points for them\n\nWatch for: Intermittent failures and 5xx errors in Sweden Central for about six hours on 29 September 2026\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- Payments \u0026 pricing, 40 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No machine payment. USDC top-ups go to a prepaid balance\n\n\n## Why the edge\n\n### Security \u0026 auth: Azure OpenAI in Foundry Models +28\n\n- Azure OpenAI in Foundry Models (95): Model reading. Microsoft Entra ID tokens with Azure roles (the Cognitive Services OpenAI User role for calls), managed identities, and key authentication that can be disabled per resource, or two regenerable resource keys in the `api-key` header. No documented route puts the key in a URL query string (30). Prompts, completions, embeddings and training data aren't used to train foundation models without the customer's permission or instruction, per the data privacy page updated 4 August 2026 (20). Flagged prompts and completions may be stored in the customer's geography for human abuse review, with no retention period stated, and approved customers can turn that storage off through modified abuse monitoring. Responses API data is kept 30 days by default unless `store` is false (12 of 15). Azure Monitor resource logs and the subscription activity log, as read in the Foundry fine-tuning dossier (15). MSRC coordinated disclosure policy and Microsoft's bounty programme, both named in microsoft.com's security.txt, and Azure OpenAI is listed in FedRAMP High and DoD IL2 scope in Azure public regions. The security.txt passed its Expires date on 2026-09-23 and was still expired on 6 November, which the Bedrock and S3 dossiers mark down by 2, applied here too (18 of 20, down from 20 on 6 October for consistency).\n- OpenRouter (67): Model reading. Bearer keys with per-key credit limits, Management API keys for creating and rotating keys in code, and OAuth PKCE for user-delegated keys. No permission scopes on keys (25 of 30). OpenRouter doesn't store or use prompts unless you opt in for a 1% discount, but the routing reference, re-read on 1 November 2026, still sets `data_collection` to 'allow' by default, which admits providers that may store and train on data. An account privacy setting can switch that off, and the docs don't say what a new account starts with (5 of 20). Prompts not stored by default and a per-request `zdr` filter (15). Request metadata kept for reporting, per-call logs not confirmed (10 of 15). security.txt, read on 1 November 2026, is valid to 12 August 2027 with security@openrouter.ai and a PGP key, and says reports confirmed as high-impact get an invitation to a private HackerOne bug bounty. The private bounty counts as a bounty, as other listings' invitation-only programmes do (activepieces, fireflies, mixpanel). No certification or public advisory was found, so 12, above blockrun-ai's 10 (valid security.txt, no bounty) and below activepieces' 13 (a private bounty and nine public advisories) (12 of 20).\n\n### Reliability: Azure OpenAI in Foundry Models +25\n\n- Azure OpenAI in Foundry Models (80): Azure status page with post-incident reviews, listing Azure OpenAI Service, Foundry Models and Foundry Agent Service as components (20). One incident in the 90 days to 6 November 2026 names Azure OpenAI, and no review after it does, intermittent request failures, higher latency and HTTP 5xx errors in Sweden Central from 10:03 to 15:58 UTC on 29 September 2026 (tracking 7QL5-Z50), counted as one major outage as in the Foundry fine-tuning dossier. The 23 July West US review and the 30 September gateway incident don't name it (10). Quota tiers from Free to Tier 6 with TPM and RPM per model and deployment type, 1,000 RPM and 1,000,000 TPM for each GPT-6 model on Global Standard at Tier 1 (15). 429 responses carry `retry-after-ms`, every response carries `x-ratelimit-*` headers, and the quota guide gives exponential backoff with jitter and SDK retry settings (15). The models page says models sold by Azure are covered by Azure service-level agreements and links the Online Services SLA. The consolidated SLA document wouldn't download on 6 October and wasn't retried on 6 November, so the clause rests on Microsoft's docs, read the same way as the 5 October Azure Speech check (10). The v1 API is GA and the GPT-6 models carry no preview label (10).\n- OpenRouter (55): Status page at status.openrouter.ai, which rendered only in a browser with its feed and JSON paths answering 403 on 1 and 2 October. On 1 November its robots.txt answered 403 AccessDenied, so the host is treated as blocked and the page was not read (10 of 20, per the 2 October check, and 5 for the incident line, no readable history). The limits page gives 20 requests a minute on free models, 50 a day below $10 of lifetime purchases and 1,000 a day above, no platform cap on paid models, and a key endpoint that reports what's left (15). The errors page says 429, 503 and 402 responses from the in-flight spending budget carry `Retry-After`, tells clients to honour it, and says the official SDKs already do (15). The pricing page lists 'Contractual SLAs' for Enterprise without publishing terms, which we count as no published SLA (0). The chat completions API is GA (10). Model fallbacks through a `models` list soften an upstream outage, which this checklist doesn't score.\n\n### Payments \u0026 pricing: OpenRouter +20\n\n- Azure OpenAI in Foundry Models (20): No x402, MPP or L402 (0). Per-1M-token prices are public in the Azure Retail Prices API without a login, while the pricing page fills its table with JavaScript and showed GPT-6 prices as pending on 6 October (20). The quota tiers include a Free tier, but an Azure subscription needs a payment method (0). A person signs up for Azure in a browser and creates a resource and a deployment before the first call (0).\n- OpenRouter (40): No machine payment protocol found in the docs index. Credits can be bought in USDC through Coinbase, but calls draw on a prepaid balance (0). Per-token prices published per model without a login (20). 25 or more free models with no card, per the listing (20). Browser sign-up for the first key (0). Management API keys and OAuth PKCE mint keys in code, but only after a person has an account.\n\n### Agent ergonomics: Azure OpenAI in Foundry Models +13\n\n- Azure OpenAI in Foundry Models (98): Model reading of the checklist (tool use, structured output, caching, context, batch, SDKs, errors). Tool use with parallel calls and a forced call by naming the function in `tool_choice`, 18 of 20 because `gpt-6.1-sol` calls tools only through the Responses API (18). Strict structured outputs (15). Prompt caching from 1,024 tokens, cached input at 0.1x on GPT-6 ($1 per million on Astra) and cache writes at 1.25x from GPT-5.6 on, with explicit breakpoints (15). 1,050,000-token context on GPT-6 and GPT-6.1, input capped at 922,000 (15). Batch at 50% off Global Standard with a 24-hour target (10). The docs use OpenAI's own SDKs for Python, JavaScript, C#, Go and Java against the v1 endpoint (10). 429 and quota errors documented with retry headers (15). Calls name a deployment rather than a model, so each model must be deployed in the resource first, which the model checklist doesn't score.\n- OpenRouter (85): Model reading of the checklist (tool use, structured output, caching, context, batch, SDKs, errors). Tool calling documented, behaviour depends on the routed model (15 of 20). Structured outputs depend on the upstream model (10 of 15). Prompt caching documented, discount set by each provider (10 of 15). Routes to models with 1M-token context, a judgement call since a router has no default model (15). Batch API, usually half price per the listing (10). Official SDKs in TypeScript, Python and Go (10). Errors and debugging page (15).\n\n### Transparency \u0026 trust: Azure OpenAI in Foundry Models +11\n\n- Azure OpenAI in Foundry Models (83): Closed service under the Microsoft Product Terms, with the v1 spec under MIT and the OpenAI SDKs under Apache-2.0 (15). The data privacy page agrees with the product terms on no training and states where data is processed and stored by deployment type, but gives no retention period for the human-review store and sits beside a 30-day default for Responses data (24 of 30). A published lifecycle policy and a retirement schedule with dates and replacements, but on 6 November the schedule listed `gpt-realtime-mini` 2025-10-06 and 2025-12-15 twice each with different retirement dates, and no GPT-6 model yet (18 of 20, down from 20). Data locations stated for Standard, Data Zone and Global deployments, and a public sub-processor list per the 5 October Azure Speech check, not re-read (20).\n- OpenRouter (72): Closed service with clear terms, SDKs Apache-2.0 (15). Data collection page and privacy policy agree that content isn't stored unless you opt in, but training defaults for upstream providers sit on other pages we didn't read (15 of 30). An API versioning page states how deprecations are announced (in the changelog, with the field or endpoint marked deprecated in the reference) and the changelog dates each one, but no notice period is promised (12 of 20). Each provider's data policy is shown per endpoint per the listing, and EU or US in-region routing is part of the Business plan. No subprocessor list checked (15 of 20).\n\n## Score by category\n\n| Category | Weight | Azure OpenAI in Foundry Models | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 55 | Azure OpenAI in Foundry Models +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 90 | OpenRouter +3 |\n| Agent ergonomics | 13% (16.2 this run) | 98 | 85 | Azure OpenAI in Foundry Models +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 95 | 67 | Azure OpenAI in Foundry Models +28 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | OpenRouter +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 86 | 82 | Azure OpenAI in Foundry Models +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 72 | Azure OpenAI in Foundry Models +11 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **80 · A** | **66.6 · B** | |\n\n## Facts side by side\n\n| Fact | Azure OpenAI in Foundry Models | OpenRouter |\n| --- | --- | --- |\n| Kind | Model API | Model router |\n| Vendor | Microsoft | OpenRouter |\n| Hosted endpoint | `https://\u003cresource\u003e.openai.azure.com/openai/v1` | `https://openrouter.ai/api/v1` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the Microsoft Product Terms. The v1 OpenAPI spec is MIT, and the OpenAI SDKs the docs use are Apache-2.0 | Apache-2.0 (SDKs) |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-26 | 2026-10-31 |\n| Terms last updated | no date given | 2026-08-31 |\n| Privacy policy last updated | 2026-09-01 | 2026-08-31 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 454k npm/wk | 226 stars |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Azure OpenAI in Foundry Models\n\nNo score change since it was listed.\n\n### OpenRouter\n\n- -1.9 on 1 November 2026: new evidence, negative event\n- -0.1 on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Azure OpenAI in Foundry Models.** An OpenAI-compatible v1 API with a public OpenAPI spec, Entra ID roles in place of shared keys and FedRAMP High scope, with GPT-6 and GPT-6.1 at OpenAI's list prices on Global Standard. Access needs an Azure subscription with a card and a deployment per model, and a 29 September 2026 incident caused about six hours of failures in Sweden Central.\n\n**OpenRouter.** Public OpenAPI document, llms.txt with Markdown twins, and a changelog generated from the spec on every release, with SDKs in TypeScript and Python tagged on 31 October 2026. Breaking changes ship with migration notes on the day, with no notice period. No machine payment, and USDC top-ups go to a prepaid balance.\n\n## Before you call either\n\n### Azure OpenAI in Foundry Models\n\n1. Point the OpenAI SDK at https://\u003cresource\u003e.openai.azure.com/openai/v1/ and pass the deployment name as `model`, not the model id\n2. Prefer Entra ID with the Cognitive Services OpenAI User role over the resource key, which opens the whole data plane\n3. On 429 wait for `retry-after-ms`, then back off with jitter. The OpenAI SDK retries twice by default\n4. Set `store: false` on Responses calls you don't need kept. Stored responses persist 30 days by default\n5. Keep remote MCP approvals on for servers you don't control. They're required by default\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\n6. On `/messages` streams, stop at `message_stop` or an `error` event. No `[DONE]` frame is sent since 21 October 2026\n\n## Questions\n\n### Which is better for AI agents, Azure OpenAI in Foundry Models or OpenRouter?\n\nAzure OpenAI in Foundry Models scores 80 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments \u0026 pricing.\n\n### Do Azure OpenAI in Foundry Models and OpenRouter need an API key?\n\nAzure OpenAI in Foundry Models takes an API key or an OAuth sign-in. OpenRouter needs an API key.\n\n### Can an agent call Azure OpenAI in Foundry Models and OpenRouter without installing anything?\n\nYes. Azure OpenAI in Foundry Models has a hosted endpoint at https://\u003cresource\u003e.openai.azure.com/openai/v1 and OpenRouter at https://openrouter.ai/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-openai-vs-openrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-openai-vs-openrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-openai\", \"b\": \"openrouter\"}`. From a terminal: `anchor compare azure-openai openrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-openai.json and https://www.anchorterminal.com/api/v1/tools/openrouter.json\n\n## Other comparisons with Azure OpenAI in Foundry Models or OpenRouter\n\n- [Amazon Bedrock vs Azure OpenAI in Foundry Models](https://www.anchorterminal.com/compare/amazon-bedrock-vs-azure-openai.md)\n- [Amazon Bedrock vs OpenRouter](https://www.anchorterminal.com/compare/amazon-bedrock-vs-openrouter.md)\n- [Claude API vs Azure OpenAI in Foundry Models](https://www.anchorterminal.com/compare/anthropic-api-vs-azure-openai.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [Antseed vs Azure OpenAI in Foundry Models](https://www.anchorterminal.com/compare/antseed-vs-azure-openai.md)\n- [Azure OpenAI in Foundry Models vs BlockRun.AI](https://www.anchorterminal.com/compare/azure-openai-vs-blockrun-ai.md)\n- [Azure OpenAI in Foundry Models vs Cerebras Inference](https://www.anchorterminal.com/compare/azure-openai-vs-cerebras-inference.md)\n- [Azure OpenAI in Foundry Models vs Cloudflare AI Gateway](https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-ai-gateway.md)\n- [Azure OpenAI in Foundry Models vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/azure-openai-vs-cloudflare-workers-ai.md)\n- [Azure OpenAI in Foundry Models vs Cohere Chat API (Command models)](https://www.anchorterminal.com/compare/azure-openai-vs-cohere-chat.md)\n- [Azure OpenAI in Foundry Models vs DeepInfra](https://www.anchorterminal.com/compare/azure-openai-vs-deepinfra.md)\n- [Azure OpenAI in Foundry Models vs DeepSeek API](https://www.anchorterminal.com/compare/azure-openai-vs-deepseek-api.md)\n- [Azure OpenAI in Foundry Models vs Eden AI](https://www.anchorterminal.com/compare/azure-openai-vs-eden-ai.md)\n- [Azure OpenAI in Foundry Models vs Glimpse](https://www.anchorterminal.com/compare/azure-openai-vs-elorian-glimpse.md)\n- [Azure OpenAI in Foundry Models vs Fireworks AI Inference](https://www.anchorterminal.com/compare/azure-openai-vs-fireworks-inference.md)\n- [Azure OpenAI in Foundry Models vs Gemini Developer API](https://www.anchorterminal.com/compare/azure-openai-vs-gemini-api.md)\n- [Azure OpenAI in Foundry Models vs GroqCloud](https://www.anchorterminal.com/compare/azure-openai-vs-groq.md)\n- [Azure OpenAI in Foundry Models vs Hugging Face Inference Providers](https://www.anchorterminal.com/compare/azure-openai-vs-hugging-face-inference-providers.md)\n- [Azure OpenAI in Foundry Models vs Inkling 2 Small](https://www.anchorterminal.com/compare/azure-openai-vs-inkling-2-small.md)\n- [Azure OpenAI in Foundry Models vs Jais 3](https://www.anchorterminal.com/compare/azure-openai-vs-jais-3.md)\n- [Azure OpenAI in Foundry Models vs Meta Model API](https://www.anchorterminal.com/compare/azure-openai-vs-meta-model-api.md)\n- [Azure OpenAI in Foundry Models vs MiniMax API](https://www.anchorterminal.com/compare/azure-openai-vs-minimax-api.md)\n- [Azure OpenAI in Foundry Models vs Mistral AI API](https://www.anchorterminal.com/compare/azure-openai-vs-mistral-api.md)\n- [Azure OpenAI in Foundry Models vs Muse Spark Open](https://www.anchorterminal.com/compare/azure-openai-vs-muse-spark-open.md)\n- [Azure OpenAI in Foundry Models vs Nemotron 3.5 Super VL](https://www.anchorterminal.com/compare/azure-openai-vs-nemotron-3-5-super-vl.md)\n- [Azure OpenAI in Foundry Models vs Novita AI](https://www.anchorterminal.com/compare/azure-openai-vs-novita-ai.md)\n- [Azure OpenAI in Foundry Models vs OpenAI API](https://www.anchorterminal.com/compare/azure-openai-vs-openai-api.md)\n- [Azure OpenAI in Foundry Models vs Prism Inference](https://www.anchorterminal.com/compare/azure-openai-vs-prism-inference.md)\n- [Azure OpenAI in Foundry Models vs Router.com (Ramp Router)](https://www.anchorterminal.com/compare/azure-openai-vs-ramp-router.md)\n- [Azure OpenAI in Foundry Models vs Beam 1.0](https://www.anchorterminal.com/compare/azure-openai-vs-reflection-beam.md)\n- [Azure OpenAI in Foundry Models vs RouterPlus](https://www.anchorterminal.com/compare/azure-openai-vs-routerplus.md)\n- [Azure OpenAI in Foundry Models vs SambaCloud](https://www.anchorterminal.com/compare/azure-openai-vs-sambanova.md)\n- [Azure OpenAI in Foundry Models vs SiliconFlow](https://www.anchorterminal.com/compare/azure-openai-vs-siliconflow.md)\n- [Azure OpenAI in Foundry Models vs Simplismart](https://www.anchorterminal.com/compare/azure-openai-vs-simplismart.md)\n- [Azure OpenAI in Foundry Models vs StepFun API](https://www.anchorterminal.com/compare/azure-openai-vs-stepfun-api.md)\n- [Azure OpenAI in Foundry Models vs SWE-2 Flash](https://www.anchorterminal.com/compare/azure-openai-vs-swe-2-flash.md)\n- [Azure OpenAI in Foundry Models vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/azure-openai-vs-tencent-tokenhub.md)\n- [Azure OpenAI in Foundry Models vs Together AI Inference](https://www.anchorterminal.com/compare/azure-openai-vs-together-inference.md)\n- [Azure OpenAI in Foundry Models vs Vercel AI Gateway](https://www.anchorterminal.com/compare/azure-openai-vs-vercel-ai-gateway.md)\n- [Azure OpenAI in Foundry Models vs Vertex AI (Gemini Enterprise Agent Platform)](https://www.anchorterminal.com/compare/azure-openai-vs-vertex-ai.md)\n- [Azure OpenAI in Foundry Models vs xAI API (Grok)](https://www.anchorterminal.com/compare/azure-openai-vs-xai-api.md)\n- [BlockRun.AI vs OpenRouter](https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.md)\n- [Cerebras Inference vs OpenRouter](https://www.anchorterminal.com/compare/cerebras-inference-vs-openrouter.md)\n- [Cloudflare AI Gateway vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-openrouter.md)\n- [Cloudflare Workers AI vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.md)\n- [Cohere Chat API (Command models) vs OpenRouter](https://www.anchorterminal.com/compare/cohere-chat-vs-openrouter.md)\n- [DeepInfra vs OpenRouter](https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.md)\n- [DeepSeek API vs OpenRouter](https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.md)\n- [Glimpse vs OpenRouter](https://www.anchorterminal.com/compare/elorian-glimpse-vs-openrouter.md)\n- [Fireworks AI Inference vs OpenRouter](https://www.anchorterminal.com/compare/fireworks-inference-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- [Inkling 2 Small vs OpenRouter](https://www.anchorterminal.com/compare/inkling-2-small-vs-openrouter.md)\n- [Jais 3 vs OpenRouter](https://www.anchorterminal.com/compare/jais-3-vs-openrouter.md)\n- [Meta Model API vs OpenRouter](https://www.anchorterminal.com/compare/meta-model-api-vs-openrouter.md)\n- [MiniMax API vs OpenRouter](https://www.anchorterminal.com/compare/minimax-api-vs-openrouter.md)\n- [Mistral AI API vs OpenRouter](https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.md)\n- [Muse Spark Open vs OpenRouter](https://www.anchorterminal.com/compare/muse-spark-open-vs-openrouter.md)\n- [Nemotron 3.5 Super VL vs OpenRouter](https://www.anchorterminal.com/compare/nemotron-3-5-super-vl-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 Router.com (Ramp Router)](https://www.anchorterminal.com/compare/openrouter-vs-ramp-router.md)\n- [OpenRouter vs Beam 1.0](https://www.anchorterminal.com/compare/openrouter-vs-reflection-beam.md)\n- [OpenRouter vs RouterPlus](https://www.anchorterminal.com/compare/openrouter-vs-routerplus.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- [OpenRouter vs Simplismart](https://www.anchorterminal.com/compare/openrouter-vs-simplismart.md)\n- [OpenRouter vs StepFun API](https://www.anchorterminal.com/compare/openrouter-vs-stepfun-api.md)\n- [OpenRouter vs SWE-2 Flash](https://www.anchorterminal.com/compare/openrouter-vs-swe-2-flash.md)\n- [OpenRouter vs Tencent Cloud TokenHub](https://www.anchorterminal.com/compare/openrouter-vs-tencent-tokenhub.md)\n- [OpenRouter vs Together AI Inference](https://www.anchorterminal.com/compare/openrouter-vs-together-inference.md)\n- [OpenRouter vs Vercel AI Gateway](https://www.anchorterminal.com/compare/openrouter-vs-vercel-ai-gateway.md)\n- [OpenRouter vs Vertex AI (Gemini Enterprise Agent Platform)](https://www.anchorterminal.com/compare/openrouter-vs-vertex-ai.md)\n- [OpenRouter vs xAI API (Grok)](https://www.anchorterminal.com/compare/openrouter-vs-xai-api.md)\n- [Antseed vs OpenRouter](https://www.anchorterminal.com/compare/antseed-vs-openrouter.md)\n- [Eden AI vs OpenRouter](https://www.anchorterminal.com/compare/eden-ai-vs-openrouter.md)\n- [Hugging Face Inference Providers vs OpenRouter](https://www.anchorterminal.com/compare/hugging-face-inference-providers-vs-openrouter.md)\n- [LiteLLM vs OpenRouter](https://www.anchorterminal.com/compare/litellm-vs-openrouter.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Azure OpenAI in Foundry Models vs OpenRouter",
        "url": ""
      }
    ],
    "description": "Azure OpenAI in Foundry Models scores 80 (A) to OpenRouter's 66.6 (B) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Azure OpenAI in Foundry Models A 80",
      "OpenRouter B 66.6",
      "scores"
    ],
    "h1": "Azure OpenAI in Foundry Models vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/azure-openai-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure OpenAI in Foundry Models vs OpenRouter for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/azure-openai-vs-openrouter"
  },
  "tokens": {
    "markdown": 6550,
    "slim": 2980
  },
  "version": 1
}
