CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads
Pricing
from $2.75 / 1,000 results
CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads
Scrape CarGurus used & new car listings: price, Instant Market Value (IMV), deal rating, mileage, make/model/year/trim, VIN, color, price drops, and dealer name & phone for lead-gen. Paste a CarGurus search URL and get every listing across all pages.
Pricing
from $2.75 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Security
Limited permissionsShare
CarGurus Scraper — Car Listings, Prices, IMV, Deal Ratings & Dealer Leads
This CarGurus scraper extracts car listings from CarGurus at scale — with listed price, total price, Instant Market Value (IMV), deal rating, mileage, make/model/year/trim, VIN, exterior color, transmission, engine, price drops, and the selling dealer's name, phone & location. Paste a CarGurus search URL and the scraper paginates every result page into clean, structured rows — no login, no coding. Use it to scrape CarGurus inventory, prices and dealer contacts in minutes.
Export to JSON, CSV, Excel, or API.
Built for car dealers tracking competitor inventory, car shoppers hunting the best deal, pricing & market analysts, and automotive lead-gen teams building dealer prospect lists.
🔎 Why scrape CarGurus?
CarGurus is one of the largest automotive marketplaces in the US, listing millions of new, used and certified pre-owned vehicles from thousands of franchise and independent dealers. Every listing carries far more than a price: CarGurus computes an Instant Market Value (IMV), a deal rating (Great / Good / Fair / High / Overpriced price), a numeric deal score, days on market, and recent price drops — the exact signals shoppers and dealers use to judge whether a car is a bargain.
That intelligence is locked inside a JavaScript-rendered, anti-bot-protected site. Copy-pasting dozens of listings by hand is slow, error-prone, and impossible to keep fresh. CarGurus data also sits in deeply nested page objects (price, IMV, mileage, dealer and vehicle attributes each live in separate structures), so even a basic fetch returns nothing usable. This CarGurus scraper reads the real page data, flattens every nested object into one tidy row per car, and lets you export hundreds of listings on a schedule.
Common reasons people scrape CarGurus:
- Build dealer lead lists — capture dealer name, phone, city, state and ZIP from every listing for automotive B2B outreach.
- Track pricing vs IMV — compare listed price against CarGurus' Instant Market Value across a model or market.
- Hunt the best deals — filter to
GREAT_PRICE/GOOD_PRICEand sort by savings-vs-IMV. - Monitor competitor inventory — watch competing dealers' stock, prices, days-on-market and price cuts.
- Analyze used-car market trends — aggregate make/model/region data for pricing and depreciation research.
- Detect stale inventory & price drops — flag cars sitting on the market and fresh markdowns.
- Power valuation tools — feed a used-car pricing, appraisal or trade-in model with live market comps.
✨ What this CarGurus scraper does
- ✅ Search-URL driven — paste any CarGurus search result URL (by make/model, location, price, mileage, year, body style — any filter) and the scraper collects every listing it finds.
- ✅ Automatic pagination — walks
?page=Nthrough the full result set (reading the realpageCount) and returns hundreds to thousands of de-duplicated listings, bounded by your Max listings setting. - ✅ De-duplication — listings are keyed by CarGurus listing ID, so repeated cars across pages and across multiple input URLs never appear twice.
- ✅ Rich vehicle fields —
year,make,model,trim,vin,exteriorColor,mileage+mileageUnit,transmission,drivetrain,engine, plusisCpo(certified pre-owned) andisNewflags. - ✅ Full pricing + IMV —
price,totalPrice,pricePlusFees,imv(Instant Market Value),expectedPrice,savingsVsImvand a human-readablesavingsLabel. - ✅ Deal intelligence —
dealRating(GREAT / GOOD / FAIR price), numericdealScore,daysOnMarket, and recent price-drop fields (priceDropOriginal,priceDropAmount). - ✅ Dealer / lead-gen data —
dealerName,dealerPhone,dealerLocation,dealerCity,dealerRegion,dealerPostalCode, anddealerId. - ✅ Media & links — main photo
imageUrland a directlistingUrlto the car on CarGurus. - ✅ Anti-bot handling — a browser-grade Chrome TLS fingerprint over a US residential proxy (CarGurus is protected by DataDome), with automatic retries and IP rotation.
- ✅ Any export — JSON, CSV, Excel, HTML, or pull via the Apify API; push to Google Sheets, a webhook, Make, Zapier or a database.
Every field above is read directly from CarGurus' own listing data — the scraper only claims what the page actually returns.
🎯 Use cases
- Car dealerships — monitor competitor inventory, pricing, days-on-market and price drops in your region to price your own stock competitively.
- Automotive lead-gen & B2B sales — build targeted dealer prospect lists (name + phone + city/state) by make, model or metro for vendor, SaaS or marketing outreach.
- Car shoppers & deal hunters — surface the best
GREAT_PRICElistings for a model, sorted by savings against IMV. - Pricing analysts & valuation teams — benchmark listed prices against IMV to model fair value, depreciation and regional spreads.
- Market researchers — aggregate used-car supply, pricing and mileage data across makes and regions over time.
- Trade-in & appraisal tools — feed live market comps into a used-car valuation engine.
- Fleet & wholesale buyers — scan large inventories for below-market vehicles and freshly dropped prices.
- Data & analytics teams — maintain a clean, scheduled dataset of CarGurus inventory for dashboards and BI.
📥 Input
Give the scraper one or more CarGurus search URLs and a listings cap. The proxy is preconfigured.
| Field | Type | Description |
|---|---|---|
startUrls | array | CarGurus search result URLs, e.g. https://www.cargurus.com/Cars/l-Used-Toyota-Camry-d586?zip=90210. Search on cargurus.com, apply any filters, and copy the address-bar URL — all filters are preserved. |
maxItems | integer | Maximum number of listings to return across all URLs. Default 200. |
proxyConfiguration | object | Proxy settings. Preconfigured to US residential (required by CarGurus / DataDome). Leave as-is unless you have a reason to change it. |
{"startUrls": ["https://www.cargurus.com/Cars/l-Used-Toyota-Camry-d586?zip=90210"],"maxItems": 400,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Finding a search URL: search on cargurus.com, apply any filters (location, price, mileage, year, body style…), and copy the URL from your browser. Include a ?zip= (or search from a location on the site) so CarGurus returns full local inventory — without a ZIP, a model page may return only a short "nationwide shipping" fallback list. Paste multiple URLs to combine several searches in one run.
📤 Output
Each CarGurus listing becomes one clean, flat record. Real example from a live run:
{"listingId": "462870440","title": "2026 Honda Civic","year": "2026","make": "Honda","model": "Civic","trim": "Si FWD","vin": "2HGFE1E51TH474188","price": 31965,"totalPrice": 33023.97,"pricePlusFees": 33023.97,"imv": 32069,"expectedPrice": 32069,"savingsVsImv": 104,"savingsLabel": "$104","dealRating": "FAIR_PRICE","dealScore": 2.1860642,"mileage": 6585,"mileageUnit": "MILES","exteriorColor": "Crystal Black Pearl","transmission": "6-Speed Manual","drivetrain": "Front-Wheel Drive","engine": "200 hp 1.5L I4","isCpo": false,"isNew": false,"daysOnMarket": 3,"priceDropOriginal": null,"priceDropAmount": null,"dealerName": "Morris Smith Ford of Leavenworth","dealerPhone": "+1 913-404-4874","dealerLocation": "Leavenworth, KS","dealerCity": "Leavenworth","dealerRegion": "KS","dealerPostalCode": "66048","dealerId": "430173","imageUrl": "https://static.cargurus.com/images/forsale/2026/10/29/05/31/2026_honda_civic-pic-5792379292970233072-1024x768.jpeg","listingUrl": "https://www.cargurus.com/Cars/link/462870440","scrapedAt": "2026-11-02T01:54:06.548Z"}
Field reference
| Field | Description |
|---|---|
listingId | CarGurus listing ID (unique key, used for de-duplication) |
title, year, make, model, trim, vin | Vehicle identity |
price, totalPrice, pricePlusFees | Listed price, total price, and price including fees |
imv, expectedPrice, savingsVsImv, savingsLabel | Instant Market Value, expected price and savings vs IMV (number + formatted label) |
dealRating, dealScore, daysOnMarket | Deal intelligence (GREAT / GOOD / FAIR price, numeric score, days listed) |
priceDropOriginal, priceDropAmount | Recent price drop — present when the car has a markdown |
mileage, mileageUnit, exteriorColor, transmission, drivetrain, engine | Vehicle attributes |
isCpo, isNew | Certified-pre-owned and new-vehicle flags — present when CarGurus tags the car as such |
dealerName, dealerPhone, dealerLocation, dealerCity, dealerRegion, dealerPostalCode, dealerId | Dealer details for lead-gen |
imageUrl, listingUrl | Main photo and direct link to the listing on CarGurus |
scrapedAt | ISO 8601 timestamp of when the record was scraped |
In a fresh verification run, core fields — title, year, make, model, trim, vin, price, imv, dealRating, mileage, dealerName, dealerLocation and dealerId — populated on 100% of listings, and dealerPhone on ~95%. Fields such as priceDropOriginal / priceDropAmount (only when a car has a recent markdown) and isCpo / isNew (only certified or brand-new cars) populate when available, because they describe conditions that apply to a subset of vehicles — this is expected, not missing data.
🔁 Pagination & scale
CarGurus paginates search results with a ?page=N query parameter. The scraper reads the total pageCount from the embedded search data and walks page by page, pushing each batch as it goes, until it reaches the last page, hits three consecutive empty pages, or reaches your maxItems cap. Listings are de-duplicated by CarGurus listing ID across all pages and all input URLs, so a single run can return hundreds to thousands of unique cars from one or many searches. A broad model-plus-ZIP search typically spans ~30 pages and 500+ listings. To cap a run, lower maxItems; to pull everything, set it high (or omit it for the default).
⚙️ How to use
- Open the CarGurus Scraper on the Apify Console.
- On cargurus.com, search for a car (make/model, location, filters) and copy the address-bar URL (keep the
?zip=so you get full local inventory). - Paste it into CarGurus search URLs, set Max listings, and click Start. The US residential proxy is already on.
- Watch listings stream into the dataset, then export as JSON, CSV, Excel or HTML — or pull them via the Apify API.
- Automate it: run on a Schedule for daily inventory/price snapshots, or wire the output to Make, Zapier, Google Sheets, a webhook or a database.
💡 Tips
- Combine searches — paste several CarGurus URLs (e.g. one per model or metro) into
startUrlsto build one merged, de-duplicated dataset. - Keep your filters — any filter you apply on cargurus.com (price, mileage, year, radius, body style) is baked into the URL and respected by the scraper.
- Always include a ZIP — add
?zip=90210(or any ZIP) to a model URL so CarGurus returns real local inventory across many pages instead of a short fallback list. - Deal hunting — after export, filter
dealRatingtoGREAT_PRICE/GOOD_PRICEand sort bysavingsVsImvto surface the best buys. - Lead-gen — de-duplicate on
dealerIdordealerNameto turn a listings run into a clean dealer contact list. - Fresh price cuts — filter where
priceDropAmountis set anddaysOnMarketis low to catch newly discounted inventory. - Scheduling — run daily and diff on
listingId+priceto track price changes and new arrivals over time.
❓ FAQ
Is scraping CarGurus legal? This scraper collects only publicly visible listing information. Scraping public data is generally permissible, but you are responsible for how you use it — respect CarGurus' Terms of Service and applicable data-protection laws, especially when handling dealer contact details.
Do I need a CarGurus account or login? No. The CarGurus scraper reads publicly visible listing data — no login or password is required.
How many listings can it return and how fast?
It paginates the full result set — from a handful up to thousands of listings per run, limited only by your maxItems setting and how many results the search contains. A broad model-plus-ZIP search typically covers ~30 pages / 500+ cars. Throughput depends on result size and proxy conditions.
Do I need proxies? Yes, and they're already set up. CarGurus is protected by DataDome, so a US residential proxy is preconfigured and enabled by default — just paste a URL and run.
What export formats are supported? JSON, CSV, Excel and HTML downloads, plus the Apify API, Google Sheets, webhooks, Make and Zapier.
Is there a CarGurus API? CarGurus has no public listings API for this data. This Actor is effectively an unofficial CarGurus API: structured JSON output you can call programmatically via the Apify API or client libraries.
What is IMV?
IMV is CarGurus' Instant Market Value — an estimated fair market price for a vehicle. Comparing a car's price to its imv (and reading the dealRating) is how you spot a good deal.
How fresh is the data? Every run scrapes CarGurus live, so results reflect current inventory and prices at run time. Schedule the Actor to keep a continuously updated dataset.
Can I filter by make, model, price or location? Yes — apply those filters on cargurus.com first, then paste the resulting search URL. All filters are preserved in the URL and honored by the scraper.
Does it include dealer phone numbers?
Yes — dealerName, dealerPhone, dealerLocation, dealerCity, dealerRegion, dealerPostalCode and dealerId are included wherever CarGurus displays them (phone present on roughly 95% of listings).
🔗 Related scrapers
- AutoScout24 Scraper — scrape European car listings, prices and dealer data from AutoScout24.
- AutoTrader Scraper — extract AutoTrader vehicle listings, prices and seller details.
- Otomoto Scraper — collect car listings and prices from Otomoto.
- YallaMotor Scraper — scrape Middle East car listings and prices from YallaMotor.
- KAYAK Car Rental Scraper — pull rental-car prices and options from KAYAK.
Ready to scrape CarGurus? Paste a search URL, set your listings cap, and click Start to export car listings, prices, IMV, deal ratings and dealer leads as JSON, CSV, Excel or API.