Managed gateway Managed only Proprietary

Vercel AI Gateway

Vercel-operated gateway that routes AI SDK and OpenAI-format requests to many providers with zero token markup.

Built by Vercel, founded 2015 · US company

Access at a glance

Whether this product can work for you at all, before features matter: who pays the model bill, where it can run, and which of your existing API calls keep working. Every value is the vendor’s own claim, linked to the page it came from.

Vercel describes AI Gateway as "a unified API to access hundreds of AI models through a single endpoint", handling key management, budgets, retries and provider failover (Vercel AI Gateway docs, updated 2026-08-27). It is a hosted routing proxy in front of third-party providers, not an inference platform.

Who pays the model bill

Your keys or their credits

You can start on their credits and move to your own provider accounts later.

Usage can run on Vercel AI Gateway Credits, or on the customer's own provider keys, and BYOK still "requires purchased credits" and is "available on the paid tier" (Vercel AI Gateway BYOK; Vercel AI Gateway pricing, 2026-08-23).

Merchant of record: Vercel invoices credit-mode usage, with "no markup and no platform fee on tokens", and Enterprise can pay by invoice (Vercel AI Gateway pricing, 2026-08-23). In BYOK mode the upstream provider bills the customer's own account, but failed BYOK requests fall back to Vercel's system credentials and are billed to credits (Vercel AI Gateway BYOK).

Key handling: Customers add provider credentials in the AI Gateway dashboard for the five supported providers, and gateway keys authenticate the caller; storage mechanism (vault/KMS) is n.a. (Vercel AI Gateway BYOK). Because it is hosted-only, requests transit Vercel; zero-data-retention options are offered at $0.10 per 1,000 requests on Pro/Enterprise (Vercel AI Gateway pricing, 2026-08-23).

Where it can run

1 of 5 shapes documented
  • Vendor-hosted
  • Self-host
  • Your VPC
  • On-premise
  • Air-gapped

Dimmed shapes are not documented by the vendor, which is not the same as unsupported.

hosted SaaS only (Vercel AI Gateway docs, 2026-08-27). Self-host, hybrid/VPC, on-prem, air-gapped: n.a. (not documented).

Fully managed service reached at the https://ai-gateway.vercel.sh/v1 base URL; no customer-installed component is documented (Vercel AI Gateway getting started, updated 2026-08-22). Tier gating applies to features rather than deployment: BYOK is "available on the paid tier" (Vercel AI Gateway BYOK) and zero-data-retention options are priced for Pro/Enterprise (Vercel AI Gateway pricing, updated 2026-08-23).

API surfaces your code can keep using

