Bring Your Own Keys

Connect Your GPU Accounts.
We Find the Cheapest Option.

Add your RunPod, Lambda, Vast.ai, TensorDock API keys. Submit a job and we route it to the cheapest available GPU across all your providers.
Your keys. Your accounts. Your billing. We just make it smarter.

terminal
$ pip install harvestgpu
Successfully installed harvestgpu-1.0.0
 
>>> from harvestgpu import HarvestGPU
>>> gpu = HarvestGPU(api_key="hg_live_...")
 
>>> job = gpu.run(
    gpu="H100",
    image="pytorch/pytorch:latest",
    command="python train.py",
)
 
>>> print(job.provider, job.cost_per_hour)
runpod $2.86/hr
LIVE GPU PRICES
T4 $0.19/hr mock
RTX 3090 $0.29/hr mock
RTX 4090 $0.44/hr mock
A10G $0.79/hr mock
A6000 $0.89/hr mock
L40S $1.19/hr mock
A100 $1.29/hr mock
H100 $2.49/hr mock
H200 $3.99/hr mock
T4 $0.19/hr mock
RTX 3090 $0.29/hr mock
RTX 4090 $0.44/hr mock
A10G $0.79/hr mock
A6000 $0.89/hr mock
L40S $1.19/hr mock
A100 $1.29/hr mock
H100 $2.49/hr mock
H200 $3.99/hr mock

How It Works

Three steps. You keep full control of your provider accounts.

01
🔑

Connect Your Accounts

Add your RunPod, Lambda, Vast.ai, or TensorDock API keys in the dashboard.

You stay in control of billing with each provider.

02
🚀

Submit a Job

Tell us what GPU you need, your image, and your command. One API for all your providers.

03

We Route Smart

We find the cheapest available GPU across all your connected providers and launch instantly.

Supported Providers

Connect your accounts with any of these GPU clouds. We route across all of them.

HarvestGPU Mock

Built-in simulated provider. Simulates real GPU job lifecycle.

Connected

Works With Everything You Already Use

from harvestgpu import HarvestGPU

gpu = HarvestGPU(api_key="hg_live_...")

# Find cheapest H100
job = gpu.run(
    gpu="H100",
    image="pytorch/pytorch:latest",
    command="python train.py",
    budget_max=2.50,
)

print(f"Running on {job.provider} at ${job.cost_per_hour}/hr")
# Running on runpod at $2.86/hr
# Install
$ pip install harvestgpu

# Authenticate
$ harvestgpu auth login --key hg_live_...

# Launch a job
$ harvestgpu run --gpu H100 \
    --image pytorch/pytorch:latest \
    --command "python train.py"

Job abc123 started on runpod (H100) at $2.86/hr

# Check status
$ harvestgpu jobs status abc123
Status: running | Runtime: 1h 23m | Cost: $3.95
# Submit a job
$ curl -X POST https://api.harvestgpu.dev/api/v1/jobs \
  -H "Authorization: Bearer hg_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "gpu": "H100",
    "image": "pytorch/pytorch:latest",
    "command": "python train.py",
    "priority": "cost"
  }'

# Response
{
  "status": "ok",
  "data": {
    "job_id": "abc123",
    "provider": "RunPod",
    "cost_per_hour": 2.86,
    "status": "running"
  }
}
0
Jobs Routed
3+
GPU Models
1
Cloud Providers
1
Developers

Your Keys. Your Accounts. Smarter Routing.

Connect your GPU provider accounts in 30 seconds. We find the cheapest option across all of them.

Get Started — Free