Frequently Asked Questions
Answers to the questions developers and operators ask most often. Each section is self-contained — link directly to the slug in your own docs if it’s useful.
What is LowRouter?
LowRouter is one gateway to many LLM providers and models, compatible
with the OpenAI API so it works with the SDKs and tools you already
use. You top up credits once and choose which provider, model, and
region handles your requests, and you can change that choice whenever
you like. It’s one entry point and one bill for many providers, and
every response includes a lowrouter_metadata field exposing the
provider, region, grid carbon, and cost of the call.
Are you an LLM provider?
No. LowRouter is a gateway, not a model host. Your request is forwarded to the upstream provider you chose — including EU-sovereign options like Mistral alongside providers such as OpenAI, Anthropic, and Google — streaming intact. We don’t run our own models.
Is LowRouter compatible with the OpenAI SDK?
Yes. Set the base_url (Python) or baseURL (TypeScript) to
https://api.lowrouter.ai/v1 and use your LowRouter API key (it
starts with sk-lr-). The SDK calls work unchanged. Detailed examples
are on the OpenAI SDK Python and
TypeScript pages.
Can I reach Anthropic models?
Yes — through the OpenAI-compatible endpoint, not the Anthropic SDK.
The gateway speaks the OpenAI chat-completions protocol; there is no
Anthropic-shaped (/v1/messages) endpoint. To use an Anthropic model,
send a normal chat-completions request with an anthropic/... model
ID, e.g. vertex/anthropic/claude-opus-4.6. See
available models.
What are aliases?
An alias is a named pointer you call as the model id, e.g.
alias/my-fast-model. Repoint it to any provider, model, or region
later without changing client code. Create and manage them under
Dashboard → Aliases.
Do you use my data (training, analytics, marketing)?
No. We don’t read, train on, analyse, or sell your prompts or responses. LowRouter simply routes the request to the provider you chose and returns the answer. We store only metadata about the call — the model, provider, region, token counts, latency, cost, and the eco estimate — so you get usage reports and stats. We do not store prompt or response content. We also propagate provider-level training opt-outs where the upstream supports them. The full per-request schema is in usage accounting.
Why do you list US and non-green providers at all?
Because you can’t choose responsibly without seeing the alternatives. LowRouter shows the region, jurisdiction, and carbon cost of every route — including the non-sovereign and carbon-heavy ones — so the comparison is honest and the choice is yours. Sometimes you need a specific US model; use it with eyes open, and see exactly what it emits. And by putting every provider on the same transparent scoreboard, we give them a reason to compete on it: the day a provider ships greener, more sovereign inference, it shows up here — measured, not marketed.
How is the CO₂ estimate calculated?
energy = ((α × P_active) + β) × tokens, then carbon = energy × grid intensity. Grid carbon intensity defaults to
Ember Climate annual country averages
(CC-BY 4.0), refined by regional grid operators (PJM, CAISO, ERCOT,
BPA, EirGrid, RTE, National Grid ESO, Hydro-Québec, AEMO) where they
publish finer, permissively-licensed data. The energy coefficients
come from EcoLogits v0.4. The full formula,
data sources, and confidence bands are on the
methodology page. We report ranges and
assumptions; we don’t claim spurious precision.
Are the eco numbers real-time?
No. The grid intensity is an annual regional average. Real-time carbon-aware routing is a roadmap feature, not a current one. See limits.
What happens if a provider is down?
The request returns 503, naming the provider that failed. LowRouter
does not silently retry on a different provider: an explicit model ID
is a pin, and an auto-routed request commits to the winner of its
ranking — substituting a provider would bill against a different
pricing row and serve from a different jurisdiction than the ID
promised. lowrouter_metadata.providers_attempted shows what was
tried. See routing.
How is pricing structured?
Pre-paid credits, pay-as-you-go. Token usage is billed at the upstream provider’s price with no per-call markup. The only fee is a processing fee applied when you top up credits, covering payment processing and our margin — the exact amount is shown before you confirm. No per-seat charge, no monthly commitment. Failed requests that produced no upstream charge cost zero credits. Full details: credits and billing.
Can I pin requests to a specific country or jurisdiction?
Today you can filter the catalogue to EU-only providers and pin an
alias to a specific provider, model, and region, then repoint it
whenever you want without changing code. You can also encode the
region in the model ID directly — append a UN/LOCODE as the last
segment, e.g. vertex/anthropic/claude-opus-4.6/sg-sin; if a model
isn’t served in the region you request, the call is rejected rather
than served elsewhere. Automatic per-request and account-level
jurisdiction policies are coming soon. Details on the
routing page.
What’s the rate limit?
Rate and budget limits are enforced per API key (the daily and monthly credit limits you set) alongside platform-level protection. Higher quotas are available on request via the email on the legal page.
Can I use LowRouter from the browser?
Not with the API key directly — that exposes the key to every page
visitor. Mint short-lived tokens server-side and proxy requests
through your backend. The pattern is the same as for OpenAI; both
SDKs warn against dangerouslyAllowBrowser. See
OpenAI SDK TypeScript.
Are there free credits or a free trial?
No. Trying things out costs the same as production usage. Top up the smallest amount that makes sense for an evaluation; remaining credit can be refunded within 14 days under EU consumer law (see credits and billing). See philosophy / principles in practice for why.
Can I get an invoice with my company details?
Yes. Set the legal name, billing address, and VAT number under Dashboard → Settings → Billing. Invoices issued from that point onwards carry the company details. Past invoices can be re-issued via support. See credits and billing.
How do I look up a request after the fact?
Open it on the dashboard under Recent transactions. Every response
carries an id and an X-Request-ID header you can correlate against
your own logs. The stored record includes the resolved model, the
provider, the region, and the eco numbers. See
usage accounting and
per-request metadata.
Can I export my usage?
Yes. The dashboard breaks usage down per model, provider, and key — tokens, upstream cost, and gCO₂eq — and exports to CSV. It gives finance and sustainability reporting a single source of truth, and the per-request carbon data can feed Scope 3 reporting. See usage accounting.
How do I rotate a leaked key?
Create a new key, deploy it everywhere, then delete the old one. The deletion takes effect on the next request — no caching delay. Full guidance: API key management.
Why don’t I see an eco estimate on some requests?
When the resolved model’s parameter count is unknown or unverified,
we omit the eco field rather than fabricate a number. The
methodology page explains the
confidence bands; the
limits page covers the cases where eco is
deliberately absent (embedding requests, agent steps with no
tokens, mid-stream upstream errors).
Is there an SLA?
Production accounts have a posted SLA on the dashboard footer. The default account does not — best-effort. LowRouter is in public beta; features may change and interruptions may occur.
Can I get a Data Processing Agreement?
Contact us via the email on the legal page and we’ll work through your requirements.
Where is LowRouter hosted?
The platform runs on EU-sovereign infrastructure in France, operated by Carbonifer SAS (Nantes). Your keys, billing data, and usage metadata stay in the EU, outside CLOUD Act reach. When you send a request to a provider you chose, the prompt is transmitted to that provider in its region — which is why every response reports the routed region back to you.
I found a bug — where do I report it?
github.com/carboniferio/lowrouter/issues,
ideally with a request ID from the X-Request-ID header on a
representative request.
