CarGurus Scraper 🚗 avatar

CarGurus Scraper 🚗

Pricing

from $0.80 / 1,000 results

Go to Apify Store
CarGurus Scraper 🚗

CarGurus Scraper 🚗

Extract car listings from CarGurus with prices, makes, models, mileage, VINs, vehicle specifications, dealer details, locations, images, and listing URLs. Ideal for used car market research, price monitoring, competitor analysis, automotive leads, and AI datasets.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

7 days ago

Last modified

Categories

Share

What does CarGurus Scraper do?

CarGurus Scraper collects vehicle listings from CarGurus search results pages and saves them as a clean, structured dataset. Give it a CarGurus search URL, or just a ZIP code with optional filters, and it returns prices, CarGurus deal ratings and Instant Market Value data, mileage, specs, photos, and dealer details for every listing it finds. The output is ready for spreadsheets, dashboards, price monitoring, and market research.

Why use CarGurus Scraper?

  • Deal intelligence built in - Every listing includes the CarGurus deal rating, deal score, Instant Market Value (IMV), and the dollar difference between the asking price and the IMV.
  • Rich vehicle detail - Capture year, make, model, trim, body type, condition, mileage, engine, drivetrain, transmission, colors, fuel economy, safety rating, features, and more in one pass.
  • Dealer context - Save seller name, type, city, state, ZIP code, phone, and distance from the searched location.
  • Flexible input - Start from any CarGurus search URL, or build a search from a ZIP code and simple filters.
  • Clean data - Empty fields are removed automatically, so your dataset does not contain always-null columns.
  • Automation ready - Run on demand or on a schedule, export to JSON, CSV, or Excel, and connect results to your own tools.

What data can you extract from CarGurus?

FieldDescription
listingIdCarGurus listing identifier
vinVehicle identification number
titleFull listing title with year, make, model, and trim
year, make, model, trim, bodyTypeVehicle identity and body style
conditionUSED, NEW, or CPO
dealRatingCarGurus deal rating such as GREAT_PRICE or GOOD_PRICE
dealScoreCarGurus internal deal ranking score
price, totalPriceAsking price and price including dealer fees
imvPriceCarGurus Instant Market Value
priceDifferentialDollars below (positive) or above (negative) the IMV
mileage, mileageUnitOdometer reading and unit
exteriorColor, interiorColorColor names and normalized values
transmission, drivetrain, engineDrivetrain and mechanical specs
fuelType and fuel economyFuel type plus city, highway, and combined economy
safetyRating, daysOnMarketNHTSA safety rating and days the listing has been online
distanceMilesDistance from the searched ZIP code
primaryImage, imageCountLead photo and number of photos
featuresList of notable vehicle features
sellerName, sellerType, sellerCity, sellerState, sellerPostalCode, sellerPhoneDealer details
listingUrlDirect link to the listing on CarGurus

How to use CarGurus Scraper

  1. Open the Actor on Apify Store.
  2. Enter a CarGurus search URL, or a ZIP code with optional filters.
  3. Set the maximum number of listings and pages.
  4. Run the Actor.
  5. Download the dataset as JSON, CSV, or Excel, or connect it to your workflow.

If you provide a CarGurus search URL, it is used exactly as-is and the location and filter fields are ignored. If you provide a location instead, the Actor builds the search from your ZIP code, filters, and sort settings.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-A full CarGurus search results URL. Takes priority over all filter fields
locationStringNo10001US ZIP code to search around, used when no start URL is provided
makeStringNo-Vehicle make name, for example Toyota
modelStringNo-Vehicle model name, for example RAV4
conditionStringNoanyany, used, new, or certified
distanceIntegerNo50Search radius in miles
minPrice / maxPriceIntegerNo-Lower and upper price bounds in USD
minMileage / maxMileageIntegerNo-Lower and upper mileage bounds
minYear / maxYearIntegerNo-Earliest and latest model years
sortTypeStringNoBEST_MATCHSort field: best match, deal score, price, mileage, distance, newest car year, or newest listings
sortDirectionStringNoASCASC or DESC
results_wantedIntegerNo20Maximum number of listings to save
max_pagesIntegerNo10Safety cap on the number of search pages to visit
proxyConfigurationObjectNoApify ProxyProxy settings, Apify Proxy recommended

Output Data

FieldTypeDescription
listingIdNumberCarGurus listing identifier
vinStringVehicle identification number
titleStringFull listing title
yearNumberModel year
makeStringVehicle manufacturer
modelStringVehicle model
trimStringVehicle trim
bodyTypeStringBody style
conditionStringUSED, NEW, or CPO
dealRatingStringCarGurus deal rating
dealScoreNumberDeal ranking score
priceNumberAsking price in USD
totalPriceNumberPrice including dealer fees
imvPriceNumberCarGurus Instant Market Value
priceDifferentialNumberDifference versus IMV, positive means below IMV
mileageNumberOdometer reading
mileageUnitStringMileage unit
exteriorColorStringExterior color
transmissionStringTransmission type
drivetrainStringDrivetrain
engineStringEngine description
fuelTypeStringFuel type
daysOnMarketNumberDays the listing has been online
distanceMilesNumberDistance from the searched ZIP code
primaryImageStringPrimary photo URL
sellerNameStringDealer name
sellerCityStringDealer city
sellerStateStringDealer state
listingUrlStringDirect listing URL
scrapedAtStringISO timestamp of collection

