Founding pricing — locked in for early customers, on for life

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: 5 analyses per day for the subscribed symbol
    • Pro: 20 analyses per day per symbol and 3 model comparisons per day
    • Pro+: 50 analyses per day per symbol with unlimited model comparisons
  • Charlie usage is shared across browser and API access. A request made via /v1/charlie counts against the same Charlie allowance as a request made inside the darwintIQ workspace.
  • Burst traffic may return 429 even 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.