Per check. Prepaid. Published.
No quotes to request before you can read a price. Every product has one unit price, listed in the dashboard, and your wallet is debited once per job.
Three things to know
One price per job type
Each type has a published unit price. The same job costs the same whatever the answer, so there is never an argument about which outcome should have been cheaper.
Prepaid wallet, atomic debit
Fund the wallet yourself from the dashboard. Each job debits exactly once, atomically, before any source is called. Low-balance alerts arrive before a request is ever declined for funds.
Failures are free
If we could not assess the subject, you are not charged. HTTP errors, source outages and unreadable inputs all return billing.billable: false.
The line is "did we do the work"
A completed job is billed whatever its decision, because the sources were called and the work was done. A job that failed is not a decision and is not billed.
Every response carries an explicit billing object with billable, units and product, so what you were charged and why is never a guess.
- billed
decision: approved— every check passed - billed
decision: review— a check landed in the uncertain band - billed
decision: rejected— a check failed decisively - billed
decision: not_applicable— a lookup that returned its record, or confirmed none exists - not billed
status: failed— a source was unavailable or the job could not run - not billedAny
4xxor5xxerror, including unreadable images and rate limits - not billedEverything under a test key. The sandbox is free and unlimited
Pricing, answered plainly
Where are the actual prices?
In the dashboard, per product, before you integrate. Create an account to see the current list; it is the same list your wallet is debited against.
Is there a minimum commitment or a subscription?
No. You fund a wallet and pay per job. Unused balance stays in the wallet.
Does a retry cost twice?
No. Idempotency-Key is required on every POST and replaying one returns the original response without a second debit. Keys never expire.
What happens when the wallet runs out?
You get low-balance alerts first. If the balance cannot cover a job the API returns 402 insufficient_funds, nothing is debited and nothing is sent to a source.
We run very high volumes. Is there a different arrangement?
Volume pricing and on-premise licensing for banks and government are handled directly. Write to [email protected] with your expected monthly volume by product.
Is the sandbox really free?
Yes. Test keys run the same code path against fixtures, report the units a live call would cost, and never debit anything.
See the price list in the dashboard
Request access, open Pricing, and read every unit price before you write a line of code.