kwery's self-serve tier lets you sign up, start crawling, and pay as you go — no manual provisioning required. This guide covers the account lifecycle: signing up, how credits are consumed, watching your usage, and what happens when you run out. The full plan and rate tables live on one page only: Pricing.
Self-serve accounts authenticate the data API with an API key and the dashboard with a separate session — see Authentication if you haven't already.
Create an account at kwery.co. Signup provisions your org automatically and grants 1 000 free credits — a one-time allowance, not a monthly one, and enough to try every source before you commit to a plan. Anything you do not spend stays on your balance; it does not expire and it does not top back up. Your first API key is issued right away in the dashboard.
Every freshly crawled result consumes credits at the per-source weight — see the credit weights by source table. That includes freshly crawled "not found" answers. Cache re-serves are free: results answered from cache within your max_age window, "not found" answers re-served from the not-found cache, and failed lookups all cost zero credits. Unused credits roll over and never expire.
Credits are debited once per job, at completion, for the batch of values in that job.
kwery caches recent data per key:value and reuses it where it can to answer faster. Two per-job parameters control how fresh your answers must be:
max_age(seconds, default 1200) — cached data younger than this may be used to assemble the answer instead of re-fetching everything.not_found_max_age(days, default 10) — how long a cached "not found" answer is honoured before we re-check.
Freshness controls cost as well as recency. A result served entirely from cache within your max_age window (served_from: "cache" on the result) is free — no crawl, no credits. A freshly crawled result costs its per-source credits. The same rule covers "not found": billed when we had to crawl to determine it, free when re-served from the not-found cache within not_found_max_age. The cache is shared across all customers, so a product anyone recently queried can serve your request at no charge. Narrow the windows when you need up-to-the-minute data; widen them when a free, slightly older answer is good enough.
curl -s https://api.kwery.co/v1/account/credits \
-H "Authorization: Bearer $DASHBOARD_SESSION_JWT"{
"included": 1000,
"used": 640,
"balance": 360,
"percent_used": 64,
"status": "ok",
"period_resets_at": "2026-08-01T00:00:00.000Z",
"plan": "free",
"plan_kind": "free",
"enforcement_mode": "hard_stop",
"overage_units_this_period": 0,
"overage_amount_cents": 0,
"budget_cap_cents": null,
"budget_cap_reached": false
}status moves through ok → warning (≥80% used) → critical (≥95%) → depleted (balance 0). We email you at each threshold so you're not surprised by a 402.
This endpoint uses your dashboard session, not your API key — see Authentication.
What happens at zero balance depends on your plan:
- Free tier — hard-stops with
HTTP 402on new job submission. The free allowance is one-time, so this is resolved by upgrading rather than by waiting. Nothing is ever charged. - Growth plans — continue seamlessly into overage, billed at your plan's rate. To stop instead of accruing overage, switch your overage mode to
cap_stop(spend ceiling) oroff.
Plan tiers, prices, included credits, and overage rates are listed once, on Pricing → Plans. Upgrades, downgrades, and billing are managed in the dashboard; enterprise is a custom annual contract — contact us to set one up.
- Authentication — API key vs dashboard session, and when to use each.
- Getting started — submit your first job.
- Pricing — plans, credit weights, overage, and rollover.