> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finseo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Limites de requêtes API par plan tarifaire.

# Rate Limits

Les rate limits protègent l'API et garantissent une utilisation équitable. Les limites s'appliquent par clé API en fonction de ton plan.

<Note>
  L'accès API nécessite un plan payant (Creator ou supérieur). Les comptes gratuits ne peuvent pas créer de clés API.
</Note>

## Limites par plan

| Plan       | Prompts  | Requêtes / Minute | Requêtes / Jour |
| ---------- | -------- | ----------------- | --------------- |
| Creator    | 25       | 60                | 5 000           |
| Business   | 100      | 120               | 25 000          |
| Agency     | Illimité | 300               | 100 000         |
| Enterprise | 500      | 600               | 200 000         |

## Limites de prompts

Le nombre de prompts que tu peux suivre via l'API dépend de ton plan. L'API applique les mêmes limites que le dashboard. Tenter d'ajouter un prompt au-delà de ta limite renvoie une erreur :

```json theme={"system"}
{
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Prompt limit reached (25/25). Upgrade your plan to add more prompts."
  }
}
```

## Headers de rate limit

Chaque réponse API inclut des informations de rate limit :

| Header                  | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `X-RateLimit-Limit`     | Nombre maximal de requêtes par minute pour ton plan |
| `X-RateLimit-Remaining` | Requêtes restantes dans la fenêtre en cours         |
| `X-RateLimit-Reset`     | Timestamp Unix auquel la fenêtre se réinitialise    |

## Dépassement des limites

En cas de dépassement, l'API renvoie `429 Too Many Requests` :

```json theme={"system"}
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 23 seconds."
  }
}
```

La réponse inclut un header `Retry-After` indiquant le nombre de secondes à attendre.

## Bonnes pratiques

* Mets les réponses en cache quand c'est possible — les données de tracking sont mises à jour une fois par jour
* Utilise l'endpoint d'export pour les données en masse plutôt que de nombreuses requêtes individuelles
* Implémente un exponential backoff sur les réponses `429`
* Utilise les tags pour filtrer les données côté serveur au lieu de tout récupérer
