OpenRouter vs Portkey
The question that decides it: Do you need to reach the most models, or to control how your team uses the ones you already reach?
Our verdict
Reaching the long tail of open-weight models across many upstream providers is the job: OpenRouter. Stopping prompts leaking data, caching semantically similar calls, versioning prompts and running evals is the job: Portkey, at $49 a month for the Production plan, or free while you stay under 10,000 logged requests.
Why
These two are usually shortlisted together and they answer different questions. OpenRouter is a marketplace: its product is breadth and price discovery across 83 upstream providers, and it deliberately does very little to what passes through it. Portkey is a control plane: its product is what happens to the request on the way past, and its catalogue is a means to that end.
The capability columns are unusually one-sided, and it is worth saying which absences are documented rather than merely unverified. OpenRouter explicitly does not offer a semantic cache or content guardrails — those are recorded as no, not as unknown. Portkey offers both, plus prompt management and evals, neither of which OpenRouter publishes at all. If any of those four is on your requirements list, this comparison is already over.
Cost inverts depending on volume and on what you are counting. OpenRouter charges 5.5% on credit purchases and nothing else, so its cost scales with spend forever. Portkey charges nothing on tokens and $49 a month for Production, with 100,000 recorded logs included and $9 per additional 100,000 requests, so its cost scales with how much you log rather than what you spend on inference. At the workload on our cost page, that is $8.25 for OpenRouter against $49 for Portkey. Invert the token spend and the answer inverts with it.
Portkey also has a deployment option OpenRouter cannot match: its gateway core is MIT and self-hostable, so the data path can stay in your infrastructure while the control plane stays hosted. It is the only side of this pair with a HIPAA BAA. Against that, its catalogue figure is the least trustworthy number on this page — its own pages give both 250 and 2,300 models depending on where you look, and its models endpoint requires an API key, so there is nothing public to count.
Which one, concretely
Choose OpenRouter if
- Breadth is the requirement: 83 providers and several upstream deployments of the same open-weight model
- You want price sorting and automatic failover across a deep provider pool
- You want a public, unauthenticated models endpoint you can read without an account
- You do not need guardrails, semantic caching, prompt management or evals
Choose Portkey if
- You need content guardrails or PII redaction on requests as they pass
- You want a semantic cache — repeated near-identical prompts are a real cost line for you
- You need prompt versioning and evals in the same place as the routing
- You need a HIPAA BAA, or you need to self-host the data path
What catches people out
- Portkey's published model range is 250 to 2,300 depending which of its own pages you read; treat the figure as unsettled rather than large
- Portkey's $49 Production plan meters recorded logs, not tokens — a chatty low-value workload can cost more to observe than to run
- OpenRouter's lack of guardrails and semantic cache is documented, not unknown; do not plan on either arriving
- Portkey's free Developer plan keeps logs for 3 days, which is usually too short to debug anything reported by a user
Side by side
5 of 10 fields differ, marked with a dot. Every figure links to the vendor page it came from. Blank values read Not published rather than No — silence from a vendor is not a negative answer.
| Field | OpenRouter | Portkey |
|---|---|---|
| Ease of leaving Derived score, higher is easier | 64/100 Some work to leave | 100/100 Easy to leave |
| Content guardrails Content guardrails | No | Yes |
| Strips personal data PII redaction | No | Yes |
| Similar-question caching Semantic cache | No | Yes |
| How long they keep it Default content retention (days) | Nothing kept by default | 90 days |
| Settings can live in version control Declarative config-as-code | No | Yes |
| Prompt versioning Prompt management | Not published | Yes |
| Quality testing Evals | Not published | Yes |
| Will sign a HIPAA agreement HIPAA BAA | Not published | Yes |
| Does not retain your data Zero data retention | Yes | Yes |
| GitHub stars GitHub stars | Not published | 12,848 |
Verified 3 days ago for OpenRouter and Verified 3 days ago for Portkey. Want more fields, or a third option in the mix? Open these two in the full comparison tool.
Common questions
Can I use both together?
Yes, and it is a common arrangement: Portkey as the control plane your application talks to, with OpenRouter configured as one of the upstream providers behind it. You pay both fees, and you get Portkey's guardrails and caching over OpenRouter's catalogue.
Does OpenRouter have guardrails?
No. Content guardrails and semantic caching are both recorded as not offered, based on its own documentation rather than an absence of evidence. Portkey offers both.
Which is cheaper?
At the workload on our cost page — 50M input and 10M output tokens over 250,000 requests — OpenRouter costs $8.25 a month in fees and Portkey $49. But OpenRouter's fee grows with every dollar of inference spend while Portkey's grows with logged requests, so heavy spenders with modest request counts often find Portkey cheaper.
Can Portkey be self-hosted?
The gateway core is MIT licensed and can be self-hosted, so requests need not leave your infrastructure. OpenRouter is managed only and offers no equivalent.