---
title: "How Billing Units Work"
description: "How CarsXE counts billable usage — per call vs per result — and what that means for your bill."
canonical_url: "https://docs.carsxe.com/docs/guides/billing-units"
markdown_url: "https://docs.carsxe.com/docs/guides/billing-units.md"
last_updated: "1980-01-01"
x_farming_labs_generated_preamble: true
agent:
  task: "Understand how CarsXE billing units are counted for different APIs."
  outcome: "The reader knows which APIs bill per call, which bill per returned result, and can predict the unit count for any request."
  prerequisites:
    - "A valid CarsXE API key."
  verification:
    - "The reader can identify whether a given API bills per call, per result, or per VIN in a bulk submit."
  failureModes:
    - symptom: "Unexpected unit count on an invoice."
      resolution: "Check whether the API bills per result (Ownership), per model (YMM Options bulk variants, minimum 1), or per VIN (Recalls Batch / VINs Batch)."
---

# How Billing Units Work
URL: /docs/guides/billing-units
LLM index: /llms.txt
Description: How CarsXE counts billable usage — per call vs per result — and what that means for your bill.
Related: /docs/guides/rate-limits, /docs/products/ownership, /docs/products/ymm-options, /docs/products/recalls-batch

<!-- farming-labs:agent-contract:start -->
## Agent Contract

Task: Understand how CarsXE billing units are counted for different APIs.
Outcome: The reader knows which APIs bill per call, which bill per returned result, and can predict the unit count for any request.

### Prerequisites

- A valid CarsXE API key.

### Verification

- The reader can identify whether a given API bills per call, per result, or per VIN in a bulk submit.

### Failure Modes

- Unexpected unit count on an invoice. — Recovery: Check whether the API bills per result (Ownership), per model (YMM Options bulk variants, minimum 1), or per VIN (Recalls Batch / VINs Batch).
<!-- farming-labs:agent-contract:end -->

Task: Understand how CarsXE billing units are counted for different APIs.
Related: /docs/guides/billing-units, /docs/guides/rate-limits, /docs/products/ownership, /docs/products/ymm-options, /docs/products/recalls-batch

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](/docs/products/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](/docs/products/ownership) 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](/docs/products/ymm-options) for full parameter reference.

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
Docs-scoped sitemap: [/docs/sitemap.md](/docs/sitemap.md).
Well-known sitemap: [/.well-known/sitemap.md](/.well-known/sitemap.md).
