Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.backquant.com/llms.txt

Use this file to discover all available pages before exploring further.

Every response from the BackQuant API uses the same envelope structure, whether the request succeeds or fails. Always check the success field before reading data or error.

Success response

When a request succeeds, success is true and the result is in data. The meta block carries everything you need to know about the provenance and freshness of the data.
{
  "success": true,
  "data": {
    "all_expiry": {
      "hvl": 67000,
      "call_resistance": 70000,
      "put_support": 64000
    },
    "odte": {
      "hvl": 67500,
      "call_resistance": 68000,
      "put_support": 66500
    }
  },
  "meta": {
    "version": "2.0",
    "timestamp": "2026-04-30T12:00:00.123Z",
    "request_id": "req_a1b2c3d4...",
    "symbol": "BTCUSDT",
    "spot_price": 67213.5,
    "computed_at": "2026-04-30T11:59:48.000Z",
    "freshness_seconds": 12.0,
    "source": ["deribit", "bybit", "okx", "binance"]
  }
}

Error response

When a request fails, success is false and the reason is in error. The meta block keeps the same shape so logging code doesn’t have to special-case errors.
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 60 seconds.",
    "details": {
      "retry_after_seconds": 60,
      "limit": "120 per 1 minute"
    }
  },
  "meta": {
    "version": "2.0",
    "timestamp": "2026-04-30T12:00:00.123Z",
    "request_id": "req_a1b2c3d4..."
  }
}
See Errors for the full list of error codes.

Fields

success
boolean
required
true if the request succeeded, false if it failed. Always check this field first.
data
object
The response payload. Present when success is true. The shape varies by endpoint — see the API reference for each endpoint’s schema. The top 10 most-traffic endpoints have Pydantic-typed schemas in the OpenAPI spec; the rest are documented with examples.
error
object
Present when success is false.
meta
object
required
Metadata included in every response — success or error.

Pydantic schemas

The 10 most-traffic v2 endpoints have full Pydantic response schemas in the OpenAPI spec. Use them with codegen tools (openapi-python-client, openapi-typescript-codegen, etc.) to get typed client SDKs:
  • GexLevelsResponse, GexStrikeProfileResponse, MaxPainResponse
  • ChainResponse, ExpirySummaryResponse, OpexResponse
  • IvTermStructureResponse, IvSkewResponse, ProbabilityDensityResponse
  • MultiGexLevelsResponse
  • Plus ChangelogResponse
The other 28 endpoints are documented with examples and the same envelope shape.

See also

Errors

Every error code with HTTP status mapping.

Rate limits

Rate-limit headers and tier-based throttling.

Data freshness

What computed_at and freshness_seconds mean per endpoint.