Autotrader Scraper
Pricing
from $1.00 / 1,000 car listings
Autotrader Scraper
Collect Autotrader.com car listings by ZIP, search URL, or make and model filters. Export price, mileage, specs, dealer details, and listing URLs.
Pricing
from $1.00 / 1,000 car listings
Rating
0.0
(0)
Developer
Scraptivo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Autotrader Scraper collects car listings from Autotrader.com and turns them into structured data for inventory monitoring, price comparison, and dealership research. Provide a ZIP code, paste an Autotrader search URL, or set make and model filters, then export year, make, model, price, mileage, dealer, and listing URL to JSON, CSV, or Excel. Use it to compare used-car prices, watch local inventory, and schedule recurring collection. Pricing is $1.00 per 1,000 car listings.
What can you automate with Autotrader Scraper?
- Build local inventory databases — Search a ZIP and radius, then export price, mileage, trim, and dealer on every row.
- Compare asking prices — Filter by make, model, year, price, and mileage, then sort by price or newest listings.
- Watch dealership stock — Re-run the same ZIP and make list on a schedule and keep the first row for each
listingIdorvin. - Reuse a browser search — Paste an Autotrader search URL; individual fields override matching URL parameters when both are set.
- Schedule recurring collection — Run daily or weekly and push new listings into Sheets, a CRM, or an alert workflow.
Who is this scraper for?
| Team | Workflow |
|---|---|
| Used-car dealers and buyers | Compare nearby asking prices, mileage, and deal indicators for target makes. |
| Market researchers | Track listing mix (new, used, certified) and days on site in a metro area. |
| Lead-generation teams | Collect dealer names and listing URLs for outreach or inventory feeds. |
| Pricing analysts | Pair Autotrader price with KBB fair-purchase amounts when Autotrader publishes them. |
What data can you collect from Autotrader?
| Data group | Example fields | How it helps |
|---|---|---|
| Vehicle identity | listingId, vin, title, year, make, model, trim, url | Identify each listing and deduplicate across runs with listingId or vin. |
| Price and deal | price, kbbFppAmount, dealIndicator, daysOnSite | Compare asking price with Autotrader's published KBB range when present. |
| Specs | mileage, engine, transmission, driveType, fuelType, bodyStyle, mpgCity | Filter inventory by mechanical and body attributes. |
| Dealer | dealerName, dealerPhone, dealerCity, dealerState, distance | See who is selling and how far the listing is from the search ZIP. |
| Media | imageUrl, listingType | Preview the listing and distinguish NEW / USED / CERTIFIED. |
Autotrader returns at most about 330 listings per search query, regardless of maxItems or the site's total result count. Use narrower filters or multiple ZIP / make runs for more coverage. Some KBB and dealer fields are empty when Autotrader does not publish them.
How to use Autotrader Scraper
- Open the Autotrader Scraper on Apify.
- Enter a ZIP code such as
72076, or paste an Autotrader search URL from your browser. - Optionally set makes, price, year, mileage, and Max items (
0means all listings this search can return, up to Autotrader's per-search cap). - Run the Actor — it writes one dataset row per car listing.
- Export the dataset or connect it to your workflow.
{"zip": "72076","searchRadius": 50,"maxItems": 5,"sortBy": "relevance","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Example workflow
Compare used Toyota and BMW prices near a ZIP
- Schedule a weekly run with
zip="72076",searchRadius=50,makeCodes=["TOYOTA", "BMW"],listingTypes=["USED"], andsortBy="price_asc". - Keep rows inside your price and mileage band using
priceandmileage. - Use
dealIndicatorandkbbFppAmountwhen present to flag listings priced below the published KBB range. - Send new records to Google Sheets or a CRM through a webhook after each run.
- Deduplicate user-side against
listingId(orvinwhen you need vehicle-level uniqueness).
The Actor does not merge results across runs — those steps happen in your pipeline.
Automate and integrate your results
- Schedules — Run daily for fast-moving used inventory, or weekly for a market snapshot. Create a separate scheduled task per ZIP and make list.
- Webhooks — Push completed runs into Google Sheets, Make, Zapier, Slack, or a CRM.
- Exports and API — Download JSON, CSV, Excel, or HTML from the Apify Console, or start a run from the API:
curl -X POST "https://api.apify.com/v2/acts/scraptivo~autotrader-scraper/runs?token=YOUR-APIFY-TOKEN" \-H "Content-Type: application/json" \-d '{"zip": "72076","searchRadius": 50,"makeCodes": ["TOYOTA", "BMW"],"maxItems": 100}'
Deduplicate user-side with listingId.
Input reference
| Field | Type | Required | Default | What it controls |
|---|---|---|---|---|
searchUrl | string | No | — | Autotrader search URL. Query params merge with fields below; fields win on conflict. |
allListingType | string | No | all-cars | Listing category path (all-cars). |
zip | string | No | — | ZIP for location search. Required unless searchUrl already includes a zip. |
city | string | No | — | Optional city override. Usually resolved from ZIP. |
state | string | No | — | Optional state override, e.g. AR. |
dmaCode | string | No | — | Optional designated market area code. |
searchRadius | integer | No | 50 | Radius in miles (0–500). |
makeCodes | array | No | — | Makes such as BMW, TOYOTA, FORD. |
modelCodes | array | No | — | Models such as 3-Series, Camry. |
minPrice / maxPrice | integer | No | — | Price band in USD. |
maxMileage | integer | No | — | Maximum mileage. |
startYear / endYear | integer | No | — | Model-year band (1980–2030). |
listingTypes | array | No | — | NEW, USED, CERTIFIED, 3P_CERT. |
sellerTypes | array | No | — | d dealer, p private. |
transmissionCodes | array | No | — | AUT, MAN. |
driveGroups | array | No | — | AWD4WD, FWD, RWD. |
vehicleStyleCodes | array | No | — | CONVERT, COUPE, HATCH, SEDAN, SUVCROSS, TRUCKS, VANMV, WAGON. |
engineCodes | array | No | — | Cylinder codes such as 4CLDR, 6CLDR, 8CLDR. |
fuelTypeGroups | array | No | — | DSL, ELE, GSL, HYB, PIH. |
doorCodes | array | No | — | 2, 3, 4, 5. |
exteriorColors / interiorColors | array | No | — | Color names such as BLACK, WHITE. |
mpgRanges | array | No | — | 0, 10-MPG, 20-MPG, 30-MPG, 40-MPG. |
featureCodes | array | No | — | Feature codes copied from an Autotrader search URL. |
dealType | string | No | — | Deal filter such as greatprice. |
dateRange | string | No | — | Listing age from a search URL, e.g. last-7-days. |
vin | string | No | — | Filter to one VIN. |
listingId | string | No | — | Filter to one Autotrader listing ID. |
newSearch | boolean | No | true | Start a new Autotrader search session. |
sortBy | string | No | relevance | relevance, price_desc, price_asc, newest, mileage_asc, year_desc, year_asc. |
maxItems | integer | No | 0 | Cap listings; 0 means all available from this search (still capped near 330). |
proxyConfiguration | object | No | Residential | Apify proxy settings. |
Provide a searchUrl, a zip, or at least one makeCodes value.
Why does a run stop around 330 listings?
Autotrader returns at most about 330 listings per search query. Narrow the ZIP, radius, make, price, or year, or split the work across multiple runs.
Output example
{"listingId": 782603846,"vin": "5N1AZ2MG7JN124151","year": 2018,"title": "Used 2018 Nissan Murano Platinum","make": "Nissan","makeCode": "NISSAN","model": "Murano","modelCode": "MURANO","trim": "Platinum","price": 18875,"kbbFppAmount": 19470.0,"dealIndicator": "Great","mileage": "69,189","engine": "6-Cylinder","transmission": "Automatic","driveType": "FWD","fuelType": "Gasoline","exteriorColor": "Pearl White","bodyStyle": "Sport Utility","daysOnSite": 13,"dealerName": "McLarty Nissan of North Little Rock","dealerPhone": "5014877573","listingType": "USED","url": "https://www.autotrader.com/cars-for-sale/vehicle/782603846"}
How much does it cost to scrape Autotrader?
Billing is pay-per-event. A one-time Actor Start fee of $0.00005 applies per run. Each car listing is one apify-default-dataset-item event at $1.00 per 1,000 listings.
A 100-listing test costs about $0.10 plus Actor Start. A 1,000-listing run costs about $1.00 plus Actor Start. Apify plan discounts may reduce these prices. Platform compute and proxy usage are billed separately on your Apify plan.
Reliability and responsible use
- Proxy — Residential proxies are recommended and are the Console prefill.
- Search cap — About 330 listings per search query is an Autotrader limit, not an Actor setting.
- Conditional fields — KBB amounts, deal indicators, and some dealer fields are empty when Autotrader does not publish them.
- Public data — The Actor collects publicly visible listing information from Autotrader.com.
- Responsible use — Only use the data in ways that comply with Autotrader's terms of service and applicable law.
Frequently asked questions
Can I scrape Autotrader listings by ZIP and make?
Yes. Set zip and optional makeCodes, or paste a filtered Autotrader search URL in searchUrl. Individual fields override matching URL parameters when both are provided.
Can I schedule Autotrader Scraper to run automatically?
Yes. Open the Scheduler tab in Apify Console and set a daily or weekly cadence. Create separate schedules per ZIP and make list so each run stays under Autotrader's per-search cap.
What counts as one result?
One car listing written to the dataset is one billable result at $1.00 per 1,000 listings, plus Actor Start.
Why are some fields empty?
KBB fair-purchase amounts, deal indicators, and some dealer phone or city fields are omitted when Autotrader does not publish them on that listing.
How do I avoid duplicate records?
Within one run, listings are unique by listingId. Across runs the Actor appends results and does not merge them. When you combine datasets, keep the first row for each listingId (or vin for vehicle-level uniqueness).
Do I need a proxy?
Yes. Use Apify residential proxies. If a run returns unusually few listings or fails, confirm that proxyConfiguration uses the RESIDENTIAL group.
Can I collect more than 330 listings?
Not in a single search. Split the work by ZIP, radius, make, year, or price band and combine the datasets user-side.
Related Scraptivo automations
- Cars Scraper — collect vehicle listings from additional automotive marketplaces.
- AutoScout24 Scraper — cover European used-car inventory with the same workflow.
- Kleinanzeigen Scraper — add German classified vehicle and goods listings.
- Dubizzle UAE Scraper — collect UAE motors listings when you need Gulf coverage.
Support and custom workflows
Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, sample URL, required fields, and expected volume so we can assess the request.