Copart Scraper — Salvage Auction Lots, Bids & VINs avatar

Copart Scraper — Salvage Auction Lots, Bids & VINs

Pricing

from $9.90 / 1,000 lots

Go to Apify Store
Copart Scraper — Salvage Auction Lots, Bids & VINs

Copart Scraper — Salvage Auction Lots, Bids & VINs

Scrape Copart US and Canada salvage auctions. Extract lot number, VIN, current bid, Buy It Now, damage, title brand, odometer, yard GPS, and photos. Search by URL or make/model filters; monitor bid changes.

Pricing

from $9.90 / 1,000 lots

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Disclaimer: This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by Copart, Inc. or any of its subsidiaries.

Copart and related names are trademarks of their respective owners. Data is read from publicly accessible auction search and lot pages. No Copart member login is required.

This Actor is provided for informational, research, and price monitoring purposes only. You are solely responsible for complying with applicable laws, Copart's terms of use, and your organization's policies.

Copart scraper / Copart auction scraper for US and Canadian salvage and clean-title vehicle auctions. Scrape Copart search results and individual lots into JSON/CSV via Apify — lot number, VIN, current bid, Buy It Now, damage, title brand, odometer, yard GPS, and photos. Search by a copied Copart URL or by make/model/year/state filters. Optional monitor mode emits only new lots and bid/status changes. Fast HTTP path (no headless browser) with residential proxy. Use as a Copart API alternative from Python, Node.js, cURL, or MCP / AI assistants.

Masked VIN is still usable. Copart hides the production serial for anonymous visitors (4T1G11AK8PU******). Keep decodeVin on (default): the first 11 characters go to NHTSA vPIC and you get manufacturer, make, model year, plant country/city, and body class — no member login. isVinMasked is true when the serial is starred. The full 17-character VIN is member-only.

Crawloop US Salvage Suite — salvage auctions and used-parts comps.

CopartIAAICar-Part
Copart Scraper ◄── you are hereIAAI ScraperCar-Part Scraper

Who this is for

WhoJobPaste this
Salvage buyer / dealerMorning Run-and-Drive sweep in one statemake + year band + state + runAndDriveOnly + decodeVin
Parts yardYear / make / model plus plant and body from a masked VINKeyword or Start URL + decodeVin
Insurance / compsRetail, repair cost, sale date, VIN prefixsearchQuery + scrapeDetails
Auction deskNew lots and bid / Buy It Now movesmonitorMode on a schedule

When to use this Actor

  • Salvage inventory sourcing — Sweep Toyota / Ford / Tesla lots by state, year, Run and Drive, or Buy It Now.
  • Live bid tracking — Schedule the Actor and turn on monitorMode to keep only new lots and bid/status changes.
  • Exact browser-filter replication — Apply filters on Copart, copy the lotSearchResults URL, paste into Start URLs.
  • Yard / shipping planning — Yard name, city, state, ZIP, latitude, and longitude on each row.
  • Parts and rebuild research — Primary/secondary damage, title brand, keys, odometer brand, engine and drivetrain.

When not to use this Actor

  • Member-only fields — Full 17-character VIN serial, bid history for logged-in buyers, and broker tools are not on the public site.
  • UK / DE / ES / MEA Copart sites — This Actor covers the United States and Canada. EU retail cars: AutoScout24 Scraper or Mobile.de Scraper.
  • Account features — No login, watch lists, or bidding.

Key features

  • US + Canadacopart.com and copart.ca from Start URLs or the site filter.
  • URL + filter modes — Paste search / lot URLs, or build a search from keyword, make, model, year, state, damage, Buy It Now, and Run and Drive.
  • Direct lot lookup — Pass lotNumbers when you already have Copart lot IDs.
  • Search cards or full detailsscrapeDetails enriches live bid state, title, seller, and specs; includePhotos adds the gallery.
  • Monitor mode — Key-Value store baseline; later runs emit only new lots or bid / Buy It Now / sale-status changes, with early-stop on known lots.
  • VIN decode — NHTSA vPIC on the public prefix (works when the serial is masked). Adds manufacturer, make/model/year, plant country, body class. Cached per prefix. Toggle decodeVin.
  • Lightweight HTTPcurl_cffi Chrome TLS impersonation; 128–512 MB RAM; no Playwright.

Input

