CarGurus Scraper — US, Canada & UK Car Listings avatar

CarGurus Scraper — US, Canada & UK Car Listings

Pricing

from $2.00 / 1,000 results

Go to Apify Store
CarGurus Scraper — US, Canada & UK Car Listings

CarGurus Scraper — US, Canada & UK Car Listings

Scrape CarGurus vehicle listings from .com, .ca and .co.uk. Returns price, mileage, VIN, specs, dealer info and all images per listing.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

youssef farhan

youssef farhan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

CarGurus Scraper 🚗 — US, Canada & UK Car Listings Data (Price, VIN, Specs, Dealer, Images)

Scrape CarGurus listings at scale from cargurus.com (USA), cargurus.ca (Canada) and cargurus.co.uk (UK) — no login, no browser, no code. Paste a CarGurus search URL or just pick a country + location, and get clean, structured JSON for every car: price, mileage, VIN, full specs, dealer details and all listing photos.

Fast, reliable CarGurus data extraction for car dealers, marketplaces, price-monitoring tools, lead generation and market research.


✨ Why use this CarGurus Scraper?

  • 🌍 3 countries, one actor — United States, Canada and the United Kingdom, auto-detected.
  • 🔗 Two ways to search — paste a CarGurus URL, or build a search with simple fields (no URL needed).
  • 🖼️ Every image, full resolution — not just the thumbnail (often 25–80 photos per car).
  • Fast — 20 concurrent per-listing fetches.
  • 🔢 All pages or set a limitmaxPages = 0 scrapes the entire result set.
  • 🛡️ Anti-blocking built in — browser-grade TLS fingerprinting + geo-targeted residential proxies (no proxy setup required).
  • ♻️ Migration-safe — resumes exactly where it left off, no duplicate or lost data.
  • 📦 Clean, validated schema — one tidy record per listing, ready for Excel, Google Sheets, CSV, JSON or API.
  • 🤖 AI-agent & MCP ready — typed input/output schema that LLM agents can call directly.

🚀 Quick start

You have two options — use whichever is easier:

Option A — Paste a CarGurus URL

  1. Go to CarGurus (or .ca / .co.uk) and apply your filters — location/ZIP, make, model, price, mileage, etc.
  2. Copy the URL from your browser's address bar.
  3. Paste it into Search by URL → CarGurus search URLs and click Start.

Option B — No URL needed

Leave the URL field empty and just fill in Search by filters:

  • Country (US / Canada / UK)
  • ZIP / Postal code (e.g. 10001, M4B 1B4, SW1A 1AA)
  • Search radius, Sort by, Sort direction, and optional make/model filter

The actor builds the correct CarGurus search for you.

That's it. Results stream into the dataset as the actor runs.

Example input (Option A)

{
"startUrls": [
{ "url": "https://www.cargurus.com/search?distance=10&sortType=BEST_MATCH&zip=10001" },
{ "url": "https://www.cargurus.ca/search?zip=M4B+1B4&entityId=d1751" },
{ "url": "https://www.cargurus.co.uk/search?distance=75&sortType=DEAL_SCORE&zip=75+001" }
],
"maxPages": 0
}

Example input (Option B)

{
"searchCountry": "US",
"zip": "10001",
"distance": 50,
"sortType": "BEST_MATCH",
"sortDirection": "ASC",
"maxPages": 0
}

⚙️ Input parameters

Search by URL

FieldTypeDescription
startUrlsarrayOne or more CarGurus search/result URLs (US, CA or UK). Leave empty to use the filter fields below.

Search by filters (used only when no URL is provided)

FieldTypeDescription
searchCountryenumUS, CA or UK — picks the marketplace/domain.
zipstringZIP / postal code to search around (required for this mode).
distanceintegerSearch radius. Default 50.
sortTypeenumBEST_MATCH, DEAL_SCORE, PRICE, MILEAGE, YEAR, DISTANCE, LISTING_DATE.
sortDirectionenumASC or DESC.
makeModelTrimPathsstring(Advanced, optional) CarGurus make/model path, e.g. m4 or m124,m124/d1751.

Scraper settings

FieldTypeDescription
maxPagesintegerMax result pages per URL. 0 (default) = scrape every page until exhausted.

