AutoTrader Car Listings Scraper avatar

AutoTrader Car Listings Scraper

Pricing

from $1.54 / 1,000 car listings

Go to Apify Store
AutoTrader Car Listings Scraper

AutoTrader Car Listings Scraper

Pull the newest AutoTrader.com car listings by make, model, ZIP and radius: price, mileage, VIN, dealer, photos and days listed. Export CSV or JSON.

Pricing

from $1.54 / 1,000 car listings

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

AutoTrader Scraper: Newest Car Listings by Make, Model and ZIP 🚗

SIÁN Agency Store Craigslist Listings Scraper eBay Scraper RockAuto Product Scraper

🎉 AutoTrader.com listings, newest first: price, miles, VIN, dealer and days on the lot, 100 per page

For dealers, buyers and flippers who want to see a car the day it is listed


🔎 What is the AutoTrader Car Listings Scraper — and when should you use it?

The AutoTrader Car Listings Scraper turns AutoTrader.com search results for any make, model and US ZIP code into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: the newest car listings for a make and model around a ZIP code, with asking price, mileage, VIN, trim, colors, history highlights, days listed, the seller and a link to each car. Filter by model years, price, maximum mileage, condition and seller type, or keep only cars listed in the last few days.

Use something else when: the car is not listed on AutoTrader. Use Craigslist Listings Scraper for private-party cars and trucks posted city by city, many of which never reach AutoTrader. Use eBay Scraper for eBay Motors auctions and buy-it-now listings with bids and seller feedback. This actor covers autotrader.com in the United States. AutoTrader UK and Canada, dealer websites and anything behind a login are out of scope, and private sellers' phone numbers are never returned.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/autotrader-car-listings-scraper

Agentic payments: Availability of x402 and Skyfire depends on this Actor's current Store eligibility. Check the published listing for supported payment methods. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want the newest car listings from AutoTrader using the Apify Actor `sian.agency/autotrader-car-listings-scraper`.
Use it when I need: the newest car listings for a make and model around a ZIP code, with asking price, mileage, VIN, trim, colors, history highlights, days listed, the seller and a link to each car. Filter by model years, price, maximum mileage, condition and seller type, or keep only cars listed in the last few days.
Don't use it when: the car is not listed on AutoTrader — use craigslist-scraper or ebay-data-scraper instead.
How to call it: set `make` and `model` (leave `model` empty for every model of the make), a 5-digit `zip` and a `searchRadius` in miles, or "0" for nationwide. Narrow with `startYear`, `endYear`, `minPrice`, `maxPrice`, `maxMileage`, `condition` (`used`, `new` or `certified`) and `sellerType` (`any`, `dealer` or `private`). `maxDaysListed` keeps only fresh listings and `maxResults` caps the run.
Start with this input:
{
"make": "Lexus",
"model": "LS 400",
"zip": "90012",
"searchRadius": "0",
"startYear": 1990,
"endYear": 2000,
"maxResults": 100
}
Ask me which make and model I want, my ZIP code and how far I am willing to travel, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Find every Lexus LS 400 for sale in the US and sort them by mileage.
  • Every morning, list the Porsche 911s that went up in the last day within 300 miles of Los Angeles.
  • Show me Toyota Land Cruisers under 100,000 miles near Denver with price against mileage.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/autotrader-car-listings-scraper.md.

📋 Overview

Search AutoTrader.com the way a buyer does, and get the results back as a spreadsheet. Pick a make, a model, a ZIP code and a radius. The actor returns every matching listing, newest first, with the price, mileage, VIN, seller and a link.

What you get:

  • ✅ 33 fields per car: price, mileage, VIN, trim, colors, drivetrain, engine, history highlights, seller, location and photo
  • 🆕 Newest listings first: results are sorted by date listed, so the top rows are the cars that just went up
  • 🎯 The filters AutoTrader has: model years, price range, maximum mileage, used, new or certified, dealer or private seller
  • 🛡️ Typos caught early: a misspelled make or model stops the run before any listing is charged and lists the names AutoTrader knows
  • 💰 Pay per car returned: listings you filter out and repeats cost nothing
  • ✨ Built for schedules: set "Listed within (days)" to 1 and a daily run only returns fresh stock

✨ Features

  • 🔍 Make, model, ZIP and radius search: 10 to 500 miles, or nationwide
  • 📅 Model-year range: good for vintage hunts like a 1990 to 2000 Lexus LS 400
  • 🛣️ Maximum mileage: keep only low-mile cars
  • 💵 Price range: minimum and maximum asking price in US dollars
  • 🤝 Seller type: dealers only, private sellers only, or both
  • 🆕 Days-listed filter: drop anything older than your window
  • 🔢 VIN on every row when the seller provides one, ready for a history check
  • 📊 Run report: a summary page with the newest cars, a copy-ready VIN list and what was charged

🎬 Quick Start

