Edmunds Used Cars Scraper - Listings, Prices & Deal Ratings avatar

Edmunds Used Cars Scraper - Listings, Prices & Deal Ratings

Pricing

from $4.52 / 1,000 results

Go to Apify Store
Edmunds Used Cars Scraper - Listings, Prices & Deal Ratings

Edmunds Used Cars Scraper - Listings, Prices & Deal Ratings

Scrape Edmunds used car listings: price, deal rating, mileage, VIN, specs, dealer and photo for any search URL or ZIP code. Export to CSV, JSON, Excel or XML.

Pricing

from $4.52 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

๐Ÿš— Edmunds Used Cars Scraper

๐Ÿš€ Export Edmunds used car listings in seconds. Paste any Edmunds search URL, set a ZIP code and a radius, and get every listing as a flat 56-field row: price, deal rating, market value, mileage, VIN, engine, MPG, accident history, dealer contact and the main photo. A five-listing verification run finished in 3.3 seconds.

Edmunds is one of the largest used car marketplaces in the United States. Its search results page embeds the full listing data that the site renders, and this Actor reads that data directly: no browser, no screenshots, no guessing from HTML. You get the same numbers a shopper sees on Edmunds, including the Edmunds deal rating (Great, Good, Fair) and the estimated market value behind it, in one table ready for CSV, JSON, Excel or XML.

The live coverage is large: the default search (used and certified pre-owned within 100 miles of Beverly Hills, CA) matched 220,381 listings at verification time, and Edmunds carries about 4.7 million VINs nationally. Each search URL yields up to 9,996 listings (476 pages of 21); narrow by make, model, ZIP code or radius to reach the rest.

๐ŸŽฏ Target Audience๐Ÿ’ก Primary Use Cases
Dealerships and dealer groupsWatch competitor prices, price drops and days on market for the models you stock
Used car buyers and brokersRank every listing within a radius by savings against Edmunds market value
Automotive analysts and lendersBuild price, mileage and age curves by make, model and region
Lead generation and marketing teamsCollect dealer names, addresses and phone numbers for the inventory they carry

๐Ÿ“‹ What the Edmunds Used Cars Scraper does

๐Ÿ’ก Why it matters: Edmunds shows 21 listings per page and hides most of the specs behind a click. Copying a few hundred cars by hand takes a day and misses the fields that matter for a decision, such as the market value estimate, the price drop and the accident count. This Actor collects all of them in one run and never bills for a row it did not deliver.

  • ๐Ÿ”— Any Edmunds search: paste a search results URL from edmunds.com with the filters you set on the site (make, model, year, price, body type, features, sort) or a make and model page such as https://www.edmunds.com/used-toyota-camry/. Pagination is automatic.
  • ๐Ÿ“ Your location, not the proxy's: Edmunds centres a search on the visitor's location. Set a ZIP code and a radius (10 to 500 miles) and the Actor sends them the way the site does, so the results are the ones a shopper in that ZIP code would see.
  • ๐Ÿ’ฐ Price intelligence: list price, advertised price, recent price drop, Edmunds market value estimate, deal rating, savings in dollars and percent, and the estimated monthly loan payment.
  • ๐Ÿ”ง Specs and history: VIN, stock number, trim, style, body type, mileage, colours, drivetrain, transmission, engine, horsepower, fuel type, EPA MPG, seats, accident count, owner count, usage type and clean title flag.
  • ๐Ÿข Dealer contact: dealer name, dealer group, street address, city, state, ZIP code, phone number, Edmunds sales rating and review count, and the distance from your ZIP code.
  • ๐Ÿ–ผ๏ธ Photos: the main listing photo URL and the photo count, plus the direct link to the listing on Edmunds.
  • ๐Ÿ” Clean data: one VIN per row (duplicates across pages are removed), the same 56 columns on every row, and Not Disclosed instead of blank cells when Edmunds does not carry a value for that car.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

A short walkthrough video is in production.

๐Ÿ“Š Output

Each row is one used car listing. Fields, in dataset order:

FieldDescription
๐Ÿ–ผ imageUrlMain listing photo (600 x 400)
๐Ÿš— titleYear, make, model and trim
๐Ÿ”— urlListing page on Edmunds
๐Ÿ”‘ vin / ๐Ÿ†” listingId / ๐Ÿท stockNumberIdentifiers
๐Ÿ“‹ listingTypeUsed or Certified Pre-Owned
๐Ÿญ make / ๐Ÿš˜ model / ๐Ÿ“… year / โœจ trim / ๐ŸŽจ styleName / ๐Ÿš™ bodyTypeVehicle identity
๐Ÿ’ฐ price / ๐Ÿ’ฑ currency / ๐Ÿท advertisedPrice / ๐Ÿ“‰ priceDropList price in USD, the dealer's advertised price and the latest change
๐Ÿ“Š marketValue / โญ dealRating / ๐Ÿ’ต savings / ๏ผ… savingsPercentEdmunds market value estimate, deal rating (Great, Good, Fair) and the savings against it
๐Ÿ—“ monthlyPaymentEstimated monthly loan payment shown by Edmunds
๐Ÿ›ฃ mileage / ๐ŸŽจ exteriorColor / ๐Ÿช‘ interiorColorOdometer and colours
โš™๏ธ drivetrain / ๐Ÿ”ง transmission / ๐Ÿ”ฉ engine / ๐ŸŽ horsepower / โ›ฝ fuelTypePowertrain
๐Ÿ™ mpgCity / ๐Ÿ›ค mpgHighway / ๐Ÿ”€ mpgCombined / ๐Ÿ’บ seatsEPA fuel economy and seating
๐Ÿ’ฅ accidents / ๐Ÿ‘ค owners / ๐Ÿงพ usageType / ๐Ÿ“„ cleanTitleVehicle history summary
๐Ÿข dealerName / ๐Ÿฌ dealerGroup / ๐Ÿ  dealerStreet / ๐ŸŒ† dealerCity / ๐Ÿ‡บ๐Ÿ‡ธ dealerState / ๐Ÿ“ฎ dealerZip / ๐Ÿ“ž dealerPhoneDealer contact
๐ŸŒŸ dealerRating / ๐Ÿ—ฃ dealerReviewCount / ๐Ÿ“ distanceMilesEdmunds sales rating, review count and distance from your ZIP code
โณ daysOnEdmunds / ๐Ÿ• listedAt / ๐Ÿ•‘ firstPublishedAtTime on market
๐Ÿ“ sellersComments / ๐Ÿ“ท photoCount / ๐Ÿงฉ featuresSeller text, photo count and the feature highlights Edmunds shows on the card
๐Ÿ•’ scrapedAtISO timestamp of the collection
โŒ errornull on success; error rows carry only this field and are never charged

Three real records from the verification run (default search URL, ZIP 90210, Max Items 5):