Empty fields are removed from each record, so only fields with values appear in the dataset.

Usage Examples

Scrape from a CarGurus search URL

Collect listings from a prepared CarGurus search, such as Acura cars within 10 miles of ZIP 10001:

{
"startUrl": "https://www.cargurus.com/search?distance=10&sortDirection=ASC&sortType=BEST_MATCH&zip=10001&makeModelTrimPaths=m4&page=1",
"results_wanted": 100,
"max_pages": 5
}

Build a search from a ZIP code and filters

Search for used sedans priced between 15,000 and 30,000 USD near ZIP 90210, sorted by price:

{
"location": "90210",
"condition": "used",
"minPrice": 15000,
"maxPrice": 30000,
"sortType": "PRICE",
"sortDirection": "ASC",
"results_wanted": 50,
"max_pages": 5
}

Search a specific make and model

Collect Toyota RAV4 listings near ZIP 78701:

{
"location": "78701",
"make": "Toyota",
"model": "RAV4",
"distance": 50,
"results_wanted": 50,
"max_pages": 5
}

Track certified pre-owned inventory

Collect certified pre-owned listings near ZIP 10001:

{
"location": "10001",
"condition": "certified",
"distance": 100,
"results_wanted": 40,
"max_pages": 4
}

Sample Output

{
"listingId": 458585614,
"vin": "5J8YE1H0XSL802783",
"title": "2025 Acura MDX",
"year": 2025,
"make": "Acura",
"model": "MDX",
"trim": "SH-AWD with A-SPEC Package",
"bodyType": "SUV / Crossover",
"condition": "USED",
"dealRating": "GOOD_PRICE",
"dealScore": 1.7356389,
"price": 46490,
"totalPrice": 46665,
"imvPrice": 47461,
"priceDifferential": 971,
"currency": "USD",
"mileage": 12835,
"mileageUnit": "MILES",
"exteriorColor": "Silver",
"normalizedExteriorColor": "SILVER",
"interiorColor": "Black (Ebony)",
"transmission": "Automatic",
"drivetrain": "All-Wheel Drive",
"engine": "290 hp 3.5L V6",
"doors": "4 doors",
"fuelType": "Gasoline",
"cityFuelEconomy": 19,
"highwayFuelEconomy": 25,
"combinedFuelEconomy": 21.7,
"fuelEconomyUnit": "MPG",
"daysOnMarket": 36,
"distanceMiles": 5.450355,
"primaryImage": "https://static.cargurus.com/images/forsale/2026/10/16/04/40/2025_acura_mdx-pic-4066649105097917600-1024x768.jpeg",
"imageCount": 45,
"features": ["Leather Seats", "Sunroof/Moonroof", "Navigation System", "Backup Camera"],
"sellerName": "Heights Nissan",
"sellerId": 1736983,
"sellerCity": "Jackson Heights",
"sellerState": "NY",
"sellerPostalCode": "11372",
"sellerPhone": "(718) 568-7217",
"stockNumber": "NU928",
"listingUrl": "https://www.cargurus.com/details/458585614",
"scrapedAt": "2026-10-17T16:22:22.270Z"
}

Tips for Best Results

  • Paste a CarGurus search URL you built in your browser to reuse exactly the same filters, sort, and location.
  • Use a ZIP code in location for accurate distance and inventory results.
  • Start with a small results_wanted value to confirm the fields you need before running a large job.
  • Increase max_pages for larger datasets; each page returns roughly 20 to 24 listings.
  • Use the priceDifferential field to surface the best deals, for example listings where the price is below the Instant Market Value.
  • Keep Apify Proxy enabled for reliable, uninterrupted runs.
  • Schedule repeat runs to monitor price drops and days on market over time.

Integrations

  • Google Sheets - Export results to a spreadsheet for analysis.
  • Webhooks - Trigger downstream workflows when a run finishes.
  • Make and Zapier - Connect results to no-code automations.
  • API - Access the dataset programmatically from your own systems.
  • CSV, Excel, JSON, XML - Download the dataset in the format your tools require.

Frequently Asked Questions

Can I export CarGurus data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats directly from the Actor run.

Can I scrape new, used, and certified pre-owned cars?

Yes. Use the condition input, or add the relevant filters in the CarGurus search URL you provide. Listings are labeled USED, NEW, or CPO in the output.

Can I run this Actor on a schedule?

Yes. You can schedule the Actor in Apify Console to refresh data hourly, daily, weekly, or at another interval, which is useful for price and inventory monitoring.

Do I need a CarGurus account or API key?

No. The Actor works with public CarGurus search results and does not require an account or API key.

How many listings can I collect?

You control the volume with results_wanted and max_pages. A single search page returns roughly 20 to 24 listings, and the Actor paginates until it reaches your limit or the last page.

Why are some fields missing on certain listings?

Some vehicles do not have every attribute published, such as fuel economy for some electric cars or safety ratings for unrated models. Fields without values are removed from the record instead of being saved as empty.

What should I do if a run returns no listings?

Check that your search URL or filters match actual inventory. If a search has no matching cars, the dataset is empty by design. Broaden the distance, price, or year filters and try again.

Scraping publicly available data can be legal, but you are responsible for complying with applicable laws, the CarGurus terms of service, and privacy rules in your jurisdiction.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is designed for legitimate data collection from publicly available sources. Users are responsible for using the data responsibly and complying with applicable laws and website terms.