Open the actor, keep the example search (used Porsche 911s within 500 miles of downtown Los Angeles) and press Start. You get up to 100 listings back. Change the make, model and ZIP to your own search when you are ready.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~autotrader-car-listings-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"make": "Lexus", "model": "LS 400", "zip": "10001", "searchRadius": "0", "maxResults": 100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Describe the car

Type the make and, if you want one, the model. Leave the model empty to get every model of that make.

Step 2: Say where

Enter a 5-digit US ZIP code and pick a radius, or choose Nationwide.

Step 3: Run it

Press Start, then download the results as CSV, JSON or Excel.

That's it. When the run finishes you'll have:

  • The newest matching listings with price, mileage and VIN
  • The seller's name, city and, for dealers, phone number
  • A direct link to each car on AutoTrader

📥 Input Configuration

FieldTypeRequiredDescription
makestringNoCar brand, for example Porsche or Land Rover. Empty searches every make. The form starts with Porsche.
modelstringNoModel name, for example 911 or Land Cruiser. Empty returns every model of the make. The form starts with 911.
conditionselectNoused (includes certified pre-owned), new, or certified only. Default used.
zipstringNo5-digit US ZIP code the radius is measured from. Default 90012.
searchRadiusselectNo10, 25, 50, 75, 100, 200, 300, 400 or 500 miles, or 0 for nationwide. Default 500.
sellerTypeselectNoany, dealer or private. Default any.
startYear / endYearintegerNoModel-year range.
minPrice / maxPriceintegerNoAsking-price range in US dollars.
maxMileageintegerNoHighest odometer reading to include.
maxDaysListedintegerNoKeep only listings this many days old or newer. 0 means listed today.
maxResultsintegerNoStop after this many listings, 1 to 1,000. Default 100.

Example: low-mile 997-generation 911s anywhere in the US

{
"make": "Porsche",
"model": "911",
"zip": "90012",
"searchRadius": "0",
"startYear": 2005,
"endYear": 2012,
"maxMileage": 50000,
"maxResults": 200
}

Example: a daily feed of fresh Toyota 4Runners from private sellers

{
"make": "Toyota",
"model": "4Runner",
"zip": "75201",
"searchRadius": "200",
"sellerType": "private",
"maxDaysListed": 1
}

📤 Output

Each row is one car, with 33 fields. The most useful ones:

FieldTypeDescription
listingTitlestringHeadline, for example "Used 2025 Porsche 911 GT3 RS"
pricenumberAsking price in USD. Empty when the seller asks you to call
mileageintegerOdometer reading in miles
daysOnSiteintegerDays on AutoTrader. 0 means listed today
isNewlyListedbooleanAutoTrader's own "new listing" flag
isReducedPricebooleanTrue when the price has been cut
year / make / model / trimmixedThe car
vinstring17-character VIN
historyFlagsstringHistory highlights, for example "One owner, No accidents reported"
sellerName / sellerTypestringDealer or private seller
sellerPhonestringDealer phone. Never filled for private sellers
sellerCity / sellerState / sellerZipstringWhere the car is
distanceMilesnumberMiles from your ZIP code
imageUrlstringMain photo
listingUrlstringLink to the car on AutoTrader

Example row:

{
"listingTitle": "Used 2025 Porsche 911 GT3 RS",
"year": 2025,
"make": "Porsche",
"model": "911",
"trim": "GT3 RS",
"price": 499000,
"mileage": 4366,
"daysOnSite": 0,
"isNewlyListed": true,
"isReducedPrice": false,
"condition": "USED",
"vin": "WP0AF2A96SS278078",
"listingId": "794763090",
"exteriorColor": "White",
"interiorColor": "Black",
"transmission": "7-Speed Automatic",
"drivetrain": "RWD",
"engine": "6-Cylinder",
"fuelType": "Gasoline",
"bodyStyle": "Coupe",
"historyFlags": "No salvage title, No accidents reported, More than one owner",
"sellerName": "Exotic Car Factory",
"sellerType": "dealer",
"sellerPhone": "9495294242",
"sellerCity": "Tustin",
"sellerState": "CA",
"sellerZip": "92780",
"distanceMiles": 34.4,
"stockNumber": "10376",
"imageUrl": "https://images.autotrader.com/hn/c/e792e84865394747bafce6ed6cf65158.jpg",
"listingUrl": "https://www.autotrader.com/cars-for-sale/vehicle/794763090",
"searchUrl": "https://www.autotrader.com/cars-for-sale/porsche/911?zip=90012&searchRadius=500&listingType=USED&numRecords=100&sortBy=datelistedDESC",
"scrapedAt": "2026-10-29T03:12:45.000Z"
}

A brand-new listing sometimes has no photo yet, so imageUrl can be empty. About one listing in seven shows no price because the seller wants a call first.


💼 Use Cases & Examples

1. Dealer sourcing

A used-car buyer at a dealership wants to see trade-worthy stock the morning it is listed.

