Every API request consumes credits from your monthly budget. Cost is determined by the endpoint and the number of rows returned.

How credits are calculated

Most endpoints use:

credits = base + (per_row × rows_returned)

The base cost is charged on every call. The per-row cost scales with how many rows you get. Heavier data (order books, snapshots with depth) costs more per row.

Example: /v1/candles returning 100 rows costs 10 + (2 × 100) = 210 credits.

Some endpoints have a flat cost (e.g. /v1/snapshots/{id}/at).

Credit cost per endpoint

EndpointCategoryBasePer Row10 rows100 rows1,000 rows
GET /v1/limitsAccount00000
GET /v1/sourcesDiscovery101101010
GET /v1/marketsDiscovery101101010
GET /v1/statusDiscovery101101010
GET /v1/candlesOHLCV102302102,010
GET /v1/oracleOHLCV102302102,010
GET /v1/fundingOHLCV102302102,010
GET /v1/open-interestOHLCV102302102,010
GET /v1/tradesTrade ticks102302102,010
GET /v1/liquidationsEvents102302102,010
GET /v1/derivedAnalytics103403103,010
GET /v1/snapshots/{id}Snapshots103403103,010
GET /v1/snapshots/{id}?include_orderbook=trueSnapshots + OB108908108,010
GET /v1/snapshots/{id}/atPoint-in-time25252525
Binance 1s tickerTicker103403103,010
Kalshi pricesKalshi103403103,010

Discovery and account endpoints (/v1/limits, /v1/sources, /v1/markets, /v1/status) are cheap or free so you can plan queries and monitor usage without burning credits. Core OHLCV endpoints share the same 10 + 2/row cost. Snapshots with full order book cost more per row (8) because the data is larger and more expensive to store and serve.

Tracking usage

Response headers

Every response includes:

HeaderDescription
X-Credits-UsedCredits charged for this request
X-Credits-RemainingCredits left in your billing period

/v1/limits

Call /v1/limits (0 credits) to check plan, credit balance, and rate limit status:

curl "https://kwery-api.com/v1/limits" -H "X-API-Key: kwery_live_YOUR_KEY"

Monthly reset

Credits reset to your plan’s allocation at the start of each billing cycle. Unused credits do not roll over.

When credits run out

When your balance is zero, data endpoints return 402 Payment Required:

{
  "error": "credits_exhausted",
  "message": "Monthly credit budget exhausted. Resets on 2026-04-01T00:00:00Z.",
  "upgrade_url": "https://kwery.xyz/dashboard/billing"
}

/v1/limits still works at 0 credits so you can always see your balance.

Optimization tips

  • Use limit to request only the rows you need.
  • Cache discovery data — /v1/sources and /v1/markets change infrequently.
  • Use wider intervals (1h, 4h, 24h) when you don’t need 5m/1s — fewer rows for the same range.
  • Poll /v1/limits to avoid hitting zero mid-pipeline.
  • Prefer a single request with a higher limit over many small paginated requests when your tier allows it.