Skip to Content

CarMax Data Parser & API

CarMax is the largest US used-car retailer — an estimated 24M visits per month across ~40K+ vehicles in stock — and Carapis can extract its full own-inventory listing data, including no-haggle pricing, standardized photos and free AutoCheck history, through one REST API. CarMax sells only its own reconditioned inventory with fixed prices, giving exceptionally clean, standardized structured data — delivered without you building or maintaining an Akamai/Imperva-protected scraper.

On request — not in the live feed today. We do not continuously crawl CarMax right now. Activation takes 2–3 weeks of engineering and is quoted per source, because each one ships with dedicated proxies, anti-bot tuning and ongoing maintenance. Ask us to add it.

CountryUSA
TypeOnline-dealer
Vehicle typesused, dealer
Monthly visits~24M/mo (est., SimilarWeb 2026)
Active listings~40K+ in stock
API accessNo public API (parse-only)
Parse priority★★★★☆
Official sitewww.carmax.com

What is CarMax?

CarMax is the largest used-car retailer in the United States, an independent public company selling its own reconditioned inventory through a no-haggle, fixed-price model. It draws an estimated 24M visits per month (SimilarWeb 2026) across roughly 40K+ vehicles in stock nationwide. Because every car is CarMax’s own inventory, listings are highly standardized — consistent photo sets, reconditioning, and a free AutoCheck history report per vehicle.

Market Position

CarMax is the #1 US used-car retailer by volume, with ~24M visits per month (estimate, SimilarWeb 2026) and ~40K+ vehicles listed at any time. Unlike multi-dealer portals such as CarGurus or Cars.com, its data is single-seller — clean and uniform but scoped to CarMax inventory only. CarMax also owns Edmunds, the valuation and listings aggregator, so the two sit in one ownership cluster within Carapis’s North American coverage.

What the API returns

Response schema

Indicative — this is the shape, not a guarantee. Every source returns the same structure, so what you build against does not change when you add one. Which fields carry a value depends on the source and on the individual listing: a site that does not publish mileage returns null there, and CarMax is no exception.

List — GET /apix/api/vehicles/ — returns 30 fields per vehicle:

  • idstring
  • source_codestring
  • brand_namestring
  • brand_slugstring
  • model_namestring
  • model_slugstring
  • trimstring
  • yearinteger
  • price_usdinteger
  • mileageinteger
  • fuel_typeFuelTypeEnum
  • transmissionTransmissionEnum
  • body_typeBodyTypeEnum
  • colorColorEnum
  • seller_typeSellerTypeEnum
  • regionstring
  • source_locationobject
  • has_accidentboolean
  • is_new_vehicleboolean
  • is_verifiedboolean
  • statusVehicleStatusEnum
  • is_availableboolean
  • first_seen_atstring
  • last_seen_atstring
  • thumbVehiclePhoto
  • photosarray
  • photos_countinteger
  • has_valuationboolean
  • has_llm_analysisboolean
  • analysisobject

Detail — GET /apix/api/vehicles/{id}/ — adds 23 more:

  • generationstring
  • price_originalstring
  • price_original_currencystring
  • original_msrpstring
  • engine_ccinteger
  • seat_countinteger
  • drive_typeDriveTypeEnum
  • has_simple_repairboolean
  • has_recallboolean
  • recall_fulfilledboolean
  • warranty_typestring
  • inspection_passedboolean
  • owner_countinteger
  • is_undervaluedboolean
  • valuation_scorenumber
  • featuresarray
  • descriptionstring
  • listing_urlstring
  • listing_idstring
  • vinstring
  • vehicle_nostring
  • availability_checked_atstring
  • status_changed_atstring

Abbreviated example:

{
  "id": "0193f2c1-...",
  "source_code": "encar",
  "brand_name": "BMW",
  "model_name": "320i",
  "trim": "M Sport",
  "year": 2021,
  "price_usd": 28400,
  "price_original": "38900000",
  "price_original_currency": "KRW",
  "mileage": 45000,
  "fuel_type": "gasoline",
  "transmission": "automatic",
  "has_accident": false,
  "listing_url": "https://...",
  "photos": [{ "url": "https://cdn.carapis.com/..." }],
  "first_seen_at": "2026-09-28T11:04:22Z",
  "is_available": true
}

Which sources you can actually query is answered by GET /apix/api/sources/ with your API key — it is the list your account can pull today, and it is the one to trust over any page on this site.

The standardized own-inventory format makes CarMax data unusually clean for benchmarking retail used-car pricing.

API Quick Start

import requests resp = requests.get( "https://api.carapis.com/v2/listings", params={"source": "carmax", "limit": 20}, headers={"Authorization": f"Bearer {API_KEY}"}, ) for car in resp.json()["results"]: print(car["make"], car["model"], car["year"], car["price"])

Get an API key at my.carapis.com  and see the full API reference. Pricing is on the pricing page .

Use Cases

  • Pricing intelligence — CarMax’s no-haggle prices are a clean retail benchmark for dealers.
  • Market research — track the largest US used-car retailer’s inventory mix and pricing. See market research.
  • Inventory monitoring — watch stock turnover and price moves on a single large seller.

Frequently asked questions