Copart Public Search Scraper (Pay-Per-Event) avatar

Copart Public Search Scraper (Pay-Per-Event)

Pricing

Pay per event

Go to Apify Store
Copart Public Search Scraper (Pay-Per-Event)

Copart Public Search Scraper (Pay-Per-Event)

Scrape Copart's public auction search results: lot numbers, VIN, year/make/model, current bid, buy-it-now, retail value, damage, odometer, sale date, location, photos. Pay-per-event pricing — only pay for the records you actually scrape.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Arnas

Arnas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape Copart public auction search results including lot numbers, VIN, year/make/model, current bid, buy-it-now price, retail value, damage, odometer, sale date, location, and photos.

What does Copart Public Search Scraper do?

Copart Public Search Scraper extracts vehicle lot data from Copart public auction search results. Paste any Copart search URL (/lotSearchResults/?query=…, /lotsByMake/Audi, etc.) or a single /lot/<number> URL and it returns one structured record per unique lot, including:

  • Vehicle: lot number, VIN, year, make, model, trim, body style, engine, transmission, drive type, fuel type, color
  • Auction economics: current bid, buy-it-now price, estimated retail value, computed discountFromRetail
  • Condition: primary damage, secondary damage, run-and-drive status, odometer reading, odometer brand, title code, title state
  • Location: sale location, city, state, ZIP, latitude/longitude, IANA timezone
  • Media: thumbnail URL, imageCount
  • Provenance: the searchUrl the lot came from, scrapedAt ISO timestamp, public lotUrl

Use it for salvage market analysis, price tracking, vehicle sourcing, dealer arbitrage, insurance research, parts sourcing, and academic vehicle damage research — without managing proxies, Imperva sessions, or DataTables-payload boilerplate yourself.

Run it once on demand or schedule it to track auctions over time. Results download as JSON, CSV, HTML, or Excel, or stream live via the Apify API.

Why use Copart Public Search Scraper?

  • ~12.5% cheaper per record than the reference Copart actor on Apify Store ($0.014 per lot vs $0.016), with the same $0 monthly fee.
  • Drop-in input compatstartUrl + maxItems matches the reference actor's input shape so you can swap actors without re-wiring downstream code.
  • Pure HTTP by default — hits Copart's public vehicleFinder/search and lotdetails/solr/lotImages JSON endpoints directly with a residential session. No headless browser is required on the hot path.
  • Run-level dedup by lotNumber so overlapping searches never double-bill.
  • Output enrichments the reference does not return: computed discountFromRetail, imageCount, searchUrl provenance, and ISO 8601 scrapedAt.
  • Imperva-aware — built-in challenge detection rotates the residential session and retries instead of returning empty rows.

How to use Copart Public Search Scraper

  1. Click Try for free (or open the Actor from your Apify Console).
  2. In Start URL, paste any Copart search URL — e.g. https://www.copart.com/lotSearchResults/?free=true&query=audi. Filters from the website (year, damage, location) are preserved.
  3. Set Max items to the number of lots you want.
  4. Click Start. The dataset will populate as lots are scraped.
  5. Download as JSON / CSV / Excel or call the Apify API to fetch the dataset programmatically.

Input

The actor accepts a small input shape:

{
"startUrl": "https://www.copart.com/lotSearchResults/?free=true&query=audi",
"maxItems": 100
}

Input fields

