90 days of the enterprise, pro and team plans free, no card needed. See the plans
LLM gateway for coding tools
Requesty is a hosted gateway: change the base URL and reach hundreds of models through one key with failover, caching, spend limits and PII masking, popular with Cursor, Cline and Roo Code users. OpenSmartRoute decides across every capability you own - models, agents, tools, people - under hard policy, explains each decision, learns from your outcomes and runs self-hosted.
“A gateway swaps the URL; a router decides, explains and learns.”
Our reading of public documentation; corrections welcome through the support page.
| Capability | OpenSmartRoute | Requesty |
|---|---|---|
| Routes to LLMs | Yes | Yes |
| Routes to agents, skills, tools, workflows and humans | Yes | No |
| Hard policy before scoring (region, data boundary, PII, tenant, cost)An EU endpoint and model approval lists; no per-request boundary or tenant gate with a rejection trace | Yes | Partial |
| Per-request trace with ranked candidates and rejections | Yes | No |
| Learns from your outcomes (per target, per tenant) | Yes | No |
| Multi-step plans (persona -> skill -> model) | Yes | No |
| Self-hosted, air-gapped, zero runtime dependencies | Yes | No |
| Prompt-injection and steering-gadget defences on the router | Yes | No |
| Output guard on responses (PII, secrets, injection: flag, redact or block)Masks personal data on the way in; prompt-injection and response screening are not documented | Yes | Partial |
| Savings ledger, bill analysis and routing auditEvery request records baseline and routed cost; upload last month's provider export to see what routing would have saved before you switch | Yes | No |
| OpenAI-compatible proxy (chat, embeddings, Responses, moderations, audio, images)Chat completions and embeddings through the OpenAI shape; other routes follow the provider | Yes | Partial |
| Anthropic Messages API (/v1/messages)Anthropic models through the OpenAI-compatible endpoint rather than the Messages API | Yes | Partial |
| Virtual keys: per-key budgets, rate limits, allowed targets, scopes and expiryPer-key spend limits and model allow-lists; no scopes or expiry | Yes | Partial |
| Per-target rate limits, budgets and circuit breakersAutomatic failover between providers; no per-target budget or breaker you tune | Yes | Partial |
| Python and TypeScript SDKsWorks with the OpenAI SDKs; no router SDK of its own | Yes | Partial |
| MCP server for IDEs and agents | Yes | No |
| Browser extension and desktop app for the people on the teamPrice, personal-data and writing checks on the device before a prompt is sent, on ChatGPT, Claude, Gemini and in any desktop app | Yes | No |
| Provider marketplace with creditsModels by the token: every catalogue model on offer per provider with the price you pay, one key, a prepaid credits wallet and provider preferences (order, only, ignore, max_price) | Yes | Yes |
| Request/response observability UI for every callDecision trace, tokens, cost and outcome per request; prompt and answer stored when the workspace turns on request logging (redacted or full) | Yes | Yes |
Leave Cursor or Cline on their Requesty key and give the application that handles customer data the router: policy decides what may leave the boundary at all, the proxy executes on the chosen target, and every call lands in the ledger.
from openai import OpenAI
# the app: one base URL, the router picks the target under your policy
client = OpenAI(base_url=f"{OSR}/v1", api_key=OSR_API_KEY)
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": prompt}],
extra_headers={"X-OSR-Tenant": tenant, "X-OSR-Region": "eu"},
)
print(resp.model, resp.id) # the chosen target and the request id for /v1/feedbackRun the Routing Audit on a week of anonymised logs: savings versus your current mix, policy violations your routing allowed, and where agents or humans would have been the better answer.
Other comparisons: OpenRouter, LiteLLM, Portkey, Cloudflare AI Gateway, Bifrost (Maxim AI), Kong AI Gateway, Helicone, Not Diamond, Martian, Unify, Building it yourself.
Photo: Mario Gogh