The Apibara.tech Vehicle Auction Data API provides structured JSON access to Copart and IAAI vehicle auction records. Use it to search auction inventory, retrieve VIN and lot details, inspect auction history, find related vehicles, load filter metadata, resolve auction URLs, retrieve locations, calculate auction-to-port shipping, proxy supported images, and monitor API usage.
The API is designed for automotive marketplaces, dealer dashboards, exporters, brokers, vehicle sourcing tools, CRM systems, WordPress websites, mobile applications, analytics products, and other software that needs normalized Copart and IAAI data.
API basics
| Base URL | https://apibara.tech/api/v1/vehicle-auction |
|---|---|
| Authentication | X-API-Key: YOUR_API_KEY |
| Response format | application/json |
| OpenAPI schema | vehicle-auction-data-api.json |
| Code examples | GitHub examples |
Authentication example
curl "https://apibara.tech/api/v1/vehicle-auction/vehicles?platform=copart&make=BMW&per_page=20" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"
Send the API key in the X-API-Key request header. Do not expose a private API key in public frontend JavaScript, browser source code, public repositories, or mobile application bundles. Production applications should normally call the API from a protected backend.
Response format
Successful collection responses normally contain:
ok— whether the request completed successfully.data— an array of normalized records.meta— cursor pagination information when the endpoint is paginated.
Successful single-record responses normally contain ok and data.
Cursor pagination
Paginated endpoints use cursor-based pagination. Do not construct cursor values manually. Pass the returned meta.next_cursor or meta.prev_cursor value back through the cursor query parameter.
{
"ok": true,
"data": [],
"meta": {
"per_page": 20,
"next_cursor": "CURSOR_TOKEN",
"prev_cursor": null
}
}
The maximum supported per_page value is 20.
Common HTTP responses
| Status | Meaning |
|---|---|
200 |
The request completed successfully. |
400 |
The request contains an invalid or conflicting parameter. |
401 |
The X-API-Key header is missing or invalid. |
404 |
The requested vehicle, lot, location, image, or related resource was not found. |
422 |
Request validation failed. |
429 |
The request quota or rate limit has been reached. |
500 |
An unexpected server error occurred. |
{
"ok": false,
"status": 422,
"message": "Validation failed",
"errors": {
"per_page": [
"The per page field must not be greater than 20."
]
}
}
1. Get filters metadata
GET /vehicles/filters
Full URL:
https://apibara.tech/api/v1/vehicle-auction/vehicles/filters
Use this endpoint before building a filter interface. It returns the currently available values, defaults, ranges, and metadata used by the vehicle search endpoint. Filter values can change as the underlying Copart and IAAI inventory changes, so applications should avoid maintaining unnecessary hard-coded lists.
Response may include
- Lot status and lot sub-status options.
- Platform and auction type options.
- Makes and models grouped by make.
- Vehicle types.
- Price, year, odometer, engine size, and horsepower ranges.
- Exterior colors, fuel types, transmissions, drive types, and cylinder counts.
- Run conditions, damage groups, and key availability options.
- Auction date and today-only filter metadata.
- Sale document and seller type metadata.
- Shipping availability metadata.
- State, facility, office name, ZIP, and radius filter metadata.
Example
curl "https://apibara.tech/api/v1/vehicle-auction/vehicles/filters" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"
2. Search vehicles
GET /vehicles
Full URL:
https://apibara.tech/api/v1/vehicle-auction/vehicles
Search and filter Copart and IAAI auction inventory. Each result uses the normalized vehicle payload also used by the single-vehicle endpoint. The endpoint supports cursor pagination and combinations of vehicle, auction, location, seller, document, and shipping filters.
Platform filters
The endpoint accepts two equivalent platform-filter formats:
platform=copart— Copart only.platform=iaai— IAAI only.auction_type=0— all supported platforms.auction_type=1— Copart only.auction_type=2— IAAI only.
Use either platform or auction_type in the same request. The readable platform parameter is recommended for new integrations.
Search parameters
| Parameter | Type | Example | Description |
|---|---|---|---|
s |
string | WBA4J7C55KBM75906 |
Search by VIN, lot number, or vehicle title. |
platform |
string | copart |
Readable platform filter: copart or iaai. |
auction_type |
integer | 1 |
Numeric platform filter: 0 all, 1 Copart, 2 IAAI. |
lot_status |
string | All |
Supported values: All, Buy Now, Timed. |
lot_sub_status |
string | Open |
Supported values: Open, Live, Ended. |
make |
string | BMW |
Vehicle make. |
model |
string | 440XI |
Vehicle model. |
type |
string | AUTOMOBILE |
Vehicle type. Use a value returned by /vehicles/filters. |
year_from |
integer | 2018 |
Minimum model year. |
year_to |
integer | 2026 |
Maximum model year. |
price_min |
number | 1000 |
Minimum current price or bid in USD when available. |
price_max |
number | 15000 |
Maximum current price or bid in USD when available. |
odometer_from |
number | 0 |
Minimum odometer value in miles. |
odometer_to |
number | 120000 |
Maximum odometer value in miles. |
engine_size_from |
number | 2.0 |
Minimum engine displacement in liters. |
engine_size_to |
number | 5.0 |
Maximum engine displacement in liters. |
engine_hp_from |
number | 150 |
Minimum engine horsepower when available. |
engine_hp_to |
number | 500 |
Maximum engine horsepower when available. |
color[] |
array | color[]=Black&color[]=White |
One or more exterior colors. |
fuel_type[] |
array | fuel_type[]=Gasoline |
One or more fuel types. |
transmission[] |
array | transmission[]=Automatic |
One or more transmission types. |
drive_type[] |
array | drive_type[]=AWD |
One or more drive types. |
cylinders[] |
array | cylinders[]=4&cylinders[]=6 |
One or more cylinder counts. |
damage[] |
array | damage[]=Hail&damage[]=Mechanical |
One or more normalized damage groups. |
run_cond |
string | RUNS AND DRIVES |
Running condition. Use a value returned by /vehicles/filters. |
has_key |
string | With |
Supported values: With, No, All. |
facility_id |
string | 136 |
Auction facility identifier. |
loc_state |
string | FL |
Auction facility state code. |
office_name |
string | Miami |
Partial search by auction office or branch name. |
zip |
string | 33166 |
ZIP or postal code used for proximity search. |
radius |
number | 50 |
Search radius around zip. |
units |
string | mi |
Distance units: mi or km. |
auction_date_from |
date | 2026-07-01 |
Minimum auction date in YYYY-MM-DD format. |
auction_date_to |
date | 2026-07-31 |
Maximum auction date in YYYY-MM-DD format. |
today_only |
boolean | true |
Return only vehicles scheduled for auction today. |
sale_document_pending |
boolean | true |
Return only vehicles with a pending sale document. |
sale_document_type |
string | clean |
Filter by normalized sale document type. |
seller_type |
string | insurance |
Supported values: dealer, finance, insurance, non_insurance. |
has_shipping_price |
boolean | true |
Return only vehicles with matched shipping price data. |
per_page |
integer | 20 |
Number of records to return. Minimum 1, maximum 20. |
cursor |
string | CURSOR_TOKEN |
Value returned in meta.next_cursor or meta.prev_cursor. |
Copart BMW request example
curl -G "https://apibara.tech/api/v1/vehicle-auction/vehicles" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "platform=copart" \
--data-urlencode "make=BMW" \
--data-urlencode "lot_status=All" \
--data-urlencode "lot_sub_status=Open" \
--data-urlencode "per_page=20"
Shortened real Copart response example
{
"ok": true,
"data": [
{
"platform": "copart",
"lot_number": "54386186",
"vin": "WBA4J7C55KBM75906",
"title": "2019 BMW 440XI GRAN COUPE",
"year": 2019,
"make": "BMW",
"model": "440XI",
"auction": {
"state": "open",
"auction_at": "2026-07-13T14:00:00+00:00"
},
"pricing": {
"current_bid_usd": 5700,
"buy_now_usd": null
},
"location": {
"display": "Clewiston (FL)",
"send_from": "Miami"
},
"condition": {
"primary_damage": "Front end",
"has_key": true
},
"odometer": {
"mi": 83726
},
"media": {
"thumbs_count": 12,
"has_video": true
}
}
],
"meta": {
"per_page": 20,
"next_cursor": "CURSOR_TOKEN",
"prev_cursor": null
}
}
Search notes
- Use values from
/vehicles/filterswhen building selectable filters. - Array parameters use repeated query keys, such as
color[]=Black&color[]=White. - When
zipandradiusare provided, records may include a calculateddistance. - Location matching may use vehicle coordinates with facility coordinates as a fallback.
- Seller type and sale document normalization depend on the available source data.
- Not every record contains a VIN, price, seller, shipping price, history, or complete technical specification.
3. Get a single vehicle
GET /vehicles/{slugVin}
Full URL example:
https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906
Retrieve one normalized vehicle record by a supported VIN, lot number, or public vehicle identifier. A VIN is usually the most stable identifier when it is available.
| Parameter | Location | Required | Example | Description |
|---|---|---|---|---|
slugVin |
path | yes | WBA4J7C55KBM75906 |
Supported VIN, lot number, or public vehicle identifier. |
Main response groups
slug_vin,vin,platform,platform_id, andlot_number.title,year,make,model, andtype.auction— schedule, state, countdown, buy-now flags, timed auction fields, and sold metadata.pricing— current bid, buy-now price, last sold price, and estimated price range when available.locationandfacility— auction location, branch information, ZIP, and coordinates when available.seller— seller name and normalized seller type.condition— run condition, key availability, loss type, and damage.odometer— mileage in miles and kilometers.vehicle_specs— color, engine, transmission, fuel type, drive type, body style, airbags, and restraint system.sale_document— document name, normalized type, export and registration flags, pending status, and page identifier.media— photos, video, and 360-degree media when available.details— additional source-specific details when available.
Example
curl "https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"
4. Get vehicle auction history
GET /vehicles/{slugVin}/history
Full URL example:
https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/history
Retrieve available auction and sale history associated with the requested vehicle. History availability depends on the VIN, lot, source platform, and the data retained for that record.
| Parameter | Location | Type | Example | Description |
|---|---|---|---|---|
slugVin |
path | string | WBA4J7C55KBM75906 |
VIN, lot number, or supported public vehicle identifier. |
per_page |
query | integer | 20 |
History records per request. Maximum 20. |
cursor |
query | string | CURSOR_TOKEN |
Cursor returned in the response meta object. |
Example
curl -G "https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/history" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "per_page=20"
History responses may include the resolved vehicle identity and history records containing platform, date, price, and sale status fields.
5. Get related vehicles
GET /vehicles/{slugVin}/related
Full URL example:
https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/related
Retrieve related or similar vehicles based on the resolved source vehicle. Related results can be used for marketplace recommendations, comparable listings, pricing research, and alternative inventory suggestions.
The response may separate records into:
source— the requested vehicle.upcoming— related active or upcoming vehicles.past— related historical, sold, or removed vehicles.
Example
curl "https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/related" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"
6. Get shipping for a specific vehicle
GET /vehicles/{slugVin}/shipping
Full URL example:
https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/shipping
Resolve the vehicle, match its auction location, and return available auction-to-port shipping prices. Shipping availability depends on whether the source auction location can be matched to a supported inland location.
| Parameter | Location | Type | Example | Description |
|---|---|---|---|---|
slugVin |
path | string | WBA4J7C55KBM75906 |
VIN, lot number, or supported public vehicle identifier. |
ports |
query | string | Miami,NY,LA |
Optional comma-separated destination port filter. When omitted, all supported ports may be returned. |
Example
curl -G "https://apibara.tech/api/v1/vehicle-auction/vehicles/WBA4J7C55KBM75906/shipping" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "ports=Miami,NY,LA"
Response may include
- Resolved vehicle identity.
- Human-readable auction location and facility information.
- Matched inland shipping location.
- Location match confidence or score when available.
- Recommended port and recommended price.
- Available destination ports and prices.
- A flag indicating whether shipping price data is available.
7. Get auction-to-port shipping by VIN or lot number
GET /shipping/auction-to-port
Full URL:
https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port
Retrieve shipping prices without first calling the single-vehicle endpoint. Provide a VIN or lot number. At least one supported vehicle identifier must be supplied.
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
vin |
string | conditional | WBA4J7C55KBM75906 |
Vehicle VIN. Use either vin or lot_number. |
lot_number |
string | conditional | 54386186 |
Auction lot number. Use either lot_number or vin. |
ports |
string | no | Miami,NY,LA |
Optional comma-separated destination port filter. |
VIN example
curl -G "https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "vin=WBA4J7C55KBM75906" \
--data-urlencode "ports=Miami,NY,LA"
Lot number example
curl -G "https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "lot_number=54386186"
8. Get auction locations
GET /locations
Full URL:
https://apibara.tech/api/v1/vehicle-auction/locations
Search supported Copart and IAAI facilities and offices. Location records can be used for search interfaces, facility pages, proximity tools, shipping logic, and auction schedules.
| Parameter | Type | Example | Description |
|---|---|---|---|
platform |
string | copart |
Platform filter: copart or iaai. |
state |
string | FL |
Facility state code. |
facility_id |
string | 136 |
Facility identifier. |
q |
string | Miami |
Search by facility name, city, state code, or ZIP. |
zip |
string | 33166 |
ZIP or postal code used for proximity search. |
radius |
number | 50 |
Search radius around zip. |
units |
string | mi |
Distance units: mi or km. |
per_page |
integer | 20 |
Locations per request. Minimum 1, maximum 20. |
Example
curl -G "https://apibara.tech/api/v1/vehicle-auction/locations" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "platform=copart" \
--data-urlencode "state=FL" \
--data-urlencode "per_page=20"
Location fields may include
platformandfacility_id.name,name_desc, andlocation_url.city,state_code,state_name, andzip.latitudeandlongitude.sale_day,sale_time, andtime_zone.today_auction_count.distancewhen ZIP and radius filtering is used.
9. Resolve vehicle details from a Copart or IAAI URL
GET /vehicles/urltodetails
Full URL:
https://apibara.tech/api/v1/vehicle-auction/vehicles/urltodetails
Resolve a supported Copart or IAAI vehicle URL and return the matching normalized vehicle details. This endpoint is useful when an application receives auction links instead of VINs or lot numbers.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
URL string | yes | Supported Copart or IAAI vehicle URL. |
Example
curl -G "https://apibara.tech/api/v1/vehicle-auction/vehicles/urltodetails" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "url=https://www.copart.com/lot/51015256/clean-title-2014-cadillac-escalade-esv-platinum-me-windham"
The response uses the same normalized vehicle data structure as the single-vehicle endpoint. Unsupported, invalid, or unmatched URLs may return a validation or not-found response.
10. Get API usage
GET /usage
Full URL:
https://apibara.tech/api/v1/vehicle-auction/usage
Retrieve usage and plan limit information for the authenticated API key. This endpoint can be used in internal dashboards, integration monitoring, WordPress administration pages, and quota alerts.
Example
curl "https://apibara.tech/api/v1/vehicle-auction/usage" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"
Usage fields may vary by plan. Applications should treat additional usage fields as optional and avoid assuming that every plan returns an identical set of limits.
11. Proxy a supported auction image
GET /image-proxy
Full URL:
https://apibara.tech/api/v1/vehicle-auction/image-proxy
Retrieve a supported auction vehicle image through the Apibara image proxy. The response is an image binary rather than a JSON document. The returned content type may be JPEG, PNG, or WebP, depending on the source image.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
URL string | yes | Supported source image URL. |
Example
curl -G "https://apibara.tech/api/v1/vehicle-auction/image-proxy" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "url=https://example.com/vehicle-image.webp" \
--output vehicle-image.webp
Only use image URLs returned by supported API records. Invalid, inaccessible, or unsupported source URLs may return 400 or 404.
Data freshness and availability
Apibara.tech runs multiple data collection and update processes across Copart and IAAI. Update frequency varies by platform, auction state, filter coverage, record type, and source availability.
- Supported live auction bid data may update approximately every 15 seconds.
- General vehicle record data may update within approximately 30 minutes.
- A vehicle can be updated more than once when it appears in overlapping collection processes.
- These intervals are approximate and are not guaranteed for every record or auction.
Clients must handle nullable, missing, delayed, or source-specific fields:
- Not every lot has a valid VIN.
- Not every vehicle has live bid information, a buy-now price, or a final sale price.
- Sale history may be unavailable or incomplete for some records.
- Seller, title, damage, odometer, technical specification, and facility fields may vary by source.
- Photo count, image quality, video, and 360-degree media vary by listing.
- Shipping prices are available only when a supported auction location can be matched.
- Records can change when an auction is updated, rescheduled, sold, removed, or finalized.