CarGurus.ca Data Parser & API
CarGurus.ca is the Canadian portal of CarGurus — an estimated 4.2M visits per month with dealer and private listings — and Carapis can extract its full listing data, including the Deal Rating, price and dealer details, through one REST API. It brings CarGurus’ market-pricing model to Canada, and because it shares the CarGurus platform, one parsing strategy spans both cargurus.com and cargurus.ca — delivered without you building or maintaining a DataDome-protected scraper.
On request — not in the live feed today. We do not continuously crawl CarGurus.ca right now. Activation takes 2–3 weeks of engineering and is quoted per source, because each one ships with dedicated proxies, anti-bot tuning and ongoing maintenance. Ask us to add it.
| Country | Canada |
|---|---|
| Type | Portal |
| Vehicle types | used, new, dealer |
| Monthly visits | ~4.2M/mo (2025 est.) |
| Active listings | dealer+private |
| API access | No public API (parse-only) |
| Parse priority | ★★★☆☆ |
| Official site | www.cargurus.ca |
What is CarGurus.ca?
CarGurus.ca is the Canadian edition of CarGurus, the US-headquartered car-shopping marketplace that ranks listings by how their price compares to the market. It draws an estimated 4.2M visits per month (2025) across dealer and private inventory. Like the US site, it computes a Deal Rating per vehicle, giving Canadian listings a transparent price-vs-market signal that most local portals do not expose.
Market Position
CarGurus.ca attracts an estimated 4.2M visits per month (2025), placing it below AutoTrader.ca and the Kijiji properties but as a meaningful pricing-focused alternative in Canada. Because it runs on the same CarGurus platform as cargurus.com, a single Carapis parsing strategy covers both the US and Canadian sites. Its Deal Rating and market-pricing model are the differentiator — a pricing-signal layer that AutoTrader.ca and Kijiji do not provide.
What the API returns
Response schema
Indicative — this is the shape, not a guarantee. Every source returns the same structure, so what you build against does not change when you add one. Which fields carry a value depends on the source and on the individual listing: a site that does not publish mileage returns null there, and CarGurus.ca is no exception.
List — GET /apix/api/vehicles/ — returns 30 fields per vehicle:
idstringsource_codestringbrand_namestringbrand_slugstringmodel_namestringmodel_slugstringtrimstringyearintegerprice_usdintegermileageintegerfuel_typeFuelTypeEnumtransmissionTransmissionEnumbody_typeBodyTypeEnumcolorColorEnumseller_typeSellerTypeEnumregionstringsource_locationobjecthas_accidentbooleanis_new_vehiclebooleanis_verifiedbooleanstatusVehicleStatusEnumis_availablebooleanfirst_seen_atstringlast_seen_atstringthumbVehiclePhotophotosarrayphotos_countintegerhas_valuationbooleanhas_llm_analysisbooleananalysisobject
Detail — GET /apix/api/vehicles/{id}/ — adds 23 more:
generationstringprice_originalstringprice_original_currencystringoriginal_msrpstringengine_ccintegerseat_countintegerdrive_typeDriveTypeEnumhas_simple_repairbooleanhas_recallbooleanrecall_fulfilledbooleanwarranty_typestringinspection_passedbooleanowner_countintegeris_undervaluedbooleanvaluation_scorenumberfeaturesarraydescriptionstringlisting_urlstringlisting_idstringvinstringvehicle_nostringavailability_checked_atstringstatus_changed_atstring
Abbreviated example:
{
"id": "0193f2c1-...",
"source_code": "encar",
"brand_name": "BMW",
"model_name": "320i",
"trim": "M Sport",
"year": 2021,
"price_usd": 28400,
"price_original": "38900000",
"price_original_currency": "KRW",
"mileage": 45000,
"fuel_type": "gasoline",
"transmission": "automatic",
"has_accident": false,
"listing_url": "https://...",
"photos": [{ "url": "https://cdn.carapis.com/..." }],
"first_seen_at": "2026-09-28T11:04:22Z",
"is_available": true
}Which sources you can actually query is answered by GET /apix/api/sources/ with your API key — it is the list your account can pull today, and it is the one to trust over any page on this site.
The Deal Rating is the standout field — a ready-made Canadian market-pricing signal for dealers and analysts.
API Quick Start
Python
import requests
resp = requests.get(
"https://api.carapis.com/v2/listings",
params={"source": "cargurus-ca", "limit": 20},
headers={"Authorization": f"Bearer {API_KEY}"},
)
for car in resp.json()["results"]:
print(car["make"], car["model"], car["year"], car["price"])Get an API key at my.carapis.com and see the full API reference. Pricing is on the pricing page .
Use Cases
- Pricing intelligence — Deal Rating anchors competitive-pricing models for Canadian dealers.
- Market research — track Canadian price trends and days-on-market. See market research.
- Inventory monitoring — watch competitor listings and price moves at scale.