Abstraction layer
Applications call one API; the layer owns which provider and model answer, the fallbacks, the policy and the cost. Swap a vendor, add an on-prem model, retire a deprecated one or pin a team to a region without touching application code - and keep one trace format for all of it.
Free plan, no card. Open source under Apache-2.0; self-hosting is free forever.
From the benchmark
0
application changes to swap a model
The catalogue is the only place a model is named. The same two files drive the library, the server, the container and the MCP server, and the hosted platform's dashboard edits them for you.
The whole benchmark, with the cases the router lostThe problem
A deprecation notice, a price change, a region requirement or a better model elsewhere becomes a ticket in every codebase. Enterprise architects know the shape: the thing that changes often should sit behind an interface that does not.
How the router answers it
OpenAI, Anthropic, Google, Azure, AWS, Mistral, open-weight models on your own hardware - declared once in a catalogue, called through one OpenAI-compatible API.
Add, retire, re-price or pin a model in two YAML files or the dashboard; the next request sees it. Deprecations become a catalogue edit instead of a release.
Whatever answered, the record is the same: request, decision, alternatives, tokens, cost, outcome - exportable for the people who pay and the people who audit.
A real request
Applications keep calling the same endpoint with model 'auto'; the finance tenant's requests are answered in the EU and the retired model is simply no longer a candidate.
# targets.yaml - one entry per model, agent or tool
- id: eu-frontier
kind: llm
model: azure/gpt-4.1
region: eu
cost: { usd_per_1k_tokens: 0.0045 }
- id: legacy-model
enabled: false # retired: no request goes here from now on
# rules.yaml
- id: finance-stays-in-eu
when: { tenant: finance }
constraints: { region: eu }Read next
Install
pip install "opensmartroute[yaml]"Or no install at all: the hosted API answers a plain curl with the decision, and the browser extension shows the price and the router's pick under the composer of the AI chat sites you already use.
OpenSmartRoute is open source and the free plan keeps the full trace of every decision. Create a workspace, mint a key and send the request above.
Free plan, no card. Fifteen thousand decisions a month with the full trace.