Cargurus.com Scraper
Pricing
from $4.99 / 1,000 results
Cargurus.com Scraper
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
๐๐ CarGurus Listings Scraper
Pick a country, ZIP/postcode, make (and optional model + condition) โ the actor walks CarGurus' search SPA and streams clean, structured rows of vehicle data into your Apify dataset in real time.
๐ Why Choose This Actor?
- ๐งญ Zero-URL workflow โ no need to copy a search URL. Pick country + ZIP + make and we build the request for you.
- ๐ก๏ธ Smart 3-tier connection strategy โ starts with a direct request, then auto-falls-back to datacenter proxy โ residential proxy with 3 retries if CarGurus pushes back. Once we escalate, we stay on the stronger tier.
- ๐บ๐ธ๐จ๐ฆ๐ฌ๐ง Multi-country โ
cargurus.com(USD),cargurus.ca(CAD),cargurus.co.uk(GBP) with automatic currency tagging. - โก Real-time output โ each matching listing is pushed to the dataset as soon as it's parsed.
- ๐๐ Condition filter โ choose Used (incl. CPO + priority) or New.
- ๐ฏ Make + optional model filter โ applied client-side so results always match.
- ๐ฆ 80+ structured fields per listing โ pricing, deal rating, dealer phone, fuel economy, colours, drivetrain, fuel type, images and more.
- ๐ง Browser-fingerprinted HTTP via
curl_cffi(Chrome TLS + HTTP/2 impersonation) so we look like a real Chrome session. - ๐งญ VIN-based dedup โ never pushes the same vehicle twice.
๐ฅ Input
| Field | Type | Required | Description |
|---|---|---|---|
country | enum US / CA / UK | โ | Which CarGurus marketplace to query. |
zipcode | string | โ | ZIP / postcode to anchor the search. |
make | enum (44 brands) | โ | Vehicle brand. Drives the CarGurus internal make-ID + client-side filter. |
model | string | optional | Narrow to a specific model name (case-insensitive). Leave blank for all. |
condition | enum used / new | โ | Used = pre-owned + CPO + priority listings. New = factory-fresh. |
maxItems | integer | optional | Cap on matching listings. 0 = no cap. Default 50. The internal SRP page budget is auto-sized from this โ no extra knobs to tune. |
proxyConfiguration | object | optional | Leave blank for smart 3-tier fallback. |
Example input
{"country": "US","zipcode": "10001","make": "Toyota","model": null,"condition": "used","maxItems": 50,"proxyConfiguration": { "useApifyProxy": false }}
๐ค Output
Each row in the dataset is a single vehicle listing. Selected fields:
| Field | Type | Example |
|---|---|---|
id | string | 5TFBY5F12AX122219 (VIN) |
sku | number | 433980025 (CarGurus listing id) |
name | string | 2010 Toyota Tundra Limited Double Cab 5.7L 4WD |
url | string | https://www.cargurus.com/Cars/inventorylisting/vdp.action?listingId=โฆ |
price | string | "17895" |
priceCurrency | string | USD |
localizedTotalPrice | string | $17,895 |
brand, model, trimName, vehicleModelDate | text/int | Toyota ยท Tundra ยท Limited Double Cab 5.7L 4WD ยท 2010 |
mileage, unitMileage | int / object | 99050 ยท { value: 99050, unit: "MILES" } |
color, vehicleInteriorColor | text | Gray ยท Gray |
engine, vehicleTransmission, driveWheelConfiguration | text | 381 hp 5.7L V8 ยท Automatic ยท Four-Wheel Drive |
fuelType, fuelEfficiency, cityFuelEconomy, highwayFuelEconomy, combinedFuelEconomy | mixed | Gasoline ยท 15 MPG ยท { value: 13, unit: "MPG" } ยท โฆ |
dealRating, dealScore | string/number | GREAT_PRICE ยท 0.761643 |
daysOnMarket, pictureCount | int | 164 ยท 12 |
dealerName, sellerCity, sellerRegion, sellerPostalCode | text | Williston Economy Motors ยท South Burlington, VT ยท VT ยท 05403 |
phoneNumberString, phoneNumberSMS | text | (802) 255-8955 ยท +18883346545 |
primaryImage, dealerLogoUrl | url | image URLs |
googleStaticMapUrl | url | dealer location map URL |
itemType | string | LISTING_USED_STANDARD / LISTING_USED_CPO / LISTING_USED_PRIORITY / LISTING_NEW |
Plus many more: inclusionType, listingSource, bodyType, bodyTypeGroupId, salesStatus, compliance, priceDropData, financeDto, evBatteryDto, stockNumber, ncapOverallSafetyRating, howToShop, buyingOption, sellerType, isFranchiseDealer, franchiseMake, distance, localizedFuelEconomy, description, expectedPrice, priceDifferential, imvPrice, feesCompliant, localizedDoors, normalizedExteriorColor, condition, availability, priceValidUntil, sortScore, debugInfo, offset, mpn.
๐ How to Use (Apify Console)
- ๐ Sign in at https://console.apify.com โ Actors.
- ๐ Open the CarGurus Listings Scraper Actor.
- ๐ Pick Country, type a ZIP / postcode, pick a Make (and optional Model).
- ๐ Pick a Condition (Used / New).
- ๐ฏ Optionally cap Maximum listings and Maximum pages.
- โถ๏ธ Click Start.
- ๐ Watch matching listings stream into the Output tab live.
- ๐พ Export to JSON / CSV / XLSX when the run finishes.
๐ค Use via API
curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"country": "US","zipcode": "10001","make": "Toyota","condition": "used","maxItems": 50}'
๐ฏ Best Use Cases
- ๐ Market-price benchmarking by make / model / region
- ๐ฌ Inventory monitoring for specific dealers
- ๐ Lead generation for car-buying services
- ๐ Trend analysis on deal ratings and days-on-market
- ๐ Cross-country pricing comparison (US / CA / UK)
- ๐ค AI agents that need fresh used-car data
๐ธ Pricing
This Actor uses Apify's Pay-per-event monetisation. You are billed per result-item event (i.e. per listing pushed to the dataset). Run start is free for the first 5 seconds and capped by your ACTOR_MAX_TOTAL_CHARGE_USD โ the run stops cleanly when the limit is reached.
โ Frequently Asked Questions
Q. Do I need a proxy? No. The Actor starts without a proxy and only falls back to datacenter โ residential if CarGurus pushes back. Leave Proxy configuration as-is.
Q. Why is the model field optional? Because the make-level filter already narrows the result set heavily and many users want a quick model snapshot. Leave it blank for all models from the selected make.
Q. Does it support new / used / CPO listings?
Yes. Pick Used to include standard pre-owned + CPO + priority listings. Pick New for factory-fresh inventory only. The output includes an itemType field for finer slicing.
Q. Why am I seeing fewer rows than maxItems?
CarGurus simply ran out of unique listings for your search โ we keep paginating until either your maxItems target is hit or CarGurus stops returning new VINs (3 consecutive empty pages). Widen the search (different zip, drop the model filter, try a more common make) and re-run. The scraper carries the make filter forward on every pagination request so server-side filtering is preserved across pages, and the SRP page budget is sized automatically from maxItems so you never need to tune it.
Q. Is this legal? The Actor only collects data already publicly visible on CarGurus search pages. You are responsible for compliance with target-site Terms of Service, GDPR / CCPA, and any data-handling laws applicable to your use case.
๐ Support and Feedback
Found a quirk or want a custom field? Open an issue on the Actor's page or drop a line to dev.scraperengine@gmail.com.
โ๏ธ Legal / Cautions
- Data is collected only from publicly available CarGurus search-result pages.
- Do not scrape private accounts or content behind authentication.
- The end user is responsible for legal compliance (GDPR, CCPA, anti-spam laws, CarGurus ToS, etc.).
- Honour
robots.txtand reasonable rate limits โ being a good citizen reduces blocks too.