Apibara.tech Shipping API

Auction-to-port delivery prices.

Operations 2

GET /vehicles/{slugVin}/shipping Get shipping prices for a vehicle #
GET /shipping/auction-to-port Get auction-to-port shipping prices #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apibara-tech:apibara-tech-shipping-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

apibara-tech-shipping-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Apibara Copart & IAAI Vehicle Auction Shipping API
  description: 'Structured JSON API for Copart and IAAI vehicle auction data. Search auction vehicles, retrieve VIN and lot details, photos, prices, auction status, sale history, related vehicles, filters, locations, usage information, image proxy responses, and auction-to-port shipping prices.


    Canonical public facts: 20M+ lifetime/cumulative indexed auction records; 3.9M+ supported vehicle records represented in the dataset; approximately 30K+ records added or refreshed daily; supported price/status refresh up to 15 minutes and often sooner; supported live-bid refresh about 10–15 seconds. Indexed records are not a unique-VIN count; source-dependent fields can be null.'
  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-10-04'
    lifetimeIndexedRecords: 20000000
    lifetimeIndexedRecordsLabel: 20M+
    lifetimeIndexedRecordsScope: lifetime_cumulative
    lifetimeIndexedRecordsMeaning: Lifetime/cumulative records indexed over time; not the current retained dataset and not a unique-VIN or unique-vehicle count.
    retainedDatasetSnapshot:
      measuredAt: '2026-10-19T19:30:03Z'
      currentSupportedVehicleRecords: 3931808
      retainedHistoricalAuctionRecords: 5696512
      currentPlusRetainedRecords: 9628320
    supportedVehicleRecords: 3931808
    supportedVehicleRecordsLabel: 3.9M+
    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. Accepts a 17-character VIN, canonical lot number, Apibara slug_vin returned by list responses, or an IAAI source stock number in 1110xxxxxxxx form. IAAI 1110xxxxxxxx is normalized to the canonical 8-digit lot number.
        example: WBAVL1C58FVY28848 or 46045959 or 111046045959
      - 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());"
      x-agentic-access:
        action-class: connected
        consequence: read
        subject: optional
        token:
          max-ttl: 3600
        audit: none
  /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());"
      x-agentic-access:
        action-class: connected
        consequence: read
        subject: optional
        token:
          max-ttl: 3600
        audit: none
components:
  headers:
    SubscriptionExtraLimit:
      description: Additional request allowance applied to the active period.
      schema:
        type: integer
    SubscriptionPeriodStart:
      description: Start of the active subscription quota period.
      schema:
        type: string
        format: date-time
    RateLimitRemaining:
      description: Remaining requests in the current short-window rate-limit bucket.
      schema:
        type: integer
    SubscriptionBaseLimit:
      description: Base subscription request allowance for the active period.
      schema:
        type: integer
    PerPageLimit:
      description: Effective maximum page size for the authenticated plan/workflow.
      schema:
        type: integer
    SubscriptionPeriodEnd:
      description: End of the active subscription quota period.
      schema:
        type: string
        format: date-time
    SubscriptionUsed:
      description: Requests consumed in the active subscription period.
      schema:
        type: integer
    SubscriptionRemaining:
      description: Requests remaining in the active subscription period.
      schema:
        type: integer
    SubscriptionLimit:
      description: Total subscription request allowance for the active period.
      schema:
        type: integer
    RateLimitLimit:
      description: Current short-window request limit when rate limiting applies.
      schema:
        type: integer
  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'
    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'
    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'
  schemas:
    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'
    ShippingResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ShippingPrice'
    ShippingPrice:
      type: object
      properties:
        port:
          type: string
          example: Miami
        price:
          type: number
          example: 350
        currency:
          type: string
          example: USD
      additionalProperties: true
  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-10-04'
  lifetimeIndexedRecords: 20000000
  lifetimeIndexedRecordsLabel: 20M+
  lifetimeIndexedRecordsScope: lifetime_cumulative
  lifetimeIndexedRecordsMeaning: Lifetime/cumulative records indexed over time; not the current retained dataset and not a unique-VIN or unique-vehicle count.
  retainedDatasetSnapshot:
    measuredAt: '2026-10-19T19:30:03Z'
    currentSupportedVehicleRecords: 3931808
    retainedHistoricalAuctionRecords: 5696512
    currentPlusRetainedRecords: 9628320
  supportedVehicleRecords: 3931808
  supportedVehicleRecordsLabel: 3.9M+
  recordsAddedOrRefreshedDailyApprox: 30000
  recordsAddedOrRefreshedDailyLabel: 30K+
  generalRefreshMinutes: 15
  liveBidRefreshSeconds:
    min: 10
    max: 15
  freeRequestsMonthly: 100
  paymentCardRequiredForFreeTier: false
x-apibara-search:
  queryControls: 49
  searchFilterSyncControls: 45
  technicalControls:
  - cursor
  - per_page
  - units
  - include_total
  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
    preferred: durable_change_stream
    durableChangeStream:
      endpoint: /changes
      cursorParameter: after
      responseCursor: meta.next_cursor
      ordering: sequence_asc
      retentionDaysBeta: 14
      cursorExpiredStatus: 410
      cursorExpiredCode: cursor_expired
      terminalEvents:
      - lot.sold
      - lot.not_sold
      - lot.removed
    recentRecordReconciliation:
      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
x-apibara-agentic-access:
  provider_published: true
  operations: 13
  read_operations: 13
  write_operations: 0
  note: The current Vehicle Auction Data API contract is data-access oriented. Operation-level x-agentic-access is authoritative for agent execution semantics.
x-provenance:
  method: harvested
  publisher: Apibara.tech
  source: https://apibara.tech/openapi/v1.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)