Skip to main content

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 roughly 50 + (3 × 100) = 350 credits (see OpenAPI for your tier).

Some endpoints have a flat cost (e.g. GET /v1/snapshots/at). Exact formulas are in OpenAPI operation descriptions.

Credit cost per endpoint

EndpointCategoryBasePer Row10 rows100 rows1,000 rows
GET /v1/limitsAccount00000
GET /v1/sourcesDiscovery250252525
GET /v1/symbolsDiscovery00000
GET /v1/marketsMarkets250252525
GET /v1/limitsAccount00000
GET /v1/statusOperations100102001,10010,100
GET /v1/candlesOHLCV503803503,050
GET /v1/candles (Chainlink)OHLCV503803503,050
GET /v1/fundingDerivatives503803503,050
GET /v1/open-interestDerivatives503803503,050
GET /v1/tradesMicrostructure502702502,050
GET /v1/flowMicrostructure503803503,050
GET /v1/liquidationsDerivatives252452252,025
GET /v1/snapshotsSnapshots504904504,050
GET /v1/snapshots + order bookSnapshots50101501,05010,050
GET /v1/snapshots/atPoint-in-time50505050
GET /v1/tickerOHLCV (Pro+)5051005505,050

Numbers follow OpenAPI operation text (v1.6.x); verify with GET /v1/limits for your account. There is no separate /v1/oracle or /v1/derived in the published spec — use candles (e.g. source=chainlink) and compose metrics client-side where needed.

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.