CarsXECarsXE

Estimate a vehicle's current market value from a VIN. Use /v2/marketvalue for new integrations: it returns vehicle identity plus wholesale and retail values across condition tiers. Add mileage, state, and condition when you want the estimate adjusted for a specific vehicle and market.

Who uses this API

Dealerships, lenders, fleet operators, and warranty providers call this endpoint to price a vehicle from a VIN — wholesale, retail, and condition-adjusted bands for appraisals, trade-ins, and loan-to-value.

Use cases

B2B

B2C

Parameters

ParameterRequiredDescription
vinYesThe 17-character vehicle identification number
keyYesYour CarsXE API key
stateNoUS state used for regional adjustment. Example: CA
mileageNoCurrent odometer reading (miles in the US, kilometers in Canada). Must be numeric. When you pass mileage with condition, the API selects the matching mileage_list band and writes that band into the mileage_* fields, then recalculates adjusted_*. Omit mileage to apply bands yourself from mileage_list.
conditionNoOne of excellent, clean, average, or rough. excellent maps to the xclean response tier. Used with mileage to apply the matching mileage band.

If condition is omitted, use the returned condition buckets to choose the value range that matches your workflow.

Example

Get market value

Code
curl -G https://api.carsxe.com/v2/marketvalue \
  -d key=YOUR_API_KEY \
  -d vin=WBAFR7C57CC811956 \
  -d mileage=50000 \
  -d state=CA \
  -d condition=clean

Response

Top-level shape

{
"uid": "6AA32D4C",// valuation record identifier
"publish_date": "8/29/2025",// provider valuation publish date
"data_freq": "D",// daily refresh
"state": "CA",
"country": "US",
"uvc": "2017485075",
"group_num": "4163",
"model_year": "2017",
"make": "Kia",
"model": "Forte",
"series": "LX",
"style": "4D Sedan",
"mileage_cat": "B",
"class_code": "A",
"class_name": "Small Car",
"description_score": "",
"first_values_flag": false,
"risk_score": "",
"region2": 50,// raw regional amounts; selected state copies onto regional_*
"region3": 25,
"region4": -25,
"region5": 0,
"region6": 0,
"msrp": 17600,
"retail_equipped": 18820,
"price_includes": "AC",
"wheel_base": 106.3,
"tire_size": "195/65R15",
"seat_cap": "5",
"fuel_type": "Gas",
"fuel_cap": "13.2",
"fuel_delivery": "MPI",
"hwy_mpg": "38",
"city_mpg": "29",
"engine_description": "2.0L I-4 MPI DOHC ",
"cylinders": "4",
"engine_displacement": "2.0L",
"base_hp": "147 @ 6200",
"taxable_hp": 16.7,
"torque": "132 @ 4500",
"drivetrain": "FWD",
"num_gears": "6",
"ext_doors": "4",
"airbags": "Side Curtain",
"anti_corrosion_warranty": "5-year/100,000-mile, Limited",
"basic_warranty": "5-year/60,000-mile, Limited",
"road_assist_warranty": "5-year/60,000-mile",
"retail": 6550,// summary scalars
"trade_in": 5055,
"rough_trade_in": 2205,
"average_trade_in": 3705,
"loan_value": 8575,
"trade_in_values": [],
}

Click any object or array to expand it and see sample data. For the full interactive reference, try it live in the API Reference.

All response fields are optional. Missing value buckets mean the provider did not return that valuation for the VIN or market context. Some vehicles also return extra spec fields such as gvw, payload_cap, seats, transmission, engine_turbocharged, oil_cap, or navigation.

How mileage and options affect values

Each condition object is built the same way:

adjusted_* = base_* + mileage_* + add_deduct_* + regional_*

Identity and request echo

Condition valuation objects

Wholesale (whole_*), retail (retail_*), and trade-in (trade_in_*) objects use the same five nested fields. The * is replaced by the family and condition, for example base_retail_clean.

FamilyObjects
Wholesalewhole_xclean, whole_clean, whole_avg, whole_rough
Retailretail_xclean, retail_clean, retail_avg, retail_rough
Trade-intrade_in_clean, trade_in_avg, trade_in_rough

The request parameter condition=excellent maps to the xclean tier.

mileage_list

Table of mileage or kilometer bands with value adjustments per condition. Live responses include many rows covering 1 through 999999. Use a band yourself when you did not pass mileage.

add_deduct_list

Option and equipment adds and deducts. These adjust market value based on options the vehicle may have. Each row is one option (or the absence of an option).

Summary scalars and auction values

Regions

The selected state determines which regional amount is copied onto each condition object's regional_* field.

Vehicle specs

Errors

StatusWhen it happens
400Missing VIN, wrong VIN length, invalid VIN, invalid mileage, or invalid condition
401Missing or invalid API key
404No market value data found for this VIN
429Usage limit exceeded
500Internal server error or non-retryable upstream authentication failure
502Upstream market value provider returned an error; response includes retryable: true and Retry-After
504Upstream market value provider timed out; response includes retryable: true and Retry-After

Valid condition values:

excellent, clean, average, rough

See the Errors guide for general error handling guidance.

Legacy v1 endpoint

Use /v2/marketvalue for new integrations. Legacy /marketvalue still exists for older integrations and returns simpler fields such as retail, tradeIn, roughTradeIn, averageTradeIn, loanValue, msrp, tradeInValues, and auctionValues.

curl -G https://api.carsxe.com/marketvalue \
  -d key=YOUR_API_KEY \
  -d vin=WBAFR7C57CC811956