Proxies are handled automatically (geo-targeted residential), so there's no proxy configuration to set up.


📤 Output — one record per listing

Each listing comes from CarGurus' per-listing detail endpoint, so you get full specs, dealer info and every photo:

{
"country": "US",
"listingId": 441325338,
"title": "2023 Hyundai Tucson SEL FWD",
"year": 2023,
"make": "Hyundai",
"model": "Tucson",
"trim": "SEL FWD",
"price": 21495,
"priceString": "$21,495",
"msrp": 28500,
"expectedPrice": 22100,
"dealScore": 8.7,
"dealRating": "GREAT_PRICE",
"mileage": 31250,
"mileageString": "31,250 mi",
"condition": "USED",
"isNew": false,
"vin": "5NMJBCAE8PH000000",
"stockNumber": "H12345",
"transmission": "Automatic",
"drivetrain": "Front-Wheel Drive",
"engine": "2.5L I4",
"fuelType": "Gasoline",
"exteriorColor": "White",
"interiorColor": "Black",
"doors": "4 doors",
"postalCode": "11209",
"distance": 8,
"savedCount": 12,
"dealerName": "Hyundai City of Bay Ridge",
"dealerType": "FRANCHISE",
"dealerPhone": "(718) 000-0000",
"dealerLocation": "Brooklyn, NY, 11209",
"dealerWebsite": "https://...",
"dealerRating": 4.6,
"dealerReviewCount": 1284,
"imageCount": 49,
"mainImage": "https://static.cargurus.com/.../1024x768.jpeg",
"images": ["https://...", "https://..."],
"listingUrl": "https://www.cargurus.com/Cars/inventorylisting/...",
"detailApiUrl": "https://www.cargurus.com/Cars/detailListingJson.action?inventoryListing=441325338",
"sourceUrl": "https://www.cargurus.com/search?...",
"scrapedAt": "2026-06-08T17:40:00+00:00"
}

The dataset ships with a typed Output schema and a clean table view (price, mileage, deal rating, dealer, photo, listing link). Export to JSON, CSV, Excel, HTML or via the Apify API / MCP.


💡 Use cases

  • Car dealers & resellers — monitor competitor pricing and inventory across markets.
  • Price intelligence — track deal ratings, price drops and days-on-market.
  • Lead generation — build dealer contact lists with phone, website and ratings.
  • Marketplaces & aggregators — bulk-import vehicle inventory with full media.
  • Market research & analytics — model pricing trends by make, model, region.

🤖 Use with AI agents (MCP)

This actor exposes a clean, typed input/output schema, so AI assistants and MCP (Model Context Protocol) clients can call it directly — e.g. "Get all used Tucsons near ZIP 10001 sorted by best deal, with photos." Structured fields like price, dealRating, vin and images make the data immediately usable by LLM agents.


❓ FAQ

Which CarGurus sites are supported? US (cargurus.com), Canada (cargurus.ca) and UK (cargurus.co.uk) — automatically detected from your input.

Do I need a URL? No. Use Option B (country + ZIP/postal code) and the actor builds the search for you.

Do I need to set up proxies? No. Geo-targeted residential proxies are built in.

How do I get every car, not just page 1? Leave maxPages at 0.

Can I get all photos? Yes — the images array contains every full-resolution photo for each listing.

Will I get blocked? The actor uses browser-grade TLS impersonation plus country-matched residential proxies to stay reliable.

What if the run is interrupted? It's migration-safe — state is persisted and the run resumes without losing or duplicating data.


💎 Free vs. Paid

The Free plan is limited to 20 results per run. To unlock unlimited listings, all pages and full speed, upgrade here:

👉 Subscribe to a paid Apify plan


📬 Contact & custom solutions


Scrape only publicly available data and use it in compliance with CarGurus' Terms of Service and applicable laws (including GDPR/CCPA where relevant). You are responsible for how you use the extracted data.


Keywords: CarGurus scraper, CarGurus API, car listings scraper, used car data, vehicle data extraction, CarGurus UK, CarGurus Canada, car price monitoring, dealer inventory scraper, VIN scraper, auto data, car marketplace data.