Used Car Listings Scraper — US Cars For Sale
Pricing
Pay per event
Used Car Listings Scraper — US Cars For Sale
Search US used-car listings by make, model, year, price, mileage, and state via the official vehicles.dev API. One row per car with VIN, price, mileage, dealer, and location. No scraping, no proxies, no CAPTCHAs. Pay-per-result.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Arnas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape US used-car listings — cars for sale by make, model, year, price, mileage, and state — with a VIN on every row. Powered by the official vehicles.dev API, so there's no scraping, no proxies, no CAPTCHAs, and nothing that breaks when a car marketplace changes its site.
What does Used Car Listings Scraper do?
Used Car Listings Scraper searches normalized used-car inventory across sources like Autolist, TrueCar, and iSeeCars through the vehicles.dev listings API and returns one clean row per vehicle. Each listing includes the VIN, year, make, model, trim, price, mileage, condition, dealer name, city/state, coordinates, days on market, and a link to the original listing page.
Filter by make, model, year range, price range, max mileage, state, condition (used / new / CPO), seller type, and data quality — then set how many results you want. Run one search or batch many in a single run. Results download as JSON, CSV, Excel, or HTML, or stream live via the Apify API. Run it on demand or schedule it to track the used-car market over time — with API access, scheduling, and monitoring included on the Apify platform.
Why use Used Car Listings Scraper?
- Official API, not a fragile scraper — vehicles.dev is a licensed data source, so results are clean JSON that don't break when a marketplace redesigns. No proxies or CAPTCHAs to manage.
- VIN on every row — decode, match, and dedupe downstream with a real VIN, not a guessed one.
- Server-side filters — make, model, year, price, mileage, state, condition, seller type, source, and data quality are all applied at the API, so you only pay for the rows you want.
- Pages past any single-response cap — automatically iterates
limit/offsetup to yourmaxItems. - Run-level VIN dedup — overlapping searches never emit (or bill) the same car twice.
- Batch searches — price whole model lists (e.g. Camry + Civic + Accord) in one run.
Common use cases: used-car pricing & inventory tools, dealer competitive analysis, market and demand research, lead generation, arbitrage sourcing, auto lenders / insurers, and data science on the US car market.
How to use Used Car Listings Scraper
- Click Try for free (or open the actor in your Apify Console).
- Enter a Make and Model (e.g.
Toyota/Camry) and any filters you want — year range, price range, max mileage, State. - Set Max results to how many listings to collect.
- Click Start. Listings stream into the dataset as pages are fetched.
- Download as JSON / CSV / Excel, or pull the dataset from the Apify API.
To run several searches at once, use the Batch searches field with a JSON array like [{ "make": "Toyota", "model": "Camry" }, { "make": "Honda", "model": "Civic" }] — each entry inherits your top-level filters.
Input
| Field | Type | Description |
|---|---|---|
make, model | string | Vehicle make/model (case-sensitive). |
yearMin, yearMax | int | Model-year range. |
priceMin, priceMax | int | Price range (USD). |
mileageMax | int | Maximum odometer reading. |
state | string | 2-letter US state code. |
condition | select | used, new, cpo, or any. |
sellerType | select | dealer, auction, or any. |
source | select | Restrict to one upstream source. |
sort / order | select | Sort by price / miles / year / days on market, asc or desc. |
maxItems | int | Max listings to save (0 = unlimited). |
searches | array | Batch: multiple filter objects in one run. |
apiKey | string (secret) | Optional. Bring your own vehicles.dev key. |
Output
Each dataset row is one listing:
{"vin": "4T1BE32KX4U369954","year": 2004,"make": "Toyota","model": "Camry","trim": "Standard","body_style": "Sedan","fuel": "Gasoline","drivetrain": "FWD","transmission": "Manual","color": null,"price": 5794,"miles": 96287,"condition": "used","seller_type": "dealer","dealer_name": "University Kia","city": "Waco","state": "TX","lat": 31.465128,"lng": -97.09254,"days_on_market": 0,"data_quality": 0.923,"vdp_url": "https://www.autolist.com/toyota-camry#vin=4T1BE32KX4U369954","source": "autolist","vin_valid": 1,"scrapedAt": "2026-08-15T10:49:38.000Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Meaning |
|---|---|
vin / vin_valid | Vehicle VIN and whether it validated. |
price / miles | Asking price (USD) and odometer. |
condition / title_status | Listing condition and title status. |
seller_type / dealer_name | Dealer vs auction, and the seller. |
city / state / lat / lng | Listing location. |
days_on_market | Days the listing has been live. |
data_quality | Source confidence score (0–1). |
vdp_url | Link to the original listing. |
source | Upstream source (autolist, truecar, …). |
How much does it cost?
Billing is pay-per-result: a small per-run start fee plus a charge for each listing written to the dataset ($0.50 per 1,000 listings). VIN deduplication means overlapping searches never double-bill, and failed pages cost nothing. Set maxItems to cap spend precisely.
Tips & advanced options
- Cap cost with
maxItems— the actor stops the moment your budget is hit, mid-page. - Narrow with filters — a tight make/model/state/price query is cheaper and faster than a broad one.
- Batch model lists — use
searchesto sweep several models in one run; VINs are deduped across them. - Concurrency — vehicles.dev rate-limits per account, so the default
maxConcurrencyof 5 suits the free tier; raise it with a higher-tier key.
FAQ, disclaimers & support
Is there a VIN on every listing? Yes — and vin_valid tells you whether it passed validation. Set validVin to require only validated VINs.
How fresh is the data? Listings reflect vehicles.dev's crawl cadence; days_on_market and scrapedAt help you judge recency.
Do I need a vehicles.dev account? No — the actor is preconfigured. Advanced users can supply their own apiKey to run on their own quota.
Something look off? Use the Issues tab to report it. Custom fields or a tailored vehicle-data feed can be built on request.
Data is provided by the official vehicles.dev API.