@jay-patel A few checks from having debugged this exact error family recently:
-
Documented caps for getCandleData are 3/sec AND 180/min AND 5000/hr. Calls 6-10s apart sit well under all three — IF that's the only traffic on the key.
-
Caps are enforced server-side per client code, not per script. Usual silent breaches: a second process/notebook/cron on the same key; instant retries after an AB1021 (each retry counts and extends the throttle); or all 12 symbols fired near-simultaneously at the top of each cycle — that's a >3/sec burst even with 6-10s cycles. Log actual send timestamps, not the loop's sleep schedule.
-
If none apply, escalate with client code + exact timestamps — other threads this period report AB1021 below documented limits, and I hit the server cap on a modest backfill myself.
What works in production: client-side sliding-window limiter enforcing all three caps, exponential backoff on any AB1021, chunked backfills. For live 5-min candles on 12 symbols, consider building bars from the websocket instead of polling.
I do broker-API integration work — DM if you're stuck.
