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

a day 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.

Best for: salvage buying, used-parts sourcing, dealer auction desks, insurance total-loss comps, and VIN-level inventory monitoring.

Crawloop Marketplace Suite — classifieds and vehicle scrapers for EU / US listings intelligence.

CopartAutoScout24Mobile.deTractorHouse
Copart Scraper ◄── you are hereAutoScout24 ScraperMobile.de ScraperTractorHouse Scraper

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.
  • 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.
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,
"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
}

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).
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",
"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 TractorHouse Scraper to compare salvage cars vs used equipment inventory in the same US region"

Suite next step

After Copart salvage coverage, switch to retail/used inventory with AutoScout24 Scraper (Europe) or Mobile.de Scraper (Germany). For US heavy equipment, run TractorHouse Scraper.

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 — enough to decode make, model, engine, year, and plant. The production serial may appear as asterisks.

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.