Skip to content
Guavy Logo GUAVY

Errors

Understand the error responses you may encounter when using the Guavy API, including authentication failures, rate limit violations, and standard HTTP status codes. Learn how to handle these errors gracefully in your application.

Authentication Errors

Authentication errors occur when you make a request without a valid Bearer token or API key in the Authorization header. When authentication fails, the API returns a JSON response with "error": true and an HTTP 401 Unauthorized status code.

HTTP Response Codes

The Guavy API uses standard HTTP response codes to indicate the success or failure of an API request. Here are some common response codes you may encounter:

  • 400 Bad Request - A malformed request. Most commonly a strategy path segment outside the supported set (aggressive or conservative); the response names the offending value.
  • 401 Unauthorized - Missing or invalid Bearer token in the Authorization header, or your token budget is exhausted until the next reset
  • 402 Payment Required - Market not included in your entitlement. You should not see this today: every live market is reachable on the free Sandbox tier
  • 404 Not Found - The requested endpoint or resource does not exist, or the market you asked for is not one we serve yet. A market that is coming but not live says so, and lists the markets that are
  • 422 Unprocessable Entity - The request was well-formed but contains invalid data or parameters
  • 429 Too Many Requests - Rate limit exceeded, retry after the time specified in the response headers
  • 503 Service Unavailable - A data source we depend on is temporarily unavailable — the trade-simulator upstream, or the datastore behind the trend endpoints. Your request was valid; retry after the Retry-After interval. Tokens charged for a 503 are credited back, less a 1-token floor.

We don't bill you for our failures. When a request fails on our side — a 503 from the upstream provider, or a resource that turns out not to exist (404) after we've already charged — the tokens are credited back to your budget, less a 1-token floor that keeps a failing call from being infinitely free. A malformed request on your side (400) is charged normally.

Token Costs

Each API call consumes tokens from your monthly budget. Endpoints that return richer or deeper data cost more tokens. Historical endpoints scale with the amount of data requested.

You never have to guess how much is left: every metered response carries your balance in x-tokens-* headers — x-tokens-cost (what this call cost), x-tokens-limit / x-tokens-remaining (monthly), and x-tokens-limit-today / x-tokens-remaining-today (daily). The remaining values are net of any credit applied to the same request.

Endpoint Token Cost
GET /api/v1/ping 1
GET /api/v1/instruments/list-symbols 1
GET /api/v1/instruments/search-instruments/:query 2
GET /api/v1/instruments/get-detail/:symbol 5
GET /api/v1/instruments/scorecard/:symbol 10
GET /api/v1/newsroom/get-market-summary 3
GET /api/v1/newsroom/get-article/:id 3
GET /api/v1/newsroom/get-recent-briefs/:symbol 3 – 8 (scales with limit)
GET /api/v1/newsroom/search-briefs/:symbol 3 – 8 (scales with limit)
GET /api/v1/newsroom/get-instrument-analysis/:symbol 10
GET /api/v1/trades/get-recent-buys 3
GET /api/v1/trades/get-recent-sells 3
GET /api/v1/trades/get-recommendations 5
GET /api/v1/trades/get-current-action/:symbol/:strategy 5
GET /api/v1/trades/get-trend-history/:symbol/:limit 5 – 15 (scales with limit)
GET /api/v1/trades/get-backtest-history/:symbol/:strategy 8 – 20 (scales with years)
GET /api/v1/trades/get-backtest-summary/:symbol/:strategy 8 – 20 (scales with years)
GET /api/v1/sentiment/get-sentiment-history/:symbol 3 – 12 (scales with limit)
GET /api/v1/technical-analysis/get-price-history/:symbol 5
GET /api/v1/technical-analysis/get-indicators/:symbol 8

Account Limits

Each plan includes a monthly token budget: 3,000 for Sandbox, 250,000 for Quant, and 1,000,000 for Pro. Your monthly plan budget resets to the full amount on the 1st of each month — unused base tokens don't carry over. You can top up at any time with a one-time token pack; pack tokens never expire and any unused pack balance rolls forward. If you exceed your budget, the API returns a 401 until the next reset or until you purchase more tokens.

Connection Limits

The Guavy API has a limit of 10 simultaneous connections and a 120-second timeout per request. We recommend caching responses that don't change frequently to reduce token consumption and improve performance.

Was this helpful?
Feedback option #{picture.id}
Feedback option #{picture.id}
Feedback option #{picture.id}
Feedback option #{picture.id}

© 2026 Guavy Inc. All rights reserved.