openapi: 3.2.0 info: title: Apibara Copart & IAAI Vehicle Auction Shipping API description: Structured JSON API for Copart and IAAI vehicle auction data. version: 1.1.0 termsOfService: https://apibara.tech/en/terms contact: name: Apibara url: https://apibara.tech/en/products/vehicle-auction-data-api email: admin@apibara.tech license: name: Proprietary url: https://apibara.tech/en/terms x-apibara-facts: lastVerified: '2026-09-18' indexedRecords: 20000000 indexedRecordsLabel: 20M+ indexedRecordsMeaning: Current and retained historical auction records; not a unique-VIN or unique-vehicle count. supportedVehicleRecords: 3200000 supportedVehicleRecordsLabel: 3.2M+ recordsAddedOrRefreshedDailyApprox: 30000 recordsAddedOrRefreshedDailyLabel: 30K+ generalRefreshMinutes: 15 liveBidRefreshSeconds: min: 10 max: 15 freeRequestsMonthly: 100 paymentCardRequiredForFreeTier: false servers: - url: https://apibara.tech/api/v1/vehicle-auction description: Production server security: - ApiKeyAuth: [] tags: - name: Shipping description: Auction-to-port delivery prices. paths: /vehicles/{slugVin}/shipping: get: tags: - Shipping summary: Get shipping prices for a vehicle description: Get auction-to-port shipping prices for a vehicle by VIN or lot number. operationId: getVehicleShipping parameters: - name: slugVin in: path required: true schema: type: string description: Vehicle identifier. Can be VIN or lot number. example: WBAVL1C58FVY28848 or 78691915 - name: ports in: query required: false schema: type: string description: Comma-separated list of destination ports to return. example: Chicago,NY,Miami,Savannah,Norfolk,Houston,LA,Seattle,Moto_ATV responses: '200': description: Shipping prices for the selected vehicle. content: application/json: schema: $ref: '#/components/schemas/ShippingResponse' headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '400': description: Bad request. One or more parameters are invalid. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '401': description: Unauthorized. Missing or invalid X-API-Key. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '404': description: Resource not found. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '429': description: API quota exceeded or rate limit reached. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '500': description: Internal server error. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '503': $ref: '#/components/responses/ServiceUnavailable' x-codeSamples: - lang: Shell label: curl source: "curl --request GET \\\n --url \"https://apibara.tech/api/v1/vehicle-auction/vehicles/{slugVin}/shipping\" \\\n --header \"Accept: application/json\" \\\n --header \"X-API-Key: ${APIBARA_API_KEY}\"" - lang: Python label: Python httpx source: 'import os, httpx url = "https://apibara.tech/api/v1/vehicle-auction/vehicles/{slugVin}/shipping" headers = {"X-API-Key": os.environ["APIBARA_API_KEY"], "Accept": "application/json"} response = httpx.request("GET", url, headers=headers, timeout=30) response.raise_for_status() print(response.json())' - lang: JavaScript label: Node.js fetch source: "const response = await fetch(\"https://apibara.tech/api/v1/vehicle-auction/vehicles/{slugVin}/shipping\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"X-API-Key\": process.env.APIBARA_API_KEY,\n },\n});\nif (!response.ok) throw new Error(`HTTP ${response.status}`);\nconsole.log(await response.json());" /shipping/auction-to-port: get: tags: - Shipping summary: Get auction-to-port shipping prices description: Get delivery prices from auction location to one or more destination ports by VIN or lot number. operationId: getAuctionToPortShipping parameters: - name: vin in: query required: false schema: type: string description: Vehicle VIN. example: 5TFLA5DBXTX349827 - name: lot_number in: query required: false schema: type: string description: Auction lot number. example: '78691915' - name: ports in: query required: false schema: type: string description: Comma-separated list of destination ports to return. example: Chicago,NY,Miami,Savannah,Norfolk,Houston,LA,Seattle,Moto_ATV responses: '200': description: Auction-to-port shipping prices. content: application/json: schema: $ref: '#/components/schemas/ShippingResponse' headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '400': description: Bad request. One or more parameters are invalid. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '401': description: Unauthorized. Missing or invalid X-API-Key. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '404': description: Resource not found. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '429': description: API quota exceeded or rate limit reached. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '500': description: Internal server error. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '503': $ref: '#/components/responses/ServiceUnavailable' x-codeSamples: - lang: Shell label: curl source: "curl --request GET \\\n --url \"https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port\" \\\n --header \"Accept: application/json\" \\\n --header \"X-API-Key: ${APIBARA_API_KEY}\"" - lang: Python label: Python httpx source: 'import os, httpx url = "https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port" headers = {"X-API-Key": os.environ["APIBARA_API_KEY"], "Accept": "application/json"} response = httpx.request("GET", url, headers=headers, timeout=30) response.raise_for_status() print(response.json())' - lang: JavaScript label: Node.js fetch source: "const response = await fetch(\"https://apibara.tech/api/v1/vehicle-auction/shipping/auction-to-port\", {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"X-API-Key\": process.env.APIBARA_API_KEY,\n },\n});\nif (!response.ok) throw new Error(`HTTP ${response.status}`);\nconsole.log(await response.json());" components: headers: SubscriptionUsed: description: Requests consumed in the active subscription period. schema: type: integer SubscriptionBaseLimit: description: Base subscription request allowance for the active period. schema: type: integer SubscriptionLimit: description: Total subscription request allowance for the active period. schema: type: integer SubscriptionPeriodStart: description: Start of the active subscription quota period. schema: type: string format: date-time SubscriptionPeriodEnd: description: End of the active subscription quota period. schema: type: string format: date-time RateLimitLimit: description: Current short-window request limit when rate limiting applies. schema: type: integer SubscriptionRemaining: description: Requests remaining in the active subscription period. schema: type: integer SubscriptionExtraLimit: description: Additional request allowance applied to the active period. schema: type: integer PerPageLimit: description: Effective maximum page size for the authenticated plan/workflow. schema: type: integer RateLimitRemaining: description: Remaining requests in the current short-window rate-limit bucket. schema: type: integer schemas: ShippingPrice: type: object properties: port: type: string example: Miami price: type: number example: 350 currency: type: string example: USD additionalProperties: true ShippingResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/ShippingPrice' ApiError: type: object additionalProperties: true properties: ok: type: - boolean - 'null' message: type: - string - 'null' error: type: - string - object - array - 'null' errors: type: - object - array - 'null' responses: ServiceUnavailable: description: The service or an upstream dependency is temporarily unavailable. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' content: application/json: schema: $ref: '#/components/schemas/ApiError' ValidationError: description: Request parameters failed validation. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' content: application/json: schema: $ref: '#/components/schemas/ApiError' Forbidden: description: The authenticated key/plan is not allowed to perform this request. headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-Subscription-Limit: $ref: '#/components/headers/SubscriptionLimit' X-Subscription-Base-Limit: $ref: '#/components/headers/SubscriptionBaseLimit' X-Subscription-Extra-Limit: $ref: '#/components/headers/SubscriptionExtraLimit' X-Subscription-Used: $ref: '#/components/headers/SubscriptionUsed' X-Subscription-Remaining: $ref: '#/components/headers/SubscriptionRemaining' X-Subscription-Period-Start: $ref: '#/components/headers/SubscriptionPeriodStart' X-Subscription-Period-End: $ref: '#/components/headers/SubscriptionPeriodEnd' X-Per-Page-Limit: $ref: '#/components/headers/PerPageLimit' content: application/json: schema: $ref: '#/components/schemas/ApiError' securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: Apibara API key. externalDocs: description: Vehicle Auction Data API documentation and AI-readable resources url: https://apibara.tech/en/products/vehicle-auction-data-api/docs x-apibara-machine-readable: product: https://apibara.tech/en/products/vehicle-auction-data-api copart_api: https://apibara.tech/en/products/vehicle-auction-data-api/copart-api iaai_api: https://apibara.tech/en/products/vehicle-auction-data-api/iaai-api coverage: https://apibara.tech/coverage.json performance: https://apibara.tech/performance.json status: https://apibara.tech/status.json ai_facts: https://apibara.tech/ai-facts.json llms: https://apibara.tech/llms.txt llms_full: https://apibara.tech/llms-full.txt x-apibara-ai-resources: llms: https://apibara.tech/llms.txt llmsFull: https://apibara.tech/llms-full.txt aiFacts: https://apibara.tech/ai-facts.json coverage: https://apibara.tech/coverage.json performance: https://apibara.tech/performance.json status: https://apibara.tech/status.json statusHistory: https://apibara.tech/status-history.json mcp: https://apibara.tech/mcp x-apibara-facts: lastVerified: '2026-09-18' indexedRecords: 20000000 indexedRecordsLabel: 20M+ indexedRecordsMeaning: Current and retained historical auction records; not a unique-VIN or unique-vehicle count. supportedVehicleRecords: 3200000 supportedVehicleRecordsLabel: 3.2M+ recordsAddedOrRefreshedDailyApprox: 30000 recordsAddedOrRefreshedDailyLabel: 30K+ generalRefreshMinutes: 15 liveBidRefreshSeconds: min: 10 max: 15 freeRequestsMonthly: 100 paymentCardRequiredForFreeTier: false x-apibara-search: queryControls: 43 searchFilterSyncControls: 40 technicalControls: - cursor - per_page - units pagination: defaultPerPage: 20 planDependent: true publicTierMaxima: - 20 - 30 - 40 customPlansMayDiffer: true auctionSources: - All - Copart - IAAI auctionModes: - All - Timed - Buy Now auctionStates: - Open - Live - Ended incrementalSync: supported: true parameter: updated_within_minutes minimumMinutes: 1 maximumMinutes: 525600 cursorPagination: true zipRadiusSearch: true shippingFilter: true guides: filters: https://apibara.tech/en/vehicle-auction-api-filters incrementalSync: https://apibara.tech/en/vehicle-auction-incremental-sync-api upcoming: parameter: upcoming values: - all - only - without