Edmunds Car Scraper 🚗
Pricing
Pay per usage
Edmunds Car Scraper 🚗
Scrape Edmunds car listings, prices, vehicle specs, features, mileage, dealer details, ratings, and used & new car data. Extract structured automotive market data for price tracking, vehicle research, lead generation, analysis, and comparison.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does Edmunds Car Scraper do?
Edmunds Car Scraper collects public new and used vehicle inventory from Edmunds.com and saves it as structured records in an Apify dataset. Use a direct Edmunds inventory URL or enter filters such as make, model, model year, ZIP code, radius, inventory type, and price range.
Each result can include VIN, vehicle specifications, pricing, mileage, colors, fuel economy, dealer contact information, photos, incentives, delivery information, and other listing attributes published by Edmunds. The dataset is useful for automotive market research, dealer inventory monitoring, price comparisons, valuation work, lead research, and recurring inventory snapshots.
Why use Edmunds Car Scraper?
- Search the inventory you need - Use an existing Edmunds search URL or build a search from the available vehicle and location filters.
- Keep rich listing data - Records include normalized vehicle fields together with the source listing information, so important details are not lost during export.
- Collect unique vehicles - VIN-based deduplication prevents the same vehicle from being saved more than once across pages.
- Control run size - Set
results_wantedfor the number of records andmax_pagesas a safety limit for pagination. - Monitor prices and supply - Run the same search on a schedule and compare inventory, advertised prices, mileage, dealers, and listing dates over time.
- Use the output anywhere - Download JSON, CSV, Excel, or XML, access the dataset through the Apify API, or connect it to webhooks and automation tools.
What data can you extract from Edmunds?
The actor saves the complete non-empty listing object available in the Edmunds inventory results and adds stable top-level aliases for common workflows. Optional values are omitted when the source does not publish them.
Output Data
Each dataset item represents one unique Edmunds vehicle listing. The normalized fields below are accompanied by the original nested listing objects when they are available.
Vehicle and pricing fields
| Field | Type | Description |
|---|---|---|
vin | String | Vehicle Identification Number when published. |
vid | String | Edmunds vehicle listing identifier. |
year | Number | Model year. |
make | String | Vehicle manufacturer. |
model | String | Vehicle model. |
trim | String | Trim or style name. |
title | String | Combined year, make, model, and trim. |
type | String | Inventory classification such as new, used, or CPO. |
price | Number | Advertised vehicle price in USD. |
msrp | Number | Dealer or manufacturer MSRP when available. |
mileage | Number | Odometer reading. |
stockNumber | String | Dealer stock number. |
certified | Boolean | Certified status when published. |
inTransit | Boolean | Whether the vehicle is marked as in transit. |
listedSince | Number | Edmunds listing timestamp when available. |
firstPublishedDate | Number | First publication timestamp when available. |
Vehicle specifications and photos
| Field | Type | Description |
|---|---|---|
engine | String | Engine description or derived engine label. |
transmission | String | Transmission type. |
drivetrain | String | Drivetrain such as FWD, AWD, RWD, or 4WD. |
fuelType | String | Fuel or powertrain type. |
exteriorColor | String | Exterior color. |
interiorColor | String | Interior color. |
bodyStyle | String | Body style or vehicle type. |
mpgCity | Number | EPA city MPG when available. |
mpgHighway | Number | EPA highway MPG when available. |
doors | Number | Number of doors. |
images | Array | Vehicle photo URLs available or derived from the listing photo data. |
derivedGenericFeatures | Array | Highlighted equipment and feature labels from the listing. |
vehicleInfo | Object | Original nested vehicle specifications, style, mileage, and photo data. |
Dealer, offer, and run metadata
| Field | Type | Description |
|---|---|---|
dealerName | String | Dealer name. |
dealerAddress | String | Formatted dealer street, city, state, and ZIP address. |
dealerPhone | String | Dealer phone number when published. |
dealerRating | Number | Dealer rating when available. |
dealerInfo | Object | Original dealer identity, address, franchise, rooftop, distance, phone, and retail fields. |
prices | Object | Original advertised, display, MSRP, savings, compliance, and payment fields. |
incentives | Object | Incentive and eligibility information. |
deliveryOptions | Object | Delivery availability or fee information. |
computedInfo | Object | Edmunds calculated savings and related values. |
computedDisplayInfo | Object | Display, phone, price validation, and listing-age values. |
url | String | Vehicle detail URL when published or an Edmunds VIN URL. |
sourcePage | String | Inventory search page used to collect the listing. |
scrapedAt | String | ISO timestamp for the collection time. |
How to use Edmunds Car Scraper
- Open the Actor in Apify Console.
- Paste a public Edmunds inventory search URL, or enter the filters you want to use.
- Set
results_wantedand, for larger searches,max_pages. - Run the Actor and inspect the dataset preview.
- Download the results or connect the dataset to your database, spreadsheet, webhook, or application.
For cloud runs and larger collections, an Apify residential proxy configuration is recommended because Edmunds applies strong access controls. Start with a small result limit before scheduling repeated or high-volume runs.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | Empty | Public Edmunds inventory URL. When provided, it takes priority over filter inputs. |
make | String | No | Empty | Manufacturer filter, such as Toyota or Honda. |
model | String | No | Empty | Model filter, such as Camry or F-150. |
year | Integer | No | Empty | Model year filter. |
zipCode | String | No | Empty | ZIP code for a location-based search. |
radius | Integer | No | 50 | Search radius in miles when zipCode is used. |
inventoryType | String | No | new | Inventory type. Supported values are new and used. |
minPrice | Integer | No | Empty | Minimum price in USD. |
maxPrice | Integer | No | Empty | Maximum price in USD. |
| results_wanted | Integer | No | 20 | Maximum number of unique vehicle records to save. |
| max_pages | Integer | No | 10 | Maximum number of inventory pages to process. |
| proxyConfiguration | Object | No | Residential on cloud | Apify Proxy settings. Residential access is recommended for dependable Edmunds collection. |
Usage Examples
Basic new-vehicle search
Collect new Toyota Camry inventory near Los Angeles:
{"make": "Toyota","model": "Camry","inventoryType": "new","zipCode": "90001","radius": 50,"results_wanted": 20}
Used-car price research
Collect used vehicles in a local price range and allow several pages for broader coverage:
{"inventoryType": "used","zipCode": "10001","radius": 75,"minPrice": 15000,"maxPrice": 30000,"results_wanted": 100,"max_pages": 10}
Reuse a filtered Edmunds URL
Pass a search URL when Edmunds already contains the exact filters you need. A starting pagenumber is respected:
{"startUrl": "https://www.edmunds.com/inventory/srp.html?inventorytype=used&make=honda&model=accord&pagenumber=2","results_wanted": 50,"max_pages": 5}
Sample Output
This representative item shows the normalized fields returned alongside the source listing data. The nested objects can contain additional values, and fields not published for a particular vehicle are omitted.
{"vin": "3C63R3JL5VG391640","vid": "d40bfaa533e7f781e9da354e90ebd737","year": 2027,"make": "Ram","model": "3500","trim": "Laramie","title": "2027 Ram 3500 Laramie","type": "NEW","price": 90645,"msrp": 90645,"mileage": 2,"stockNumber": "R16532","engine": "6.7L 6-cylinder","drivetrain": "4WD","dealerName": "MJ McGuire Chrysler Dodge Jeep Ram","dealerAddress": "520 3rd Ave SW, Rugby, North Dakota, 58368","dealerPhone": "701-490-9732","images": ["https://www.edmunds.com/assets/m2/for-sale/d0-3C63R3JL5VG391640/img-1-600x400.jpg"],"vehicleInfo": {"mileage": 2,"styleInfo": {"make": "Ram","model": "3500","trim": "Laramie","year": 2027}},"prices": {"advertisedPrice": 90645,"displayPrice": 90645,"dealerMsrp": 90645,"savings": 0},"url": "https://www.edmunds.com/inventory/vin/3C63R3JL5VG391640/","sourcePage": "https://www.edmunds.com/inventory/srp.html?inventorytype=new&radius=50","scrapedAt": "2026-08-29T11:01:16.219Z"}
Tips for Best Results
- Start with 20 records - Use the schema prefill to confirm that the search and output match your needs.
- Use a direct search URL for advanced filters - Edmunds search URLs preserve filters that are not represented as separate Actor inputs.
- Use focused searches - Combining make, model, year, ZIP code, and price limits usually produces a more useful dataset.
- Set a page cap -
max_pagesprevents an unexpectedly broad search from running longer than intended. - Use residential access for cloud runs - It is the most dependable choice for repeated or larger Edmunds collections.
- Expect optional fields - VINs, photos, dealer phones, ratings, fuel economy, incentives, and payment values are not present for every vehicle.
- Compare repeat runs carefully - Inventory changes quickly, so use VIN as the stable vehicle key and treat price and availability as time-sensitive values.
Integrations and Export Formats
- Google Sheets - Review inventory, prices, dealers, and regional comparisons.
- Airtable - Build a searchable vehicle and dealer database.
- Webhooks - Send completed run notifications or records to another service.
- Make or Zapier - Trigger price alerts, reports, and downstream workflows.
- Apify API - Read datasets programmatically from an application or data pipeline.
- JSON - Use nested vehicle records in software and data workflows.
- CSV - Analyze normalized fields in spreadsheet applications.
- Excel - Share inventory and pricing reports.
- XML - Exchange records with systems that require XML.
Frequently Asked Questions
Can I search by make, model, year, or ZIP code?
Yes. Provide any combination of the filter inputs, or use startUrl when you already have a configured Edmunds inventory search.
Can I collect both new and used vehicles?
Yes. Set inventoryType to new or used, or provide a direct URL whose inventory type is already configured.
Can I collect multiple pages?
Yes. The actor follows the Edmunds pagenumber pagination parameter, removes duplicate vehicles across pages, and stops at results_wanted, max_pages, or the last available page.
Why are some vehicle fields missing?
Edmunds does not publish the same fields for every listing. Missing prices, phones, ratings, MPG values, photos, incentives, or specifications usually reflect the individual listing.
How are duplicate vehicles handled?
Records are deduplicated primarily by VIN, with Edmunds vehicle identifiers and a conservative fallback key used when a VIN is not available.
Can I export the dataset to CSV or Excel?
Yes. Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats after the run completes.
Can I schedule recurring inventory checks?
Yes. Create an Apify schedule with the same URL or filters to refresh pricing and inventory snapshots hourly, daily, weekly, or on another schedule.
Is it legal to collect Edmunds inventory data?
You are responsible for complying with Edmunds terms, applicable privacy and data-use laws, and any other rules that apply to your project. Collect public information responsibly and respect access limits.
Related Actors
- Cars.com Scraper - Collect vehicle listings, pricing, mileage, VINs, dealer details, locations, and images from Cars.com.
- Autotrader.ca Scraper - Collect Canadian vehicle listings with specifications, prices, mileage, seller information, and photos from Autotrader Canada.
Support
For issues, field requests, or feature suggestions, use the Issues tab on the Actor page in Apify Console. Include the public Edmunds search URL, the input values used, and a short description of the unexpected result. Do not include proxy credentials or private account information.
Legal Notice
This Actor is intended for legitimate collection and analysis of publicly available vehicle inventory information. Users are responsible for using the data responsibly and complying with Edmunds terms, Apify policies, applicable privacy requirements, and other relevant laws.