Vast.ai Search API

The Search API from Vast.ai — 3 operation(s) for search.

OpenAPI Specification

vast-ai-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Vast.ai Accounts Search API
  description: API for managing cloud GPU instances, volumes, and resources on Vast.ai
  version: 1.0.0
  contact:
    name: Vast.ai Support
    url: https://discord.gg/hSuEbSQ4X8
servers:
- url: https://console.vast.ai
  description: Production API server
security:
- bearerAuth: []
tags:
- name: Search
paths:
  /api/v0/template/:
    get:
      summary: search templates
      description: 'Searches for templates based on query parameters and retrieves matching templates.


        CLI Usage: vast search templates'
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search query string to match against template fields.
      - name: select_filters
        in: query
        required: false
        schema:
          type: object
        description: Filters to apply on the search results.
      - name: order_by
        in: query
        required: false
        schema:
          type: string
        description: Column to order the results by.
      security:
      - BearerAuth: []
      responses:
        '200':
          description: Successfully retrieved templates
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - templates_found
                - templates
                properties:
                  success:
                    type: boolean
                    example: true
                  templates_found:
                    type: integer
                    description: Number of templates found.
                    example: 5
                  templates:
                    type: array
                    description: List of templates matching the search criteria.
                    items:
                      $ref: '#/components/schemas/Template'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: API requests too frequent endpoint threshold=3.0
      tags:
      - Search
  /api/v0/benchmarks/:
    get:
      summary: search benchmarks
      description: 'Retrieve benchmark data based on search parameters.


        CLI Usage: vast-ai search benchmarks'
      security:
      - BearerAuth: []
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
        description: Search query string to filter benchmarks.
        example: score>1000
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contract_id:
                      type: integer
                      description: ID of instance/contract reporting benchmark
                    id:
                      type: integer
                      description: Benchmark unique ID
                    image:
                      type: string
                      description: Image used for benchmark
                    last_update:
                      type: number
                      format: float
                      description: Date of benchmark
                    machine_id:
                      type: integer
                      description: ID of machine benchmarked
                    model:
                      type: string
                      description: Name of model used in benchmark
                    name:
                      type: string
                      description: Name of benchmark
                    num_gpus:
                      type: integer
                      description: Number of GPUs used in benchmark
                    score:
                      type: number
                      format: float
                      description: Benchmark score result
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: API requests too frequent endpoint threshold=3.0
      tags:
      - Search
  /api/v0/search/asks/:
    put:
      summary: search offers
      description: 'Search for available GPU machine offers with advanced filtering and sorting.

        Default filters applied unless --no-default: - verified: true - external: false - rentable: true - rented: false

        CLI Usage Examples: ``` vast search offers ''reliability > 0.99 num_gpus>=4'' vast search offers ''gpu_name=RTX_3090'' --order=dph_total vast search offers ''cuda_vers>=11.0'' --no-default ```'
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                select_cols:
                  type: array
                  items:
                    type: string
                  example:
                  - '*'
                  description: Columns to select, defaults to all
                q:
                  type: object
                  properties:
                    verified:
                      type: object
                      description: Machine verification status
                      example:
                        eq: true
                    rentable:
                      type: object
                      description: Whether machine is rentable
                      example:
                        eq: true
                    external:
                      type: object
                      description: External machine status
                      example:
                        eq: false
                    rented:
                      type: object
                      description: Current rental status
                      example:
                        eq: false
                    order:
                      type: array
                      items:
                        type: array
                        items:
                          type: string
                      description: Sort fields and directions
                      example:
                      - - dph_total
                        - asc
                    type:
                      type: string
                      enum:
                      - on-demand
                      - bid
                      - reserved
                      description: Contract type filter
                    limit:
                      type: integer
                      description: Max results to return
                    disable_bundling:
                      type: boolean
                      description: Disable offer bundling
                    allocated_storage:
                      type: number
                      description: Required storage in GB
                    reliability2:
                      type: object
                      description: Machine reliability score (0-1)
                      example:
                        gt: 0.98
                    num_gpus:
                      type: object
                      description: Number of GPUs
                      example:
                        gte: 4
                    gpu_name:
                      type: object
                      description: GPU model name
                      example:
                        eq: RTX 3090
                    cuda_max_good:
                      type: object
                      description: Maximum CUDA version
                      example:
                        gte: 11.0
                    gpu_ram:
                      type: object
                      description: GPU memory in MB
                      example:
                        gte: 24000
                    dlperf_per_dphtotal:
                      type: object
                      description: DLPerf per dollar per hour
                      example:
                        gt: 50.0
                    inet_down:
                      type: object
                      description: Download bandwidth (MB/s)
                      example:
                        gt: 100.0
                    inet_up:
                      type: object
                      description: Upload bandwidth (MB/s)
                      example:
                        gt: 100.0
                    direct_port_count:
                      type: object
                      description: Number of direct ports
                      example:
                        gt: 1
                    geolocation:
                      type: object
                      description: Machine location (two letter country code)
                      example:
                        in:
                        - TW
                        - SE
                    bw_nvlink:
                      type: object
                      description: Bandwidth NVLink
                      example:
                        gt: 100.0
                    compute_cap:
                      type: object
                      description: CUDA compute capability*100 (650 for 6.5, 700 for 7.0)
                      example:
                        gte: 700
                    cpu_arch:
                      type: object
                      description: Host machine CPU architecture (e.g. amd64, arm64)
                      example:
                        eq: amd64
                    cpu_cores:
                      type: object
                      description: Number of virtual CPUs
                      example:
                        gte: 8
                    cpu_ghz:
                      type: object
                      description: CPU clock speed in GHz
                      example:
                        gt: 3.0
                    datacenter:
                      type: object
                      description: Show only datacenter offers
                      example:
                        eq: true
                    disk_bw:
                      type: object
                      description: Disk read bandwidth in MB/s
                      example:
                        gt: 500
                    dlperf:
                      type: object
                      description: Deep Learning performance score
                      example:
                        gt: 20.0
                    dlperf_usd:
                      type: object
                      description: DLPerf per dollar
                      example:
                        gt: 10.0
                    driver_version:
                      type: object
                      description: NVIDIA driver version as 3 digit string
                      example:
                        gte: 535.86.05
                    duration:
                      type: object
                      description: Maximum rental duration in days
                      example:
                        gte: 30
                    flops_usd:
                      type: object
                      description: TFLOPs per dollar
                      example:
                        gt: 1.0
                    gpu_arch:
                      type: object
                      description: Host machine GPU architecture (e.g. nvidia, amd)
                      example:
                        eq: nvidia
                    gpu_max_power:
                      type: object
                      description: GPU power limit in watts
                      example:
                        lte: 300
                    gpu_max_temp:
                      type: object
                      description: GPU temperature limit in Celsius
                      example:
                        lte: 85
                    gpu_mem_bw:
                      type: object
                      description: GPU memory bandwidth in GB/s
                      example:
                        gt: 500
                    gpu_total_ram:
                      type: object
                      description: Total GPU RAM across all GPUs in GB
                      example:
                        gte: 48
                    gpu_frac:
                      type: object
                      description: Ratio of GPUs in offer to GPUs in system
                      example:
                        eq: 1.0
                    gpu_display_active:
                      type: object
                      description: Whether GPU has a display attached
                      example:
                        eq: false
                    has_avx:
                      type: object
                      description: CPU supports AVX instruction set
                      example:
                        eq: true
                    pci_gen:
                      type: object
                      description: PCIe generation
                      example:
                        gte: 4
                    storage_cost:
                      type: object
                      description: Storage cost in $/GB/month
                      example:
                        lte: 0.1
                    static_ip:
                      type: object
                      description: Whether the IP address is static/stable
                      example:
                        eq: true
                    total_flops:
                      type: object
                      description: Total TFLOPs from all GPUs
                      example:
                        gt: 100
                    ubuntu_version:
                      type: object
                      description: Host machine Ubuntu OS version
                      example:
                        eq: '20.04'
                    vms_enabled:
                      type: object
                      description: Whether the machine is a VM instance
                      example:
                        eq: false
                    machine_id:
                      type: object
                      description: Filter by specific host machine ID
                      example:
                        eq: 12345
      responses:
        '200':
          description: Successful search response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  offers:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique offer ID
                        cuda_max_good:
                          type: number
                          description: Maximum CUDA version
                        num_gpus:
                          type: integer
                          description: Number of GPUs
                        gpu_name:
                          type: string
                          description: GPU model name
                        pcie_bw:
                          type: number
                          description: PCIe bandwidth
                        cpu_cores_effective:
                          type: number
                          description: Available CPU cores
                        cpu_ram:
                          type: number
                          description: RAM in GB
                        disk_space:
                          type: number
                          description: Storage space in GB
                        dph_total:
                          type: number
                          description: Total dollars per hour
                        dlperf:
                          type: number
                          description: Deep learning performance score
                        dlperf_per_dphtotal:
                          type: number
                          description: DLPerf per dollar per hour
                        inet_up:
                          type: number
                          description: Upload bandwidth (MB/s)
                        inet_down:
                          type: number
                          description: Download bandwidth (MB/s)
                        reliability2:
                          type: number
                          description: Reliability score (0-1)
                        verified:
                          type: boolean
                          description: Verification status
                        rentable:
                          type: boolean
                          description: Rental availability
                        rented:
                          type: boolean
                          description: Current rental status
                        machine_id:
                          type: integer
                          description: Host machine ID
                        geolocation:
                          type: string
                          description: Geographic location
                        direct_port_count:
                          type: integer
                          description: Number of direct ports
                        max_bid:
                          type: number
                          description: Maximum bid allowed
                        min_bid:
                          type: number
                          description: Minimum bid required
                        bw_nvlink:
                          type: number
                          description: NVLink bandwidth
                        compute_cap:
                          type: integer
                          description: CUDA compute capability
                        cpu_arch:
                          type: string
                          description: CPU architecture
                        gpu_arch:
                          type: string
                          description: GPU architecture
                        driver_version:
                          type: string
                          description: NVIDIA driver version
                        ubuntu_version:
                          type: string
                          description: Ubuntu OS version
        '400':
          description: Bad request - invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Search
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
        msg:
          type: string
    Template:
      type: object
      properties:
        id:
          type: integer
          description: Template ID
        name:
          type: string
          description: Template name
        image:
          type: string
          description: Docker image name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: API key must be provided as a query parameter