Docs/Integrations/SDKs & clients

SDKs & clients

First-party typed clients: the TypeScript SDK on npm, and the Python client (sync + async).

Two first-party clients, both pinned to the same OpenAPI contract the docs render from (/openapi.json) — or generate your own client from that spec in any language.

TypeScript / JavaScript — @quanaris/sdk

Typed REST methods matching the OpenAPI contract, automatic retry with backoff on 429/502/503 (honours Retry-After), and an auto-reconnecting WebSocket client (@quanaris/sdk/ws). Zero runtime dependencies — platform fetch, Node 18+ and every browser.

npm install @quanaris/sdk
import { QuanarisClient } from "@quanaris/sdk";

const q = new QuanarisClient({ apiKey: process.env.QUANARIS_KEY });
const overview = await q.token.overview("C7heQqfNzdMbUFQwcHkL9FvdwsFsDRBnfwZDDyWYCLTZ");
const candles = await q.token.ohlcv("C7heQqfNzdMbUFQwcHkL9FvdwsFsDRBnfwZDDyWYCLTZ", { interval: "1m", limit: 100 });
console.log(overview.priceUsd, candles.data.length);

Streaming lives in its own module so REST-only consumers never pay for it:

import { QuanarisStream } from "@quanaris/sdk/ws";

Python — quanaris

Sync and async clients on httpx, dataclass response models (camelCase → snake_case), automatic retry/backoff and cursor-following pagination helpers.

PyPI publication is pendingpip install quanaris doesn't resolve to this client yet. The TypeScript SDK is available on npm today; the Python client below ships once the PyPI release lands.
from quanaris import QuanarisClient

with QuanarisClient(api_key="qnr_live_…") as q:
    price = q.token.price("C7heQqfNzdMbUFQwcHkL9FvdwsFsDRBnfwZDDyWYCLTZ")
    print(price.price_usd, price.updated_at)

Other languages

The OpenAPI 3.1 document at /openapi.json carries named response models, so generators (openapi-typescript, openapi-python-client, openapi-generator) emit real typed clients. AI agents can also read /llms.txt and /llms-full.txt, or use the MCP server directly.