LowRouterBeta

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.