Copart Auction Data Scraper avatar

Copart Auction Data Scraper

Pricing

from $0.58 / 1,000 copart lots

Go to Apify Store
Copart Auction Data Scraper

Copart Auction Data Scraper

🚗 Search public Copart salvage auctions and export lot, VIN, damage, title, bid, sale, vehicle, location, and image data for sourcing and monitoring.

Pricing

from $0.58 / 1,000 copart lots

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Search Copart's public salvage-vehicle inventory and export structured auction lots, bids, damage, titles, sale dates, locations, and vehicle specifications.

Use a keyword such as toyota camry or paste a Copart search URL. The Actor paginates the public inventory, deduplicates lots, and delivers clean JSON, CSV, Excel, XML, or API-ready data.

What does Copart Auction Data Scraper do?

Copart Auction Data Scraper turns public Copart search results into analysis-ready records.

It extracts:

  • 🚗 year, make, model, trim, body style, color, and masked VIN
  • 🔧 engine, cylinders, transmission, drivetrain, fuel, and odometer
  • 💥 primary damage, secondary damage, condition, title state, and title type
  • 🔑 keys-available and run-and-drive indicators
  • 💵 current bid, buy-now price, starting bid, retail value, and currency
  • 📅 sale name, yard, date, status, and reserve/sold flags
  • 📍 city, state, country, postal code, latitude, and longitude
  • 🖼️ thumbnail image and canonical Copart lot URL

The Actor uses Copart's anonymous public search data. It does not require a Copart login.

Who is it for?

Salvage dealers and rebuilders

Build repeatable sourcing lists by make, model, damage type, title, yard, or price signals. Compare lots before auction day without copying rows by hand.

Vehicle exporters

Monitor inventory near preferred ports or yards. Export sale dates, title state, condition, and vehicle specifications into internal purchasing workflows.

Parts buyers and dismantlers

Find donor vehicles by model, engine, drivetrain, damage, and location. Schedule recurring runs for newly available inventory.

Automotive data and valuation teams

Collect normalized snapshots for auction research, market analysis, bid monitoring, and internal pricing models.

Insurance and academic researchers

Analyze public salvage patterns, title categories, damage labels, geography, and auction activity at scale.

Why use this Copart scraper?

  • Structured output: no brittle spreadsheet copy-and-paste.
  • Repeatable searches: run the same sourcing query daily or hourly.
  • Broad field coverage: vehicle, condition, bid, sale, and location data in one row.
  • Global cap: control spend with maxItems across every input search.
  • Deduplication: one row per lot number even when searches overlap.
  • Low-overhead HTTP extraction: no browser is started for the normal workflow.
  • Reliable proxy sessions: residential US proxy routing is enabled by default to reduce Copart traffic-protection failures.
  • Apify integrations: connect datasets to webhooks, Make, Zapier, Google Sheets, or your own API.

What Copart data can you extract?

GroupExample fields
IdentitylotNumber, vin, lotUrl
Vehicleyear, make, model, trim, bodyStyle, color
Mechanicalengine, cylinders, transmission, drive, fuel
Mileageodometer, odometerUnit, odometerStatus
Title and conditiontitleState, titleType, titleGroup, condition
DamageprimaryDamage, secondaryDamage
AuctioncurrentBid, buyNowPrice, startingBid, saleStatus, reserveMet, sold
SalesaleName, saleYard, saleDate, saleStatusCode
LocationlocationCity, locationState, locationCountry, postalCode, coordinates
Media and auditimageUrl, searchQuery, scrapedAt

Copart may omit fields that do not apply to a lot. Optional properties remain absent instead of being filled with misleading placeholder values.

How to scrape Copart auction lots

  1. Open the Actor input page.
  2. Enter one or more search keywords, or paste Copart public search URLs.
  3. Set Maximum lots to the number of unique records needed.
  4. Optionally add an advanced Copart filter object.
  5. Keep the residential US proxy default for reliability, or disable it only for a low-cost experiment.
  6. Click Start.
  7. Open the default dataset and export the results.

A small first run of 20 lots normally completes well within two minutes.

Input

A basic keyword search:

{
"keywords": ["toyota camry"],
"maxItems": 20
}

Search by Copart URL:

{
"searchUrls": [
"https://www.copart.com/lotSearchResults?free=true&query=ford%20f150"
],
"maxItems": 50
}

Combine searches and enable proxy recovery:

