# Rate Limits

It's important you study rate limits for your plan and the different services that you use.\
Please email **<hello@ipforensics.net>** if you have any questions!

## Abuse prevention

If you start getting Cloudflare errors such as Cloudflare error 1020 - it's most likely you are being flagged by our abuse prevention system and Cloudflare blocks your access on our behalf.

You may also be seeing other error messages.

Below are a few scenarios where you get temporarily banned.

1. If you are sending requests although your key is already rate-limited we may temporarily ban you. For example, let's say your plan allows you to do 200 requests per minute. If you try to do 300 requests in the same second - you will most likely get temporarily banned.
2. Use one api key per project. For example, if you create 100 free accounts and send requests using the keys from these accounts - all accounts tied to the same project will be banned.
3. If you think you are temporarily banned by mistake please email <helpdesk@storeg.cloud> and we will help you fast.

### How to avoid getting banned?

1. Don't use more than 1 IpForensics account.
2. Implement rate-limiting logic in your app so you don't try doing more requests than your plan allows.
3. Email us at <support@ipforensics.net> if you have any questions.

## Is it allowed to create multiple accounts?

As we offer generous free tokens on every new account created, we don't allow multiple account creation.

Only 1 free account is allowed per user.

If you build your app based on resources spread over several newly created accounts - you will be banned and your service will face unexpected downtime.

Please contact us at <support@ipforensics.net> if you have any questions 🙌

## Why am I rate limited?

There are 2 different types of rate-limits you need to know about.

## Default Rate limit

You are allowed to make 200 request per minute regardless of your plan.

### Rate-limits when using invalid API Keys

#### Error 429 - Rate limit between your  application and IpForensics API

As you know - anyone can use invalid api keys and try to call or make a request to the `IpForensics`API.

If you go above the allowed rate-limit you set they will see the following error:

```javascript
{
    "status": false,
    "response": "Rate limit exceeded for invalid keys",
    "code": "429",
    "message": "You are rate-limited because of invalid api keys. See the details about the current rate and throttle limits or read More: https://ipforensics.gitbook.io/ipforensics/misc/rate-limits",
    "meta_data": {
        "reason": "Too many requests to IpForensics API from this particular client",
        "solution": "Use valid api keys."
    }
}
```

### Rate-limits when calling IpForensics API using HTTP

#### Error 429 - Rate limit between your  application and IpForensics API

When you are calling IpForensics API from your own backend you may get limited by the IpForensics API.

In that case you will get&#x20;

```javascript
{
    "status": false,
    "response": "Rate limit exceeded",
    "code": "429",
    "message": "This IpForensics Server is rate-limited. See the details about the current rate and throttle limits or read More: https://ipforensics.gitbook.io/ipforensics/misc/rate-limits",
    "meta_data": {
        "rate_limit": {
            "X-RateLimit-Limit": 200,
            "X-RateLimit-Remaining": 0,
            "Retry-After": 58,
            "X-RateLimit-Reset": 1663328213
        },
        "reason": "Too many requests to IpForensics API from this particular client",
        "solution": "The clients needs to wait before sending more requests."
    }
}
```

When you call the API you can expect the response header in order to understand your rate limits.

The most important values to look at are `x-rate-limit-limit` and `x-rate-limit-used`.

The first one tells you how many requests you are allowed to do per minute and the minute one how many requests you already did in current minute.

Some heavy requests count as several request

In order to not get rate-limited pay attention to `x-rate-limit-used` to be lower than `x-rate-limit-limit`.

The way to fix this error is to wait after a minute to make another request.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ipforensics.gitbook.io/ipforensics/misc/rate-limits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