6 of 7 documented
  • OpenAI chatPOST /v1/chat/completionsYes

    POST /v1/chat/completions on https://ai-gateway.vercel.sh/v1, alongside GET /v1/models (Vercel AI Gateway OpenAI compatibility, updated 2026-05-11).

  • Anthropic messagesPOST /v1/messagesYes

    POST /v1/messages plus POST /v1/messages/count_tokens (Vercel AI Gateway Anthropic Messages API, updated 2026-08-11).

  • OpenAI ResponsesPOST /v1/responsesYes

    A dedicated Responses API surface is documented (Vercel AI Gateway Responses API).

  • EmbeddingsPOST /v1/embeddingsYes

    POST /v1/embeddings (Vercel AI Gateway OpenAI compatibility, 2026-05-11).

  • ImagesPOST /v1/images/generationsYes

    Image generation (and video generation) are documented gateway capabilities (Vercel AI Gateway docs, 2026-08-27).

  • AudioPOST /v1/audio/*Yes *

    Yes, both directions: text-to-speech ("Generate spoken audio from text"), speech-to-text transcription, and realtime audio over WebSockets (Vercel AI Gateway docs, 2026-08-27).

  • Batch jobsPOST /v1/batchesNot documented *

    n.a. as an OpenAI-style Batch API; video generation is documented as running through background jobs (Vercel AI Gateway docs, 2026-08-27).

An asterisk marks a qualified verdict: support that is indirect (SDK compatibility or provider passthrough rather than a native endpoint), or a gap that is narrower or wider than the label suggests. Read the note before porting.

Drop-in base-URL swap: set the OpenAI (or Anthropic) SDK base URL to https://ai-gateway.vercel.sh/v1 and use a Vercel AI Gateway API key; the AI SDK integration is optional, not required (Vercel AI Gateway OpenAI compatibility, 2026-05-11; getting started, 2026-08-22). Model discovery uses GET /v1/models, GET /v1/models/{creator}/{model}/endpoints (Vercel models and providers, updated 2026-08-24).

How much it reaches

Models200–350vendor pages disagree
Upstream providersNot published

Models: The vendor publishes different totals on different pages; both bounds are shown.

Vendor wording varies: "hundreds of AI models" (Vercel AI Gateway docs, 2026-08-27) and "350+ more models" (getting started, 2026-08-22); a related link on the catalog page says "200+ models" (Vercel models and providers, 2026-08-24).

n.a. Vercel's models-and-providers page states no provider total (Vercel models and providers, 2026-08-24); the BYOK credential table lists 5 providers whose keys can be supplied (Anthropic, OpenAI, Azure, Google Vertex AI, Amazon Bedrock) (Vercel AI Gateway BYOK).

Whose models: All third-party routed; Vercel operates no model hardware and brokers access to provider endpoints, exposing per-model provider endpoints for routing (Vercel models and providers, 2026-08-24; Vercel AI Gateway docs, 2026-08-27).

Your own endpoints: n.a. Registering a customer-hosted endpoint (vLLM, Ollama, SageMaker, private URL) is not documented; BYOK is limited to "any provider listed in our catalog" (Vercel AI Gateway BYOK; Vercel models and providers, 2026-08-24).

How it behaves in production

What happens when an upstream model is slow, wrong, or down — and what you can see and stop while it happens. Reliability features are recorded as where you configure them, not whether the vendor lists them, because almost every product here lists all of them.

3 of 6 reachable from codenothing documented on the request path1 documented destination

When something goes wrong

Each row says where the knob is, not whether the feature is on the marketing page. A control you can only reach by hand in someone else’s dashboard cannot be reviewed or version-controlled.

  • Request timeoutPer request

    Your application decides per call, so one noisy endpoint can have its own timeout without a redeploy.

    providerOptions.gateway.providerTimeouts in milliseconds, minimum 1000, maximum 789000. It measures time until the provider starts streaming and is cleared on the first token. BYOK only. Default value not stated (Vercel provider timeouts).

  • RetriesNot documented

    The vendor does not document this, so any behaviour you observe today is unversioned and may change.

    No retry count or backoff strategy on the fetched pages; the documented recovery path is the fallback model list. Default: n.a. (Vercel model fallbacks).

  • Fallback to another modelPer request

    ORDERED: a models array tried in order (with a top-level models shorthand on the Chat Completions surface) (Vercel model fallbacks).

  • Load balancingPer request

    per_request, without weights. Controls are order, only and sort ('cost', 'ttft', 'tps'); no weight key is documented (Vercel provider options).

  • Upstream health trackingFixed, cannot change

    The behaviour is fixed by the vendor. Predictable, but you cannot tune it for your workload.

    It is automatic provider selection rather than a configurable health check or breaker: default provider choice is based on "recent uptime and latency" (Vercel provider options).

  • Cross-region failoverNot documented

    not_documented (Vercel AI Gateway docs).

Fallback chain: Ordered list — Try A, then B, then C. Simple and predictable, but every failover is all-or-nothing.

The timeout control being BYOK-only is the sharpest gotcha here: on Vercel-managed credentials there is no documented way to bound a slow provider (Vercel provider timeouts).

How fast the hop is

Undisclosed vendor service

The vendor does not disclose what the request path runs on, so no overhead floor can be inferred at all.

No runtime is disclosed anywhere on the fetched Vercel AI Gateway docs, so it is classified vendor_saas on that basis (Vercel AI Gateway docs).

You can run the request path yourselfNo
StreamingYes

No self-host artifact is offered on the fetched docs (Vercel AI Gateway docs).

Streaming caveats: Supported. Documented caveats: "Some providers don't support stream cancellation" and "You may still be charged for timed-out requests"; the provider timeout only covers time-to-first-token and is cleared once streaming starts (Vercel provider timeouts).

This vendor publishes no latency or throughput figure for the routing layer. That is the most common case here, and it is why the architecture class above carries the comparison instead of a number.

No figures published (Vercel AI Gateway docs).

What it will stop

nothing documented on the request path

No request-path policy controls are documented. That is not a fault in a product built purely for routing — but it means anything you need blocked has to be blocked before the call reaches here.

What you can see

Export is limited
What gets loggedYour choice

You decide whether bodies are captured, by setting or by header.

You can turn bodies offYes

Team-wide ZDR from the AI Gateway Settings tab, or per request providerOptions.gateway.zeroDataRetention: true; team-wide ZDR costs $0.10 per 1,000 requests while per-request ZDR is free on Pro/Enterprise (ZDR)

TracesNot documented

n.a. — No OpenTelemetry or agent tracing documented for the gateway (Observability)

The Logs view shows a transcript of request inputs and outputs, i.e. prompt/completion text is visible, yet the same docs say "AI Gateway uses zero data retention by default" and "permanently deletes your prompts and responses after requests complete" (Logs, Security and compliance) — see Contradictions

Where telemetry can go

  • CSV export

CSV and JSON export from the logs view; no streaming destinations documented (Logs)

Records user feedbackNo
Scores live trafficNo

n.a. (Observability)

n.a. (Observability)

Retention: Routing/observability details are kept 30 days by default, with Observability Plus extending the window (Observability, Logs)

Whether it fits how you work

How much work stands between you and a first call, how different that is from running it in production, and whether it slots into the stack you already have. Recorded as the shape of the work rather than a number of minutes — how long it takes you depends on which accounts and quota you already hold, which no comparison can know.

to try: sdk installto run: sdk installfits 4 of 10 common stacks

Getting to a first call

5 numbered steps
Shape of the workInstall a package

You add a dependency and construct the vendor’s client. Small, but it is a code change and a package you now maintain.

Read off: the vendor’s own quickstart — 5 numbered steps.

Before step one

  • Your own provider keyNot needed

    You can make a first call with only this product’s key. No upstream provider account needed.

    . "AI Gateway also supports Bring Your Own Key (BYOK) for any provider listed in our catalog," i.e. optional (AI Gateway Pricing); the quickstart uses an AI Gateway key or OIDC (Text Generation Quickstart)

  • Payment methodNo card needed to start

    No for the first call: "A payment method is not required for the first API call; a free tier is available… Your free credits start when you make your first AI Gateway request." (AI Gateway Pricing)

  • Gate before models answerFree tier sees fewer models

    The full catalogue is behind a paid tier, so a free evaluation tests a subset.

    No approval gate, but a catalogue limit on the free tier: it includes "a subset of models, not the full catalog," and other models require purchasing AI Gateway Credits (AI Gateway Pricing)

Everything you need first: None stated as prerequisites; within the steps you create .env.local with AI_GATEWAY_API_KEY (an AI Gateway API key), or use OIDC tokens instead. No credit card, cloud account, or cluster stated (Text Generation Quickstart)

Running it in production

The same scale applied to the path the vendor recommends for production traffic. Kept separate from the quickstart because for several products here the two are barely related pieces of work.

Shape of the workInstall a package

You add a dependency and construct the vendor’s client. Small, but it is a code change and a package you now maintain.

What production needs: A Vercel team account and AI Gateway credits beyond the free tier: "Every Vercel team account gets access to both a free tier and a paid tier for AI Gateway Credits," and buying credits requires "Choose your payment method and click on Confirm and Pay" (AI Gateway Pricing)

Can you run it yourself

Install command publishedNo self-hosting

This runs on the vendor’s infrastructure only.

How it fits your stack

4 of 10

Each row is a thing you might already run. “With a caveat” means it works but not the way the vendor’s marketing implies — read the reason, because that is usually where the surprise lives.

  • FitsThe OpenAI SDKDrop-in once set up — but first-call work is sdk install.
  • FitsThe Vercel AI SDK@ai-sdk/gateway
  • NoCloudflare WorkersNo Workers guidance published.
  • NoKubernetesNo Kubernetes deployment published.
  • NoTerraform or OpenTofuNothing published for Terraform.
  • NoAn existing API gatewayNothing published about running behind your gateway.
  • With a caveatCloud IAM I already runIts own OIDC token, not your cloud IAM.
  • FitsLangChain or LlamaIndexLangChain, LlamaIndex
  • With a caveatMCP servers to governMCP client tooling — governs nothing on your side.
  • FitsNothing — plain Node or PythonInstall a package.

Reading this the other way round — pick what you already run and see every product scored against it.

The integration surfaces behind those answers

  • Vercel AI SDKOfficial provider package

    Install the package, swap the model factory, done. Maintained by a party with a stake in it.

    Named: @ai-sdk/gateway

    Vercel AI Gateway works with the Vercel AI SDK. The documented npm package is ai (npm install ai@latest), and the AI Gateway provider is available through @ai-sdk/gateway; OpenAI-compatible access can also use @ai-sdk/openai-compatible. (AI SDK integration)

  • Cloudflare WorkersNot documented

    No Workers guidance either way. If you are edge-first, verify fetch-only compatibility yourself.

    n.a. (not documented)

  • KubernetesNot documented

    No Kubernetes story published.

    n.a. (not documented)

  • TerraformNot documented

    No Terraform surface published. Configuration is API or dashboard work.

    n.a. (not documented)

  • Existing API gatewayNot documented

    Nothing published about sitting behind an existing gateway. Treat it as a separate hop you route to yourself.

    n.a. (not documented)

  • Cloud identityIts own OIDC token

    It issues its own OIDC token rather than reusing AWS, Azure or Google identity. Good inside its platform, not a way to reuse your cloud IAM.

    No AWS/Azure/GCP IAM reuse is documented; instead Vercel documents OIDC-based auth with VERCEL_OIDC_TOKEN so deployments can call the gateway without a separate API key. (Vercel AI Gateway authentication docs)

  • MCPMCP client tooling

    Libraries and helpers for building or calling MCP. You assemble it; the product does not operate MCP for you.

    Per Vercel's AI Gateway versus MCP comparison page, the Vercel AI SDK provides createMCPClient for converting MCP tools into AI SDK tools, while mcp-handler supports building and hosting MCP servers. The page also identifies mcp.vercel.com as an official remote MCP server with OAuth. (AI Gateway vs MCP)

Python frameworks
  • LangChain
  • LlamaIndex

Official documentation covers LangChain through the Chat Completions endpoint and LlamaIndex through llama-index-llms-vercel-ai-gateway; the LlamaIndex class is VercelAIGateway from llama_index.llms.vercel_ai_gateway. (AI Gateway Python SDKs)

First-party client libraries
  • TypeScript
  • Python

Documented clients include OpenAI client libraries with TypeScript and Python examples, the TypeScript ai package, and official Python SDKs for OpenAI (pip install openai) and Anthropic (pip install anthropic); both Python SDKs provide async clients. The ecosystem documentation also lists LangChain, LlamaIndex, Mastra, Pydantic AI, LiteLLM, and Langfuse integrations. (AI Gateway Python SDKs)

Agent features: Tool calling is documented through OpenAI Chat Completions and the AI SDK, including tools, tool(...), inputSchema, execute, and stopWhen: stepCountIs(5) for continued processing after tool execution. The AI SDK Gateway provider also documents provider-executed tools and built-in tools including perplexity_search, exa_search, tako_search, and parallel_search; sessions, threads, and A2A are not stated. (AI SDK integration)

The hub page splits quickstarts by modality (text, image, video, realtime voice agents, speech, audio transcription) and advertises "350+ more models" for text plus "unified access to 200+ models through the AI SDK for Python," so the effort is a Node/TS project scaffold rather than a bare curl (Getting Started with AI Gateway, Text Generation Quickstart)

AI Gateway provides unified access to hundreds of models through a single endpoint, with integrations for the AI SDK, OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and other frameworks. The Vercel documentation describes API-key and Vercel OIDC authentication, dashboard-based usage management and observability, provider BYOK, and availability through AWS Marketplace private offers; self-hosting and single-cloud requirements are not stated. (Vercel AI Gateway overview)

Silence in the docs: 4 of the integration questions on this card have no published answer either way. That is recorded as undocumented, not as a no — but it does mean you would be verifying it yourself.

What it does well

  • Zero markup on tokens, including with BYOK, and no credit-purchase fee
  • Public unauthenticated models endpoint with pricing and per-provider endpoint data
  • Per-request ZDR and provider allowlists at no extra cost
  • Deep AI SDK integration plus provider ordering, sorting, timeouts and model fallbacks
  • Strong platform compliance posture: SOC 2 Type 2, ISO 27001, HIPAA on enterprise, GDPR

Where it falls short

  • Narrower long-tail catalog and fewer provider deployments per open-weight model than OpenRouter
  • Team-wide ZDR and team-wide provider allowlists are metered at $0.10 per 1,000 requests
  • BYOK requires purchased credits, can silently fall back to Vercel credentials, and is excluded from budgets
  • No semantic cache and no native content guardrails

Choose it when

Teams already shipping on Vercel with the AI SDK who want zero token markup and no credit-purchase fee.

Look elsewhere when

You need the widest possible provider pool per model, self-hosting, or you are not otherwise on Vercel.

Managed gateway: A hosted control plane in front of the models: routing, caching, guardrails, spend limits, and logs. You trade a little simplicity for governance.

How hard is it to leave?

Derived from six published facts, not from an opinion. The weights are fixed and the same for every product — see the arithmetic.

64/84Some work to leave
Portability score breakdown for Vercel AI Gateway
What helps you leave Points Source
Works with standard OpenAI codeSwitching away is a base-URL change rather than a rewrite of every call site.22/22 vendor page
No vendor-specific SDK requiredA proprietary client library spreads through your codebase and has to be torn out again.10/10 vendor page
Can use your own provider accountsYour keys and billing relationship stay yours, so removing the gateway does not cut off model access.20/20 vendor page
Can be self-hostedYou can run it yourself instead of accepting a pricing or policy change.0/20 vendor page
Configuration lives in version controlRouting and budget rules are a file you keep, not dashboard state you would have to rebuild.not published
Your request history can be exportedYou leave with your own logs instead of abandoning them.12/12 vendor page

1 of the 6 inputs is not published, so the highest reachable score here is 84 rather than 100. That is a gap in the public documentation, not a mark against the product — no points are deducted, they simply cannot be claimed. This measures technical switching cost only. It does not price the engineering time to re-test prompts against a different routing stack.

Full specification

Every field we track. Blank fields say "Not published" rather than "No" — we do not infer an absence from silence. Switch to Technical in the header for the precise field names and the low-level details.

Overview

What kind of product Category
Managed gateway Not verified
Marketplaces resell many providers behind one key. Gateways add governance on top. Open-source projects you run yourself. Cloud platforms are hyperscaler surfaces. Inference providers host models on their own hardware.
Who runs it Deployment model
Managed only Verified 2 days ago
Managed means the vendor operates it. Self-host means you run it on your own infrastructure. Both means you can choose.
Licence Licence
Proprietary Verified 2 days ago
Proprietary products cannot be inspected or forked. Open licences such as MIT and Apache-2.0 let you audit, modify, and run the code without permission.
Company Company
Vercel Not verified
The organisation that maintains the product.
Who you would be signing with Vendor status
Independent company Not verified
Whether the product is still an independent company, has been acquired, is a large cloud vendor’s product line, is run by a software foundation, or has been put into maintenance mode. Maintenance mode means bug fixes and security patches only — no new features.
Last shipped an update Latest release
2026-08-28 Not verified
The date of the most recent release or version tag. A product that has not shipped in a year is a different risk from one that shipped last week, regardless of what its marketing site says.
GitHub stars GitHub stars
Not published Not verified
A rough proxy for community size on open-source projects. Not a quality measure.

Cost

Markup on model prices Token markup
None Verified 2 days ago
How much the product adds on top of what the underlying model provider charges. Zero means you pay the same per-token price you would pay the model provider directly.
Fee to add funds Credit purchase fee
None Verified 2 days ago
A percentage charged when you top up your balance, separate from token prices. It is easy to miss because it does not appear on the per-token price list.
Monthly cost per person Seat fee
$20/user/mo Verified 2 days ago
A recurring per-user platform charge that applies regardless of how much you use the models.
Can use your own provider accounts BYOK supported
Yes Verified 2 days ago
Bring Your Own Key: you keep direct contracts with OpenAI, Anthropic and others, and the gateway only routes traffic. This preserves negotiated rates and committed-spend discounts.
Enterprise plan from Enterprise plan from
Not published Not verified
Annual entry price for the enterprise tier, where one is published or credibly reported.
Cost to run it yourself Self-host cost
Not published Not verified
What self-hosting actually costs once you account for infrastructure and any paid tier.
How the vendor makes money Pricing model
Percentage on tokens or top-ups Not verified
The shape of the vendor’s bill: does the routing layer charge a percentage on top of tokens, a flat monthly fee, both, neither (because inference is the product), or nothing at all (open source with no paid tier).
How pricing works, briefly Pricing model detail
Credit-based pay-as-you-go with 0% markup and no platform fee on tokens. Monetizes gateway features à la carte: provider allowlists, ZDR, custom reporting writes/queries, Trace Drains. Enterprise can pay by invoice with no processing fees. Pricing page last updated 2026-08-23. Not verified
A one-paragraph description that covers the caveats a pricing category cannot: introductory rates, per-feature meters, tier gating, and pricing that resets on a specific date.
Minimum commitment Minimum commitment
None. Credits purchasable at any time with no obligation to renew; custom volume discounts on Enterprise. Not verified
Whether the vendor requires a minimum contract term, a minimum spend, or a provisioned-capacity purchase to get its published rate.
Charges that fire after you go over an allowance Overage terms
Trace Drains meter trace events delivered and trace data transferred; Pro plans include no allowance for either. Team-wide provider allowlist: $0.10 per 1,000 successful requests. Team-wide zero data retention: $0.10 per 1,000 requests. Custom Reporting: $0.075 per 1,000 tag/user/quota-entity writes and $5 per 1,000 reporting-endpoint queries. All billed outside credits. Not verified
The line items that scale with usage after an included allowance is exhausted — log storage, extra requests, per-feature meters, data export — which is where cost estimates usually go wrong.
Prompt cache offered Cache mechanism
No gateway-owned cache Not verified
Whether the gateway offers its own response cache, what kind of match it does (exact request, prefix, semantic), or simply passes provider caching through unchanged.
Discount on cached input Cache-read discount
Not published Not verified
How much cheaper cached tokens are than fresh input, when the vendor publishes a single figure. Bundled-inference clouds usually price this per model instead of as one number.
Premium on cache writes Cache-write premium
Not published Not verified
How much more the first write of a cached prefix costs versus a plain input token. A high write premium and a low hit rate can leave you paying more than you save, so this matters as much as the read discount.
Who captures the cache saving Cache economics
Pricing page does not state whether the gateway caches or passes through provider caching, and no cached-token pricing is published. Because Vercel charges provider list price with 0% markup, any provider cache discount would reach the customer unchanged. Not verified
Whether the customer keeps the full saving from caching or the vendor captures part of it — and any conditions attached (write premium, storage fees, best-effort hits).
What you can split spend by Cost attribution
By tags, user IDs and quota entity IDs via Custom Reporting (queried through the reporting endpoint at $5/1k queries). Per team/key/customer not explicitly stated. Not verified
The dimensions the vendor documents for splitting spend — per key, per user, per team, per tag, per customer. Matters if you need to chargeback internally or bill an end customer.
How you get cost data out Cost export
Reporting API plus Trace Drains (Pro/Enterprise, metered). CSV/S3/warehouse not stated. Not verified
The mechanisms the vendor publishes for exporting cost and usage data: CSV, an API, webhooks, S3, a data warehouse, or nothing at all. Any per-unit price is included.
Who pays the model bill BYOK mode
Your keys or their credits Not verified
Whether you bring your own provider accounts (BYOK), buy inference from this vendor, or can do either. This is the single biggest commercial difference between these products: it decides who holds the contract with the model provider and who carries the spend.

Spend governance in detail

Seven signals matter when a bill starts to hurt: who can spend, how much, on what, and who gets paged when it goes wrong. Everything below is drawn from the vendor’s own pricing and docs pages — how we read these.

  • Virtual or scoped keysNot published

    Keys that carry their own budget and rate-limit policy, so an intern experiment cannot spend against a production budget.

    Not stated as virtual keys; budgets attach to keys.

  • Budget caps per keyYes

    A dollar or token ceiling attached to an individual key. Where enforcement is soft, one over-limit request still completes before the block kicks in.

    Budgets at four scopes — team, project, API key, team member. Minimum $1, default monthly refresh. Enforcement is soft: the request that crosses the limit still completes, then HTTP 402. BYOK spend excluded from budgets.

  • Budget caps per team or workspaceYes

    A ceiling applied at a higher scope than one key — a team, a workspace, a customer, or an entire environment.

    Team-scope budgets supported (see per-key).

  • Rate limiting as a cost controlYes

    Configurable request-per-time-window caps. Platform-set rate limits do not count as spend controls; user-configurable ones do.

    Platform-set per model, higher on paid tier; not user-configurable.

  • Model allowlistsYes — paid

    A policy that constrains which models a key or team can call, keeping expensive frontier models out of the wrong hands.

    Per-request `only` filter free on all plans. Team-wide provider allowlist is Pro/Enterprise metered at $0.10 per 1,000 successful requests.

  • Spend alertsNot published

    Alerts fired as spend approaches a threshold. Alerts that only fire after the meter has rolled over are marked as such.

    Not stated.

  • Webhook notificationsNot published

    Programmatic notifications on spend events, so budget breaches can page an on-call or open a ticket.

    Not stated.

Enforcement:Some controls pre-request, others after the fact

Catalog

Models available Models available
200–350 Verified 2 days ago
How many models you can call, shown as a range because several vendors publish different totals on different pages. Vendor-reported either way, so counts are not directly comparable — some count every provider variant of the same model separately.
Model providers reachable Upstream providers
Not published Not verified
How many distinct model providers or labs you can reach, shown as a range where the vendor’s own pages disagree. More providers usually means better redundancy when one has an outage.
Works with standard OpenAI code OpenAI-compatible API
Yes Verified 2 days ago
If yes, you can usually switch to it by changing one base URL, and switch away just as easily. This is the main defence against lock-in.
OpenAI chat endpoint POST /v1/chat/completions
Yes Not verified
The endpoint almost every application ports first. "Not documented" means the vendor never states it, which is different from a documented no.
Anthropic messages endpoint POST /v1/messages
Yes Not verified
Whether Anthropic-shaped calls work without rewriting them. Several products support this only as SDK compatibility or provider passthrough rather than a native endpoint — the detail page says which.
OpenAI Responses endpoint POST /v1/responses
Yes Not verified
The newer stateful OpenAI surface. Support is much thinner across this market than chat completions.
Embeddings endpoint POST /v1/embeddings
Yes Not verified
Whether you can generate vectors through the same gateway, or need a second integration for retrieval workloads.
Image generation endpoint POST /v1/images/generations
Yes Not verified
Whether image models are reachable through the same surface as text.
Audio endpoints POST /v1/audio/*
Yes Not verified
Speech-to-text and text-to-speech. Frequently the first gap in an otherwise complete gateway.
Batch jobs endpoint POST /v1/batches
Not documented Not verified
Asynchronous bulk processing, usually at a discount. Commonly undocumented, and commonly the reason a migration stalls late.
Needs the vendor’s own code library Requires a vendor-specific SDK
No Verified 2 days ago
A proprietary client library spreads through your codebase and has to be torn out again if you leave. “No” is the better answer here, and it means the standard OpenAI client works.
You can export your request history Logs / usage data export
Yes Verified 2 days ago
Whether you can get your own request logs, traces, or usage records back out — through an API, a bulk export, or a download. Decides whether you leave with your history or abandon it.
Settings can live in version control Declarative config-as-code
Not published Not verified
Whether routing, fallback, and budget rules can be declared in a file you keep in Git, rather than existing only as settings clicked into a hosted dashboard.
Embeddings Embeddings
Yes Verified 2 days ago
Text-to-vector models, needed for search and retrieval features.
Image generation Image generation
Yes Verified 2 days ago
Whether image models are reachable through the same interface.
Speech and audio Speech and audio
Yes Verified 2 days ago
Text-to-speech or transcription models through the same interface.
Video generation Video generation
Yes Verified 2 days ago
Whether video models are reachable through the same interface.
Batch processing Batch processing
Not published Not verified
Submitting large jobs for cheaper, slower processing. Often 50% off for work that is not time-sensitive.

Routing & reliability

Uptime it promises in writing Contractual SLA uptime
99.99% Not verified
The uptime percentage in a published, contractual service level agreement. A public status page is not an SLA — it reports what happened, it does not promise anything or pay you back when it breaks.
Automatic failover Automatic failover
Yes Verified 2 days ago
When a model provider goes down or rate-limits you, traffic moves to a backup automatically instead of returning errors to your users.
Load balancing Load balancing
Yes Verified 2 days ago
Spreads requests across several providers or keys to raise your effective rate limit.
Rule-based routing Conditional routing
Yes Verified 2 days ago
Send different requests to different models based on rules — for example a cheap model for free users and a strong model for paying ones.
Response caching Response caching
Yes Verified 2 days ago
Reuses the answer when the exact same request comes in again, which cuts both cost and latency.
Similar-question caching Semantic cache
No Verified 2 days ago
Reuses an answer when a new question means roughly the same thing as an earlier one. Saves far more than exact-match caching but can return subtly wrong answers if tuned loosely.
Where you set the timeout Request timeout surface
Per request Not verified

`providerOptions.gateway.providerTimeouts` in milliseconds, minimum `1000`, maximum `789000`. It measures time until the provider starts streaming and is cleared on the first token. **BYOK only.** Default value not stated ([Vercel provider timeouts](https://vercel.com/docs/ai-gateway/models-and-providers/provider-timeouts)).

Where a request timeout can be set: per request, in a config file, in the vendor dashboard, or nowhere. Nine of the twenty products documented here do not describe a request timeout at all, so the worst case of a hung upstream call is unknowable from the docs.
Where you set retries Retry policy surface
Not documented Not verified

No retry count or backoff strategy on the fetched pages; the documented recovery path is the fallback model list. Default: `n.a.` ([Vercel model fallbacks](https://vercel.com/docs/ai-gateway/models-and-providers/model-fallbacks)).

Where retry count and backoff are configured. Worth knowing alongside billing: a retried streaming call can be charged more than once.
Where you set fallbacks Fallback surface
Per request Not verified

ORDERED: a `models` array tried in order (with a top-level `models` shorthand on the Chat Completions surface) ([Vercel model fallbacks](https://vercel.com/docs/ai-gateway/models-and-providers/model-fallbacks)).

Where the fallback chain is defined. Almost every product claims fallback; the useful question is whether you can change it from code or only by hand in a dashboard.
Shape of the fallback chain Fallback shape
Ordered list Not verified
An ordered list tries targets in sequence; a weighted split sends a percentage of traffic to each, which is what you need to trial a new model on 5% of requests. Weighted splits are much rarer than the marketing implies.
Upstream health tracking Health checks / circuit breaking
Fixed, cannot change Not verified

It is automatic provider selection rather than a configurable health check or breaker: default provider choice is based on "recent uptime and latency" ([Vercel provider options](https://vercel.com/docs/ai-gateway/models-and-providers/provider-options)).

Whether the product notices a failing upstream and stops sending traffic to it, and whether you can tune the thresholds. This is what turns a provider outage into a blip rather than a sustained error rate, and only four of the twenty expose it.
Cross-region failover you control Multi-region failover surface
Not documented Not verified

`not_documented` ([Vercel AI Gateway docs](https://vercel.com/docs/ai-gateway)).

Whether you can define what happens when a region degrades. A vendor running many regions is not the same as a vendor letting you configure failover between them; only three document a user-controlled mechanism.
Where you set load balancing Load balancing surface
Per request Not verified

`per_request`, without weights. Controls are `order`, `only` and `sort` (`'cost'`, `'ttft'`, `'tps'`); no weight key is documented ([Vercel provider options](https://vercel.com/docs/ai-gateway/models-and-providers/provider-options)).

Where traffic distribution across upstreams or keys is configured.

Operations

Usage dashboards and logs Observability
Yes Verified 2 days ago
Built-in visibility into what was sent, what came back, what it cost, and how long it took.
Spending limits Budget controls
Yes Verified 2 days ago
Hard caps that stop spend before it becomes a surprise invoice. The single most valuable control for a small team.
Rate limits Rate limits
Yes Verified 2 days ago
Caps on request volume per key or per user, useful for protecting against abuse and runaway loops.
Separate keys per team or app Virtual keys
Yes Verified 2 days ago
Issue scoped keys with their own budgets and permissions so you can attribute cost and revoke access without rotating everything.
Prompt versioning Prompt management
Not published Not verified
Store and version prompts outside your code so they can be changed without a deploy.
Quality testing Evals
Not published Not verified
Built-in tooling to score model output against test cases, so you can tell whether a model swap made things better or worse.
MCP support MCP support
Not published Not verified
Native support for the Model Context Protocol, the emerging standard for connecting models to external tools.
What gets logged Logged content
Your choice Not verified

The Logs view shows a transcript of request inputs and outputs, i.e. prompt/completion text is visible, yet the same docs say "AI Gateway uses zero data retention by default" and "permanently deletes your prompts and responses after requests complete" ([Logs](https://vercel.com/docs/ai-gateway/observability-and-spend/logs), [Security and compliance](https://vercel.com/docs/ai-gateway/security-and-compliance)) — see Contradictions

Whether full prompts and responses are stored, only metadata, or nothing. Full-body logging is the most useful debugging feature here and the one most likely to need a conversation with your compliance team.
You can turn logging off Body-logging opt-out
Yes Not verified

Team-wide ZDR from the AI Gateway Settings tab, or per request `providerOptions.gateway.zeroDataRetention: true`; team-wide ZDR costs $0.10 per 1,000 requests while per-request ZDR is free on Pro/Enterprise ([ZDR](https://vercel.com/docs/ai-gateway/security-and-compliance/zdr))

Whether prompt and response bodies can be suppressed while still keeping usage metrics. Nineteen of the twenty document a way to do this; the mechanisms range from a per-request header to an organisation-wide setting.
Traces you can take elsewhere Distributed tracing
Not documented Not verified

`n.a.` — No OpenTelemetry or agent tracing documented for the gateway ([Observability](https://vercel.com/docs/ai-gateway/observability-and-spend/observability))

Whether the product emits OpenTelemetry, a proprietary format, or nothing. OpenTelemetry means the traces land in the tooling you already run instead of only in the vendor’s dashboard.
Where telemetry can go Export destinations
CSV export Not verified

CSV and JSON export from the logs view; no streaming destinations documented ([Logs](https://vercel.com/docs/ai-gateway/observability-and-spend/logs))

Documented sinks for logs and metrics. This is a good proxy for how replaceable the vendor’s own dashboard is: around twenty destinations means you never have to depend on it, while a CSV download means you do.
Can record user feedback Feedback capture API
No Not verified

`n.a.` ([Observability](https://vercel.com/docs/ai-gateway/observability-and-spend/observability))

Whether there is an API to attach a rating or score to a logged request, which is what lets production traffic feed quality work later.
Scores live traffic Online eval hooks
No Not verified

`n.a.` ([Observability](https://vercel.com/docs/ai-gateway/observability-and-spend/observability))

Whether automated scorers can run against real production requests, rather than only against a test set you assemble yourself.

Performance

Delay it adds Proxy overhead
Not published Not verified
Extra time the product itself adds to each request, on top of however long the model takes. Usually irrelevant next to multi-second model latency, but it matters for high-volume or streaming-sensitive workloads.
Requests per second ceiling Throughput
Not published Not verified
Published sustained request rate before the product becomes the bottleneck. Only relevant at genuinely high volume.
What the request path runs on Architecture class
Undisclosed vendor service Not verified

No runtime is disclosed anywhere on the fetched Vercel AI Gateway docs, so it is classified `vendor_saas` on that basis ([Vercel AI Gateway docs](https://vercel.com/docs/ai-gateway)).

The comparable way to talk about latency here. An edge worker, a compiled Go or Rust binary, and a Python proxy have different overhead floors no matter which figures each vendor publishes. Products that never disclose their runtime are recorded as undisclosed rather than assumed.
You can run the request path yourself Self-hostable data plane
No Not verified

No self-host artifact is offered on the fetched docs ([Vercel AI Gateway docs](https://vercel.com/docs/ai-gateway)).

Whether the component that actually carries your prompts can run on your own infrastructure. Distinct from a vendor offering a self-hosted control plane while still proxying traffic through their network.
Streaming responses Streaming support
Yes Not verified

Supported. Documented caveats: "Some providers don't support stream cancellation" and "You may still be charged for timed-out requests"; the provider timeout only covers time-to-first-token and is cleared once streaming starts ([Vercel provider timeouts](https://vercel.com/docs/ai-gateway/models-and-providers/provider-timeouts)).

Whether token-by-token streaming is documented. The caveats matter more than the yes: some products cannot cancel a stream without still being billed, and several timeout and fallback mechanisms stop applying once the first token has been sent.

Security & compliance

Does your prompt reach their servers Prompt transits vendor
Yes Not verified

Hosted only, with primary processing facilities in the United States.

Whether the text you send passes through this company’s own infrastructure. If it does, every other promise on this page is a policy commitment rather than a physical impossibility. Self-hosted products can answer no outright.
What they keep if you change nothing Logging default
Yes — prompts and replies Not verified

Vercel's own documentation contradicts itself here. The logs page shows captured inputs and outputs in a transcript view; the security overview states the gateway uses zero data retention by default; the ZDR page scopes ZDR to paid tiers. Get the behaviour for your specific tier in writing before you rely on it.

Defaults matter more than options. A product that stores full prompts and replies unless you find the right header will have stored them by the time you read the docs.
How long they keep it Default content retention (days)
30 days Not verified

Routing attempt details are kept for 30 days. Prompts and outputs are kept for zero days where ZDR actually applies — which is the point the documentation disagrees on.

Default retention for request content, in days. Zero means nothing is kept. Read the note: several products keep nothing as a rule but make timed exceptions for abuse review or specific models.
Could they train on your prompts Training on customer data
No Not verified

Vercel does not use your prompts or responses for training. Separately, it does not by default avoid providers that do — you must set disallowPromptTraining to filter those out.

Whether the vendor may use your prompts and outputs to train models. “Not published” means we could not find any position, which is not the same as a no — ask for it in writing.
Where it runs, and what you can pin Region and residency control
US primary, and the data-processing agreement permits transfer anywhere in the world. No customer-VPC option and no documented gateway region pinning. Not verified
Which regions are offered and whether you can force processing to stay in one. A global endpoint that silently picks a region is a different compliance story from an endpoint you pin yourself.
Where safety filters run Guardrail execution location
No guardrails offered Not verified

No guardrails or PII redaction is documented. The security surface is ZDR plus routing filters on provider training policy.

A filter that strips personal data only helps if it runs before the data leaves your boundary. If guardrails execute in the vendor’s cloud, the vendor has already received whatever you wanted redacted.
Who else touches the data Subprocessor list
https://security.vercel.com/ Not verified
The published list of third parties the vendor passes your data to. No list means you cannot know the full chain, which most data-protection agreements require you to.
SOC 2 audited SOC 2 audited
Yes Verified 2 days ago
An independent audit of security controls. Enterprise buyers and their procurement teams routinely require it.
Will sign a HIPAA agreement HIPAA BAA
Yes Verified 2 days ago
Required before you may send protected health information through the service. Without a signed BAA, healthcare data is off limits.
GDPR commitments GDPR commitments
Yes Verified 2 days ago
Published data processing terms for handling personal data of people in the EU and UK.
Can keep data in the EU EU data residency
Not published Not verified
Requests can be processed inside the EU rather than routed to US infrastructure. Often the deciding constraint for European customers.
Does not retain your data Zero data retention
Yes Verified 2 days ago
Prompts and responses are not stored after the request completes. Sometimes a paid add-on rather than the default.
Strips personal data PII redaction
Not published Not verified
Detects and removes identifiers such as names, emails, and card numbers before the request reaches the model provider.
Content guardrails Content guardrails
No Verified 2 days ago
Policy checks on inputs and outputs — blocking unsafe content, enforcing formats, or catching prompt-injection attempts.
Runs fully disconnected Air-gapped deployment
No Verified 2 days ago
Can be deployed in a network with no internet access, which some regulated and defence environments require.
Blocks personal data in prompts PII / DLP enforcement
Not documented Not verified

The security and compliance section documents allowlists and ZDR, and states nothing about PII detection ([Security and compliance](https://vercel.com/docs/ai-gateway/security-and-compliance))

Whether personal data detection sits on the request path and can stop the call, merely inspects and forwards it, or is not documented. A control that only reports is a logging feature, not a policy control.
Blocks prompt injection Injection / jailbreak enforcement
Not documented Not verified

`not_documented` ([Security and compliance](https://vercel.com/docs/ai-gateway/security-and-compliance))

Whether injection and jailbreak detection can stop a request. Most products offering this call a partner classifier rather than shipping their own.
Blocks harmful content Toxicity / moderation enforcement
Not documented Not verified

`not_documented` ([Security and compliance](https://vercel.com/docs/ai-gateway/security-and-compliance))

Whether hate, violence, sexual and self-harm categories are checked inline and can stop a request, in either direction.
Your own policy rules Custom policy hooks
Not documented Not verified

No regex/word-list/JSON-schema policy engine ([Security and compliance](https://vercel.com/docs/ai-gateway/security-and-compliance))

Whether you can add your own rule — a regex, a webhook, or your own classifier — rather than choosing from the vendor library.
Where guardrails run Guardrail execution location
On the vendor's servers Not verified
Whether guardrail evaluation happens inside your infrastructure or on the vendor’s servers. This decides whether the prompt you are trying to protect leaves your network in order to be checked.
If the guardrail itself fails Guardrail failure mode
Not documented Not verified

There is no guardrail service; the analogous documented failure is ZDR routing, which fails closed with a `no_providers_available` 400 error when no ZDR provider can serve the model ([ZDR](https://vercel.com/docs/ai-gateway/security-and-compliance/zdr))

What happens when the guardrail service times out or errors: does the request proceed unchecked, or is it blocked? This is the worst-documented field in the entire catalogue — only two vendors state it plainly, which means most teams are running a control whose failure behaviour they cannot know.
Third-party guardrail vendors Guardrail integrations
Not published Not verified
Named external guardrail services the product can call. A long list means the product is a router for policy engines rather than a policy engine itself — which also means another vendor bill and another hop.

Compliance evidence

Graded by how strong the evidence is, not whether the word appears on the vendor’s website. An audited report and a marketing claim are different things, and only one of them will satisfy your own auditor.

  • SOC 2 Certified Type 2, third-party audited
  • ISO 27001 Certified listed on the trust center
  • GDPR DPA Certified DPA published
  • HIPAA BAA Certified listed on the trust center
  • FedRAMP Not published
  • ITAR Not published

Vendor source

Fit & integration

Work to try it Evaluation work shape
Install a package Not verified
The shape of the work on the vendor’s own quickstart, from swapping one base URL through to deploying infrastructure. An ordinal class rather than a duration, because elapsed time depends on accounts and quota we cannot see.
Work to run it Production work shape
Install a package Not verified
The same scale applied to the vendor’s recommended production path. For several products this is much heavier than the quickstart, which is exactly why both are recorded.
Steps on the quickstart Numbered quickstart steps
5 Not verified
A literal count of numbered steps on the vendor’s quickstart, recorded as evidence beside the work shape. Zero means the page publishes no numbered procedure at all. Large counts usually mean interleaved language tracks rather than more work.
Can you self-host it today Self-host install documentation
No self-hosting Not verified
Whether an install command is actually published. Several products advertise self-hosting while publishing no command to start from, which a plain yes/no would hide.
Works with the OpenAI SDK OpenAI SDK drop-in
Yes Not verified

Yes. Existing OpenAI client libraries can be used by setting the base URL to `https://ai-gateway.vercel.sh/v1` and authenticating with an AI Gateway API key or Vercel OIDC token. ([OpenAI Chat Completions integration](https://vercel.com/docs/ai-gateway/sdks-and-apis/openai-chat-completions))

Whether an existing OpenAI-compatible client can be pointed at it by changing the base URL and key.
Vercel AI SDK support AI SDK provider package
Official provider package Not verified

Vercel AI Gateway works with the Vercel AI SDK. The documented npm package is `ai` (`npm install ai@latest`), and the AI Gateway provider is available through `@ai-sdk/gateway`; OpenAI-compatible access can also use `@ai-sdk/openai-compatible`. ([AI SDK integration](https://vercel.com/docs/ai-gateway/sdks-and-apis/ai-sdk))

Whether a first-party AI SDK provider package exists, or only a community package, a documented workaround, or the generic OpenAI provider pointed at a custom base URL.
Python framework integrations Documented Python frameworks
LangChain, LlamaIndex Not verified

Official documentation covers LangChain through the Chat Completions endpoint and LlamaIndex through `llama-index-llms-vercel-ai-gateway`; the LlamaIndex class is `VercelAIGateway` from `llama_index.llms.vercel_ai_gateway`. ([AI Gateway Python SDKs](https://vercel.com/docs/ai-gateway/sdks-and-apis/python))

LangChain, LangGraph, LlamaIndex and similar orchestration frameworks with a documented integration.
Callable from Cloudflare Workers Cloudflare Workers support
Not documented Not verified

n.a. (not documented)

Whether the docs show calling this product from your own Worker. Deliberately separated from the several products whose own gateway runs on Workers, which is a fact about their infrastructure and not about your edge compatibility.
Kubernetes install Helm chart availability
Not documented Not verified

n.a. (not documented)

Whether a named, published Helm chart exists, versus Helm being referenced with no chart named, versus generic cluster documentation that has nothing to do with this product.
Terraform support Terraform provider or modules
Not documented Not verified

n.a. (not documented)

Whether you can declare this in code: an official provider, official modules, resources inside a hyperscaler’s provider, a community provider, or only Terraform code shipped in a repo.
Reuses your cloud identity Cloud IAM reuse
Its own OIDC token Not verified

No AWS/Azure/GCP IAM reuse is documented; instead Vercel documents OIDC-based auth with `VERCEL_OIDC_TOKEN` so deployments can call the gateway without a separate API key. ([Vercel AI Gateway authentication docs](https://vercel.com/docs/ai-gateway/authentication))

Whether you can authenticate with IAM roles, workload identity or managed identities instead of another long-lived API key. Distinguished from products that only accept static upstream provider credentials.
Fits behind your API gateway API gateway integration
Not documented Not verified

n.a. (not documented)

Whether AI traffic can go through a gateway you already run, and who documented that — the product’s vendor or the gateway’s.
MCP support MCP surface shape
MCP client tooling Not verified

Per Vercel's AI Gateway versus MCP comparison page, the Vercel AI SDK provides `createMCPClient` for converting MCP tools into AI SDK tools, while `mcp-handler` supports building and hosting MCP servers. The page also identifies `mcp.vercel.com` as an official remote MCP server with OAuth. ([AI Gateway vs MCP](https://vercel.com/i/ai-gateway-vs-mcp))

Which kind of MCP support this is: a gateway that governs many MCP servers, a hosted MCP server you connect to, MCP tools accepted inside the completion API, or client tooling. These are different products behind one acronym.
Needs your own provider key Upstream provider key required
Not needed Not verified

No. "AI Gateway also supports Bring Your Own Key (BYOK) for any provider listed in our catalog," i.e. optional ([AI Gateway Pricing](https://vercel.com/docs/ai-gateway/pricing)); the quickstart uses an AI Gateway key or OIDC ([Text Generation Quickstart](https://vercel.com/docs/ai-gateway/getting-started/text))

Whether an upstream provider account and key must exist before your first call works. A prerequisite rather than a step, and it can differ between the hosted and self-hosted forms of the same product.
Gate before models work Model access gate
Free tier sees fewer models Not verified

No approval gate, but a catalogue limit on the free tier: it includes "a subset of models, not the full catalog," and other models require purchasing AI Gateway Credits ([AI Gateway Pricing](https://vercel.com/docs/ai-gateway/pricing))

Whether an enablement click, a quota grant, a paid tier or an approval form stands between a valid key and a working model call.
Official client languages First-party client SDK languages
TypeScript, Python Not verified

Documented clients include OpenAI client libraries with TypeScript and Python examples, the TypeScript `ai` package, and official Python SDKs for OpenAI (`pip install openai`) and Anthropic (`pip install anthropic`); both Python SDKs provide async clients. The ecosystem documentation also lists LangChain, LlamaIndex, Mastra, Pydantic AI, LiteLLM, and Langfuse integrations. ([AI Gateway Python SDKs](https://vercel.com/docs/ai-gateway/sdks-and-apis/python))

Languages with a first-party client library. An empty list can still mean the product is usable from any language via an OpenAI-compatible SDK.

Additional charges

These are the fees that do not appear on a per-token price list, and they are where estimates usually go wrong.

  • Team-wide zero data retention $0.10 per 1,000 requests (Pro and Enterprise)
  • Team-wide provider allowlist $0.10 per 1,000 successful requests (Pro and Enterprise)
  • Custom Reporting writes $0.075 per 1,000 tag / user ID / quota entity writes
  • Custom Reporting queries $5 per 1,000 queries to the reporting endpoint
  • Vercel Pro developer seat $20 per month
Back to top ↑

Official links

Independent coverage

Third-party analysis, walkthroughs and operator threads. We link criticism as readily as praise. Nothing here is written or published by the vendor, by a competitor listed on this site, or by an SEO content farm — how we vet these.

Written reviews and analysis 2

Video 1

Practitioner discussion 2

What has changed here

No tracked value on this page has moved since it was first researched. Every figure still carries its original citation and check date.

Back to top ↑

Read the head-to-head

These pairs have a written verdict, not just a table.

Usually weighed against