One API for every model you actually ship.
One OpenAI-compatible API in front of every model. It fails over between routes when one stalls and reports exactly what it cost you. Keep your existing client and change one line.
Free to start · No card required · Cancel anytime
Everything between your app and the model.
Requests in, answers out, with the reliability work handled before it reaches you.
Read the integration docs-
01
Failover, cooldown and retry
Models with more than one route fail over automatically. A 5xx or timeout moves the request to the next; a route that rate-limits is parked on cooldown instead of being hammered. Your client sees one answer, not the switch.
-
02
Drop-in OpenAI shape
Chat completions, embeddings, images, speech and transcription all speak the OpenAI wire format. Point the SDK you already use at our base URL and keep your existing code.
-
03
Keys and limits you control
Create, rotate and disable keys from your console. Every key is scoped to your account and counts against one shared plan limit, with custom ceilings available on request.
-
04
Usage and status with numbers
Per-model requests, tokens and error rates, plus a searchable request log. The status page reports real route health and 24-hour success rate straight from the router, not a hand-set colour.
Live in about a minute.
No sales call, no onboarding queue.
-
01
Create an account
Register with an email and password. Your first API key is generated on the spot and shown once.
-
02
Point your client at us
Set the base URL to
https://iceberg-inference.pages.dev/v1and use any model from the catalogue as the model name. -
03
Watch it and scale
Usage and logs fill in as you go. Move to Hobby or Pro when volume grows — or ask us for a quote at serious scale.
Built for the messy middle of the market.
Frontier providers go down, rate-limit and retire models. Iceberg Inference tracks route health, parks failing routes on cooldown, and retries on another route when one is available.
- Priority ordering across routes
- Automatic retries with per-route cooldowns
- Streaming preserved through failover
- Honest error bodies that name the reason
{
"error": {
"message": "The model is temporarily rate limited. Try again shortly.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}
Questions, answered.
Still unsure? Email us — a person reads it.
Do I need to change my code?
model as the only difference.What counts against my limit?
What happens when I hit a limit?
Can I get a custom plan?
Where do you run?
Start on the free plan.
Enough requests to build and demo. Upgrade the day real users show up.