Input: make, model, a 200-mile radius and "Listed within (days)" set to 1, on a daily schedule. Output: only yesterday's and today's listings, with price, miles and VIN. Use: call the seller before the car is gone.

2. Vintage and classic car searches

A classic-car buyer hunting a 1990s Lexus LS 400 or an air-cooled 911.

Input: make, model, a model-year range and Nationwide. Output: every matching car in the country, newest first. Use: one list instead of a week of refreshing search pages.

3. Low-mileage hunting

A buyer who only wants cars with low miles.

Input: make, model and "Maximum mileage" set to 30,000. Output: low-mile cars with distance from your ZIP code. Use: shortlist, then compare price against mileage in a sheet.

4. Used car price research

An analyst or appraiser pricing a model in a region.

Input: make, model, ZIP, radius and a model-year range, maxResults 1,000. Output: asking prices, mileage, trim and days listed for the whole market. Use: a fair-price band, and a view of which cars sit unsold.

5. Inventory monitoring

A dealer tracking what competitors list nearby.

Input: make, a 50-mile radius and "Dealers only". Output: competitor listings with stock numbers, prices and price cuts. Use: spot price drops (isReducedPrice) and new arrivals.

6. VIN lists for appraisal

A wholesaler running VINs through a history or valuation tool.

Input: any search. Output: a VIN on almost every dealer row, plus a copy-ready VIN list in the run report. Use: paste straight into your appraisal tool.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sian.agency/autotrader-car-listings-scraper').call({
make: 'Toyota',
model: 'Land Cruiser',
zip: '80202',
searchRadius: '500',
maxMileage: 150000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('sian.agency/autotrader-car-listings-scraper').call(run_input={
'make': 'Toyota',
'model': 'Land Cruiser',
'zip': '80202',
'searchRadius': '500',
'maxMileage': 150000,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['listingTitle'], item['price'], item['mileage'])

cURL

curl -X POST "https://api.apify.com/v2/acts/sian.agency~autotrader-car-listings-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"make": "Toyota", "model": "Land Cruiser", "zip": "80202", "searchRadius": "500"}'

Automation Workflows (n8n / Zapier / Make)

  1. Trigger: a schedule, for example every morning at 7
  2. HTTP Request: run the actor with your search and "Listed within (days)" set to 1
  3. Process: read the JSON rows
  4. Action: post new cars to Slack, add them to a Google Sheet or email the list

📊 Performance & Pricing

You pay for each car listing returned, plus a small fee when the run starts.

PlanPer listingPer 1,000 listings
Free$0.007$7.00
Starter (Bronze)$0.00175$1.75
Scale (Silver)$0.00164$1.64
Business (Gold)$0.00154$1.54
Platinum$0.00145$1.45
Diamond$0.00137$1.37

The run-start fee is $0.01 on paid plans and $0.03 on the free plan.

Free plan (try it now)

  • 25 listings per run with every field and every filter
  • No credit card required
  • Up to 1,000 listings per run, and you can schedule as many runs as you like
  • Only cars actually returned are charged

🔗 View current pricing


❓ Frequently Asked Questions

Q: How fresh are the results? A: They are read from AutoTrader when your run starts, sorted newest first. "Days listed" tells you how long each car has been up.

Q: How many listings can I get? A: Up to 1,000 per run on a paid plan and 25 on the free plan. AutoTrader shows 100 per results page.

Q: Why is a price empty? A: The seller chose "contact for price". That happens on roughly one listing in seven. Setting a price range leaves those cars out.

Q: Can I search every make at once? A: Yes. Clear the make and model fields and the search covers all cars around your ZIP code.

Q: What happens if I misspell a model? A: The run stops before any listing is charged and shows the model names AutoTrader recognises for that make.

Q: Do I get private sellers' phone numbers? A: No. Dealer phone numbers are included. Private sellers' numbers are personal data, so that column stays empty for them.

Q: Does it cover AutoTrader UK or Canada? A: No. This actor covers autotrader.com in the United States.

Q: What formats can I export? A: JSON, CSV, Excel, XML and HTML, straight from the dataset.


🐛 Troubleshooting

The run stopped with "does not recognise the model"

  • Use the model name exactly as AutoTrader lists it. The error message shows the list.
  • Leave the model empty to get every model of the make.

Fewer results than I expected

  • Widen the radius or pick Nationwide.
  • Check the condition field. Used is the default, so new cars are not included unless you choose New.
  • A price range removes listings that show no price.

"Temporarily unavailable" for one page

  • Run the same input again in a few minutes. Listings already saved stay in your dataset and only those were charged.

The free run stopped at 25 listings

  • That is the free-plan limit per run. Any paid plan raises it to 1,000.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

AutoTrader is a trademark of its owner. This actor is an independent tool by SIÁN Agency and is not affiliated with or endorsed by AutoTrader.


🤝 Support

Questions or a search that does not work?


Built by SIÁN Agency | More Tools