Why Geek Hub
If you already use OpenAI, Anthropic or Google directly, this page is for you. Honest comparison of what Geek Hub gives you that you don't get wiring each provider alone — and what it doesn't give you either.
Quick comparison
| Need | Direct to provider | Geek Hub |
|---|---|---|
| Provider outage → your app dies too | Full downtime | Automatic fallback to the next model in your list |
| Mexican invoicing | N USD invoices, no CFDI | One MXN invoice + CFDI 4.0 stamped with SAT |
| Guardrails (PII, injection, ZDR) | Each API's own approach or none | One central guardrail per org or per API key |
| Budget per API key | Doesn't exist — everyone shares the same billing | USD limit per key with period (daily/weekly/monthly/lifetime) |
| Swap model by cost | Code change in production | Change the "model" string in the request |
| Verified Zero Data Retention (ZDR) | Depends on the contract you negotiate with each provider | Central list; 422 rejection if the target model isn't verified |
| Cost inline on every response | Tokens only; you compute cost | usage.cost_usd and usage.cost_mxn in the body |
| request.completed webhooks | OpenRouter yes; others no | Yes, HMAC SHA-256 signed |
| Prompt caching | Yes on Anthropic; partial on OpenAI | Auto-enabled on long system prompts (Anthropic 90% off, OpenAI 50% off) |
When Geek Hub doesn't make sense
Being honest — these are not good fits:
- You're on a single provider and don't care about lock-in.If your app only talks to OpenAI and you don't need fallback, direct is simpler. The +5% markup funds the overhead you're not managing.
- Sub-100ms latency is critical.We're an extra hop (~10-30ms). Chatbots don't notice; trading systems will.
- You don't invoice in Mexico and don't care about CFDI.The MXN local billing value fades if you operate USD-first with the provider.
Failover in one snippet
Configure an ordered list of models. The gateway tries the first; if it fails (5xx, rate limit, ZDR mismatch), it falls to the next without your code knowing.
POST /v1/chat/completions
{
"model": [
"anthropic/claude-sonnet-4-6",
"openai/gpt-5",
"google/gemini-2.5-flash"
],
"messages": [...]
}
// Anthropic down → try OpenAI
// OpenAI rate-limited → try Google
// Response.model tells you who respondedFree to start
No card required. When you sign up you get welcome credit to try the models you want. Decide after that.