FieldTypeDefaultDescription
startUrlstring (URL)requiredCopart search URL or single /lot/<number> URL.
maxItemsinteger10Maximum number of unique lots to return. Free plan caps server-side; paid plans allow up to 1,000,000.
maxRequestRetriesinteger5Retries on 403/429/503 from Imperva-class gateways.
useBrowserBootstrapbooleanfalseAdvanced. When ON, the actor opens a short-lived Playwright session to seed cookies before switching back to HTTP. Enable only if you see persistent Imperva challenges.
proxyConfigurationobject{useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"]}Apify proxy config. Residential is strongly recommended — datacenter IPs get challenged almost immediately.

Output

{
"lotNumber": "57234567",
"vin": "WAUACDFK1KA000123",
"year": 2019,
"make": "AUDI",
"model": "A4",
"trim": "PREMIUM PLUS",
"bodyStyle": "SEDAN 4D",
"engineType": "2.0L 4",
"transmission": "AUTOMATIC",
"driveType": "Front-wheel Drive",
"fuelType": "GAS",
"color": "WHITE",
"currentBid": 5500,
"buyItNowPrice": 7900,
"retailValue": 22500,
"discountFromRetail": 75.6,
"primaryDamage": "FRONT END",
"secondaryDamage": "MINOR DENT/SCRATCHES",
"runDriveStatus": "RUN AND DRIVE",
"odometer": 78421,
"odometerBrand": "ACTUAL",
"titleCode": "CA",
"titleState": "CA",
"saleStatus": "FUTURE",
"saleLocation": "CA - SAN BERNARDINO",
"city": "SAN BERNARDINO",
"state": "CA",
"zip": "92408",
"lat": 34.0788,
"lon": -117.2898,
"timeZone": "America/Los_Angeles",
"saleDate": "2024-06-06T16:00:00.000Z",
"thumbnail": "https://cs.copart.com/v1/AUTH_svc.pdoc00001/PIX236/c1bdcef8-…JPG",
"imageCount": 12,
"lotUrl": "https://www.copart.com/lot/57234567/",
"searchUrl": "https://www.copart.com/lotSearchResults/?free=true&query=audi",
"currency": "USD",
"scrapedAt": "2026-05-29T20:42:14.317Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data fields

FieldTypeDescription
lotNumberstringCopart lot identifier (unique within a sale).
vinstring | nullFull vehicle identification number when present.
yearinteger | nullModel year.
makestring | nullManufacturer (AUDI, FORD, TESLA, …).
modelstring | nullModel name.
trimstring | nullTrim level.
bodyStylestring | nulle.g. SEDAN 4D, SUV 4D, CONVERTIBLE 2D.
engineTypestring | nullEngine displacement + cylinder count.
transmissionstring | nullAUTOMATIC / MANUAL / unknown.
driveTypestring | nullFWD / RWD / AWD / 4WD.
fuelTypestring | nullGAS / DIESEL / ELECTRIC / HYBRID.
colorstring | nullExterior color.
currentBidnumber | nullCurrent high bid in USD.
buyItNowPricenumber | nullBuy-It-Now in USD when set.
retailValuenumber | nullCopart's estimated retail value (ACV) in USD.
discountFromRetailnumber | null(retailValue − currentBid) / retailValue × 100, rounded to one decimal.
primaryDamagestring | nullPrimary damage code (FRONT END, REAR END, etc.).
secondaryDamagestring | nullSecondary damage code when present.
runDriveStatusstring | nullRUN AND DRIVE / STARTS / engine status.
odometerinteger | nullMileage.
odometerBrandstring | nullACTUAL / NOT ACTUAL / EXEMPT.
titleCodestring | nullTitle brand abbreviation.
titleStatestring | nullState of title issuance.
saleStatusstring | nullFUTURE / LIVE / SOLD.
saleLocationstring | nullYard name (CA - SAN BERNARDINO, TX - HOUSTON, …).
city, state, zipstring | nullYard postal address.
lat, lonnumber | nullYard coordinates.
timeZonestring | nullIANA timezone of the yard.
saleDatestring | nullSale date in ISO 8601.
thumbnailstring | nullDirect URL to the listing's primary photo.
imageCountinteger | nullNumber of photos on the listing.
lotUrlstringPublic Copart URL for the lot.
searchUrlstring | nullThe original search URL the lot was discovered from.
currencystringAlways "USD".
scrapedAtstringISO 8601 timestamp when the row was scraped.

How much does it cost to scrape Copart?

Pay-per-event pricing — you only pay for the records you receive:

  • $0.001 per actor start (one charge per run).
  • $0.014 per lot_scraped event (one charge per unique lotNumber written to the dataset).
  • $0 monthly fee.

A run that returns 1,000 lots costs 0.001 + 1000 × 0.014 = $14.00. The reference actor on Apify Store charges $16.00 for the same volume; this actor saves ~12.5% per record. Apify proxy and compute units are billed separately at your account's standard rates.

Tips & advanced options

  • Filtered searches: any filter you apply on the Copart website (year, damage, location, fuel type, etc.) is preserved when you paste the URL. The actor preserves the query and searchCriteria URL parameters verbatim.
  • Single-lot mode: paste a /lot/<number> URL to fetch one lot via Copart's lot-detail JSON endpoint instead of paginating search results.
  • Imperva challenges: if info logs show Imperva challenge detected more than a couple of times in a row, flip useBrowserBootstrap: true. Adds a few seconds to startup but reliably clears the session.
  • Concurrency: default is intentionally low (3 concurrent requests, 60 / minute) to fly under Copart's rate limits. Increasing it on residential proxy is usually safe; on shaky proxies it amplifies retry storms.
  • Run-level dedup: the actor deduplicates by lotNumber so overlapping queries (e.g. running the same search multiple times in one run) won't double-bill.

FAQ, disclaimers & support

Is it legal to scrape Copart? This actor only reads data that an anonymous visitor can see at copart.com without logging in. You are responsible for complying with Copart's Terms of Service, applicable laws, and your local regulations.

Why don't I see all 168 fields the parseforge actor returns? The parseforge actor scrapes the per-lot detail page (a separate, paid-data request per lot) by default. This actor returns the search-page fields by default (the most common 30-40 used in pricing/inventory analysis), at a lower per-record cost. A future version may expose a per-lot enrichment flag.

It returned zero rows. Check the run log. If you see Imperva challenge detected, set useBrowserBootstrap: true and retry. If you see zero lots in response, your startUrl may have an unusual filter combination — open it in a browser to confirm Copart returns results.

copart.co.uk? Not yet supported. Open an issue if you need it.

Issues & support: open an issue from the Actor's Issues tab on Apify.