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