---
title: Rate limits
description: Read the rate limit headers on each response, and wait for the reset time when you get a 429.
sidebar:
  icon: gauge
  order: 5
---

The API limits how many requests each API key can send in a time window. Each response tells you your current limit in these headers:

| Header | Description |
| --- | --- |
| `x-ratelimit-limit` | The number of requests you can send in the current window. |
| `x-ratelimit-remaining` | The number of requests that are left in the current window. |
| `x-ratelimit-reset` | The time when the window resets. |

When `x-ratelimit-remaining` is `0`, the next request gets a `429 Too Many Requests` response. Wait until `x-ratelimit-reset`, then send the request again.

## Send fewer requests

- Cache responses. Most profile and badge data changes a few times a day, not every second.
- Use the list endpoints with pagination, not one request for each item.
- For live data, subscribe to a stream such as `activity.streamGlobalFeed` or `stats.subscribe`, and do not poll.

## Queue endpoints

Endpoints such as `account.queueUpdate` start a background refresh from Steam. The refresh can take some time, so do not send the request again for the same account while a refresh is in progress.
