Copart APIcopart.com ↗
Search Copart's live auction inventory and retrieve full lot details — vehicle specs, damage, photos, condition reports, and bid data — via 2 REST endpoints.
What is the Copart API?
The Copart API gives developers access to Copart's public salvage and clean-title auction inventory through 2 endpoints. Use search_lots to query active listings by make, model, VIN fragment, or any keyword, and get_lot to pull a complete record for one lot including the photo gallery, condition report, odometer reading, repair cost estimate, and current or final bid price.
curl -X GET 'https://api.parse.bot/scraper/1e2b7b83-e1a6-4e01-8be6-1e8f6d973242/search_lots?sort=odometer_asc&query=toyota+camry&page_size=3' \ -H 'X-API-Key: $PARSE_API_KEY'
Free-text search of Copart's public auction inventory (make, model, year, damage, VIN fragment, keywords such as one might type into the site search box). One result row per lot currently listed for sale; each row carries vehicle facts, title/damage, location, auction date/time and the current high bid. Only lots on sale are indexed, so sold lots do not appear here (use get_lot with a known lot number for those). Pagination is offset-based: `page` (1-based, default 1) and `page_size` (default 20, clamped to 100) tile the stream reported by `total_results`; `has_more` is true while further pages exist. `sort` selects the ordering (default is the site's relevance ordering). Some fields are null for lots the site has not yet fully processed (e.g. auction_date, title_group, odometer_status). Costs two upstream requests per call. An unknown search term returns an empty `lots` array with total_results 0.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number. |
| sort | string | Result ordering. |
| queryrequired | string | Free-text search term, e.g. a make and model. |
| page_size | integer | Lots per page; values above 100 are clamped to 100. |
{
"type": "object",
"fields": {
"lots": "array of lot summaries; lot_number (string) is the key for get_lot; high_bid is the current high bid in `currency`; estimated_retail_value and repair_cost are site estimates; auction_date is UTC ISO-8601 or null when not scheduled; sold is false for all lots in search (only open lots are indexed)",
"page": "1-based page returned",
"query": "echo of the search term",
"has_more": "true when a later page exists",
"page_size": "effective page size after clamping",
"total_results": "total matching lots reported by the site"
},
"sample": {
"data": {
"lots": [
{
"lane": null,
"make": "TOYOTA",
"sold": false,
"trim": "SE",
"year": 2025,
"color": "WHITE",
"drive": "FRONT WHEEL DRIVE",
"model": "CAMRY",
"title": "2025 TOYOTA CAMRY SE",
"engine": "2.5L 4",
"lot_url": "https://www.copart.com/lot/58907616/clean-title-2025-toyota-camry-se-nj-glassboro-west",
"currency": "USD",
"has_keys": "YES",
"high_bid": 3950,
"odometer": 36130,
"condition": "RUNS AND DRIVES",
"cylinders": "4",
"fuel_type": "ELECTRIC AND GAS HYBRID",
"sale_name": "WHOLESALE AUCTION",
"body_style": "SEDAN",
"lot_number": "58907616",
"title_code": "CT",
"vin_masked": "4T1DAACK5SU******",
"item_number": 0,
"model_group": "CAMRY",
"repair_cost": 5705,
"sale_status": "Minimum Bid",
"seller_name": null,
"seller_type": "Bank",
"title_group": "CLEAN TITLE",
"title_state": "IN",
"auction_date": "2026-10-13T16:00:00Z",
"last_updated": "2026-10-10T08:19:55Z",
"location_zip": "08028 3273",
"transmission": "AUTOMATIC",
"location_city": "GLASSBORO",
"location_name": "NJ - GLASSBORO WEST",
"thumbnail_url": "https://cs.copart.com/v1/AUTH_svc.pdoc00001/lpp/0726/e93aa350b46445d5b80b2097f3fb0b6b_thb.jpg",
"location_state": "NJ",
"primary_damage": "NORMAL WEAR",
"condition_grade": 2.7,
"lot_status_code": "O",
"odometer_status": "ACTUAL",
"auction_timezone": "EDT",
"buy_it_now_price": null,
"location_country": "USA",
"sale_status_code": "MINIMUM_BID",
"secondary_damage": null,
"title_description": "CERTIFICATE OF TITLE",
"auction_time_local": "12:00:00",
"seller_reserve_met": false,
"estimated_retail_value": 23220
}
],
"page": 1,
"query": "toyota camry",
"has_more": true,
"page_size": 5,
"total_results": 11586
},
"status": "success"
}
}About the Copart API
Search Auction Inventory
search_lots accepts a free-text query parameter — anything from a bare make/model string to a partial VIN or damage keyword — and returns a paginated list of active Copart lots. Each row in the lots array includes the lot_number that keys into get_lot, the current high_bid in the lot's currency, estimated_retail value, title and damage descriptions, auction location, and the scheduled auction date/time. Page size is controlled by page_size (capped at 100) and navigation uses the 1-based page parameter alongside the has_more flag and total_results count.
Full Lot Details
get_lot accepts a lot_number string and returns the complete record for that auction lot. Vehicle fields include make, model, year, and odometer with an odometer_status indicator (e.g. ACTUAL). Financial fields include high_bid (live for open lots, final for sold lots), repair_cost, and sale_status labels such as Minimum Bid, On Approval, Pure Sale, or Sold. The sold boolean makes it straightforward to distinguish active from closed lots.
Media and Condition Data
The photos array in get_lot is ordered by sequence and provides three URL tiers per image — thumbnail_url, full_url, and high_res_url — along with a label_code describing the camera angle or condition area. A photo_count field gives the total up front. Walk-around video_urls are also returned when the site provides them, though the array may be empty. When Copart publishes a condition/inspection report for a lot, it is included in the response as well.
The Copart API is a managed, monitored endpoint for copart.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when copart.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official copart.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor salvage auction prices for a specific make/model by polling
search_lotsand trackinghigh_bidover time. - Build a vehicle history enrichment tool that cross-references VIN fragments from
search_lotswith title and damage fields. - Generate insurance total-loss comparables using
repair_costandestimated_retailfromget_lot. - Download the full photo gallery for a lot using the
high_res_urlarray fromget_lotfor damage assessment workflows. - Alert users when lots matching saved keywords approach their
auction_dateby queryingsearch_lotson a schedule. - Track sold lot final prices by checking the
soldflag andhigh_bidonget_lotafter auction close.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Copart have an official developer API?+
What does `get_lot` return for a lot that has already sold?+
sold field is true, sale_status will reflect a sold label, and high_bid contains the final winning bid rather than a live bid. The photo gallery, condition report, vehicle details, and odometer data remain available in the same response shape as open lots.Can I filter `search_lots` by location, damage type, or auction date rather than a text query?+
query parameter accepts free-text terms including damage descriptions and location keywords. Structured filters (e.g. a dedicated state, damage-category, or date-range parameter) are not separate inputs on the current endpoint. You can fork the API on Parse and revise it to add structured filter parameters.Does the API cover Copart lots outside the United States?+
Is bid history or individual bidder data available?+
high_bid field in both endpoints, but does not return a bid history log or any bidder-level information. You can fork the API on Parse and revise it to add a bid history endpoint if that data becomes accessible.