[
{
"imageUrl": "https://www.edmunds.com/assets/m2/for-sale/10-SLATV4C05MU207071/img-1-600x400.jpg",
"title": "2021 Rolls-Royce Cullinan Base",
"url": "https://www.edmunds.com/rolls-royce/cullinan/2021/vin/SLATV4C05MU207071/",
"vin": "SLATV4C05MU207071",
"listingId": "87f3627dedfc36a2e92a5bbc06d57c07",
"stockNumber": "MMU207071",
"listingType": "Used",
"make": "Rolls-Royce",
"model": "Cullinan",
"year": 2021,
"trim": "Base",
"styleName": "4dr SUV AWD (6.7L 12cyl Turbo 8A)",
"bodyType": "SUV",
"price": 250077,
"currency": "USD",
"advertisedPrice": 250077,
"priceDrop": -6000,
"marketValue": 331817,
"dealRating": "Great",
"savings": 81740,
"savingsPercent": 24.6,
"monthlyPayment": 4326.77,
"mileage": 15667,
"exteriorColor": "Gray",
"interiorColor": "Black leather",
"drivetrain": "all wheel drive",
"transmission": "Automatic",
"engine": "6.7L 12-cylinder gas",
"horsepower": 563,
"fuelType": "premium unleaded (required)",
"mpgCity": 12,
"mpgHighway": 20,
"mpgCombined": 14,
"seats": 5,
"accidents": 0,
"owners": 1,
"usageType": "Lease",
"cleanTitle": "Yes",
"dealerName": "Mercedes-Benz of Calabasas",
"dealerGroup": "Sonic Automotive",
"dealerStreet": "24181 Calabasas Rd",
"dealerCity": "Calabasas",
"dealerState": "CA",
"dealerZip": "91302",
"dealerPhone": "818-591-2377",
"dealerRating": 4.905,
"dealerReviewCount": 42,
"distanceMiles": 14.3,
"daysOnEdmunds": 6,
"listedAt": "2026-07-24T07:00:00.000Z",
"firstPublishedAt": "2026-09-02T01:47:22.000Z",
"sellersComments": "Only 15,667 Miles! Boasts 20 Highway MPG and 12 City MPG! Carfax One-Owner Vehicle. This Rolls-Royce Cullinan boasts a Twin Turbo Premium Unleaded V-1...",
"photoCount": 33,
"features": ["AWD/4WD", "Bluetooth", "Navigation", "Leather Seats", "Sunroof/Moonroof"],
"scrapedAt": "2026-09-08T04:55:50.065Z",
"error": null
},
{
"imageUrl": "https://www.edmunds.com/assets/m2/for-sale/40-JM1DKDC76K0414463/img-1-600x400.jpg",
"title": "2019 Mazda CX-3 Touring",
"url": "https://www.edmunds.com/mazda/cx-3/2019/vin/JM1DKDC76K0414463/",
"vin": "JM1DKDC76K0414463",
"listingId": "13af962ed186fbf329231d443aafa187",
"stockNumber": "K0414463B",
"listingType": "Used",
"make": "Mazda",
"model": "CX-3",
"year": 2019,
"trim": "Touring",
"styleName": "Touring 4dr SUV (2.0L 4cyl 6A)",
"bodyType": "SUV",
"price": 16685,
"currency": "USD",
"advertisedPrice": 16685,
"priceDrop": -300,
"marketValue": 21067,
"dealRating": "Great",
"savings": 4382,
"savingsPercent": 20.8,
"monthlyPayment": 288.68,
"mileage": 22225,
"exteriorColor": "Snowflake White Pearl Mica",
"interiorColor": "Black leatherette/cloth",
"drivetrain": "front wheel drive",
"transmission": "Automatic",
"engine": "2.0L 4-cylinder gas",
"horsepower": 148,
"fuelType": "regular unleaded",
"mpgCity": 29,
"mpgHighway": 34,
"mpgCombined": 31,
"seats": 5,
"accidents": 0,
"owners": 4,
"usageType": "Personal Use",
"cleanTitle": "Yes",
"dealerName": "California Motors Direct Montclair",
"dealerGroup": "LA Auto Exchange",
"dealerStreet": "10385 Central Ave",
"dealerCity": "Montclair",
"dealerState": "CA",
"dealerZip": "91763",
"dealerPhone": "909-895-4459",
"dealerRating": 3,
"dealerReviewCount": 2,
"distanceMiles": 41.5,
"daysOnEdmunds": 39,
"listedAt": "2026-07-27T07:00:00.000Z",
"firstPublishedAt": "2026-07-31T16:32:56.000Z",
"sellersComments": "Experience refined driving in this 2019 Mazda CX-3 Touring, featuring a premium BOSE 7-Speaker Audio Sound System and a Power Sliding-Glass Moonroof f...",
"photoCount": 23,
"features": ["Back-up camera", "Bluetooth", "Sunroof/Moonroof", "Keyless Entry/Start", "Blind Spot Monitoring"],
"scrapedAt": "2026-09-08T04:55:50.065Z",
"error": null
},
{
"imageUrl": "https://www.edmunds.com/assets/m2/for-sale/4e-W1Y4KBHY4ST196362/img-1-600x400.jpg",
"title": "2025 Mercedes-Benz Sprinter 2500 144\" WB Cargo",
"url": "https://www.edmunds.com/mercedes-benz/sprinter/2025/vin/W1Y4KBHY4ST196362/",
"vin": "W1Y4KBHY4ST196362",
"listingId": "7450e127f0e95c781b95b75dd51c25eb",
"stockNumber": "4L1027",
"listingType": "Used",
"make": "Mercedes-Benz",
"model": "Sprinter",
"year": 2025,
"trim": "2500 144\" WB Cargo",
"styleName": "2500 144\" WB Cargo 3dr Van (2.0L 4cyl Turbodiesel 9A)",
"bodyType": "Full Size Van",
"price": 42995,
"currency": "USD",
"advertisedPrice": 42995,
"priceDrop": -500,
"marketValue": 62057,
"dealRating": "Great",
"savings": 19062,
"savingsPercent": 30.7,
"monthlyPayment": 743.89,
"mileage": 21600,
"exteriorColor": "Arctic White",
"interiorColor": "Maturin Black cloth",
"drivetrain": "rear wheel drive",
"transmission": "Automatic",
"engine": "2.0L 4-cylinder diesel",
"horsepower": 170,
"fuelType": "diesel",
"mpgCity": "Not Disclosed",
"mpgHighway": "Not Disclosed",
"mpgCombined": "Not Disclosed",
"seats": 2,
"accidents": 0,
"owners": 1,
"usageType": "Personal Use",
"cleanTitle": "Yes",
"dealerName": "Mercedes-Benz of Valencia",
"dealerGroup": "Trophy Automotive Group",
"dealerStreet": "23355 Valencia Blvd",
"dealerCity": "Valencia",
"dealerState": "CA",
"dealerZip": "91355",
"dealerPhone": "661-724-4385",
"dealerRating": "Not Disclosed",
"dealerReviewCount": "Not Disclosed",
"distanceMiles": 23.8,
"daysOnEdmunds": 46,
"listedAt": "2026-07-23T07:00:00.000Z",
"firstPublishedAt": "2026-07-24T09:39:43.000Z",
"sellersComments": "Acoustic Package, Active Distance Assist DISTRONICยฎ, Active Lane Keeping Assist, Blind Spot Assist, Cargo Protection Package, Digital Rearview Mirror,...",
"photoCount": 30,
"features": ["Back-up camera", "Bluetooth", "Tire Pressure Warning", "USB Inputs", "Stability Control"],
"scrapedAt": "2026-09-08T04:55:50.065Z",
"error": null
}
]

