How this is put together

A recommendation you cannot audit is just an opinion with better styling. This page gives you the entire scoring model, the rules that rule products out, and an honest account of where the data is thin.

GatewayScore rates 31 LLM gateways on published evidence only. Every value is read from a vendor's own pricing page, documentation, or repository, and stores the URL it came from. Unpublished facts are recorded as unpublished, never estimated. Six hard requirements can eliminate a product outright; everything else is weighted by what you said matters, with each point traceable to a source. It is not a latency benchmark, and no vendor pays to appear here, to rank higher, or to have a figure changed.

How we read spending controls

Provider profiles separate scoped keys, per-key and per-team budgets, rate limits, model allowlists, spend alerts, and webhook notifications. Each signal records whether the vendor documents it, any required tier, and qualifications from the linked source. Missing evidence reads as Not published.

An alert is not a spending cap. A platform's fixed request limit is not a configurable cost policy. Budget enforcement may allow an in-flight request to finish, so a documented ceiling is not necessarily a guarantee of zero overspend. Check the enforcement scope, reset window, and paid-tier restrictions in the cited vendor page.

These profile signals explain the available controls; they do not by themselves add wizard scoring points. The scoring weights below describe the separate fields used for recommendations. The cost estimator models published charges, not whether a vendor will enforce your budget.

Where the data comes from

Every value in the catalog was read off a vendor's own pricing page, documentation, trust centre, public repository, or live models endpoint. Nothing is filled in from general knowledge or from another comparison site. Each figure stores the URL it came from, which is why almost every number on this site is clickable.

31 products tracked
113 fields per product
2125 values with a source URL
68.5 sourced values per product

Coverage is uneven, and pretending otherwise would be the dishonest part. The thinnest entries right now are Apache APISIX AI Gateway (43), Kong AI Gateway (46), LLM Gateway (47) . Treat those with more caution than the well-documented ones.

Blank is not "no"

This is the single most important rule on the site. When a vendor has not published something, the cell reads Not published — never "No". A small open-source project that has never mentioned SOC 2 is in a completely different position from one that has confirmed it has no report, and collapsing those two into the same red cross would quietly punish the honest and reward the vague.

The practical consequence: the wizard will never rule a product out for a missing value. It only rules out on an explicit vendor "no". Where a requirement could not be confirmed either way, the product stays in the list and you get told what to go and check yourself.

Back to top ↑

What gets ruled out, and only what

Six answers can eliminate a product outright. Every one of them requires the vendor to have explicitly confirmed the negative.

If you said you need The rule applied
A signed HIPAA business associate agreement Ruled out only when the vendor states it does not offer a BAA.
A SOC 2 report Ruled out only when the vendor confirms it has none.
EU-only processing Ruled out only when the vendor states it cannot guarantee EU processing.
Zero data retention Ruled out only when the vendor confirms prompts are retained with no opt-out.
Nobody to run infrastructure Rules out anything available only as self-hosted software.
Embeddings, images, audio, or video Ruled out only when the vendor confirms the modality is unsupported.
Back to top ↑

The exact scoring weights

Everything not ruled out is scored. Points are awarded only for facts that are relevant to what you actually said mattered — answer that cost is your priority and the governance weights never fire at all. The published figures below are the entire model; there is nothing else behind it.

How you want to run it up to 14 pts

  • Fully managed, when you asked for managed +14
  • Managed option available, when you asked for managed +10
  • Self-hostable, when you asked to own the data path +12
  • Both deployment modes, when you want to keep the option open +11
  • Open source licence, on top of self-hosting +6

Cost sensitivity up to 16 pts

  • No markup and no top-up fee +16
  • No markup on token prices +9
  • Keeps your negotiated rates via your own keys +14
  • Bills against an existing cloud commitment +12
  • No per-user platform fee +6
  • Caching to cut repeat spend +4

Model choice up to 16 pts

  • 400 or more models +16
  • 200 to 399 models +12
  • 100 to 199 models +8
  • Fewer than 100 models +3
  • 50 or more upstream providers +8
  • 20 to 49 upstream providers +5

Reliability up to 14 pts

  • Automatic failover +14
  • Load balancing across keys and providers +10
  • Rule-based conditional routing +6
  • Low measured latency overhead +4

Governance and control up to 12 pts

  • Hard spending limits +12
  • Scoped keys per team or app +10
  • Built-in logs and usage dashboards +8
  • Content and policy guardrails +6
  • Personal-data redaction +6
  • Per-key rate limits +4

Compliance, when asked for up to 10 pts

  • Each compliance requirement you selected and the vendor confirms +10
  • SOC 2, as general procurement reassurance +5
  • Publishes a status page +3
  • OpenAI-compatible, so leaving later is cheap +4

