De: "OpenRouter Team" <welcome@openrouter.ai>
Para: ahwaropenrouter@withoutemail.com
Data: 2026-09-07T00:05:07.000Z
OpenRouter
@media screen and (max-width: 600px) {
.or-card {
width: 100% !important;
max-width: 100% !important;
}
.or-pad {
padding-left: 24px !important;
padding-right: 24px !important;
}
.or-h1 {
font-size: 20px !important;
line-height: 1.35 !important;
}
.or-logo {
width: 153px !important;
height: 28px !important;
max-width: 153px !important;
}
.or-tbl-cell {
padding: 10px 12px !important;
}
.or-tbl-compact-row td {
padding-left: 20px !important;
padding-right: 20px !important;
}
.or-tbl-compact .or-tbl-row .or-tbl-cell {
padding: 7px 7px !important;
font-size: 11px !important;
}
.or-tbl-compact .or-tbl-head .or-tbl-cell {
padding: 6px 6px !important;
font-size: 9px !important;
letter-spacing: 0.02em !important;
}
.or-stat-grid td {
display: block !important;
width: 100% !important;
border-right: 0 !important;
border-bottom: 1px solid #e4e4e7 !important;
}
.or-stat-grid td:last-child {
border-bottom: 0 !important;
}
}
@media only screen and (max-width: 480px) {
.em-shell-pad {
padding: 20px 8px !important;
}
.em-row-pad {
padding-left: 20px !important;
padding-right: 20px !important;
}
.em-row-pad-top {
padding-left: 20px !important;
padding-right: 20px !important;
padding-top: 28px !important;
}
.em-stack {
display: block !important;
width: 100% !important;
box-sizing: border-box !important;
border-right: none !important;
text-align: left !important;
}
.em-stack-divide {
border-bottom: 1px solid rgba(128,128,128,0.25) !important;
}
.em-stack-divide:last-child {
border-bottom: none !important;
}
.em-shrink-pad {
padding-left: 12px !important;
padding-right: 12px !important;
}
.em-num-col {
width: 28px !important;
padding-right: 8px !important;
}
.em-data-cell {
padding: 8px 6px !important;
font-size: 11px !important;
}
.em-data-cell-model {
word-break: break-all !important;
}
.em-diagram-pad {
padding: 14px 12px !important;
}
.em-h1-mobile {
font-size: 18px !important;
line-height: 1.3 !important;
}
.em-stat-mobile {
font-size: 18px !important;
}
.em-thumb-pad {
padding: 90px 20px !important;
}
.em-stack-gap {
padding: 0 0 24px 0 !important;
}
.em-stack-gap:last-child {
padding-bottom: 0 !important;
}
.em-stack-content {
padding: 14px 0 0 0 !important;
}
.em-table-head {
display: none !important;
}
.em-table-row {
display: block !important;
padding: 6px 0 !important;
border-top: none !important;
}
.em-table-row > td {
display: block !important;
padding: 10px 16px !important;
border: none !important;
border-bottom: 1px solid rgba(128,128,128,0.25) !important;
}
.em-table-row > td:last-child {
border-bottom: none !important;
}
.em-cell-label {
display: block !important;
font-size: 10px !important;
font-weight: 700 !important;
letter-spacing: 0.12em !important;
text-transform: uppercase !important;
opacity: 0.7 !important;
margin-bottom: 2px !important;
}
.em-thumb {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
}
.em-model-slug {
font-size: 11.5px !important;
}
}
@media (prefers-color-scheme: dark) {
.or-page {
background-color: #0e1315 !important;
}
.or-cta {
background-color: #fcfcfe !important;
color: #03080a !important;
}
.or-logo-light {
display: none !important;
}
.or-logo-dark {
display: block !important;
}
.or-card {
background-color: #18181b !important;
}
.or-panel {
background-color: #27272a !important;
}
.or-callout {
background-color: #27272a !important;
}
.or-divider {
background-color: #3f3f46 !important;
}
.or-border-t {
border-top-color: #3f3f46 !important;
}
.or-border-r {
border-right-color: #3f3f46 !important;
}
.or-border-card {
border-color: #52525b !important;
}
.or-ink {
color: #f4f4f5 !important;
}
.or-muted {
color: #a1a1aa !important;
}
.or-strong {
color: #f4f4f5 !important;
}
.or-link-soft {
color: #a1a1aa !important;
}
.or-inline-code {
background-color: #27272a !important;
color: #f4f4f5 !important;
}
.or-code-comment {
color: #a1a1aa !important;
}
.or-code-flag {
color: #fcd34d !important;
}
.or-code-string {
color: #6ee7b7 !important;
}
.or-code-var {
color: #c4b5fd !important;
}
.or-code-url {
color: #7dd3fc !important;
}
.or-code-ink {
color: #f4f4f5 !important;
}
.or-pill {
background-color: #27272a !important;
color: #a1a1aa !important;
}
.or-tbl-head {
background-color: #27272a !important;
color: #a1a1aa !important;
}
.or-tbl-head .or-tbl-cell {
background-color: #27272a !important;
color: #a1a1aa !important;
}
.or-tbl-row {
background-color: #18181b !important;
}
.or-tbl-cell {
color: #fafafa !important;
border-color: #3f3f46 !important;
}
.or-foot-muted {
color: #a1a1aa !important;
}
.or-foot-link {
color: #a1a1aa !important;
}
.or-exacto-bg {
background-color: #27272a !important;
}
.or-exacto-card {
background-color: #0f0f12 !important;
border-color: #3f3f46 !important;
color: #a1a1aa !important;
}
.or-exacto-pick {
background-color: #27272a !important;
border-color: #a1a1aa !important;
color: #f4f4f5 !important;
}
}
@media screen {
[data-ogsc] .or-page {
background-color: #0e1315 !important;
}
[data-ogsc] .or-cta {
background-color: #fcfcfe !important;
color: #03080a !important;
}
[data-ogsc] .or-logo-light {
display: none !important;
}
[data-ogsc] .or-logo-dark {
display: block !important;
}
[data-ogsc] .or-card {
background-color: #18181b !important;
}
[data-ogsc] .or-panel {
background-color: #27272a !important;
}
[data-ogsc] .or-callout {
background-color: #27272a !important;
}
[data-ogsc] .or-divider {
background-color: #3f3f46 !important;
}
[data-ogsc] .or-border-t {
border-top-color: #3f3f46 !important;
}
[data-ogsc] .or-border-r {
border-right-color: #3f3f46 !important;
}
[data-ogsc] .or-border-card {
border-color: #52525b !important;
}
[data-ogsc] .or-ink {
color: #f4f4f5 !important;
}
[data-ogsc] .or-muted {
color: #a1a1aa !important;
}
[data-ogsc] .or-strong {
color: #f4f4f5 !important;
}
[data-ogsc] .or-link-soft {
color: #a1a1aa !important;
}
[data-ogsc] .or-inline-code {
background-color: #27272a !important;
color: #f4f4f5 !important;
}
[data-ogsc] .or-code-comment {
color: #a1a1aa !important;
}
[data-ogsc] .or-code-flag {
color: #fcd34d !important;
}
[data-ogsc] .or-code-string {
color: #6ee7b7 !important;
}
[data-ogsc] .or-code-var {
color: #c4b5fd !important;
}
[data-ogsc] .or-code-url {
color: #7dd3fc !important;
}
[data-ogsc] .or-code-ink {
color: #f4f4f5 !important;
}
[data-ogsc] .or-pill {
background-color: #27272a !important;
color: #a1a1aa !important;
}
[data-ogsc] .or-tbl-head {
background-color: #27272a !important;
color: #a1a1aa !important;
}
[data-ogsc] .or-tbl-head .or-tbl-cell {
background-color: #27272a !important;
color: #a1a1aa !important;
}
[data-ogsc] .or-tbl-row {
background-color: #18181b !important;
}
[data-ogsc] .or-tbl-cell {
color: #fafafa !important;
border-color: #3f3f46 !important;
}
[data-ogsc] .or-foot-muted {
color: #a1a1aa !important;
}
[data-ogsc] .or-foot-link {
color: #a1a1aa !important;
}
[data-ogsc] .or-exacto-bg {
background-color: #27272a !important;
}
[data-ogsc] .or-exacto-card {
background-color: #0f0f12 !important;
border-color: #3f3f46 !important;
color: #a1a1aa !important;
}
[data-ogsc] .or-exacto-pick {
background-color: #27272a !important;
border-color: #a1a1aa !important;
color: #f4f4f5 !important;
}
[data-ogsb] .or-page {
background-color: #0e1315 !important;
}
[data-ogsb] .or-card {
background-color: #18181b !important;
}
[data-ogsb] .or-panel {
background-color: #27272a !important;
}
[data-ogsb] .or-callout {
background-color: #27272a !important;
}
[data-ogsb] .or-divider {
background-color: #3f3f46 !important;
}
[data-ogsb] .or-pill {
background-color: #27272a !important;
}
[data-ogsb] .or-tbl-head {
background-color: #27272a !important;
}
[data-ogsb] .or-tbl-head .or-tbl-cell {
background-color: #27272a !important;
}
[data-ogsb] .or-tbl-row {
background-color: #18181b !important;
}
[data-ogsb] .or-exacto-bg {
background-color: #27272a !important;
}
[data-ogsb] .or-exacto-card {
background-color: #0f0f12 !important;
}
[data-ogsb] .or-exacto-pick {
background-color: #27272a !important;
}
}
20 requests per minute, 50 per day, and how to tell where a 429 came from. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Rate limits
The free-model limits, stated plainly.
The published limits on :free model variants are 20 requests per minute and 50 requests per day. The daily figure rises to 1,000 once an account has purchased at least 10 credits all time. Limits are governed globally, so extra accounts or extra API keys do not raise them.
Read the limits reference
Reading a 429 correctly
01
Two possible origins
If the 429 came from OpenRouter, you hit one of the platform limits above. If it came from the provider serving your request, that provider is at capacity, and error.metadata.provider_code carries their original code.
Limits reference →
02
Provider errors are already retried
Provider-side failures are retried across the other providers for the same model before they ever reach you.
03
The headers only appear on the error
When OpenRouter returns the 429 itself, the response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Successful responses do not, so to watch your quota before it bites, call GET /api/v1/key.
Retry with exponential backoff and honor Retry-After when it is present.
Different models carry different limits, so spreading load across models is a real lever rather than a workaround.
More on OpenRouter
Model rankings →
Which models developers actually use, ranked by tokens and by app.
Model catalogue →
Filter the full list by price, context length, and capability.
Beyond text →
Models that accept images, audio, video, and files in the same request.
Latest from the blog
OpenRouter is Joining Stripe
Today, we are excited to announce that we are joining forces with Stripe, to power the next wave of GDP growth globally.
Read the announcement →
Understand your AI usage: every agent, model, and request
See what your team spent on every model, save the charts you keep rebuilding, click any bar to land in the logs behind it, and query the same data from your terminal with the Analytics API.
Read the announcement →
Ori Eval: Find the Best Model for What You're Building
Choosing the model inside your product is often decided without a systematic method. Ori Eval answers the question with proof: it runs your agent on your own prompts, checks the tools it called, and grades the answers.
Read the announcement →
We are always shipping. Keep up with our latest insights, announcements, and more on our blog →
openrouter.ai·Discord·X·Docs
169 Madison Avenue, New York, NY 10016
Manage preferences|Unsubscribe