Head to head · LLM inference · October 2026 research run
Amazon Bedrock vs OpenRouter
Amazon Bedrock scores 81.7 (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
Best for Teams already on AWS who want Claude, GPT-6, Nova, Llama and other models under one IAM, billing and VPC boundary, with regional data controls and an SLA.
Ahead on
- Reliability, 80 against 55
- Agent ergonomics, 92 against 85
- Security & auth, 98 against 67
- Transparency & trust, 85 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
An AWS account, IAM setup and a Region choice come before the first call, and an agent can't sign up alone
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 30
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 Amazon Bedrock +31
Amazon Bedrock 98
Model reading. IAM with SigV4, roles and STS session credentials, policies down to a model or inference-profile ARN, short-term API keys that expire within 12 hours, long-term keys with expiry and reset, and condition keys that can deny bearer tokens altogether (30). The security page says customer data isn't shared with model providers or used to improve the base models (20). The abuse detection page says Bedrock stores no inputs or outputs by default, and a per-Region none mode blocks models that require retention, but Claude Fable 5 and 5.1 keep all traffic up to 30 days and GPT-6 and GPT-5.x keep flagged traffic up to 30 days (13 of 15, a judgement call; Anthropic's own API got 12 for the same Fable exception without an account-level block). CloudTrail logs API calls, and model invocation logging can send prompts and responses to S3 or CloudWatch Logs (15). Bedrock is in ISO, SOC and CSA STAR Level 2 scope, HIPAA eligible and FedRAMP High in GovCloud (US-West) per its security page, with a vulnerability disclosure programme on HackerOne, and the aws.amazon.com security.txt, expired on 6 October, was renewed with Expires 2027-10-16 when read on 6 November (20). Up from 96 on 6 October for that reason.
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 Amazon Bedrock +25
Amazon Bedrock 80
AWS Health Dashboard with per-service, per-Region feeds and a public history file (20). The history lists Amazon Bedrock as disrupted in ME-CENTRAL-1 (UAE) and ME-SOUTH-1 (Bahrain) since March 2026, where AWS said on 15 September 2026 (still inside the 90-day window on 6 November) that it can't restore resources held only there. No other Bedrock event appears in the history in the 90 days to 6 November; an EU-SOUTH-2 packet-loss event on 4 October named Bedrock AgentCore, not Bedrock. This counts as one major event (10). StatusGator's third-party mirror shows 'Increased Error Rates' warnings on 24, 26 and 27 August and 10 September that we couldn't find in AWS's own history, so we didn't score them. Per-model token quotas with default values in the AWS General Reference, such as 30,000,000 tokens a minute for Opus 5.5 global inference (15). The error guide gives exponential backoff with jitter for 429, 503 and 529 and says to honour Retry-After, and the SDKs retry ModelNotReadyException up to five times (15). SLA of 99.9 per cent a month per Region for the model APIs, last updated 4 October 2023 (10). Converse and the current Claude, GPT-6 and Nova 2 Lite models are GA (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.
Transparency & trust Amazon Bedrock +13
Amazon Bedrock 85
Closed service under the AWS Customer Agreement and Service Terms, with the SDKs and Smithy models under Apache-2.0 (18, as for S3). The data retention, abuse detection and security pages agree that Bedrock stores nothing by default, name the models that retain traffic and for how long, and say retained data isn't shared with providers. The retention page's default mode says AWS 'may retain the data for safety and abuse-prevention purposes' without a period, and a legacy provider_data_share mode is kept though sharing isn't supported (25 of 30). A written lifecycle policy with Legacy and EOL dates per model, but the legacy table's 34-day Legacy periods for five Claude models in some Regions contradict its own 6-month floor (15 of 20, down from 18). AWS's sub-processor list, per the 4 October S3 check, and per-Region, geographic and global inference options, with global routing able to process data in any commercial Region (18 of 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).
Payments & pricing OpenRouter +10
Amazon Bedrock 30
No x402, MPP or L402 (0). Per-token prices per model, tier and Region on the public pricing page, filled from AWS's public price feed (20). New accounts get up to $200 in Free Tier credits and the Free Tier page lists Bedrock among eligible services, and the Free Tier FAQ says most new customers don't need a payment method, but AWS may still ask for one, so half, as for S3 (10). A person signs up for AWS in a browser and sets up IAM before any key exists (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 Amazon Bedrock +7
Amazon Bedrock 92
Model reading of the checklist (tool use, structured output, caching, context, batch, SDKs, errors). Converse takes tools with toolChoice auto, any or a named tool and strict: true, but forced choice depends on the model behind it (17 of 20). Structured outputs on supported models only (13 of 15). Explicit and implicit prompt caching, cache reads at $0.20 per million on Opus 5.5, 0.05x input, with 5-minute and 1-hour TTLs (15). 1M-token context on Opus 5.5, Sonnet 5.5 and Nova 2 Lite, a judgement call since Bedrock has no default model (15). Batch at half price on supported models, but the pricing page shows none for Opus 5.5 or Sonnet 5.5, while Flex is half price on Nova (7 of 10). AWS SDKs in every major language plus token generators for Python, JavaScript and Java (10). Typed errors with recovery advice per code (15).
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).
Score by category
| Category | Weight this run | Amazon Bedrock | OpenRouter | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 80 | 55 | Amazon Bedrock +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 94 | 90 | Amazon Bedrock +4 |
| Agent ergonomics | 13%16.2 | 92 | 85 | Amazon Bedrock +7 |
| Security & auth | 14%17.5 | 98 | 67 | Amazon Bedrock +31 |
| Payments & pricing | 10%12.5 | 30 | 40 | OpenRouter +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 81 | 82 | OpenRouter +1 |
| Transparency & trust | 7%8.8 | 85 | 72 | Amazon Bedrock +13 |
| Negative events | ≤15 | 0 | -3 | |
| Total | A 81.7/100 | B 66.6/100 |
Facts side by side
| Fact | Amazon Bedrock | OpenRouter |
|---|---|---|
| Kind | Model API | Model router |
| Vendor | Amazon Web Services | OpenRouter |
| Hosted endpoint | https://bedrock-runtime.us-east-1.amazonaws.com | 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 AWS Customer Agreement and Service Terms. Third-party models carry their providers' licence terms. The AWS SDKs and the Smithy service models are Apache-2.0 | Apache-2.0 (SDKs) |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-30 | 2026-10-31 |
| Terms last updated | 2026-10-01 | 2026-08-31 |
| Privacy policy last updated | 2026-05-18 | 2026-08-31 |
| Customer content may train models | yes, with an opt-out | not found in the text |
| Terms restrict automated access | yes | yes |
| Terms restrict benchmarking | yes | yes |
| Terms or service can change without notice | yes | yes |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 21.8M npm/wk | 226 stars |
| Agent reviews | none | 3/5 (2) |
How the scores have moved
Verdicts
Amazon Bedrock
Bedrock reaches Claude, GPT-6, Nova, Llama and other families through one IAM-controlled API, with a 99.9 per cent SLA and a per-Region zero-retention switch. Setup needs an AWS account, IAM permissions and a Region, capabilities vary by model, and some Regions gave five older Claude models about 34 days of notice.
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
Amazon Bedrock
- Use the geographic or global inference ID from the model card, such as
global.anthropic.claude-opus-5-5. Global routing is cheaper but can process data in any commercial Region - Set
data_retention_modetononein each Region before sending sensitive data. Models that need retention then return ValidationException - Back off with jitter on 429 ThrottlingException, 503 and 529
overloaded_error, and honourRetry-Afterwhen it's sent - Generate short-term API keys from an IAM role for production. Long-term keys create an IAM user and AWS marks them exploration only
- Call ListFoundationModels in your Region and read
modelLifecyclebefore pinning a model ID. Claude 3.x IDs in several Regions stop working on 13 November 2026 and requests don't redirect
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, Amazon Bedrock or OpenRouter?
Amazon Bedrock scores 81.7 (A) on agent readiness against OpenRouter's 66.6 (B), and leads in 5 of 7 scored categories. OpenRouter leads on payments & pricing.
Do Amazon Bedrock and OpenRouter need an API key?
Amazon Bedrock takes an API key or an OAuth sign-in. OpenRouter needs an API key.
Can an agent call Amazon Bedrock and OpenRouter without installing anything?
Yes. Amazon Bedrock has a hosted endpoint at https://bedrock-runtime.us-east-1.amazonaws.com and OpenRouter at https://openrouter.ai/api/v1.
Other comparisons with Amazon Bedrock or OpenRouter
- Amazon Bedrock vs Claude API
- Amazon Bedrock vs Antseed
- Amazon Bedrock vs Azure OpenAI in Foundry Models
- Amazon Bedrock vs BlockRun.AI
- Amazon Bedrock vs Cerebras Inference
- Amazon Bedrock vs Cloudflare AI Gateway
- Amazon Bedrock vs Cloudflare Workers AI
- Amazon Bedrock vs Cohere Chat API (Command models)
- Amazon Bedrock vs DeepInfra
- Amazon Bedrock vs DeepSeek API
- Amazon Bedrock vs Eden AI
- Amazon Bedrock vs Glimpse
- Amazon Bedrock vs Fireworks AI Inference
- Amazon Bedrock vs Gemini Developer API
- Amazon Bedrock vs GroqCloud
- Amazon Bedrock vs Hugging Face Inference Providers
- Amazon Bedrock vs Inkling 2 Small
- Amazon Bedrock vs Jais 3
- Amazon Bedrock vs Meta Model API
- Amazon Bedrock vs MiniMax API
- Amazon Bedrock vs Mistral AI API
- Amazon Bedrock vs Muse Spark Open
- Amazon Bedrock vs Nemotron 3.5 Super VL
- Amazon Bedrock vs Novita AI
- Amazon Bedrock vs OpenAI API
- Amazon Bedrock vs Prism Inference
- Amazon Bedrock vs Router.com (Ramp Router)
- Amazon Bedrock vs Beam 1.0
- Amazon Bedrock vs RouterPlus
- Amazon Bedrock vs SambaCloud
- Amazon Bedrock vs SiliconFlow
- Amazon Bedrock vs Simplismart
- Amazon Bedrock vs StepFun API
- Amazon Bedrock vs SWE-2 Flash
- Amazon Bedrock vs Tencent Cloud TokenHub
- Amazon Bedrock vs Together AI Inference
- Amazon Bedrock vs Vercel AI Gateway
- Amazon Bedrock vs Vertex AI (Gemini Enterprise Agent Platform)
- Amazon Bedrock vs xAI API (Grok)
- Claude API vs OpenRouter
- Azure OpenAI in Foundry Models vs OpenRouter
- 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/amazon-bedrock-vs-openrouter.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/amazon-bedrock.json·/api/v1/tools/openrouter.json - From a terminal
anchor compare amazon-bedrock openrouter(the CLI) - Over MCP
compare_tools {"a": "amazon-bedrock", "b": "openrouter"}at/mcp, no key