The official Vast.ai Python package — provides both the CLI and SDK for managing Vast.ai GPU cloud resources, plus a serverless client for endpoint inference.
pip install vastaiNote:
pip install vastai-sdkalso works and installs the same package. Both package names are supported for backward compatibility.
-
Get your API key from https://cloud.vast.ai/manage-keys/
-
Set your API key:
vastai set api-key YOUR_API_KEY- Test a search:
vastai search offers --limit 3You should see a short list of available GPU offers.
The vastai command provides full access to the Vast.ai platform from your terminal:
vastai search offers 'gpu_name=RTX_4090 num_gpus>=4'
vastai create instance 12345 --image pytorch/pytorch --disk 32 --ssh --direct
vastai show instances
vastai stop instance 12345
vastai destroy instance 12345Run vastai --help for a full list of commands. You can also use --help on any subcommand:
vastai search offers --help
vastai create instance --helpfrom vastai import VastAI
vast = VastAI() # uses VAST_API_KEY env var, or pass api_key="..."
vast.search_offers(query='gpu_name=RTX_4090 num_gpus>=4')
vast.show_instances()
vast.start_instance(id=12345)
vast.stop_instance(id=12345)Use help(vast.search_offers) to view documentation for any method.
Migrating from
vastai-sdk? The old import still works:from vastai_sdk import VastAI
- Create the client
from vastai import Serverless
serverless = Serverless() # or, Serverless("YOUR_API_KEY")- Get an endpoint
endpoint = await serverless.get_endpoint("my-endpoint")- Make a request
request_body = {
"model": "Qwen/Qwen3-8B",
"prompt" : "Who are you?",
"max_tokens" : 100,
"temperature" : 0.7
}
response = await serverless.request("/v1/completions", request_body)- Read the response
text = response["response"]["choices"][0]["text"]
print(text)Find more examples in the examples/ directory.
Tab completion is supported in Bash and Zsh via argcomplete (installed automatically). To enable it:
activate-global-python-argcompleteOr for a single session:
eval "$(register-python-argcomplete vastai)"This repository is open source. If you find a bug, please open an issue. PRs are welcome.