Arti error 429 rate limit exceeded di API AI dan cara mengatasinya

429Terlalu banyak request dalam waktu singkat, atau penyedia model sedang penuh.

Langkah perbaikan di bawah berlaku untuk key dari OpenAI, Anthropic, Google maupun gateway. Bagian terakhir menjelaskan pesan dan solusinya di Ezkielyna API.

Dicek · Sumber: dokumentasi Ezkielyna API · Gagal = Gratis · halaman status

Artinya

429 Too Many Requests berarti server membatasi kecepatan: jumlah request per menit, token per menit, atau request yang berjalan bersamaan melewati batas. Request yang sama biasanya berhasil kalau diulang setelah jeda.

Hati-hati: beberapa penyedia (misalnya OpenAI) juga memakai 429 untuk saldo habis (insufficient_quota). Kalau pesannya menyebut quota atau billing, menunggu tidak akan membantu.

Contoh pesan yang muncul

Teksnya bisa sedikit berbeda antar versi aplikasi dan SDK. Bagian yang ditulis N, M atau nama-model diganti angka atau nama sungguhan.

  • OpenAIRate limit reached for <model> in organization <org> on requests per min (RPM). (code: rate_limit_exceeded)
  • Anthropicrate_limit_error (429) · overloaded_error (529, server sedang penuh)
  • Google Gemini429 RESOURCE_EXHAUSTED

Penyebab umum

  • Banyak request paralel: batch, loop n8n tanpa jeda, beberapa agent atau tab sekaligus.
  • Retry otomatis tanpa jeda, sehingga satu error berubah menjadi puluhan request.
  • Batas akun atau tier di penyedia masih rendah (akun baru biasanya punya batas kecil).
  • Penyedia model sedang sibuk; ini terjadi walaupun request-mu sedikit.

Cara memperbaiki, langkah demi langkah

  1. Baca pesannya dulu. Kalau menyebut quota, billing atau credit, itu saldo habis, bukan kecepatan. Isi saldo, jangan retry.
  2. Hormati Retry-After. Kalau respons punya header Retry-After, tunggu sebanyak detik itu sebelum mengulang.
  3. Retry dengan jeda yang makin panjang. Ulangi dengan jeda 1, 2, 4, 8 detik ditambah sedikit angka acak, maksimal beberapa kali. Jangan retry seketika dalam loop.
  4. Kurangi request paralel. Di n8n atur batch size dan jeda antar item; di skrip batasi jumlah request bersamaan; di agent coding jalankan satu tugas per key.
  5. Kecilkan request. Prompt dan output yang lebih pendek mengurangi batas token per menit dan mempercepat antrean.
Python: retry dengan jeda (OpenAI SDK)
import time, random
from openai import OpenAI, RateLimitError, APIStatusError

client = OpenAI(base_url="https://api.ezkielyna.store/v1", api_key="sk-...")

def tanya(pesan, coba=5):
    for i in range(coba):
        try:
            return client.chat.completions.create(model="deepseek-v4.1-flash", messages=[{"role": "user", "content": pesan}])
        except (RateLimitError, APIStatusError) as e:
            if getattr(e, "status_code", 429) not in (429, 500, 502, 503, 504) or i == coba - 1:
                raise
            time.sleep(2 ** i + random.random())   # 1, 2, 4, 8 detik + acak

Di Ezkielyna API

  • Menurut dokumentasi Ezkielyna API, 429 muncul kalau lebih dari 300 request per menit atau 50 request paralel datang dari satu IP, atau kalau penyedia model sedang sibuk. Solusinya: tunggu sesuai Retry-After lalu ulangi, dan kurangi request paralel.
  • Kalau yang penuh adalah penyedia di belakang gateway, pesannya berbunyi "Upstream rate or capacity limit reached. Lower concurrency and retry shortly." Mencoba model lain dari halaman status sering lebih cepat daripada menunggu.
  • Menurut Kebijakan Penggunaan, retry otomatis tanpa jeda setelah ditolak termasuk pelanggaran ringan, dan memutar banyak key atau akun untuk mengakali batas termasuk pelanggaran serius.

Gagal = Gratis

Request chat yang gagal karena error di server Ezkielyna atau upstream, sehingga jawabannya kosong atau terputus sebelum ada teks, dikembalikan otomatis ke saldo. Sistem memeriksa log setiap 10 menit dan refund tampil di menu Log. Tidak termasuk: pembatalan atau timeout dari sisi aplikasimu, gambar, video, audio dan task async, serta bagian di atas $1 per pengguna per 24 jam. Aturan lengkap.

Alat bantu: daftar model dan grup

Pertanyaan umum

Berapa lama harus menunggu setelah 429?

Ikuti header Retry-After kalau ada. Kalau tidak ada, mulai dari 1–2 detik dan gandakan setiap kali gagal.

Apakah membuat banyak key menyelesaikan 429?

Untuk batas per IP atau per akun tidak, dan di banyak layanan (termasuk Ezkielyna) itu melanggar aturan pemakaian. Kurangi paralel dan pakai retry dengan jeda.

In English

HTTP 429 means too many requests in a short time (per-minute or parallel limits) or a busy model provider. Read the message first (OpenAI also uses 429 for insufficient_quota), honour Retry-After, retry with exponential backoff and jitter, and lower concurrency. On Ezkielyna the documented limits are 300 requests per minute or 50 parallel requests per IP.