Comparison beginner · 3 min read

RunPod spot vs on-demand pricing

Quick answer
RunPod spot instances offer significantly lower prices than on-demand instances by utilizing spare capacity, but they come with the risk of interruptions. On-demand pricing provides stable, guaranteed access at a higher cost, suitable for critical or long-running AI workloads.

VERDICT

Use RunPod spot for cost-sensitive, interruptible AI tasks to maximize savings; use on-demand instances when reliability and uninterrupted access are essential.
OptionKey strengthPricingAvailabilityBest for
RunPod SpotLowest cost, uses spare capacityUp to 70% cheaper than on-demandMay be interrupted or reclaimedBatch jobs, experiments, non-critical tasks
RunPod On-DemandGuaranteed availability and stabilityStandard pricing, higher than spotAlways availableProduction workloads, latency-sensitive tasks
RunPod ReservedLong-term commitment discountsLower than on-demand, higher than spotReserved capacityConsistent heavy usage
RunPod PreemptibleSimilar to spot, short-term useDiscounted pricingCan be interrupted anytimeTesting, flexible workloads

Key differences

RunPod spot instances leverage unused cloud capacity, offering up to 70% cost savings but with the risk of sudden interruptions when capacity is reclaimed. On-demand instances provide stable, uninterrupted access at a higher price, ideal for critical AI workloads. Spot pricing fluctuates based on availability, while on-demand pricing is fixed.

Spot instance example

Here is how to run a job on a RunPod spot instance using the Python SDK, specifying the spot option for cost savings.

python
import os
import runpod

runpod.api_key = os.environ["RUNPOD_API_KEY"]

endpoint = runpod.Endpoint("your-spot-endpoint-id")

result = endpoint.run_sync({
    "input": {
        "prompt": "Generate a summary of AI pricing models",
        "spot": True  # Request spot instance for lower cost
    }
})

print("Output:", result["output"])
output
Output: "RunPod spot instance completed your task with cost savings."

On-demand instance example

To run the same job on a RunPod on-demand instance, omit the spot flag to ensure stable, uninterrupted execution.

python
import os
import runpod

runpod.api_key = os.environ["RUNPOD_API_KEY"]

endpoint = runpod.Endpoint("your-on-demand-endpoint-id")

result = endpoint.run_sync({
    "input": {
        "prompt": "Generate a summary of AI pricing models"
        # No spot flag means on-demand
    }
})

print("Output:", result["output"])
output
Output: "RunPod on-demand instance completed your task reliably."

When to use each

Use spot instances when cost efficiency outweighs the risk of interruptions, such as for batch processing, training experiments, or flexible workloads. Use on-demand instances for production, latency-sensitive, or long-running tasks where reliability is critical.

Use caseRecommended optionReason
Batch training jobsSpotMaximize cost savings with interruptible workloads
Production inferenceOn-demandEnsure stable, uninterrupted service
Experimentation and testingSpotLower cost with flexible timing
Critical real-time applicationsOn-demandGuaranteed availability and performance

Pricing and access

RunPod offers multiple pricing options with API access for all. Spot instances provide the lowest cost but can be interrupted. On-demand instances cost more but guarantee availability. Reserved instances offer discounts for long-term commitments.

OptionFree tierPaidAPI access
SpotNoYes, discountedYes
On-demandNoYes, standard pricingYes
ReservedNoYes, discounted with commitmentYes
PreemptibleNoYes, discountedYes

Key Takeaways

  • RunPod spot instances reduce costs up to 70% but risk interruptions.
  • On-demand instances guarantee availability at a higher price.
  • Use spot for flexible, non-critical workloads and on-demand for production.
  • API supports both spot and on-demand with simple flags.
  • Reserved instances offer a middle ground with discounts for steady use.
Verified 2026-04
Verify ↗