CarMax API endpoint
Returns a CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms.
/carmax/vehicle/{stock_number}Path parameters:
stock_number (required) — the CarMax stock number, the numeric path
segment of a /car/{stock_number} URL (e.g. 28187774 for
https://www.carmax.com/car/28187774).Query parameters:
store_id (optional) — a CarMax store id used for pricing/transfer-fee
display context (any valid store id works — it does not need to be this
vehicle's own store). Defaults to a fixed CarMax store when omitted.Notable response behavior:
stock_number must be numeric; a non-numeric value returns 400 before
any upstream request is made.404.history (accident/owner counts), warranties (structured
coverage terms), and body/fuel.type. If that backfill fetch fails for
any reason, the response is still returned successfully with everything
the mobile API provided; history is omitted entirely in that case
(not present as null or a zero-valued object) rather than showing a
misleading accident_count: 0/owner_count: 0 that would read as
"verified clean" when it's actually "unknown". warranties similarly
comes back as an empty list, and body/fuel.type as empty strings, in
that scenario.vehicle_guarantee (CarMax's return-policy terms) and exact
horsepower/cylinders/engine_torque_lb_ft figures are only available
via the mobile API and have no website-scrape equivalent to fall back to.specs entries from the mobile API don't carry a category (CarMax's
mobile response is a flat name/value list, unlike the website's
categorized spec groups) — category is empty in that case.| Field | Filled in, of 16 checked | Values in the sample |
|---|---|---|
| name | 16 | “ABS Brakes” and 15 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| stock_number (path) | string | Yes | CarMax stock number, the numeric path segment of a /car/{stock_number} URL | 28187774 | |
| store_id | string | No | a fixed CarMax store when omitted | Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted | 7124 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/carmax/vehicle/28187774" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"stock_number": 28187774,
"vin": "1FMJK1K89REA27006",
"year": 2024,
"make": "Ford",
"model": "Expedition Max",
"trim": "Limited",
"body": "4D Sport Utility",
"mileage": 41406,
"exterior_color": "Black",
"interior_color": "Tan",
"engine": "3.5L",
"transmission": {
"type": "Automatic",
"display": "Automatic"
},
"drive_train_type": "Rear Wheel Drive",
"fuel": {
"type": "Gas"
},
"efficiency": {
"mpg_city": 17,
"mpg_highway": 23
},
"price_info": {
"price": 45998,
"is_price_reduced": true,
"previous_price": 46998
},
"store": {
"id": 7124,
"name": "Canoga Park",
"state": "CA",
"latitude": 34.21972,
"longitude": -118.59617
},
"cylinders": 6,
"horsepower": 400,
"engine_torque_lb_ft": 480,
"specs": [
{
"name": "Transmission",
"display_value": "Automatic"
},
{
"name": "EPA estimated mileage",
"display_value": "17/23 mpg"
}
],
"features": [
{
"name": "Panoramic Sunroof"
},
{
"name": "Leather Seats"
}
],
"warranties": [
{
"type": "Basic",
"years": 3,
"miles": 36000
},
{
"type": "Powertrain",
"years": 5,
"miles": 60000
}
],
"history": {
"accident_count": 1,
"owner_count": 1,
"prior_uses": [
"Leased Vehicle",
"Rental"
]
},
"vehicle_guarantee": {
"title": "Love your car guarantee",
"description": "30-day money back returns (up to 1,500 miles)",
"disclaimer": "Take 24 hours to decide. You can then purchase or return the car..."
},
"url": "https://www.carmax.com/car/28187774",
"source_url": "https://mobileapps-afd-prod-endpoint-drgsgffchcfkbmg4.z01.azurefd.net/api/vehicles/28187774"
}
}Request schema
No body schema
Response schema
#/definitions/carmax.VehicleResponse
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| body | string | No | 4D Sport Utility | |||
| cylinders | integer | No | 6 | |||
| description | string | No | 2024 Ford Expedition Max Limited | |||
| drive_train_type | string | No | Rear Wheel Drive | |||
| efficiency | carmax.Efficiency | No | ||||
| efficiency.battery_range_miles | number | No | ||||
| efficiency.is_mpg_equivalent | boolean | No | ||||
| efficiency.mpg_city | integer | No | 17 | |||
| efficiency.mpg_combined | integer | No | ||||
| efficiency.mpg_highway | integer | No | 23 | |||
| engine | string | No | 6-cyl, Turbo Gas, 3.5L | |||
| engine_torque_lb_ft | integer | No | 480 | The fields below are only populated on the mobile-API-backed search path -- exact engine/performance numbers and listing metadata the website scrape never carried. All omitempty and additive; existing consumers reading only the fields above see no change. | ||
| engine_torque_rpm | integer | No | 2250 | |||
| exterior_color | string | No | Black | |||
| features | array | No | ||||
| features[].category | string | No | ComfortAndConvenience | |||
| features[].description | string | No | ||||
| features[].name | string | No | Leather Seats | |||
| fuel | carmax.Fuel | No | ||||
| fuel.capacity_gallons | number | No | 28.3 | |||
| fuel.type | string | No | Gas | |||
| hero_image_url | string | No | ||||
| highlighted_features | array | No | ||||
| history | carmax.History | No | ||||
| history.accident_count | integer | No | ||||
| history.owner_count | integer | No | ||||
| history.prior_uses | array | No | Leased Vehicle,Rental | |||
| horsepower | integer | No | 400 | |||
| horsepower_rpm | integer | No | 5000 | |||
| image_count | integer | No | 31 | |||
| interior_color | string | No | Tan | |||
| is_new_arrival | boolean | No | ||||
| is_transferable | boolean | No | ||||
| make | string | No | Ford | |||
| mileage | integer | No | 41406 | |||
| model | string | No | Expedition Max | |||
| passenger_count | integer | No | 7 | |||
| price_info | carmax.PriceInfo | No | ||||
| price_info.fees | number | No | ||||
| price_info.fees_included_in_price | boolean | No | ||||
| price_info.is_price_reduced | boolean | No | ||||
| price_info.previous_price | number | No | 46998 | |||
| price_info.price | number | No | 45998 | |||
| prior_uses | array | No | Leased Vehicle,Rental | |||
| source_url | string | No | ||||
| specs | array | No | ||||
| specs[].category | string | No | Trailering | |||
| specs[].display_value | string | No | 6,300 lbs | |||
| specs[].name | string | No | Towing Capacity (Max) | |||
| stock_number | integer | No | 28187774 | |||
| store | carmax.Store | No | ||||
| store.city | string | No | ||||
| store.distance_miles | number | No | 22.2 | |||
| store.id | integer | No | 7124 | |||
| store.latitude | number | No | ||||
| store.longitude | number | No | ||||
| store.name | string | No | Canoga Park | |||
| store.state | string | No | CA | |||
| towing_capacity_lbs | integer | No | 6300 | |||
| transmission | carmax.Transmission | No | ||||
| transmission.display | string | No | Automatic | |||
| transmission.type | string | No | Automatic | |||
| trim | string | No | Limited | |||
| url | string | No | https://www.carmax.com/car/28187774 | |||
| vehicle_guarantee | carmax.VehicleGuarantee | No | ||||
| vehicle_guarantee.description | string | No | 30-day money back returns (up to 1,500 miles) | |||
| vehicle_guarantee.disclaimer | string | No | ||||
| vehicle_guarantee.title | string | No | Love your car guarantee | |||
| vin | string | No | 1FMJK1K89REA27006 | |||
| warranties | array | No | ||||
| warranties[].miles | integer | No | 60000 | |||
| warranties[].type | string | No | Powertrain | |||
| warranties[].years | integer | No | 5 | |||
| year | integer | No | 2024 |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/carmax/vehicle/28187774" \
-H "x-api-key: $CRAWLORA_API_KEY"