Partner with us
Developer tools — OpenLink CLI

The entire platform, from your terminal

Search 20,000+ GPUs, launch containers on bare metal, and drive the API gateway — one command surface, scriptable end to end.

openlink — bash
$ openlink search offers 'gpu_name=H200 num_gpus>=4 reliability>0.99' -o dph --limit 4

ID       GPU              NUM  VRAM    $/HR   PERF   REGION
847291   H200             4    564GB   $3.53  99.1   US-West
851003   B200             4    768GB   $4.95  99.4   US-East
849177   RTX PRO 6000 WS  8    768GB   $1.07  97.8   EU-West
843320   RTX 5090         8    256GB   $0.41  96.2   US-Central

$ openlink create instance 847291 --image nvcr.io/nvidia/pytorch:24.01-py3 --disk 128 --ssh
{"success": true, "instance_id": 9841205}
01 — Search

Find capacity

Query the marketplace by GPU model, VRAM, price, reliability, region, interconnect and 20+ other fields. Sort by performance-per-dollar.

02 — Deploy

Launch workloads

Run any Docker image on bare-metal GPUs. Pass environment variables, expose ports, mount volumes. SSH and Jupyter included.

03 — Manage

Operate everything

Instances, volumes, templates, API keys, billing and gateway usage — all from one command surface, all scriptable.

Install

Running in under a minute

install
$ pip install openlink
$ openlink set api-key YOUR_API_KEY
✓ Authenticated as acme-labs

Requires Python 3.9+. Also available via pipx for an isolated install, and as a static binary for CI runners.

How it works

Search, deploy, monitor, tear down

Step 01

Search the marketplace

Prices move with supply and demand. Filter on the fields that matter to your job, then sort by dollars-per-hour or by performance-per-dollar.

search
$ openlink search offers 'gpu_name=RTX_5090 num_gpus>=8' -o dph

ID       GPU        NUM  VRAM    $/HR   REGION
843320   RTX 5090   8    256GB   $0.41  US-Central
843471   RTX 5090   8    256GB   $0.44  EU-West
845902   RTX 4090   8    192GB   $0.35  US-East
Step 02

Deploy your container

Any public or private registry image runs on bare metal. Mount volumes, expose ports, inject secrets, and get a direct SSH endpoint back.

deploy
$ openlink create instance 843320 \
    --image nvcr.io/nvidia/pytorch:24.01-py3 \
    --disk 128 --ssh --direct \
    --env HF_TOKEN=$HF_TOKEN

{"success": true, "instance_id": 9841205}
ssh root@ssh4.openlink.ai -p 41022
Step 03

Monitor and manage

Check status, stream logs, exec into a running container, and destroy the instance the second the job finishes. Nothing bills while nothing runs.

manage
$ openlink show instances

ID        GPU            STATUS   IMAGE                  $/HR
9841205   8x RTX 5090    running  pytorch:24.01-py3      $0.41

$ openlink logs 9841205 --tail 3
epoch 12/40  loss 1.284  lr 3.0e-4  12.4k tok/s

$ openlink destroy instance 9841205
✓ Destroyed. Billed 4h 12m — $1.72
Capabilities

What the CLI covers

20+ filter fields

GPU model, VRAM, price, reliability, region, bandwidth, compute capability, interconnect and more.

Any Docker image

Public or private registries. PyTorch, TensorFlow, vLLM, custom images — whatever your job needs.

Spot and on-demand

Bid on interruptible capacity, or reserve on-demand. RTX 4090 from $0.35/hr.

SSH and Jupyter

Direct SSH into the container, or launch a notebook with --jupyter and get a signed URL.

File transfer

openlink copy moves datasets and checkpoints between instances, or to and from local.

Scripting-first

Every command takes --raw for clean JSON. Pipe to jq, wire into CI, automate the whole loop.

Pricing

Set by supply and demand

GPUs from $0.35/hr — 20,000+ available

Transparent, programmatically queryable, no contracts and no minimums.

View pricing
FAQ

Common questions

How do I install the OpenLink CLI?
Run pip install openlink on Python 3.9 or newer, then authenticate with openlink set api-key YOUR_API_KEY. For an isolated install use pipx install openlink. A static binary is available for CI runners that have no Python.
Can the CLI be used in scripts and CI jobs?
Yes. Every command accepts --raw and returns JSON on stdout with a non-zero exit code on failure, so it composes with jq and standard shell tooling. Authenticate in CI by setting OPENLINK_API_KEY as an environment variable instead of writing a config file.
Does the CLI cover the API gateway as well as GPUs?
Yes. Alongside compute, it lists available models, checks routing and latency, and reports token spend across providers — the same data the dashboard shows, in a form you can pipe.
Where can I find every command?
Run openlink --help for the full command tree, or openlink <command> --help for flags on any subcommand. The complete reference lives in the docs.

Deploy your first GPU in 60 seconds

No contracts, no minimums. Get an API key and start building.