Route batch jobs to the cheapest spot market instantly.
SpotRoute monitors AWS, Azure, and GCP spot prices to find the most cost-effective regions for interruptible workloads. Perfect for model training, rendering, and ephemeral CI pipelines.
Cache-first response path once sync completes.
Open MVP, protected against naive floods.
AWS Spot, Azure Spot VM, and GCP Spot.
?sku=g4dn.xlarge\\
&baseline_cloud=aws"
Built for spot capacity hunting
Compare tracked AWS Spot, Azure Spot VM, and GCP Spot equivalents before you place a single batch workload.
Fast enough for pipelines
Providers are polled in the background so CI jobs, render queues, and ML launch scripts can make a routing decision immediately.
Public beta, not a gated dashboard
No login or token barrier in the MVP. The endpoint is open for evaluation and guarded with an in-memory per-IP limiter.
Energy scarcity is about to amplify cloud costs.
Due to escalating geopolitical conflicts—specifically the ongoing war involving Iran—global energy markets are facing severe and prolonged instability. The assumption of universally cheap data center power is no longer safe.
As power grids become constrained, hyperscaler compute prices will mechanically increase. To survive the incoming margin squeeze, infrastructure must be able to dynamically route workloads to temporary, spatial pockets of cheap power.
Built for workloads that tolerate interruption but hate overpaying.
Optimized for stateless compute where region choice is flexible and spot variance is worth capturing before every launch.
ML Training
Pick the cheapest GPU market before each run kicks off.
Training models on large parameter spaces heavily relies on high-end clusters like A100s or H100s. Spot availability for these instances is notoriously volatile. Instead of statically locking your workflows to us-east-1, let your orchestrator dynamically seek out idle GPU capacity globally to maximize your engineering runway.
import requests
import os
# Find cheapest p4d.24xlarge region before cluster up
api = "https://spotroute.co/api/v1/best-region?sku=p4d"
res = requests.get(api).json()
print(f"Deploying to {res['region']}...")
os.system(f"ray up cluster.yaml --region {res['region']}")
# Dynamically resolve spot target from SpotRoute
REGION=$(curl -s "https://spotroute...g4dn" | jq -r .region)
aws batch submit-job \
--job-queue "render-$REGION" \
--job-definition "blender-cycles"
Render Queues
Send frames to whichever spot region is cheapest right now.
VFX framing and 3D pipelines involve thousands of independent, stateless rendering tasks. Because they are highly parallelizable but compute-intensive, your farm manager can aggressively shift target render pools to wherever compute drops down to rock bottom, avoiding price spikes on your default deployment region.
CI Runners
Route ephemeral runners to low-cost spot capacity.
Large test suites, integration environments, and building Docker images require substantial momentary compute force. Rather than paying on-demand prices for persistent builder nodes, query SpotRoute to spin up massive ephemeral compute pools globally for pennies on the dollar before kicking off complex GitHub Actions pipelines.
# .github/workflows/ci.yml
jobs:
resolve:
runs-on: ubuntu-latest
outputs:
region: ${{ steps.route.outputs.region }}
steps:
- name: Query SpotRoute
id: route
run: |
R=$(curl -sf "https://spotroute.co/api/v1/best-region?sku=g4dn.xlarge" | jq -r .region)
echo "region=$R">> $GITHUB_OUTPUT
@task
def get_cheapest_spark_region():
res = requests.get("https://spotroute...e2")
return res.json()["region"]
spark_cluster = DataprocCreateClusterOperator(
region=get_cheapest_spark_region(),
cluster_name="ephemeral-spark"
)
Scheduled ETL
Use a preflight API call in cron or Airflow jobs.
Heavy data extraction and transformation pipelines orchestrated by Apache Airflow, dbt, or Dagster usually run asynchronously on a schedule. Because the execution timing and location are flexible, run a lightning-fast preflight routing check to determine the most cost-effective region for your Spark clusters before the heavy crunching begins.
One API call fits into any pipeline.
Paste a SpotRoute call into your existing toolchain. No SDK, no agent, no vendor lock-in. If it can runcurlit can route to the cheapest spot market.
GitHub Actions integration
Before spinning up a self-hosted spot runner, query SpotRoute once to pick the cheapest region and export it as a job output. Downstream steps reference `TARGET_REGION` so your Terraform or AWS CLI calls always land in the optimal market.
No API key needed in the current MVP — just call the endpoint directly.
Response is < 50 ms from cache — safe to call in a pipeline step without adding meaningful latency.
Add baseline_region to get estimated savings back in the same response.
name: Deploy to Cheapest Spot Region
on:
push:
branches: [main]
workflow_dispatch:
jobs:
resolve-region:
name: Resolve cheapest spot region
runs-on: ubuntu-latest
outputs:
region: ${{ steps.route.outputs.region }}
cloud: ${{ steps.route.outputs.cloud }}
steps:
- name: Query SpotRoute
id: route
run: |
RESPONSE=$(curl -sf \
"https://spotroute.co/api/v1/best-region?sku=g4dn.xlarge&clouds=aws")
echo "region=$(echo $RESPONSE | jq -r .region)" >> $GITHUB_OUTPUT
echo "cloud=$(echo $RESPONSE | jq -r .cloud)" >> $GITHUB_OUTPUT
provision:
name: Provision spot runner
needs: resolve-region
runs-on: ubuntu-latest
env:
TARGET_REGION: ${{ needs.resolve-region.outputs.region }}
steps:
- uses: actions/checkout@v4
- name: Launch spot instance
run: |
aws ec2 run-instances \
--region $TARGET_REGION \
--instance-type g4dn.xlarge \
--instance-market-options MarketType=spot \
--image-id ami-0abcdef1234567890 \
--tag-specifications \
'ResourceType=instance,Tags=[{Key=Purpose,Value=ci}]'
- name: Run test suite on spot node
run: ./scripts/run_tests.sh --region $TARGET_REGIONCopy a request and hit the endpoint
Each example shows the public request shape for one spot market. No `Authorization` header is needed in the current MVP. If you want a true multi-cloud cheapest-result lookup, omit the `clouds` filter entirely.
AWS example
Ask for the best region while comparing against an AWS baseline.
curl "https://spotroute.co/api/v1/best-region?sku=g4dn.xlarge&clouds=aws&baseline_cloud=aws&baseline_region=us-east-1"This endpoint is open. Rate limiting is based on source IP, so you can test spot-routing flows without provisioning an account, dashboard, or API key first.
{
"cloud": "aws",
"region": "us-east-1",
"zone": "us-east-1f",
"native_sku": "g4dn.xlarge",
"price_usd": "0.218500",
"stale": false
}sku must exist in the tracked spot-equivalence catalog. Unknown SKUs return `404`.
clouds is optional. Leaving it out lets SpotRoute compare across all enabled spot markets.
baseline_region is optional. It lets the response estimate savings against the region you would otherwise launch in.