Pricing

Priced against building it yourself.

Seven source integrations, identifier extraction and a twenty-year backfill is roughly eighty engineer-hours. The middle tier costs about what one of them does.

free
Free
500 requests / month
5,000 checked identifiers / month
  • Full corpus access
  • Check receipts included
  • No card required
starter
$29/mo
10,000 requests / month
100,000 checked identifiers / month
  • Everything in Free
  • Amendment history
  • Email support
Most popular
growth
$99/mo
100,000 requests / month
1,000,000 checked identifiers / month
  • Everything in Starter
  • Bulk catalogue checks
  • Priority support
scale
$299/mo
1,000,000 requests / month
10,000,000 checked identifiers / month
  • Everything in Growth
  • 1,000 requests / minute
  • Corpus licence available

What counts, and how

There are two meters, because they measure different things.

Requests are HTTP calls. A catalogue check of 1,000 identifiers is a single request, not a thousand — bulk checks remain the cheapest way to call the API. Rejected calls are never metered: a 400 for a malformed identifier, a 401, or a 429 costs nothing.

Identifiers are the individual barcodes, VINs and model numbers you submit to /v1/checks. The request quota bounds how often you call; the identifier quota bounds how much you check. Every plan includes ten identifiers for each request in its allowance, and you spend them however suits you — one at a time, or a thousand at once.

Only identifiers that pass validation count, so a malformed export does not silently consume your allowance. A submission that would exceed the allowance is refused whole rather than trimmed to fit: a receipt that appears complete while covering an arbitrary subset of what you sent is worse than a clear 402.

Lookups of a single identifier via GET /v1/identifiers/… count as a request only. The identifier meter applies to catalogue checks.

Limits by plan

PlanRequests / monthIdentifiers / monthBurstPrice
free 500 5,000 10 / min Free
starter 10,000 100,000 60 / min $29 / mo
growth 100,000 1,000,000 300 / min $99 / mo
scale 1,000,000 10,000,000 1,000 / min $299 / mo

The monthly figure is the quota; the burst figure is the per-minute ceiling that protects the service from a runaway loop. Both are enforced from the same table that generates this page, so what is published is what is applied.

What happens at the limit

Exceeding the per-minute burst returns 429 with a Retry-After header. Exhausting either monthly quota returns 402, and the response body says which one, how much was used and how much remained. Nothing silently degrades, and nothing bills you an overage you did not agree to — there is no metered overage on any plan. If a plan stops fitting, move up a plan.

Billing

  • Monthly, in US dollars, charged by Stripe. Cancel from the receipt Stripe emails you, at any time.
  • Cancelling revokes the key at the end of the period, and the API returns 403 from that point.
  • No setup fee, no annual commitment, no per-seat pricing.
  • We store no card details and no personal data. Stripe holds the billing relationship; we hold a key id and a usage count.

Free, and what it is for

500 requests and 5,000 checked identifiers a month, the full corpus, and check receipts included — not a crippled trial. It exists so the first evaluation costs nothing and so a small integration that never grows is not forced onto a paid plan.

One-time corpus licence

Need the archive rather than a live feed? The complete corpus — 176,180 recalls, 249,392 identifiers and full amendment history — is available as a dated, checksummed export with all attribution obligations documented. Enquire.

Every field, filter and error is documented in the API reference. Ingestion freshness for all seven sources is public on the status page.