# Proč dostávám chybu 429 Rate limit exceeded?

> Ošetřete odpovědi 429 z API Emailitu. Zjistěte, jak fungují limity odesílání za sekundu a za den, hlavičky limitů rychlosti a jak požádat o vyšší limity.

Tento článek vysvětluje, proč `POST /v2/emails` vrací `429` a jak rozložit odesílání v čase, aby k tomu nedocházelo. Stejné limity platí pro SMTP, kde se projeví jako odpovědi `452`.

## Příznaky

API odpoví `429` s jedním z těchto těl:

```json
{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Maximum 2 messages per second allowed.",
  "limit": 2,
  "current": 2,
  "retry_after": 1
}
```

```json
{
  "error": "Daily limit exceeded",
  "message": "Daily sending limit of 5000 messages has been reached.",
  "limit": 5000,
  "current": 5000,
  "retry_after": 41200
}
```

Přes SMTP selže příkaz `MAIL FROM` s `452 4.4.5 Messages per second limit exceeded` nebo `452 4.5.3 Daily message limit exceeded`.

## Příčina

Každý workspace má dva limity odesílání, které sdílejí všechny API klíče i SMTP:

- **Za sekundu.** Nové workspace začínají na 2 e-mailech za sekundu.
- **Za den.** Nové workspace začínají na 5 000 e-mailech za den. Počítadlo se nuluje o půlnoci UTC.

API počítá každého příjemce jako jeden e-mail, takže požadavek se třemi adresami v `to`, `cc` a `bcc` spotřebuje tři. Obvyklou příčinou jsou nárazy z paralelních workerů, smyčky opakování bez odstupu a dávkové úlohy, které začínají ve stejnou chvíli.

Každá odpověď na odeslání obsahuje hlavičky, ze kterých poznáte, kde jste:

| Hlavička | Význam |
| --- | --- |
| `ratelimit-limit` / `ratelimit-remaining` | Limit za sekundu a kolik z něj v aktuální sekundě zbývá |
| `ratelimit-daily-limit` / `ratelimit-daily-remaining` | Denní limit a kolik z něj dnes zbývá |
| `ratelimit-daily-reset` | Počet sekund do půlnoci UTC |
| `retry-after` | Kolik sekund počkat před dalším pokusem (jen u `429`) |

## Řešení

1. **Počkejte a zkuste to znovu.** Než odešlete další požadavek, respektujte `retry-after` (nebo `retry_after` v těle). Požadavek s `429` se neodeslal ani nezaúčtoval, takže jeho zopakování je bezpečné. Proti opakování na úrovni sítě se chraňte hlavičkou [`Idempotency-Key`](/cs/docs/email-api/idempotency/).

2. **Hlídejte tempo odesílání.** Použijte frontu s limitem souběhu, který odpovídá `ratelimit-limit`, a po `429` zvyšujte odstup exponenciálně, místo abyste požadavek opakovali v rychlé smyčce.

3. **Rozložte velká odeslání.** Pokud narazíte na denní limit, naplánujte zbytek pomocí [`scheduled_at`](/cs/docs/email-api/scheduling/) na dobu po půlnoci UTC, nebo pro marketingovou poštu použijte [kampaň](/cs/docs/campaigns/).

4. **Zkontrolujte aktuální limity.** Panel **Sending Limits** na stránce **Dashboard** ukazuje vaše limity za sekundu a za den a dnešní využití.

5. **Požádejte o vyšší limity.** V panelu Sending Limits vyberte **Request Increase** a zadejte, jaké limity potřebujete, odkud pocházejí vaši příjemci a proč. Tým obvykle odpoví do 24 hodin. V tarifech Pro a Business se limity navyšují také automaticky, dokud zůstává vaše kondice odesílání dobrá.

Úplnou referenci najdete na stránce [Limity rychlosti](/cs/docs/api-reference/rate-limits/) a všechny kvóty tarifů na stránce [Limity](/cs/docs/limits/).

## Stále si nevíte rady?

[Napište podpoře](/contact/) nebo se zeptejte na [Discordu](https://discord.emailit.com). Uveďte očekávaný objem za den a za sekundu a ukázkovou odpověď `429`.

---
Zdroj: https://emailit.com/cs/docs/kb/429-rate-limit-exceeded/