Scores are then normalised so the leader shows 100% and everything else is expressed relative to it. That percentage is a relative fit against the products in this catalog, not an absolute quality grade — an 80% in a weak field is not better than an 80% in a strong one.

Back to top ↑

How the lock-in score is derived

The “how hard is it to leave” score on each product page is arithmetic, not an opinion. Six published facts each carry a fixed number of points, identical for every product, and each point on the page links to the source for the fact it came from. The weights are ordered by how much engineering time the fact saves you on the way out:

  • Works with standard OpenAI code Leaving is a base-URL change, not a rewrite of every call site. +22
  • You can bring your own provider keys Your model access and billing survive dropping the gateway. +20
  • You can self-host it A price or policy change cannot strand you if you can run it yourself. +20
  • Configuration lives in version control Routing rules are a file you keep, not dashboard state to rebuild by hand. +16
  • Your request history can be exported You leave with your own logs instead of abandoning them. +12
  • No proprietary SDK required Weighted low because no product we track requires one — it earns little on its own. +10

An unpublished fact lowers the ceiling instead of costing points. If a vendor documents four of the six, the highest score it can reach is the sum of those four, and the page shows that reduced denominator rather than pretending the gaps were failures. This does mean a poorly documented product cannot reach the top band — which we think is the right outcome, because you genuinely cannot verify your exit path from documentation that does not exist.

Band cut-points sit at 85 and 55 out of 100. Those are set against the observed spread of the products we track, not an assumed even distribution. An earlier version of this score put more than half its weight on OpenAI compatibility and the absence of a proprietary SDK; because every product in the catalog satisfies both, 18 of 20 came out in a single band and the score separated nothing. The current weights put the emphasis on what actually varies — your keys, your config, your history, and whether you can run it yourself.

The score covers technical switching cost only. It does not price the work of re-testing prompts against a different routing stack, renegotiating a contract, or retraining a team, and a high score is not a recommendation to leave.

Back to top ↑

What this cannot tell you

  • Weights are a judgement call. We think automatic failoverFailover: When the provider you asked for is down or rate-limiting you, the gateway automatically retries somewhere else. The single most valuable reliability feature these products offer. deserves 14 points when you say reliability matters. You might think it deserves 30. The numbers are published precisely so you can disagree with them specifically.
  • Vendor benchmarks are marketing. Latency and throughput figures are almost always self-published under conditions chosen to flatter. Where an independent measurement or a contradicting production report exists, it is noted alongside. Never size capacity from these.
  • Model counts move weekly and are not comparable. One vendor counts every variant and quantisation, another counts families. A gap of 30 means nothing; a gap of 300 means something.
  • Self-hosting is priced misleadingly everywhere, including here. The cost tool cannot price the engineering time to run, patch, and upgrade a gateway, and that is usually the dominant cost.
  • Enterprise pricing is negotiated. Above a certain volume the published numbers simply stop applying.
  • Nothing here reflects support quality or roadmap risk. Whether a vendor answers tickets, or is still around in two years, is not a field we can source.
Back to top ↑

How it stays current

Values carry the date they were checked, and a field turns amber once it passes 45 days without verification. The changelog records every edit with its previous value and the source that justified the change, and lists each product by its oldest field check — so the page tells you where it is decaying rather than hiding it.

Refreshes are triggered deliberately rather than on a schedule, and proposed changes are reviewed before they reach these pages. That is slower than automating it, and the trade is intentional: an unreviewed pipeline writing wrong numbers into a comparison site is worse than a site that is a fortnight behind.

Back to top ↑

What is in scope, and what is missing

In scope is any product that sits between an application and one or more language models and is chosen for that job: managed gateways, model marketplaces, general-purpose API gateways with an LLM plugin, and the cloud model platforms that act like gateways. Inference providers are included only where they are commonly used as the routing layer itself. Out of scope are agent frameworks, SDKs and orchestration tools that call models but are not the network hop in front of them.

The honest version of this section is a list of gaps rather than exclusions. Two products have been verified as qualifying and are not yet rated here:

  • Martian Gateway — a live hosted router with an OpenAI-compatible endpoint. It qualifies, but the company now presents itself publicly as an interpretability research lab, so its commercial status needs confirming before it is rated rather than after.
  • Azure API Management — a general-purpose API platform whose AI gateway capabilities, in Microsoft's words, extend the existing gateway rather than forming a separate offering. That puts it on the same shelf as Kong AI Gateway and Apache APISIX AI Gateway, both rated here, so its absence is a gap and not a scope judgement.

That list is deliberately short: it names only products checked against these criteria and confirmed missing. A product absent from the catalog, from this list and from the exclusions below has not been reviewed yet, which is not the same as having been rejected. Corrections is the fastest way to add to any of the three.

What has been checked and ruled out

