Cloud GPUs APIcloud-gpus.com ↗
Access GPU cloud rental pricing from 30+ providers via the cloud-gpus.com API. On-demand, reserved, and spot offerings with region, price, and availability data.
What is the Cloud GPUs API?
The cloud-gpus.com API exposes GPU rental pricing data from over 30 cloud providers through a single endpoint, get_gpu_pricing. Each response covers thousands of offerings with 8 fields per record — including GPU model, price per GPU-hour, provider name, region, tenor (on-demand, reserved, or spot), GPU count, availability status, and whether the listed price is a starting price.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/30076f01-f6ab-4bd9-aff0-cccebad936b9/get_gpu_pricing' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cloud-gpus-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Cloud GPUs pricing SDK — browse GPU rental offerings."""
from parse_apis.cloud_gpus_com_api import CloudGpus, ParseError
client = CloudGpus()
# Fetch a bounded slice of all GPU cloud offerings
try:
for offering in client.offerings.list(limit=10):
print(
f"{offering.provider:12s} | {offering.gpu_model:20s} x{offering.gpu_count} "
f"| ${offering.price_per_hour:.2f}/hr | {offering.tenor:10s} | "
f"regions={offering.region} | available={offering.availability}"
)
except ParseError as e:
# Site layout may change; surface the structured error code
print(f"Extraction failed ({e.code}): {e}")
# Drill into the cheapest single result
cheapest = client.offerings.list(limit=1).first()
if cheapest is not None:
print(
f"\nFirst offering: {cheapest.gpu_model} from {cheapest.provider} "
f"at ${cheapest.price_per_hour:.4f}/GPU-hr ({cheapest.tenor}), "
f"from_price={cheapest.is_from_price}"
)
print("\nexercised: offerings.list")
Returns all GPU cloud rental offerings from cloud-gpus.com. Each offering includes the GPU model, price per GPU-hour, GPU count, provisioning tenor, region availability, and availability status. Data is extracted from the site's embedded compressed dataset which contains thousands of instance configurations across 30+ providers. One request fetches the complete dataset; no pagination required.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer count of offerings returned",
"offerings": "array of GPU offering objects with gpu_model, price_per_hour, gpu_count, tenor, region, availability, provider, is_from_price"
},
"sample": {
"data": {
"total": 1827,
"offerings": [
{
"tenor": "reserved",
"region": [
"IN"
],
"provider": "AceCloud",
"gpu_count": 1,
"gpu_model": "A100 80GB SXM",
"availability": "unknown",
"is_from_price": false,
"price_per_hour": 1.7224
},
{
"tenor": "on-demand",
"region": [
"IL"
],
"provider": "Nebius",
"gpu_count": 8,
"gpu_model": "B200",
"availability": "unknown",
"is_from_price": false,
"price_per_hour": 7.15
},
{
"tenor": "spot",
"region": [
"GB"
],
"provider": "Vast.ai",
"gpu_count": 1,
"gpu_model": "A100 80GB PCIe",
"availability": "available",
"is_from_price": false,
"price_per_hour": 0.175222
}
]
},
"status": "success"
}
}About the Cloud GPUs API
What get_gpu_pricing Returns
The get_gpu_pricing endpoint takes no input parameters and returns a complete snapshot of GPU cloud rental offerings aggregated from cloud-gpus.com. The response includes a total integer (the count of offerings in the current dataset) and an offerings array. Each object in that array contains gpu_model (e.g. A100, H100, RTX 4090), price_per_hour as a numeric value in USD per GPU-hour, gpu_count indicating how many GPUs the offering covers, and tenor which distinguishes on-demand, reserved, and spot pricing tiers.
Fields for Filtering and Comparison
Each offering also carries provider (the cloud vendor name), region (geographic availability), availability (whether the instance is currently available), and is_from_price — a boolean indicating whether the price is a minimum/starting figure rather than a fixed rate. These fields give enough signal to build GPU price comparison tools, budget estimators, or availability monitors without any secondary lookups.
Coverage and Freshness
The dataset reflects the offerings listed on cloud-gpus.com at the time of the request, spanning 30+ providers including both major hyperscalers and specialized GPU cloud vendors. Because the endpoint returns all offerings in one call with no filtering parameters, clients should handle filtering and sorting on their end. There is no pagination — the full dataset comes back in a single response.
The Cloud GPUs API is a managed, monitored endpoint for cloud-gpus.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cloud-gpus.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cloud-gpus.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Compare on-demand vs. spot GPU pricing across 30+ providers for a given GPU model like H100 or A100
- Build a GPU availability monitor that alerts when a specific region or provider shows stock
- Estimate training or inference costs by multiplying
price_per_hourbygpu_countfor candidate offerings - Track price trends over time by storing snapshots of
offeringsand diffing onproviderandgpu_model - Filter reserved vs. on-demand offerings by
tenorto identify long-term cost savings - Populate a GPU cloud comparison table in an internal tooling dashboard for ML infrastructure teams
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does cloud-gpus.com have an official developer API?+
What does the `is_from_price` field mean?+
is_from_price is true, the price_per_hour value represents the lowest available starting price for that offering configuration rather than a single fixed rate. This is common for providers that vary pricing by region or configuration tier. You should treat those entries as floor prices, not exact quotes.Can I filter results by provider or GPU model before they are returned?+
get_gpu_pricing takes no input parameters — it always returns the full dataset. Filtering by provider, gpu_model, region, tenor, or any other field needs to be done client-side after receiving the response.