ParameterTypeDefaultDescription
startUrlsArray[]Search or lot URLs from copart.com / copart.ca.
searchQueryStringKeyword, e.g. toyota camry. Used when Start URLs are empty.
siteStringUSUS or CA for filter-based runs.
make / modelStringFacet filters (TOYOTA / CAMRY).
yearFrom / yearToIntegerModel year range.
stateStringYard state/province (CA, TX, ON).
damageStringPrimary damage (FRONT END, HAIL, FLOOD).
buyItNowOnly / runAndDriveOnlyBooleanfalseFacet shortcuts.
lotNumbersArrayDirect lot IDs.
maxItemsInteger50Cap per run (site search often caps ~1,000 hits).
scrapeDetailsBooleantrueFetch lot-detail JSON.
includePhotosBooleanfalseFull gallery URL lists. Thumbnail always included.
decodeVinBooleantrueNHTSA vPIC decode of the public VIN prefix (works when masked).
monitorModeBooleanfalseEmit only new lots and bid/status changes after a seed run.
maxConcurrencyInteger8Parallel detail fetches.
proxyConfigurationObjectUS residentialApify RESIDENTIAL recommended.

Example input

{
"searchQuery": "toyota camry",
"site": "US",
"yearFrom": 2018,
"yearTo": 2024,
"state": "TX",
"runAndDriveOnly": true,
"maxItems": 50,
"scrapeDetails": true,
"includePhotos": false,
"decodeVin": true,
"monitorMode": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Start-URL mode (filters on the page are kept):

{
"startUrls": [
{ "url": "https://www.copart.com/lotSearchResults/?free=true&query=toyota%20camry" }
],
"maxItems": 100,
"scrapeDetails": true,
"decodeVin": true
}

Ready-to-run recipes

Direct lot lookup:

{
"lotNumbers": ["27059380", "87654321"],
"scrapeDetails": true,
"decodeVin": true,
"includePhotos": false
}

Run and Drive + VIN decode (Texas Camry):

{
"make": "TOYOTA",
"model": "CAMRY",
"yearFrom": 2018,
"yearTo": 2024,
"state": "TX",
"runAndDriveOnly": true,
"maxItems": 40,
"decodeVin": true
}

Bid monitor (seed once, then schedule):

{
"searchQuery": "toyota camry",
"site": "US",
"maxItems": 100,
"monitorMode": true,
"decodeVin": true
}

Output

Each dataset row is one Copart lot.

FieldTypeDescription
id / lotNumber / urlStringLot identifier and canonical page.
title / year / make / model / trimMixedVehicle identity.
vinStringPublic VIN (serial may be masked).
isVinMaskedBooleanTrue when the VIN is incomplete or starred.
vinManufacturer / vinMake / vinModel / vinModelYearMixedNHTSA vPIC decode (decodeVin).
vinPlantCountry / vinPlantCity / vinBodyClassStringAssembly plant and body class from vPIC.
odometer / odometerBrand / odometerUnitMixedReading, ACTUAL/NOT ACTUAL, MI or KM.
engine / cylinders / fuelType / transmission / driveTypeMixedMechanical specs.
primaryDamage / secondaryDamageStringDamage codes.
titleDescription / titleGroup / titleStateStringTitle brand.
hasKeys / runsAndDrivesBooleanCondition flags.
currentBid / buyItNowPrice / buyItNowMixedLive auction pricing.
estimatedRetailValue / estimatedRepairCostIntegerCopart valuations when published.
saleStatus / saleDate / saleTimeZoneMixedAuction timing.
locationObjectYard name, city, state, ZIP, lat/lng.
thumbnailUrl / imagesMixedPreview always; gallery when includePhotos.
changeTypeStringMonitor mode: new or bid_change.
scrapedAtStringISO timestamp.
{
"id": "27059380",
"lotNumber": "27059380",
"url": "https://www.copart.com/lot/27059380/2018-dodge-challenger-mi-detroit",
"title": "2018 DODGE CHALLENGER GT",
"year": 2018,
"make": "DODGE",
"model": "CHALLENGER",
"vin": "2C3CDZGGXJH289026",
"isVinMasked": false,
"vinMake": "DODGE",
"vinPlantCountry": "CANADA",
"odometer": 15317,
"odometerBrand": "ACTUAL",
"odometerUnit": "MI",
"primaryDamage": "MINOR DENT/SCRATCHES",
"currentBid": 225,
"buyItNowPrice": null,
"estimatedRetailValue": 24998,
"currency": "USD",
"saleStatus": "Pure Sale",
"location": {
"name": "MI - DETROIT",
"city": "DETROIT",
"state": "MI",
"country": "USA",
"latitude": 42.3314,
"longitude": -83.0458
},
"thumbnailUrl": "https://cs.copart.com/v1/AUTH_svc.pdoc00001/PIX240/example.JPG",
"site": "US"
}

Use cases

Use caseWhat you get
Salvage buying deskBids, Buy It Now, damage, Run and Drive, title brand
Parts yard sourcingMake/model/year + yard GPS + keys / drivetrain
Insurance compsEstimated retail, repair cost, sale date, VIN prefix
Scheduled watchMonitor mode for new lots and bid moves
AI / MCP pipelinesStructured JSON for assistants and BI tools

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/copart-scraper').call({
searchQuery: 'toyota camry',
site: 'US',
yearFrom: 2018,
maxItems: 50,
scrapeDetails: true,
proxyConfiguration: {
useApifyProxy: true,
apifyProxyGroups: ['RESIDENTIAL'],
apifyProxyCountry: 'US',
},
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/copart-scraper").call(
run_input={
"searchQuery": "toyota camry",
"site": "US",
"state": "TX",
"runAndDriveOnly": True,
"maxItems": 50,
"scrapeDetails": True,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US",
},
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~copart-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQuery": "tesla",
"site": "US",
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/copart-scraper.

Example prompts:

  • "Run Copart Scraper for Toyota Camry 2018–2024 in Texas with runAndDriveOnly and maxItems 40; return lot number, VIN, current bid, damage, and yard as JSON"
  • "Scrape Copart Buy It Now Tesla lots in California and summarize median current bid by model year"
  • "Chain Copart Scraper then IAAI Scraper for the same Toyota Camry year band and compare current bid vs Buy Now"
  • "Chain Copart Scraper then Car-Part Scraper to compare recycler asking prices for the engine and transmission of a lot's year/make/model"

Suite next step

After Copart lots, run IAAI Scraper for the other US salvage auction. Then Car-Part Scraper to compare recycler asking prices for the same year / make / model parts.

Troubleshooting

SymptomWhat to do
HTTP 403, challenge page, or zero lotsUse Apify RESIDENTIAL proxy. US for copart.com, CA for copart.ca. Datacenter IPs usually fail.
VIN looks like 4T1G11AK8PU******Expected without a buyer login. Leave decodeVin on — make, year, plant, and body class still fill. isVinMasked will be true. The production serial is member-only.
Run stops around 1,000 lotsCopart caps a single public search. Split by make, year band, or state and run again.
Bids look stale / missing sellerKeep scrapeDetails on. Search cards omit live bid state and seller.

FAQ

Is this a Copart API?
There is no public read API for auction search. This Actor is a Copart API alternative that returns structured dataset items you can call from Python, Node.js, or MCP.

Can I scrape Copart with Python or Node.js?
Yes. Use the Apify client examples above, or call the Actor from an AI assistant via Apify MCP. Export the dataset as JSON or CSV.

Does this cover Copart Canada as well as the US?
Yes. Set site to CA or paste a Copart Canada search/lot URL. UK/DE/ES storefronts are out of scope.

Why do I need a residential proxy?
Copart uses bot protection (Akamai / similar). Datacenter IPs often get HTTP 403. Use US residential for the US marketplace and CA residential for Canada.

Why is part of the VIN masked?
Copart only shows the full 17-character VIN to logged-in members. Public search still returns the world manufacturer identifier and vehicle descriptor. With decodeVin on (default), the Actor sends that prefix to NHTSA vPIC and fills manufacturer, make, model year, plant country, and body class. The production serial may appear as asterisks; isVinMasked is true on those rows.

How many lots can one search return?
Copart typically caps a single public search around 1,000 hits. Split by make, year band, or state to go deeper.

Start URLs or filters?
Paste a browser lotSearchResults / lotsByMake / lot URL in startUrls to keep every filter you already applied. Leave Start URLs empty and set searchQuery / make / model to build the search in the Actor.

Cards vs full details vs photos?
Keep scrapeDetails on (default) for live bid state, title, and seller. Turn it off for faster search-card rows. Enable includePhotos only when you need the full gallery — a thumbnail is always stored.

Can I watch bids over time?
Yes. Run once with monitorMode to seed a baseline, then schedule later runs. Only new lots and changes to current bid, Buy It Now, or sale status are written to the dataset.

ActorRole
Copart Scraper ◄── you are hereUS / CA salvage lots, bids, VIN
IAAI ScraperUS / CA salvage lots, VIN, ACV
Car-Part ScraperUsed auto parts & recycler stock
AutoScout24 ScraperEurope used-car listings
Mobile.de ScraperGerman vehicle listings
TractorHouse ScraperUS / EU farm and construction equipment

For a structured overview of Copart search and lot modes, bid monitoring, VIN enrichment, output fields, API examples, MCP prompts, and salvage sourcing workflows, see the Copart Scraper guide.