Most CarsXE APIs bill per successful call. A few bill per returned result or per item in the request. This page covers the result-based exceptions and points bulk VIN jobs to their own docs.
Default: per successful call
A typical successful call (success: true) is billed as one call. Failed or empty lookups (success: false, 404 no_data, validation 400) are free.
This is not true of every endpoint:
- Per result — Ownership (below) and YMM Options bulk variants (below).
- Per VIN in the request — Recalls Batch and VINs Batch. See those product docs; a 500-VIN submit is 500 units, not 1.
Ownership — per returned record
All five Ownership lookups (VIN, Person, Address, Phone, ZIP) bill per record returned, not per request.
- Zero records →
404 no_data→ free. - N records in the response (
owners/matches/records) → N billable units.
Example: a VIN lookup that returns 3 owners bills 3 units. A ZIP page with 40 records bills 40.
See Ownership docs for details on each lookup type.
YMM Options — bulk variants bill per model
Most YMM Options requests are billed per successful call, like any other API.
The exception is the bulk variant list: dimension=variants with year + make and no model. That request bills per distinct model in the response. modelCount is the billed quantity, with a minimum of 1 even when modelCount is 0.
Example: 82 variant strings across 12 models → modelCount: 12 → 12 billable units.
See YMM Options docs for full parameter reference.
How CarsXE counts billable usage — per call vs per result — and what that means for your bill.