Skip to content

CarGurus Scraper

Try for free

Scrape CarGurus car listings by ZIP, make, model and filters or from search URLs: price, market value (IMV), deal rating, mileage, VIN, specs, history, photos and dealer details. No login.

🚗 CarGurus Scraper

Scrape used and new car listings from CarGurus.com by ZIP code, make, model and filters, or straight from CarGurus search URLs. Every listing comes with its price, CarGurus market value (IMV), deal rating, days on market, VIN, specs, accident and owner history, photos and full dealer details. No login, no browser, about 1,000 detailed listings per minute.

✨ Why use CarGurus Scraper?

  • 🏷️ CarGurus deal signals: price, instant market value, price difference, deal score and deal rating (Great, Good, Fair, High, Overpriced) on every car.
  • 🔎 Search your way: ZIP codes with any radius or nationwide, makes, models, years, price, mileage, condition and deal-rating filters, or paste any CarGurus search URL.
  • 📋 Full listing details: seller description, all photos, accident and owner counts, NHTSA safety ratings, dealer fees, return policy, dealer address, coordinates, phone, rating, awards and opening hours.
  • ⚡ Fast and light: uses CarGurus' own JSON data, not a browser, so 1,000 detailed listings take about a minute.
  • 💸 Cheap: $1 per 1,000 listings.
  • 🔁 Clean data: listings are de-duplicated across searches and ZIP codes, and each row has the same flat columns.

🎯 Use cases

  • 📈 Used-car price monitoring: track prices, market values and days on market for a model across regions.
  • 🤝 Dealer and lead research: list dealers by area with phone, website, rating, review count and inventory.
  • 🧮 Valuation and pricing models: train or check pricing models using CarGurus' IMV and deal ratings.
  • 🛒 Deal hunting: pull every "Great Deal" under a price and mileage cap near you.
  • 🏭 Market research: compare inventory, mileage and pricing by make, model, year and trim.

🚀 How to use

  1. Enter one or more ZIP codes and optionally makes and models (e.g. Toyota / Camry), or paste CarGurus search or listing URLs.
  2. Optionally set filters: radius, condition, years, price, mileage, deal ratings and sort order.
  3. Set Maximum listings.
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldDescription
zipCodesUS ZIP codes to search around (each ZIP is a separate search). Empty = nationwide.
makes / modelsMakes (Toyota, Ford ...) and models (Camry, F-150 ...). Empty = all.
maxItemsMaximum listings saved in total (default 20).
startUrlsCarGurus search URLs (/Cars/l-Used-Honda-Civic-d586?zip=60606, inventory search URLs) or listing URLs (/details/452849606).
radiusMiles around each ZIP (default 50, 0 = nationwide).
conditionNew & used, used, new or certified pre-owned.
yearFrom / yearTo, minPrice / maxPrice, minMileage / maxMileageRange filters.
dealRatingsOnly Great / Good / Fair / High / Overpriced / no-analysis deals.
sortByBest deal, price, mileage, newest or oldest listings.
includeDetailsAdd the full listing details (default on).
{
  "zipCodes": ["90210"],
  "makes": ["Toyota"],
  "models": ["Camry", "RAV4"],
  "radius": 50,
  "yearFrom": 2020,
  "maxPrice": 30000,
  "dealRatings": ["GREAT_PRICE", "GOOD_PRICE"],
  "maxItems": 100
}

📤 Output

One row per car listing. Main fields:

FieldDescription
listingId, url, titleCarGurus listing id, link and title
year, make, model, trim, condition, vin, stockNumberVehicle
price, totalPrice, msrpPrice, price with disclosed dealer fees, MSRP (new cars)
expectedPrice, priceDifferential, dealRating, dealRatingLabel, dealScoreCarGurus market value and deal rating
daysOnMarket, daysAtDealer, savedCountListing age and popularity
mileage, bodyStyle, drivetrain, transmission, engine, fuelType, cityMpg, highwayMpg, combinedMpg, exteriorColor, interiorColor, doors, optionsSpecs
accidentCount, ownerCount, hasVehicleHistoryReport, safetyRating, safetyRatingsHistory and NHTSA ratings
dealerName, dealerId, sellerType, dealerAddress, dealerCity, dealerState, dealerZip, latitude, longitude, dealerPhone, dealerWebsite, dealerRating, dealerReviewCount, dealerAwards, dealerHours, distanceMilesSeller
dealerFees, returnPolicyDays, financingPartners, howToShop, nationwideShipping, featuredBuying options
photoCount, mainPhotoUrl, photos, descriptionMedia and seller notes

