You are rate limited; so are your users
Provider rate limits sit in three layers — RPM, TPM, and concurrency. Your application has to respect them, recover gracefully when they're hit, and propagate backpressure to your users so they don't pile up requests.
Tactics
- Smoothing — token bucket / leaky bucket on egress, so bursts don't 429 you.
- Retries with jitter — exponential backoff with randomization, capped attempts.
- Per-user limits — protect against runaway clients; surface limits to your UI.
- Backpressure — when downstream is hot, return 429 to your callers; don't queue silently.
- Tier-aware routing — heavy users to a higher-tier API key, light users to a shared pool.
What to expose to users
- Useful 429s ("slow down — try again in 30 seconds").
- Quota dashboards for paying customers.
- UI affordances (disabled buttons, banners) when rate limits are near.