API_KEY_REQUIRED | 401 | Send the key in the X-API-Key header (or the api_key query parameter). The key-free endpoints (/assets, /analysts/*, /analyst-views, /calls, /consensus without days) need none. |
INVALID_API_KEY | 401 | The key is unknown, inactive, expired, or its subscription is not active. Do not retry with the same key; obtain a valid one. |
PLAN_REQUIRED | 401 | The key’s plan cannot read this endpoint. required_plans names the plans that can: upgrade at upgrade_url or contact sales at contact_url. Do not retry on the same plan. |
RAW_ACCESS_REQUIRED | 403 | The original source statement (full post text) is provided under an Integration agreement only, per key (not a plan: premium, enterprise and admin-owned keys without it get the excerpt). Drop source_text=statement to receive the ≤ 200-character excerpt + source link, or contact sales@cryptoquant.com (contact_email) for Integration raw-text access. Do not retry unchanged. |
DAILY_LIMIT_EXCEEDED | 429 | Free plan daily quota used (limit / used). It resets at 00:00 UTC; wait, or upgrade. |
RATE_LIMIT_EXCEEDED | 429 | Per-minute (keyed: your plan’s rate_limit_per_minute; key-free: per-IP) limit hit. Wait retry_after seconds (header Retry-After), then retry; spread calls over the minute. |
INVALID_PARAMETER | 400 | A query parameter is malformed or outside its accepted values: param names it and message lists what is accepted. Fix the request; never retry it unchanged. |
UNKNOWN_ASSET | 400 | The asset is not registered. Resolve the name or ticker through GET /assets (symbol, key, name, aliases) and retry with that symbol. |
ANALYST_NOT_FOUND | 404 | No tracked analyst matches. Pick a handle from GET /analysts/top?asset=… (field handle) and retry. |
ANALYST_NOT_ELIGIBLE | 404 | The analyst exists but is excluded from the stance pipeline (feed, company account, stakeholder). Not retryable. |
NO_DATA | 404 | No rows for that analyst × asset pair in the queried range. Not retryable; try another asset the analyst covers (covered_assets on /analysts/{handle}). |
SERVICE_UNAVAILABLE | 503 | An upstream list was unavailable. Retry after a few seconds with the same request. |
INTERNAL_ERROR | 500 | Our fault. Retry once after a few seconds; if it persists, report the full URL to support. |