CarMax Scraper avatar

CarMax Scraper

Pricing

from $1.00 / 1,000 cars

Go to Apify Store
CarMax Scraper

CarMax Scraper

Collects used car listings from CarMax.com using search URLs and an optional zip code. Returns vehicle specs, pricing, store location, and transfer details.

Pricing

from $1.00 / 1,000 cars

Rating

0.0

(0)

Developer

Scraptivo

Scraptivo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

CarMax Scraper collects used car listings from CarMax.com and turns them into structured inventory data for market research, price monitoring, and dealership analysis. Provide a CarMax search URL, optionally set a zip code, run the Actor, and export year, make, model, VIN, price, mileage, store location, and transfer details to JSON, CSV, Excel, or your preferred integration. Use it to compare local inventory, watch price drops, and automate recurring CarMax collection. Pricing is $1.00 per 1,000 cars, plus a small Actor-start fee.

What can you automate with CarMax Scraper?

  • Collect filtered inventory — Paste a CarMax search URL with make, model, body type, or other site filters already applied.
  • Target a local market — Set a zip code to analyze nearby store inventory, or leave it empty for a nationwide search.
  • Export full vehicle specs — Collect year, trim, mileage, engine, drivetrain, fuel type, MPG, colors, features, and VIN.
  • Track price movement — Capture current basePrice, originalPrice, and hasPriceDrop for deal spotting.
  • Map store availability — Export store name, city, state, distance, ratings, and transfer fees.
  • Schedule recurring snapshots — Run weekly or daily and keep a history of CarMax inventory for the same search URL.

Who is this scraper for?

TeamWorkflow
Automotive market researchersComparing used-car pricing, trims, and mileage across CarMax inventory.
Dealership analystsWatching competitor stock, transfer fees, and local availability.
Price-monitoring teamsTracking price drops and original vs current asking prices.
Inventory aggregatorsFeeding structured CarMax listings into a catalog or spreadsheet.

What data can you collect from CarMax?

Data groupExample fieldsHow it helps
Vehicle identityStock number, VIN, listing URL, year, make, model, trim, bodyIdentify the exact car and deduplicate by VIN or stock number.
PricingbasePrice, originalPrice, hasPriceDropSpot reductions and compare asking prices.
SpecsMileage, colors, transmission, drivetrain, engine, horsepower, MPG, fuel type, EV rangeFilter inventory by mechanical and efficiency attributes.
FeaturesFeatures, highlighted features, packages, highlightsCompare equipment across similar cars.
Store and transferStore name, city, state, distance, transfer fee, estimated transfer daysPlan pickup or transfer before contacting a store.
StatusNew arrival, saleable, reserved, coming soon, EV tax credit, prior useSkip unavailable cars and note fleet or rental history.

Some status, finance, and transfer fields are present only when CarMax exposes them on that listing.

How to use CarMax Scraper

  1. Open the CarMax Scraper on Apify.
  2. Paste a CarMax search URL such as https://www.carmax.com/cars/suvs/audi, or use https://www.carmax.com/cars for broader inventory.
  3. Optionally set a zip code and a maxItems limit.
  4. Run the Actor and wait for car records to appear in the dataset.
  5. Export JSON, CSV, or Excel, or connect the dataset to your workflow.
{
"searchUrl": "https://www.carmax.com/cars",
"zipCode": "",
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Example workflow

Build a weekly Audi SUV price sheet

  1. Schedule a Monday run with searchUrl = https://www.carmax.com/cars/suvs/audi and your target zipCode.
  2. Keep cars that match your mileage and price range using mileage and basePrice after the run.
  3. Send new records to Google Sheets through a webhook.
  4. Deduplicate user-side against vin or stockNumber.

Automate and integrate your results

  • Schedules — Used-car prices and stock change often. Run weekly for market research or daily when you watch a tight make/model search.
  • Webhooks — Push completed datasets into Sheets, Slack, or a database when the run finishes.
  • Exports and API — Download from the Apify Console or start a run from the API:
curl "https://api.apify.com/v2/acts/scraptivo~carmax-scraper/runs?token=YOUR-APIFY-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchUrl": "https://www.carmax.com/cars/suvs/audi",
"zipCode": "90210",
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'
  • Deduplication — The Actor appends results on every run. Use vin or stockNumber as the stable key when merging datasets.

Input reference

FieldTypeRequiredDefaultWhat it controls
searchUrlStringNoFull CarMax search URL. Filters in the URL are applied. Prefill is https://www.carmax.com/cars.
searchUrlsArray of URLsNoMultiple search URLs. Overrides searchUrl when set.
zipCodeStringNo20760Zip code for inventory filtering. Leave empty for a nationwide search.
maxItemsIntegerNo0Maximum cars to collect (0 = unlimited).
proxyConfigurationProxy objectNoApify proxy, RESIDENTIALResidential proxies are recommended.

Does searchUrls override searchUrl?

Yes. When searchUrls is set, the Actor uses that list and ignores searchUrl. Use searchUrl for a single query and searchUrls when you want several CarMax searches in one run.

Output example

Each dataset item is one car:

{
"heroImageUrl": "https://img2.carmax.com/assets/28735752/hero.jpg?width=400&height=300",
"url": "https://www.carmax.com/car/28735752",
"stockNumber": 28735752,
"vin": "4S4BTALCXR3155366",
"year": 2024,
"make": "Subaru",
"model": "Outback",
"body": "4D Sport Utility",
"trim": "Onyx Edition",
"basePrice": 25998.0,
"mileage": 56484,
"exteriorColor": "Black",
"transmission": "Automatic",
"driveTrain": "All Wheel Drive",
"engineSize": "2.5L",
"horsepower": 182,
"mpgCity": 26,
"mpgHighway": 32,
"storeName": "Greenwood",
"storeCity": "Indianapolis",
"state": "Indiana"
}

How much does it cost to scrape CarMax?

The Actor uses pay-per-event pricing:

  • $1.00 / 1,000 cars — one car event for every listing pushed to the default dataset.
  • $0.00005 Actor start — charged when the run starts (scaled by memory).

A 100-car run costs about $0.10 in event charges; 1,000 cars cost $1.00. Platform compute for this Actor is billed to your Apify plan in addition to the event charges. When your event spending limit is reached, the run stops.

Reliability and responsible use

  • Proxy requirement — The default input uses Apify residential proxies. Residential IPs are recommended for consistent CarMax access.
  • Conditional fields — Transfer, finance, EV, and prior-use fields are present only when CarMax publishes them for that vehicle.
  • Public listings — The Actor collects publicly visible CarMax inventory data.
  • Responsible use — Only use the data in ways that comply with CarMax terms and applicable law.

Frequently asked questions

Can I scrape CarMax inventory by make, model, or body type?

Yes. Build the search on CarMax.com (for example SUVs from Audi) and paste that URL into searchUrl. The Actor applies the filters already present in the link.

Can I schedule CarMax Scraper to run automatically?

Yes. Use the Scheduler tab in Apify Console. Weekly works for market snapshots; daily works for price-drop monitoring on a fixed search URL.

What counts as one result?

Each car record pushed to the default dataset counts as one result at $1.00 per 1,000. The Actor-start event is charged once per run.

Why is zipCode defaulting to 20760?

The input schema defaults zipCode to 20760. Set it to your market, or pass an empty string for a nationwide search.

How do I avoid duplicate records?

The Actor does not deduplicate across runs. Merge on vin (preferred) or stockNumber. Use maxItems to cap a single run.

Do I need a proxy?

Residential proxies are recommended and are the default. If a run returns unusually few cars, confirm the proxy group is RESIDENTIAL.

Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.