The list above is products that qualify and are missing. This is the opposite: tools people reasonably expect to find here, checked against the criteria and excluded. They are listed because “not in the catalog” should mean something specific, and because two of them share a brand with something that is rated here.

  • Ollama and vLLM — these run the model rather than sit in front of it. Ollama's own documentation describes ollama.com as “a remote Ollama host” and its cloud models as “automatically offloaded to Ollama's cloud service”; vLLM calls itself “a fast and easy-to-use library for LLM inference and serving”. Both expose an OpenAI-compatible endpoint, which is what invites the confusion, but neither routes to third-party providers. They are what a gateway points at, not a gateway.
  • LangChain and the Vercel AI SDK — libraries you import, not a hop your traffic passes through. LangChain documents “create_agent: a minimal, highly configurable agent harness”; the AI SDK is “the TypeScript toolkit designed to help developers build AI-powered applications and agents”. Both call models from inside your process, so there is no gateway to configure, no key to hold and no policy to enforce. Worth stating plainly for the second one: Vercel AI Gateway is rated here and the AI SDK is not. They are different products — the SDK is one of the clients that calls the gateway.
  • The LiteLLM Python SDK — the same brand split, in one repository. LiteLLM ships as both an “open-source library” you import and a separate “LiteLLM Proxy Server (LLM Gateway)”, described in its docs as “a self-hosted OpenAI-compatible gateway”. LiteLLM is rated here for the proxy, the form that is a network hop. Scores, lock-in and the compliance rows describe a running proxy; none of them would mean anything applied to an imported function call.

The pattern across all of these is one test, applied consistently: is it the network hop in front of the model, chosen for that job? A library that calls providers and a gateway that routes to them solve overlapping problems, and plenty of teams use one instead of the other — but they cannot be scored on the same fields, so putting them in the same table would make every column mean two things at once.

Back to top ↑

How we vet independent coverage

Every product page links to third-party coverage. The hard part is not finding links — it is that most of what a search returns for “product X review” is marketing wearing a review's clothes. So each link has to clear a bar before it goes on a page.

What we exclude, and why

  • Anything the vendor published or wrote. Including bylines: we dropped an InfoWorld piece on Kong's AI Gateway on finding it was authored by Kong's own CTO, and a conference talk on APISIX given by an API7 developer advocate. A vendor's own account of its product belongs in the official links section, which is a click away, not under “independent”.
  • Anything a competitor listed on this site published. A comparison table written by one gateway vendor about another is a sales document.
  • SEO and AI-generated content farms. Sites that publish a templated “review” of every tool in a category, with no author and no evidence of anyone having run the thing.
  • Launch and funding announcements. A round being raised tells you nothing about whether the product works.
  • Vendor-submitted forum posts. A “Show HN” thread where the discussion is the founders answering questions is not practitioner feedback.

What has to be true

  • The page was fetched and read, not taken from a search snippet. Several promising-looking URLs turned out to 404 or to be robots-blocked, and those were dropped rather than cited unseen.
  • Video has to come from a channel with an existing audience and subject-matter track record, not the vendor's own channel. Every video link was checked against YouTube directly to confirm it still exists — one candidate was a dead ID and was removed.
  • A discussion thread needs at least five comments. Below that it is a post, not a discussion, and six otherwise-relevant threads were cut on this rule alone.

The consequence is that coverage is uneven, and we would rather show that than hide it. Well-known platforms have plenty. Three products — Helicone, LLM Gateway and TrueFoundry — have exactly one link each, because for those the honest finding was that almost everything written about them is written by them. A thin coverage section is itself a signal worth reading.

Switch a product page to Technical mode to see, next to each link, the reason it qualified.

Back to top ↑

Why there is no “available in the US” badge

Every product in this catalog is a public internet service, so all twenty are reachable from the United States. A badge saying so would be true twenty times over and would tell you nothing. Instead the cards and product pages report the two things that genuinely differ.

  • Operator jurisdiction — the country the company is headquartered in, which is whose courts and disclosure regime it answers to. Three of the twenty sit outside the US, and those are marked so you can see it while scanning rather than after opening the page. This is sourced per product like every other value.
  • Data residency — whether processing can be pinned to a specific region. Reported only where the vendor has published a position; where they have said nothing we say nothing, rather than recording silence as a “no”.

These are separate facts and conflating them is a common way to get this decision wrong: a US-headquartered vendor can still process your data in Europe, and a European vendor can offer a US region. The providers page filters them separately for that reason.

Back to top ↑

Found something wrong

Corrections are genuinely welcome, particularly from vendors about their own products. Include the URL that shows the correct value and it can be verified and changed quickly — with the edit recorded on the changelog like any other.

Back to top ↑

The full field list, with a plain-language definition of each, is on the glossary page — 8 groups covering all 113 tracked fields.