โœจ Why choose this Actor

What you get
Edmunds' own numbersThe deal rating, market value estimate, savings and monthly payment come from the data Edmunds renders, not from a formula of ours.
Location that worksEdmunds ignores a zip parameter in the URL and centres on the visitor's IP. This Actor sends the location the way the site does, so ZIP 90210 really returns Los Angeles cars and ZIP 10001 returns New York cars.
56 columns, one shapeEvery row has the same keys in the same order, so CSV imports, joins and Excel filters behave.
No blanks, no nullsA value Edmunds does not carry for a car is Not Disclosed, never an empty cell.
Honest ceilingsThe Actor reports how many listings match the search and how many pages Edmunds serves, and stops at that page instead of looping.
Fast and cheapHTTP only, 1 GB of memory, about 21 listings per second per search. No browser to warm up.

๐Ÿ“ˆ How it compares to alternatives

Other Edmunds actors on the Store take a URL and return a handful of card fields, or rely on a headless browser that costs several times more per run. The public surface has one hard limit for everyone, and this Actor states it.

FeatureThis ActorTypical Edmunds scrapersBy hand
Fields per listing5610 to 25Whatever you copy
Market value, deal rating, savingsYesRarelyVisible one car at a time
ZIP code and radius that Edmunds honoursYes, via the site's own location mechanismOften ignored (results follow the proxy IP)Yes
Accident count, owners, usage type, clean titleYesRarelyBehind a click
Dealer phone, address, rating, distanceYesPartlyBehind a click
Listings per search URLUp to 9,996 (476 pages), 630 on make and model pagesSame public limit21 per page
Duplicate VINs across pagesRemovedVariesManual
Memory and speed1 GB, about 3 s for the first page2 to 4 GB with a browserHours

๐Ÿš€ How to use

  1. Create a free Apify account with $5 in credit.
  2. Open the Edmunds Used Cars Scraper.
  3. Paste one or more Edmunds search URLs (or keep the default used and certified search), set the ZIP code and radius, choose Max Items and click Start.
  4. Download the dataset as CSV, Excel, JSON or XML from the Storage tab, or read it through the API.

A first run:

{
"startUrls": [{ "url": "https://www.edmunds.com/inventory/srp.html?inventorytype=used%2Ccpo&radius=100" }],
"maxItems": 10,
"zipCode": "90210",
"radius": "url"
}

To scrape a specific model, build the search on edmunds.com and paste its URL, for example https://www.edmunds.com/inventory/srp.html?inventorytype=used%2Ccpo&make=toyota&model=toyota%7Ccamry, or use the model page https://www.edmunds.com/used-toyota-camry/.

Free-plan runs return up to 10 listings as a preview. Upgrade your Apify plan to collect up to 1,000,000 listings per run.

๐Ÿ’ผ Business use cases

๐Ÿท๏ธ Competitive prices for dealerships. A dealer group runs the Actor every morning for the ten models it stocks within 50 miles, sorts by savingsPercent and priceDrop, and re-prices the cars that have slipped below the market.

๐Ÿ“‰ Days-on-market analysis. An inventory manager tracks daysOnEdmunds and priceDrop for a make and model across several ZIP codes to learn how long comparable cars sit before their price moves.

๐Ÿ“ž Dealer lead lists. A marketing team scrapes certified pre-owned inventory for a brand in a state, groups by dealerName, dealerPhone and dealerGroup, and builds a list of dealers carrying the models its product targets.

๐Ÿ’ณ Lending and residual value. An auto lender collects price, mileage, year and marketValue for thousands of listings to fit depreciation curves by segment and check its own valuations.

