Apibara.tech Locations API

Auction facility and location search.

Operations 1

GET /locations List auction locations #

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-locations-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-locations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Apibara Copart & IAAI Vehicle Auction Locations 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: 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());"
      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
  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
        has_more:
          type: boolean
          description: True when next_cursor is available.
        total:
          type:
          - integer
          - 'null'
          minimum: 0
          description: Exact filtered row count when include_total=true; otherwise null.
        total_is_exact:
          type:
          - boolean
          - 'null'
          description: True when total was requested and computed exactly.
        applied_filters:
          type: object
          additionalProperties: true
          description: Normalized/requested filters applied to this list query.
        unknown_filters:
          type: array
          items:
            type: string
          description: Unrecognized query keys. Non-empty means the client sent parameters outside the supported contract.
      additionalProperties: true
      description: Cursor pagination metadata.
      required:
      - per_page
      - next_cursor
      - prev_cursor
    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'
    LocationsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AuctionLocation'
        meta:
          $ref: '#/components/schemas/CursorMeta'
      required:
      - data
      - meta
    AuctionLocation:
      type: object
      properties:
        platform:
          type: string
          enum:
          - copart
          - iaai
          example: iaai
        facility_id:
          type: integer
          example: 794
        name:
          type: string
          example: Mobile
        name_desc:
          type:
          - string
          - 'null'
          example: Mobile
        city:
          type:
          - string
          - 'null'
          example: Mobile
        state_code:
          type:
          - string
          - 'null'
          example: AL
        state_name:
          type:
          - string
          - 'null'
          example: ALABAMA
        country_code:
          type:
          - string
          - 'null'
          example: US
        country_name:
          type:
          - string
          - 'null'
          example: United States
        zip:
          type:
          - string
          - 'null'
          example: '36618'
        address1:
          type:
          - string
          - 'null'
          example: 3600 Desirrah Dr S
        address2:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
          example: 251-650-2540
        latitude:
          type:
          - number
          - 'null'
          example: 30.71475
        longitude:
          type:
          - number
          - 'null'
          example: -88.1255
        location_url:
          type:
          - string
          - 'null'
          example: /us/Locations/794
        sale_day:
          type:
          - string
          - 'null'
        sale_time:
          type:
          - string
          - 'null'
        time_zone:
          type:
          - string
          - 'null'
        today_auction_count:
          type: integer
          minimum: 0
        distance:
          type:
          - number
          - 'null'
      additionalProperties: true
  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'
  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)