Viewing: Error Codes

Error Codes

The API uses standard HTTP status codes and returns structured JSON error responses.

HTTP Error Codes

400INVALID_ROUTE

Wrong endpoint path was used. The API returns a suggested correct route.

401detail

The X-API-Key header is missing.

403detail

API key format is invalid, or the key is invalid or revoked.

403PLAN_LIMIT

Endpoint requires a higher plan (e.g., historical data requires Starter+, or higher-tier financials combinations are requested on Starter).

404INVALID_SYMBOL

Exchange symbol was not found.

404 / 409INVALID_IDENTIFIER / AMBIGUOUS_IDENTIFIER

Identifier query did not resolve or matched multiple companies.

429detail

Daily, burst, IP, or temporary security throttle.

500SERVER_ERROR

Internal server error. Please retry or contact support.

Some new free accounts may temporarily hit a security limit. If this happens, the API returns HTTP 429 with a detail containing Temporary security limit reached. Honor Retry-After when present and try again later.

Common integration error: Calling GET /api/v1/quote/batch/ returns 400 INVALID_ROUTE with route guidance.

json
{
  "error": {
    "code": "INVALID_ROUTE",
    "message": "Did you mean /api/v1/quotes/?symbols=2222,1120 ?"
  }
}

Error Response Formats

Endpoint validation and lookup errors generally use a structured error object:

json
{
  "error": {
    "code": "INVALID_SYMBOL",
    "message": "Stock symbol '9999' not found."
  }
}

Authentication and throttle failures use a top-level detail string:

json
{
  "detail": "Request was throttled. Expected available in 60 seconds."
}

Last updated on