Skip to content
GridRouterhome

Search

Search providers, capabilities and pages

Docs
Concepts

Vendor billing verification

Every call on your own vendor key says whether the vendor billed it the way its published rules say it should.

Before you start

When you call with your own vendor key, the vendor bills you directly. GridRouter reads what the vendor reported for each call (from its response headers or body), works out what its published pricing rules say it should have charged, and records a verdict on the call's log row.

Verdicts

VerdictWhen
okThe vendor reported exactly the expected charge
charged_for_missIt charged more than expected, and the call was a miss or failed
double_charged_retryIt charged again for a request it had already billed within its repeat window
price_mismatchIt charged less than expected, or more on a hit or record count
unverifiableThere is no rule for the endpoint, or the vendor reported nothing
noneThe vendor was not called (for example, a private-cache hit)

Search billing:mismatch in /logs for all three mismatch verdicts, or name one: billing:charged_for_miss, -billing:ok.

Rules

Each rule comes from the vendor's own pricing page and is linked from the call's detail sheet. A rule says when the vendor charges (always, on any 2xx success, only on a hit, per_record, or whatever the body states per_credit), how many credits, when a charge is waived, and whether retries and repeats of an already-billed request are billed again.

VendorCoverage
Vendors that report usage per callRules for every endpoint; each call is checked against the credits the vendor reports
HunterRules exist, but Hunter reports no per-call usage, so calls read unverifiable
Prospeoemail.find (free on a record already bought, repeats within 90 days free); no public price, so dollar amounts are empty
Everyone elseunverifiable until their rules are researched and cited

For example, Prospeo's email.find costs 1 credit only when it returns an email, and nothing when the same record is enriched again within 90 days. A miss that consumed a credit reads charged_for_miss.

Where it shows

  • The Billing column and facet in /logs, and a Billing section in each call's detail sheet: the rule in plain English with its source, the expected and reported credits and dollars, and the balance the vendor reported.
  • Billing accuracy in the log toolbar: per vendor, calls checked, billed right, each mismatch type, and credits and dollars overbilled for the current filters. The API is GET /v1/logs/billing.
  • Export → Billing disputes (CSV): the mismatches only, with request id, UTC timestamp, vendor, endpoint, verdict, outcome, HTTP status, expected and reported credits and USD, balance after, and the rule. Send it to the vendor as-is.

Calls on GridRouter's managed vendor accounts read managed; their vendor-side cost is never shown.