openapi: 3.2.0 info: title: Apibara Copart & IAAI Vehicle Auction Locations 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: Locations description: Auction facility and location search. paths: /locations: get: tags: - Locations summary: List auction locations description: Search Copart and IAAI auction locations by platform, state, facility ID, text query, ZIP, and radius. operationId: listAuctionLocations parameters: - name: platform in: query required: false schema: type: string enum: - iaai - copart description: Auction platform. - name: state in: query required: false schema: type: string description: State code. example: FL - name: facility_id in: query required: false schema: type: string description: Facility ID. example: '136' - name: q in: query required: false schema: type: string description: Search by facility name, city, state code, or ZIP. example: Birmingham - name: zip in: query required: false schema: type: string description: ZIP code for location-based search. example: '33166' - name: radius in: query required: false schema: type: number description: Search radius around ZIP. example: 50 - name: units in: query required: false schema: type: string enum: - km - mi default: mi description: Distance units. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 20 default: 20 description: 'Number of records per page. Maximum: 20.' example: 20 responses: '200': description: Paginated list of auction locations. content: application/json: schema: $ref: '#/components/schemas/LocationsResponse' 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/locations\" \\\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/locations" 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/locations\", {\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: CursorMeta: type: object properties: per_page: type: integer minimum: 1 maximum: 100 example: 20 next_cursor: type: - string - 'null' example: eyJ2ZWhpY2xlcy5hZCI6IjIwMjYtMDctMTMgMTY6MzA6MDAiLCJ2ZWhpY2xlcy51cGRhdGVkX2F0IjoiMjAyNi0wNy0xMSAwODowOToyOSIsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0 prev_cursor: type: - string - 'null' example: null additionalProperties: true description: Cursor pagination metadata. required: - per_page - next_cursor - prev_cursor AuctionLocation: type: object properties: platform: type: string example: copart facility_id: type: string example: '136' name: type: string example: Miami South city: type: string example: Miami state: type: string example: FL zip: type: string example: '33166' latitude: type: number example: 25.7617 longitude: type: number example: -80.1918 additionalProperties: true LocationsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/AuctionLocation' meta: $ref: '#/components/schemas/CursorMeta' required: - data - meta 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