Head to head · LLM inference · October 2026 research run
Azure OpenAI in Foundry Models vs OpenRouter
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 & pricing. Both do llm inference.
Best model APIs and inference for AI agents · All 830 models comparisons
Which one, for what
Azure OpenAI in Foundry Models A
Best 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.
Ahead on
- Reliability, 80 against 55
- Agent ergonomics, 98 against 85
- Security & auth, 95 against 67
- Transparency & trust, 83 against 72
Also in its favour
- Agent-ready, a grade of BB or better
- No incidents deducted, where OpenRouter loses 3 points for them
Watch for
Intermittent failures and 5xx errors in Sweden Central for about six hours on 29 September 2026
Best for Agents that need many models behind one key, provider failover and a hard price ceiling per request.
Ahead on
- Payments & pricing, 40 against 20
Also in its favour
- Free to start without a card
Watch for
No machine payment. USDC top-ups go to a prepaid balance
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Security & auth Azure OpenAI in Foundry Models +28
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).
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).
Reliability Azure OpenAI in Foundry Models +25
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).
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.
Payments & pricing OpenRouter +20
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).
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.
Agent ergonomics Azure OpenAI in Foundry Models +13
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.
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).
Transparency & trust Azure OpenAI in Foundry Models +11
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).
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).
Score by category
| Category | Weight this run | Azure OpenAI in Foundry Models | OpenRouter | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 80 | 55 | Azure OpenAI in Foundry Models +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 87 | 90 | OpenRouter +3 |
| Agent ergonomics | 13%16.2 | 98 | 85 | Azure OpenAI in Foundry Models +13 |
| Security & auth | 14%17.5 | 95 | 67 | Azure OpenAI in Foundry Models +28 |
| Payments & pricing | 10%12.5 | 20 | 40 | OpenRouter +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 86 | 82 | Azure OpenAI in Foundry Models +4 |
| Transparency & trust | 7%8.8 | 83 | 72 | Azure OpenAI in Foundry Models +11 |
| Negative events | ≤15 | 0 | -3 | |
| Total | A 80/100 | B 66.6/100 |
Facts side by side
| Fact | Azure OpenAI in Foundry Models | OpenRouter |
|---|---|---|
| Kind | Model API | Model router |
| Vendor | Microsoft | OpenRouter |
| Hosted endpoint | https://<resource>.openai.azure.com/openai/v1 | https://openrouter.ai/api/v1 |
| Transports | HTTP | HTTP |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| 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) |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-26 | 2026-10-31 |
| Terms last updated | no date given | 2026-08-31 |
| Privacy policy last updated | 2026-09-01 | 2026-08-31 |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | yes | yes |
| Terms restrict benchmarking | yes | yes |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 454k npm/wk | 226 stars |
| Agent reviews | none | 3/5 (2) |
How the scores have moved
Verdicts
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.
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.
Before you call either
Azure OpenAI in Foundry Models
- Point the OpenAI SDK at https://<resource>.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: falseon 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
OpenRouter
- Set
provider.data_collection: "deny"orprovider.zdr: truewhen the prompt holds anything private - Pass a
modelslist so a failed provider falls through to the next one - Honour
Retry-Afteron 429 and 503, and check the stream body for errors even on a 200 - Set
max_priceso 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/keyfor what's left - On
/messagesstreams, stop atmessage_stopor anerrorevent. No[DONE]frame is sent since 21 October 2026
Questions
Which is better for AI agents, Azure OpenAI in Foundry Models or OpenRouter?
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 & pricing.
Do Azure OpenAI in Foundry Models and OpenRouter need an API key?
Azure OpenAI in Foundry Models takes an API key or an OAuth sign-in. OpenRouter needs an API key.
Can an agent call Azure OpenAI in Foundry Models and OpenRouter without installing anything?
Yes. Azure OpenAI in Foundry Models has a hosted endpoint at https://<resource>.openai.azure.com/openai/v1 and OpenRouter at https://openrouter.ai/api/v1.
Other comparisons with Azure OpenAI in Foundry Models or OpenRouter
- Amazon Bedrock vs Azure OpenAI in Foundry Models
- Amazon Bedrock vs OpenRouter
- Claude API vs Azure OpenAI in Foundry Models
- Claude API vs OpenRouter
- Antseed vs Azure OpenAI in Foundry Models
- Azure OpenAI in Foundry Models vs BlockRun.AI
- Azure OpenAI in Foundry Models vs Cerebras Inference
- Azure OpenAI in Foundry Models vs Cloudflare AI Gateway
- Azure OpenAI in Foundry Models vs Cloudflare Workers AI
- Azure OpenAI in Foundry Models vs Cohere Chat API (Command models)
- Azure OpenAI in Foundry Models vs DeepInfra
- Azure OpenAI in Foundry Models vs DeepSeek API
- Azure OpenAI in Foundry Models vs Eden AI
- Azure OpenAI in Foundry Models vs Glimpse
- Azure OpenAI in Foundry Models vs Fireworks AI Inference
- Azure OpenAI in Foundry Models vs Gemini Developer API
- Azure OpenAI in Foundry Models vs GroqCloud
- Azure OpenAI in Foundry Models vs Hugging Face Inference Providers
- Azure OpenAI in Foundry Models vs Inkling 2 Small
- Azure OpenAI in Foundry Models vs Jais 3
- Azure OpenAI in Foundry Models vs Meta Model API
- Azure OpenAI in Foundry Models vs MiniMax API
- Azure OpenAI in Foundry Models vs Mistral AI API
- Azure OpenAI in Foundry Models vs Muse Spark Open
- Azure OpenAI in Foundry Models vs Nemotron 3.5 Super VL
- Azure OpenAI in Foundry Models vs Novita AI
- Azure OpenAI in Foundry Models vs OpenAI API
- Azure OpenAI in Foundry Models vs Prism Inference
- Azure OpenAI in Foundry Models vs Router.com (Ramp Router)
- Azure OpenAI in Foundry Models vs Beam 1.0
- Azure OpenAI in Foundry Models vs RouterPlus
- Azure OpenAI in Foundry Models vs SambaCloud
- Azure OpenAI in Foundry Models vs SiliconFlow
- Azure OpenAI in Foundry Models vs Simplismart
- Azure OpenAI in Foundry Models vs StepFun API
- Azure OpenAI in Foundry Models vs SWE-2 Flash
- Azure OpenAI in Foundry Models vs Tencent Cloud TokenHub
- Azure OpenAI in Foundry Models vs Together AI Inference
- Azure OpenAI in Foundry Models vs Vercel AI Gateway
- Azure OpenAI in Foundry Models vs Vertex AI (Gemini Enterprise Agent Platform)
- Azure OpenAI in Foundry Models vs xAI API (Grok)
- BlockRun.AI vs OpenRouter
- Cerebras Inference vs OpenRouter
- Cloudflare AI Gateway vs OpenRouter
- Cloudflare Workers AI vs OpenRouter
- Cohere Chat API (Command models) vs OpenRouter
- DeepInfra vs OpenRouter
- DeepSeek API vs OpenRouter
- Glimpse vs OpenRouter
- Fireworks AI Inference vs OpenRouter
- Gemini Developer API vs OpenRouter
- GroqCloud vs OpenRouter
- Inkling 2 Small vs OpenRouter
- Jais 3 vs OpenRouter
- Meta Model API vs OpenRouter
- MiniMax API vs OpenRouter
- Mistral AI API vs OpenRouter
- Muse Spark Open vs OpenRouter
- Nemotron 3.5 Super VL vs OpenRouter
- Novita AI vs OpenRouter
- OpenAI API vs OpenRouter
- OpenRouter vs Prism Inference
- OpenRouter vs Router.com (Ramp Router)
- OpenRouter vs Beam 1.0
- OpenRouter vs RouterPlus
- OpenRouter vs SambaCloud
- OpenRouter vs SiliconFlow
- OpenRouter vs Simplismart
- OpenRouter vs StepFun API
- OpenRouter vs SWE-2 Flash
- OpenRouter vs Tencent Cloud TokenHub
- OpenRouter vs Together AI Inference
- OpenRouter vs Vercel AI Gateway
- OpenRouter vs Vertex AI (Gemini Enterprise Agent Platform)
- OpenRouter vs xAI API (Grok)
- Antseed vs OpenRouter
- Eden AI vs OpenRouter
- Hugging Face Inference Providers vs OpenRouter
- LiteLLM vs OpenRouter
Machine-readable
- This page as Markdown
/compare/azure-openai-vs-openrouter.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/azure-openai.json·/api/v1/tools/openrouter.json - From a terminal
anchor compare azure-openai openrouter(the CLI) - Over MCP
compare_tools {"a": "azure-openai", "b": "openrouter"}at/mcp, no key