Copart Public Search Scraper (Pay-Per-Event)
Pricing
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
searchUrlthe lot came from,scrapedAtISO timestamp, publiclotUrl
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.014per lot vs$0.016), with the same$0monthly fee. - Drop-in input compat —
startUrl+maxItemsmatches 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/searchandlotdetails/solr/lotImagesJSON endpoints directly with a residential session. No headless browser is required on the hot path. - Run-level dedup by
lotNumberso overlapping searches never double-bill. - Output enrichments the reference does not return: computed
discountFromRetail,imageCount,searchUrlprovenance, and ISO 8601scrapedAt. - Imperva-aware — built-in challenge detection rotates the residential session and retries instead of returning empty rows.
How to use Copart Public Search Scraper
- Click Try for free (or open the Actor from your Apify Console).
- 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. - Set Max items to the number of lots you want.
- Click Start. The dataset will populate as lots are scraped.
- 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
| Field | Type | Default | Description |
|---|---|---|---|
startUrl | string (URL) | required | Copart search URL or single /lot/<number> URL. |
maxItems | integer | 10 | Maximum number of unique lots to return. Free plan caps server-side; paid plans allow up to 1,000,000. |
maxRequestRetries | integer | 5 | Retries on 403/429/503 from Imperva-class gateways. |
useBrowserBootstrap | boolean | false | Advanced. 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. |
proxyConfiguration | object | {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
| Field | Type | Description |
|---|---|---|
lotNumber | string | Copart lot identifier (unique within a sale). |
vin | string | null | Full vehicle identification number when present. |
year | integer | null | Model year. |
make | string | null | Manufacturer (AUDI, FORD, TESLA, …). |
model | string | null | Model name. |
trim | string | null | Trim level. |
bodyStyle | string | null | e.g. SEDAN 4D, SUV 4D, CONVERTIBLE 2D. |
engineType | string | null | Engine displacement + cylinder count. |
transmission | string | null | AUTOMATIC / MANUAL / unknown. |
driveType | string | null | FWD / RWD / AWD / 4WD. |
fuelType | string | null | GAS / DIESEL / ELECTRIC / HYBRID. |
color | string | null | Exterior color. |
currentBid | number | null | Current high bid in USD. |
buyItNowPrice | number | null | Buy-It-Now in USD when set. |
retailValue | number | null | Copart's estimated retail value (ACV) in USD. |
discountFromRetail | number | null | (retailValue − currentBid) / retailValue × 100, rounded to one decimal. |
primaryDamage | string | null | Primary damage code (FRONT END, REAR END, etc.). |
secondaryDamage | string | null | Secondary damage code when present. |
runDriveStatus | string | null | RUN AND DRIVE / STARTS / engine status. |
odometer | integer | null | Mileage. |
odometerBrand | string | null | ACTUAL / NOT ACTUAL / EXEMPT. |
titleCode | string | null | Title brand abbreviation. |
titleState | string | null | State of title issuance. |
saleStatus | string | null | FUTURE / LIVE / SOLD. |
saleLocation | string | null | Yard name (CA - SAN BERNARDINO, TX - HOUSTON, …). |
city, state, zip | string | null | Yard postal address. |
lat, lon | number | null | Yard coordinates. |
timeZone | string | null | IANA timezone of the yard. |
saleDate | string | null | Sale date in ISO 8601. |
thumbnail | string | null | Direct URL to the listing's primary photo. |
imageCount | integer | null | Number of photos on the listing. |
lotUrl | string | Public Copart URL for the lot. |
searchUrl | string | null | The original search URL the lot was discovered from. |
currency | string | Always "USD". |
scrapedAt | string | ISO 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_scrapedevent (one charge per uniquelotNumberwritten 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
queryandsearchCriteriaURL 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
infologs showImperva challenge detectedmore than a couple of times in a row, flipuseBrowserBootstrap: 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
lotNumberso 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.