Rate limits
How many requests you can make.
| Plan | Keys | Requests per minute (per key) |
|---|---|---|
| Standard | 1 | 60 |
| injuring+ | 5 | 120 |
Limits use a one-minute window per key. Every response carries these headers:
| Header | Meaning |
|---|---|
| X-RateLimit-Limit | Your per-minute limit. |
| X-RateLimit-Remaining | Requests left in this window. |
| X-RateLimit-Reset | Unix time (seconds) when the window resets. |
| Retry-After | On 429 only: seconds to wait. |
Handling 429 with backoff
async function call(url, tries = 3) {
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.INJURING_KEY}` } });
if (res.status === 429 && tries > 0) {
const wait = Number(res.headers.get("Retry-After") ?? 1);
await new Promise((r) => setTimeout(r, wait * 1000));
return call(url, tries - 1);
}
return res.json();
}Tip:Cache responses on your side. Profiles rarely change more than once a minute.
still stuck? try troubleshooting or open a ticket in our discord, we reply fast.