๐Ÿ”Œ Automating Edmunds Used Cars Scraper

  • Make and Zapier: run the Actor on a schedule and append new listings to Google Sheets or Airtable.
  • Slack: post a message when a run returns a listing with dealRating: Great and a priceDrop below zero for a model you watch.
  • Airbyte: sync the dataset into BigQuery, Snowflake or Postgres for price dashboards.
  • GitHub Actions: refresh a market snapshot every night and commit the CSV.
  • Google Drive: save each run as an Excel file in a shared folder.

Every integration starts from the Apify API or the ApifyClient for JavaScript and Python.

๐ŸŒŸ Beyond business use cases

  • Research: collect listings for the same model across ten metro areas to study regional price differences.
  • Personal: watch the cars that match your next purchase within 25 miles and get notified when one drops in price.
  • Non-profit: a community credit union checks whether the cars its members are quoted sit above the Edmunds market value.
  • Experimentation: feed sellersComments and features into an LLM to prototype a listing quality score.

๐Ÿค– Ask an AI assistant about this scraper

Give an AI agent live access to Edmunds listings through the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/edmunds-used-cars-scraper"

Then ask in plain language, for example "Find certified Toyota Camrys within 25 miles of 10001 with a Great deal rating and sort them by savings".

โ“ Frequently Asked Questions

๐Ÿ”— Which Edmunds URLs can I paste?

Any inventory search results URL (https://www.edmunds.com/inventory/srp.html?...) with the filters you set on the site, and any make and model page such as https://www.edmunds.com/used-honda-civic/. Editorial pages such as https://www.edmunds.com/used-cars/ carry no inventory and produce an error row.

๐Ÿ“ Why does the ZIP code matter?

Edmunds centres every search on the visitor's location and ignores a zip parameter in the URL. The Actor sends the ZIP code through the same mechanism the site uses, so the listings, distances and dealer set are the ones a shopper in that ZIP code would see. Leave it empty and the results follow the location of the proxy IP.

๐Ÿ“ Which radius values work?

10, 25, 50, 75, 100, 200 and 500 miles, exactly the options Edmunds offers. "Keep the URL setting" leaves the radius in your URL untouched (Edmunds defaults to 100 miles).

Edmunds serves 21 listings per page and at most 476 pages for a search results URL, so up to 9,996 listings per URL. Make and model pages stop at 30 pages (630 listings). Use several URLs or narrower filters (make, model, ZIP code, radius) to go beyond that; the run log prints the total that matched and the page ceiling.

๐Ÿ”‘ Do I need an API key or an Edmunds account?

No. Everything comes from the public search results pages.

๐Ÿ›ก๏ธ Do I need a proxy?

Yes. Edmunds is protected by Akamai and blocks datacenter IPs, so the Actor uses Apify residential proxies in the United States by default. Keep the default unless you have your own residential proxy.

โญ What is dealRating?

Edmunds' own label (Great, Good, Fair, and so on) comparing the list price with its market value estimate for that car in that area. marketValue, savings and savingsPercent are the numbers behind that label as Edmunds shows them.

๐Ÿ–ผ๏ธ Why is imageUrl sometimes Not Disclosed?

Some listings have no dealer photos. When Edmunds shows a stock image instead, the Actor reports Not Disclosed and photoCount: 0 rather than a placeholder.

โš ๏ธ What do Not Disclosed values mean?

Edmunds does not carry that value for that car: for example MPG on commercial vans, a dealer rating for dealers without reviews, or the owner count when the history report is missing. The column is still present so every row has the same shape.

๐Ÿ” Can the same car appear twice?

No. Listings are de-duplicated on VIN across all pages and all start URLs in a run.

โฐ Can I run this on a schedule?

Yes. Use the Apify scheduler to run it hourly, daily or weekly, and add a webhook or an integration to push new rows downstream.

๐Ÿ“„ What output formats are supported?

JSON, CSV, Excel, XML, HTML table and RSS, from the Storage tab or through the API.

โŒ What happens when Edmunds blocks a request?

The Actor retries up to four times, switching to a fresh proxy session each time. If a page still does not answer, it writes one error row with the URL and continues; error rows are never charged.

๐Ÿ”Œ Integrate with any app

The dataset is available through the Apify API the moment the run finishes. Use the run-sync-get-dataset-items endpoint for one-shot calls, webhooks to trigger downstream jobs, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.


๐Ÿ’ก Pro Tip: browse the complete ParseForge collection.

๐Ÿ†˜ Need Help? Open our contact form with your run ID, your input and what you expected.

โš ๏ธ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Edmunds.com, Inc. It collects only publicly available data. You are responsible for using the data in compliance with Edmunds' terms of use and applicable data-protection laws.