API Documentation

Copart & IAAI Auction Data API

Access structured Copart and IAAI auction data through one developer API. Get VIN records, lot details, photos, prices, auction status, sale history, filters, locations and shipping data in JSON.

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/filters when building selectable filters.
  • Array parameters use repeated query keys, such as color[]=Black&color[]=White.
  • When zip and radius are provided, records may include a calculated distance.
  • 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, and lot_number.
  • title, year, make, model, and type.
  • 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.
  • location and facility — 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

  • platform and facility_id.
  • name, name_desc, and location_url.
  • city, state_code, state_name, and zip.
  • latitude and longitude.
  • sale_day, sale_time, and time_zone.
  • today_auction_count.
  • distance when 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.

Integration resources