Plans & Billing
HeyVisa bills on a simple metered model: you pay a monthly base that includes a bundle of generated reports, and any usage beyond the bundle is charged at a per-report overage rate. Documents and webhooks are free; only finalised reports are metered.
What counts as usage
- Billable. Each report that reaches the
completedstate counts as one unit against your quota. - Free. Document uploads, OCR, webhook deliveries, PDF exports, and any report run with an
sk_test_sandbox key. - Not charged. Reports that fail before completion (e.g.
422validation errors) never count.
Plans
| Plan | Monthly base | Included reports | Overage / report | Rate limit |
|---|---|---|---|---|
| Free | $0 | 10 | — | 30 req/min |
| Starter | $49 | 150 | $0.40 | 60 req/min |
| Growth | $199 | 1,000 | $0.25 | 120 req/min |
| Scale | $799 | 5,000 | $0.18 | 300 req/min |
| Enterprise | Custom | Custom | Custom | Custom |
On the Free plan, usage stops at the included quota — requests return 402 quota_exceeded until the next cycle or an upgrade. Paid plans automatically meter overages.
Quotas, metering & overages
- Reset cadence. Included quota resets at the start of each billing cycle (UTC); unused reports do not roll over.
- Overages. Once the bundle is exhausted on a paid plan, each additional report is billed at the plan overage rate and invoiced at cycle close.
- Soft caps. Set a monthly spend cap under Settings → Billing to have the API return
402rather than accrue further overage. - Headers. Every response includes
X-Quota-RemainingandX-Quota-Resetso you can monitor usage in real time.
Estimating before you commit
Run your integration in sandbox first — test-mode reports are free and unmetered. When you switch to a live key, watch
X-Quota-Remaining for a few cycles to right-size your plan before overages kick in.