Errors
Errors are returned as RFC 9457
application/problem+json:
{ "type": "https://docs.signals.ai/errors/rate-limited", "title": "Rate limit exceeded", "status": 429, "detail": "Your Builder plan allows 100,000 weighted requests per day. Resets at 00:00 UTC.", "request_id": "req_9f2c…", "instance": "/v1/search"}Every response — success or error — carries an X-Request-Id; the same value
appears as request_id in error bodies. Include it when contacting support.
Error types
type slug | Status | Meaning |
|---|---|---|
invalid-key / revoked-key | 401 | Bad or revoked API key. |
rate-limited / quota-exceeded | 429 | Daily quota or burst exceeded. |
concurrency-exceeded | 429 | Too many concurrent requests. |
tier-required | 403 | Endpoint needs a higher plan (carries required_tier). |
not-covered | 404 | Symbol exists but this dataset is empty (carries coverage_url). |
unknown-symbol | 404 | Symbol not in the universe. |
validation | 422 | Malformed request. |
credits-exhausted | 402 | Out of ask credits. |