Rate limits and error handling
Rate limits and error handling
darwintIQ enforces rate limits to keep the service reliable.
Rate limits (current)
- 1 request / minute / symbol / token for data-heavy endpoints (Trading Models, Price Data, TrendMatrix, SupRes).
- Charlie uses plan-based daily limits instead of the per-minute market-data limit:
- Single Symbol:
5analyses per day for the subscribed symbol - Pro:
20analyses per day per symbol and3model comparisons per day - Pro+:
50analyses per day per symbol with unlimited model comparisons
- Single Symbol:
- Charlie usage is shared across browser and API access. A request made via
/v1/charliecounts against the same Charlie allowance as a request made inside the darwintIQ workspace. - Burst traffic may return
429even if your average rate is low.
We may adjust limits over time. If you need higher throughput for a legitimate integration, contact us.
Handling 429
When you receive a 429 Too Many Requests:
- wait until the next minute boundary (or apply exponential backoff)
- keep a per-symbol cache on your side
- avoid polling faster than needed (dashboard refresh every ~60s is sufficient for most users)
- for Charlie, wait until the daily allowance resets or reduce usage on the affected symbol/workflow
Error format
Public /v1/* API endpoints currently return errors as JSON with a top-level error field:
{ "error": "Human readable message" }
Some proxy-backed UI mutation endpoints may also include a message field, but API clients calling the public /v1/* endpoints should rely on the HTTP status code plus error.