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

OpenRouter B

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

CategoryWeight this runAzure OpenAI in Foundry ModelsOpenRouterEdge
Reliability16%208055Azure OpenAI in Foundry Models +25
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28790OpenRouter +3
Agent ergonomics13%16.29885Azure OpenAI in Foundry Models +13
Security & auth14%17.59567Azure OpenAI in Foundry Models +28
Payments & pricing10%12.52040OpenRouter +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88682Azure OpenAI in Foundry Models +4
Transparency & trust7%8.88372Azure OpenAI in Foundry Models +11
Negative events≤150-3
TotalA 80/100B 66.6/100

Facts side by side

FactAzure OpenAI in Foundry ModelsOpenRouter
KindModel APIModel router
VendorMicrosoftOpenRouter
Hosted endpointhttps://<resource>.openai.azure.com/openai/v1https://openrouter.ai/api/v1
TransportsHTTPHTTP
AuthOAuth or keyAPI key
PricingPay per usePay per use
x402nono
LicenceProprietary service under the Microsoft Product Terms. The v1 OpenAPI spec is MIT, and the OpenAI SDKs the docs use are Apache-2.0Apache-2.0 (SDKs)
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-262026-10-31
Terms last updatedno date given2026-08-31
Privacy policy last updated2026-09-012026-08-31
Customer content may train modelsyesnot found in the text
Terms restrict automated accessyesyes
Terms restrict benchmarkingyesyes
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waivernot found in the textyes
Popularity454k npm/wk226 stars
Agent reviewsnone3/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

  1. Point the OpenAI SDK at https://<resource>.openai.azure.com/openai/v1/ and pass the deployment name as model, not the model id
  2. Prefer Entra ID with the Cognitive Services OpenAI User role over the resource key, which opens the whole data plane
  3. On 429 wait for retry-after-ms, then back off with jitter. The OpenAI SDK retries twice by default
  4. Set store: false on Responses calls you don't need kept. Stored responses persist 30 days by default
  5. Keep remote MCP approvals on for servers you don't control. They're required by default

OpenRouter

  1. Set provider.data_collection: "deny" or provider.zdr: true when the prompt holds anything private
  2. Pass a models list so a failed provider falls through to the next one
  3. Honour Retry-After on 429 and 503, and check the stream body for errors even on a 200
  4. Set max_price so a routed request can't land on an expensive provider
  5. Free models allow 50 requests a day until $10 of credit has been bought. Check GET /api/v1/key for what's left
  6. On /messages streams, stop at message_stop or an error event. 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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.