QANATIX
API Reference

Usage API

Query usage statistics and estimated costs for your tenant.

Usage API

Track API usage and costs per tenant. Usage is metered in real-time and costs are calculated based on your plan's per-unit rates.

Pricing model

Qanatix uses tiered pricing with generous included quotas and per-use overage billing.

FreePro ($199/mo)Scale ($399/mo)Enterprise
Verticals15UnlimitedUnlimited
Ingestions50010,000100,000Unlimited
Ingestion overageBlocked$6/1K$4/1KCustom
Entities1,000100,000UnlimitedUnlimited
Searches1,00050,000500,000Unlimited
Search overageBlocked$1.50/1K$1/1KCustom

Free plan has hard caps — requests are blocked (HTTP 402) when limits are reached. Paid plans allow overages, billed end-of-month.

GET /usage

Get usage stats for the current month.

curl "https://api.qanatix.com/api/v1/usage" \
  -H "Authorization: Bearer sk_live_abc123..."

Response (200)

{
  "tenant_id": "your-tenant-id",
  "usage": {
    "requests": 1678,
    "searches": 1247,
    "ingested_records": 89,
    "entities_created": 342
  }
}
FieldDescription
requestsTotal API calls
searchesSearch queries executed
ingested_recordsRecords ingested (across all batches)
entities_createdEntities created via CRUD API

How usage is tracked

  1. Every API request increments a Redis counter (atomic, ~0.1ms overhead)
  2. Counters are flushed to Postgres every 5 minutes via SAQ cron job
  3. The portal usage endpoint combines Redis (real-time) + Postgres (persisted) for accurate totals
  4. Free plan: hard block at limits (HTTP 402)
  5. Paid plans: unlimited usage, metered for end-of-month billing

Rate limits

Rate limits are per-tenant, enforced via Redis token bucket:

PlanAPI calls/minSearch/min
Free6020
Pro600300
Scale2,0001,000
Enterprise10,0005,000

Exceeding rate limits returns HTTP 429 with X-RateLimit-Remaining and X-RateLimit-Reset headers.

On this page