> For the complete documentation index, see [llms.txt](https://developer.flash-payments.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.flash-payments.com/other/rate-limiting.md).

# Rate limiting

How to avoid and resolve HTTP 429 Too Many Requests

## Limits

This API apply various rate limits depending on the type of HTTP request or GraphQL query being executed, as well as the number of such requests. The rate-limiting mechanism is quite dynamic and is based on the IP address(es), error rates, HTTP headers, and the GraphQL queries.

We do not disclose the exact limits due to their complexity and our security policy. However, it's nearly impossible to reach the limits if your requests are properly formed.

When one of the numerous limits exceeds the API typically responds with

1. the HTTP status `429`&#x20;
2. the HTTP header:<br>

   ```
   Retry-After: 59
   ```
3. and a JSON body:<br>

   ```json
   {
     success: false,
     code: "TOO_MANY_REQUESTS",
     message: "Retry after 1 min",
     retrySecs: 59
   }
   ```

## Common cases

Here are the common situations when you might get yourself temporarily blocked:

* When your requests produce numerous errors, e.g. malformed header, JSON body, or a GraphQL query.
* When you send too many requests without a valid `Authorization` header.
* When you send too many requests within a very short period.
  * Most often reason - when you collect reference prices/quotes using the `quote` query for multiple currency pairs. To avoid the issue you must [send multiple GraphQL queries within a single HTTP request](/fx/quote.md#multiple-reference-indicative-quotes-with-a-single-http-request).

## How to unblock if you see HTTP 429 responses

Please contact our support team via the established communication channels. We will manually reset the counters for you.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.flash-payments.com/other/rate-limiting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