{
"keywords": ["tesla model 3", "tesla model y"],
"maxItems": 100,
"pageSize": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Advanced filters and sorting

The filters object is forwarded to Copart's public search endpoint. It is intended for advanced users who already know the filter codes generated by Copart's search interface.

The default sort prioritizes upcoming auctions. Override it with sort only when you know Copart's sort expression.

{
"keywords": ["honda civic"],
"filters": {},
"sort": ["auction_date_type desc", "auction_date_utc asc"],
"maxItems": 200
}

For the most stable product contract, use plain keyword or query-bearing URL inputs.

Output example

{
"lotNumber": "46885636",
"year": 2020,
"make": "TOYOTA",
"model": "CAMRY",
"trim": "SE",
"vin": "4T1G11AK1LU******",
"engine": "2.5L 4",
"transmission": "AUTOMATIC",
"drive": "FRONT WHEEL DRIVE",
"fuel": "GAS",
"odometer": 0,
"odometerStatus": "NOT ACTUAL",
"titleState": "FL",
"titleType": "CERTIFICATE OF TITLE",
"primaryDamage": "ALL OVER",
"currentBid": 3250,
"currency": "USD",
"saleYard": "CT - HARTFORD SPRINGFIELD",
"locationState": "CT",
"lotUrl": "https://www.copart.com/lot/46885636",
"searchQuery": "toyota",
"scrapedAt": "2026-07-17T22:00:00.000Z"
}

How much does it cost to scrape Copart?

Pricing is pay per event:

  • a small one-time Actor start charge
  • one Copart lot event for each unique record saved
  • discounted per-lot rates on higher Apify plans

You never pay a per-record event for duplicate or malformed rows that are not written to the dataset. Set maxItems to establish a predictable run ceiling.

The live Apify pricing panel is authoritative and shows the exact price for your plan before a run starts.

Tips for reliable Copart monitoring

  • Start with 20–50 lots to validate your search intent.
  • Use specific make/model phrases to reduce irrelevant inventory.
  • Store lotNumber as the durable identifier in downstream systems.
  • Compare scrapedAt, currentBid, and saleStatus across scheduled snapshots.
  • Keep pageSize at 50 unless requests are timing out.
  • Enable residential US proxy recovery only after direct requests fail.
  • Use separate scheduled tasks for materially different sourcing strategies.

Integrations

Google Sheets and Excel

Schedule a run, export CSV/XLSX, or use an Apify integration to refresh a buyer shortlist.

Make and Zapier

Trigger a workflow when a run finishes. Filter new lot numbers, then send matching vehicles to Slack, email, or a CRM.

Webhooks

Attach a run-success webhook and fetch the default dataset from your backend. This works well for auction alerts and internal dashboards.

Data warehouses

Load normalized rows into BigQuery, Snowflake, PostgreSQL, or object storage for historical bid and inventory analysis.

Run from the Apify API with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/copart-auction-data-scraper').call({
keywords: ['toyota camry'],
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run from the Apify API with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/copart-auction-data-scraper').call(run_input={
'keywords': ['ford f150'],
'maxItems': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Run with cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~copart-auction-data-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":["honda civic"],"maxItems":20}'

Fetch dataset items after the run succeeds:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"

Use with Apify MCP

Connect Claude and other MCP clients to the Actor.

Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/copart-auction-data-scraper"

Claude Desktop and Cursor: add this mcpServers JSON to the client's MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/copart-auction-data-scraper"
}
}
}

VS Code: add an HTTP MCP server to your workspace MCP configuration using the same URL and an apify server name.

Specific example prompts include:

  • “Find 20 Toyota Camry lots and summarize damage and current bids.”
  • “Monitor Ford F-150 Copart inventory and return lots in Texas.”
  • “Export Tesla Model 3 lots with sale dates and canonical URLs.”

Scheduling repeat searches

Create an Apify schedule with a saved input. For monitoring, keep the same keywords and compare each dataset with prior lotNumber values.

A common workflow is:

  1. run every morning before auction activity increases;
  2. deduplicate against a database;
  3. alert on newly observed lots;
  4. snapshot bid and sale status;
  5. archive results for later valuation analysis.

Proxy behavior

Residential US Apify Proxy routing is the reliable default because Copart may apply traffic protection based on network, geography, or request volume.

If logs show repeated request failures:

  1. confirm Proxy configuration is enabled;
  2. choose Apify residential proxies;
  3. prefer a US country code;
  4. keep concurrency implicit and page size conservative;
  5. rerun with a small result cap first.

Proxy use consumes paid bandwidth. Advanced users can disable it for low-volume experiments, but direct IPs may become blocked during pagination.

Limitations

  • Search URLs must include a visible query or q parameter.
  • Opaque saved-search qId URLs are not supported.
  • VINs may be masked in Copart's public inventory.
  • Copart controls field availability, labels, auction timing, and bid freshness.
  • Some lots have no buy-now price, secondary damage, coordinates, or odometer reading.
  • This Actor extracts public search inventory; it does not place bids or access account-only documents.
  • Very large runs may encounter upstream throttling and should use conservative scheduling.

This Actor accesses public auction-search data without bypassing a login. Scraping legality depends on your jurisdiction, use case, contract, and the type of data collected.

You are responsible for:

  • complying with applicable laws and Copart's terms;
  • avoiding excessive request rates;
  • respecting intellectual-property and database rights;
  • securing exported data;
  • ensuring your downstream decisions do not violate consumer or privacy law.

This documentation is not legal advice.

Troubleshooting

Why did my URL fail validation?

Use a www.copart.com/lotSearchResults URL containing query=.... Saved searches that only contain an opaque qId do not expose enough public input state.

Why is the dataset empty?

A valid search may naturally have zero matching inventory. Check the spelling and try the same query on Copart. If logs show a response-shape or request error, enable proxy recovery.

Why are some fields missing?

Copart does not expose every property for every lot. Missing optional values are omitted rather than guessed.

Why is a VIN incomplete?

Public Copart results can mask VIN characters. The Actor returns the public value exactly as provided.

FAQ

Does this Actor require a Copart account?

No. It targets anonymous public search inventory.

Can it scrape a single lot number?

Yes. Put the lot number in keywords and set a small maxItems value.

Can it monitor bids?

Yes. Schedule repeat runs and compare currentBid, saleStatus, and scrapedAt. The Actor captures snapshots; it does not stream live bidding.

Does it download full-size photos?

It exports the image URL exposed in public search data. It does not download image binaries into storage.

Are duplicate lots charged twice?

Not within one run. Records are deduplicated by lot number before storage and charging.

Use this Actor for public Copart salvage-auction inventory. Choose a marketplace listing scraper for retail inventory or the NHTSA Actor for complaint and safety research.

Start scraping Copart

Enter a keyword, keep the first run small, and export structured auction lots in minutes. For ongoing sourcing, save the input as an Apify task and schedule it around your buying workflow.