Vast.ai Search API
The Search API from Vast.ai — 3 operation(s) for search.
The Search API from Vast.ai — 3 operation(s) for search.
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