Example (trimmed; dealer details are fictional):

{
  "listingId": 452849606,
  "url": "https://www.cargurus.com/details/452849606",
  "title": "2025 Toyota Highlander XLE FWD",
  "year": 2025,
  "make": "Toyota",
  "model": "Highlander",
  "trim": "XLE FWD",
  "condition": "Used",
  "vin": "5TDKDRAH1SS551513",
  "price": 39999,
  "totalPrice": 40117,
  "expectedPrice": 41991,
  "priceDifferential": 1992,
  "dealRating": "GREAT_PRICE",
  "dealRatingLabel": "Great Deal",
  "daysOnMarket": 99,
  "mileage": 19349,
  "bodyStyle": "SUV / Crossover",
  "drivetrain": "Front-Wheel Drive",
  "engine": "265 hp 2.4L I4",
  "fuelType": "Gasoline",
  "combinedMpg": 24.15,
  "accidentCount": 0,
  "ownerCount": 1,
  "safetyRating": 5,
  "dealerName": "Sunset Valley Motors",
  "dealerCity": "Norwalk",
  "dealerState": "CA",
  "dealerPhone": "(555) 010-0123",
  "dealerRating": 4.6,
  "dealerReviewCount": 212,
  "distanceMiles": 24.42,
  "dealerFees": [{ "name": "Documentation Fee", "amount": 85 }],
  "photoCount": 38,
  "mainPhotoUrl": "https://static.cargurus.com/images/forsale/2026/08/31/17/27/2025_toyota_highlander-pic-646078629031536422-1024x768.jpeg",
  "detailsFetched": true,
  "scrapedAt": "2026-10-15T00:59:48Z"
}

💰 Pricing

You pay $1.00 per 1,000 listings ($0.001 per saved listing), with or without details. Example: 1,000 detailed listings ≈ $1.00 in listing fees. Platform usage (compute and datacenter proxy traffic) is billed separately and is small: a measured 1,000-listing run with details took 56 seconds and about 7 MB of proxy traffic, about $0.01 of usage, so 1,000 listings cost about $1.01 in total. Set a maximum total charge on the run and the scraper stops cleanly when it is reached.

❓ FAQ

Is it legal to scrape CarGurus? The scraper only collects publicly visible listing data, without logging in. Check that your use complies with CarGurus' terms and the laws that apply to you.

Do I need a CarGurus account or my own proxy? No. No login is needed, and the default datacenter proxy (US exits) works.

How many listings can I get? Up to 10,000 results per search, which is the most CarGurus serves for one search (a nationwide Toyota search returns about 9,900 unique cars). Add several ZIP codes or split by price, year or model to collect more; the run's status message tells you when a search hit that ceiling.

Why is a field empty? CarGurus does not have every value for every car (e.g. MSRP only for new cars, ratings only for some dealers). Turn on "Include listing details" for the most complete rows.

Can I schedule it or use the API? Yes. Schedule runs to monitor prices, call it through the API, and export to JSON, CSV or Excel.

⚠️ Limits

  • CarGurus serves at most 10,000 results per search; split big searches by ZIP, price, year or model.
  • US CarGurus (cargurus.com) only; cargurus.ca and cargurus.co.uk are not covered.
  • Dealer review texts and vehicle history report contents (behind CarGurus' report links) are not included; the accident and owner counts are.
  • Sorting by year or distance is not offered because CarGurus does not apply it to its search data.
  • Featured listings can appear slightly out of sort order, as on the website.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.