TrueCar Used & New Car Listings Scraper (VIN, Price, Dealer)
Pricing
from $6.80 / 1,000 results
TrueCar Used & New Car Listings Scraper (VIN, Price, Dealer)
Scrape TrueCar used, new and certified car listings by make, model, ZIP and radius: price, mileage, VIN, colors, drivetrain, fuel, trim, dealer name, address, phone and photos. Export to JSON, CSV, Excel or XML.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
TrueCar Used & New Car Listings Scraper (VIN, Price, Dealer)
Here is one real result, with every field the actor returns (the images and highlights arrays are trimmed here for length):
{"vin": "4T1DAACK6SU592870","year": 2025,"make": "Toyota","model": "Camry","trim": "Hybrid SE","styleName": "Hybrid SE FWD","condition": "USED","certifiedPreOwned": false,"price": 29090,"priceCurrency": "USD","msrp": null,"priceQuality": "EXCELLENT","mileage": 10646,"exteriorColor": "White","interiorColor": "Gray","engine": "2.5L Inline-4 Hybrid","fuelType": "Hybrid","transmission": "Automatic","driveType": "FRONT_WHEEL_DRIVE","bodyStyle": "SEDAN","electricRange": null,"mpgCity": 48,"mpgHighway": 47,"mpgCombined": 47,"keyFeatures": ["Premium Wheels", "Moonroof", "Apple CarPlay", "Android Auto","Front Heated Seats", "Adaptive Cruise Control", "Blind Spot System","Lane Keep Assist", "Backup Camera", "Bluetooth"],"dealerName": "Honda of Downtown Los Angeles","dealerAddress": "780 W Martin Luther King Jr Blvd","dealerCity": "Los Angeles","dealerState": "CA","dealerZip": "90037","dealerDistanceMiles": 3.3198752403259277,"dealerPhone": "(213) 749-2331","stockNumber": "U592870T","listedAt": "2026-04-30T00:45:00.000Z","primaryImage": "https://listings-prod.tcimg.net/listings/5005/70/28/4T1DAACK6SU592870/001_2026051407.jpg","imageCount": 36,"images": ["https://listings-prod.tcimg.net/listings/5005/70/28/4T1DAACK6SU592870/001_2026051407.jpg","https://listings-prod.tcimg.net/listings/5005/70/28/4T1DAACK6SU592870/002_2026051407.jpg"],"listingUrl": "https://www.truecar.com/used-cars-for-sale/listing/4T1DAACK6SU592870/","source": "truecar.com","highlights": ["Apple CarPlay / Android Auto", "Adaptive Cruise Control", "Blind Spot System","Backup Camera", "Forward Collision Warning", "Automatic Braking"],"observedAt": "2026-08-13T00:00:00.000Z","error": null}
The most complete TrueCar scraper available. It returns every field a listing exposes (VIN, year, make, model, trim, price, MSRP, price quality, mileage, colors, engine, drivetrain and MPG), adds the dealer name, address, distance and phone as a lead, and gives you make, model, ZIP, radius, condition, price, year and mileage filters to target exactly the inventory you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches TrueCar inventory for the make, models, ZIP and radius you pass, applies your condition, price, year and mileage filters, paginates through the matches, and writes one normalized record per vehicle to the run's dataset. Each record carries VIN, year, make, model, trim, price, MSRP, TrueCar price quality, mileage, colors, engine, fuel type, transmission, drivetrain, body style and fuel economy.
With withDetails on (the default), the actor opens each listing's detail page to add the dealer phone, full photo gallery, feature highlights and stock number. The dealer name, address, distance and phone make each record a usable lead. Missing source values are returned as null, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 50 used Toyota Camry listings within 75 miles of ZIP 90001, with full detail.
{"make": "Toyota","models": ["Camry"],"zip": "90001","searchRadius": 75,"condition": "used","withDetails": true,"maxListings": 50}
Leave models empty to search every model of the make. Add priceMax, yearMin or mileageMax to narrow the inventory.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
make | string | yes | Toyota | Vehicle make to search, for example Toyota, Ford, BMW. |
models | string[] | no | ["Camry"] | One or more models of that make, each searched separately in one run. Leave empty to search every model of the make. |
zip | string | yes | 90001 | US ZIP code to search around. |
searchRadius | integer | no | 75 | Radius in miles around the ZIP code. |
condition | enum | no | used | Which inventory to search: used, new, or all. |
certifiedOnly | boolean | no | false | Return only manufacturer certified pre-owned (CPO) vehicles. |
priceMin | integer | no | (any) | Minimum list price in USD. |
priceMax | integer | no | (any) | Maximum list price in USD. |
yearMin | integer | no | (any) | Earliest model year. |
yearMax | integer | no | (any) | Latest model year. |
mileageMax | integer | no | (any) | Maximum odometer miles. |
withDetails | boolean | no | true | When on, each listing's detail page is fetched to add the dealer phone, full photo gallery, feature highlights and stock number. Turn off to pay for listing data only. |
maxListings | integer | no | 50 | Maximum listings to collect across all model searches. |
Filters combine with logical AND.
Output reference
One dataset item per listing. Types: string, number, integer, boolean, string[], or null when the source value is absent. Fields from dealerPhone, stockNumber, images and highlights come from the detail page and populate when withDetails is on.
| Field | Type | Description |
|---|---|---|
vin | string | Vehicle Identification Number (unique per vehicle). |
year | integer | Model year. |
make | string | Vehicle make. |
model | string | Vehicle model. |
trim | string | Trim level, for example Hybrid SE. |
styleName | string | Full style name including drivetrain. |
condition | string | USED or NEW. |
certifiedPreOwned | boolean | Whether the vehicle is manufacturer certified pre-owned. |
price | integer | List price. |
priceCurrency | string | Currency of the price (USD). |
msrp | integer | Manufacturer suggested retail price, or null. |
priceQuality | string | TrueCar price rating, for example EXCELLENT, GREAT, FAIR. |
mileage | integer | Odometer reading in miles. |
exteriorColor | string | Exterior color. |
interiorColor | string | Interior color. |
engine | string | Engine description. |
fuelType | string | Fuel type, for example Gasoline, Hybrid, Electric. |
transmission | string | Transmission type. |
driveType | string | Drivetrain, for example FRONT_WHEEL_DRIVE, ALL_WHEEL_DRIVE. |
bodyStyle | string | Body style, for example SEDAN, SUV. |
electricRange | integer | EV range in miles when applicable, else null. |
mpgCity | integer | City fuel economy (MPG). |
mpgHighway | integer | Highway fuel economy (MPG). |
mpgCombined | integer | Combined fuel economy (MPG). |
keyFeatures | string[] | Key feature highlights. |
dealerName | string | Selling dealership name (the lead). |
dealerAddress | string | Dealer street address. |
dealerCity | string | Dealer city. |
dealerState | string | Dealer state. |
dealerZip | string | Dealer ZIP. |
dealerDistanceMiles | number | Distance in miles from the search ZIP. |
dealerPhone | string | Dealer phone number, the lead (detail). |
stockNumber | string | Dealer stock number (detail). |
listedAt | string | ISO 8601 timestamp of when the listing was posted. |
primaryImage | string | Main listing image. |
imageCount | integer | Number of photos on the listing. |
images | string[] | Full image gallery URLs (detail). |
listingUrl | string | Direct link to the TrueCar listing. |
source | string | Data source (truecar.com). |
highlights | string[] | Full feature and equipment highlights (detail). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
The hero record at the top of this page is a real record from a live run (input {"make":"Toyota","models":["Camry"],"zip":"90001","withDetails":true,"maxListings":50}), with the keyFeatures, images and highlights arrays trimmed for length. A full run returns every entry.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~truecar-listings-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"make":"Toyota","models":["Camry","Corolla"],"zip":"90001","searchRadius":100,"condition":"used","maxListings":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~truecar-listings-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"make":"Ford","zip":"10001","condition":"all","priceMax":40000,"yearMin":2020,"maxListings":100}'
Apify CLI:
apify call scrapers_lat/truecar-listings-scraper \--input '{"make":"BMW","models":["3 Series"],"zip":"60601","certifiedOnly":true}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per listing returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 listings per run. Upgrade for higher
maxListings. - Detail scraping is slower. With
withDetailson, each listing page is fetched individually to add the dealer phone, gallery, highlights and stock number.
FAQ and troubleshooting
A run returned 0 listings. Why?
No inventory matched the make, model, ZIP, radius and filters. Widen searchRadius, remove priceMax/mileageMax, or check the make and model spelling. Zero-result runs are not charged.
How do I get the dealer phone and full photo gallery?
Leave withDetails on (the default). The actor then opens each listing page and adds dealerPhone, images, highlights and stockNumber.
How do I search several models at once?
Pass them in models. Each is searched separately in the same run and every record carries its own make/model.
Why is msrp or electricRange null?
The listing did not publish that value (MSRP is often absent on used cars; electricRange applies only to EVs). Missing values are returned as null, never invented.
What is priceQuality?
TrueCar's own rating of the asking price versus market, for example EXCELLENT, GREAT, FAIR. It is passed through as reported.
Is this an official TrueCar tool? No. This actor is independent and has no affiliation with TrueCar. It reads only publicly listed data. Use it in accordance with TrueCar's terms.
Related scrapers
- Copart Scraper: salvage and used vehicle auction listings.
- Seminuevos Mexico Used Car Scraper: used-car listings in Mexico.
- Kavak Used Cars Scraper: Kavak used-car inventory across LATAM.
- NHTSA Recalls Scraper: US vehicle safety recalls by make, model and year.
- NHTSA VIN Decoder Scraper: decode vehicle specs from a VIN.
- FMCSA Carriers Scraper: US motor carrier records.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with TrueCar. Accesses only publicly available listing data. Use in accordance with TrueCar's terms of service.
