Nebius APInebius.com ↗
Retrieve GPU cloud rental pricing from Nebius AI Cloud. Get on-demand and spot per-GPU-hour rates for every listed GPU model via a single endpoint.
What is the Nebius API?
The Nebius AI Cloud GPU Pricing API exposes all GPU offerings listed on nebius.com/prices through a single endpoint, get_gpu_pricing, returning 7 structured fields per offering including GPU model, tenor, region, availability, and USD per-GPU-hour price. Both on-demand and spot (preemptible) price tiers are returned for each GPU model, with null values clearly flagged for models that carry a price-on-request rather than a published numeric rate.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/8882c999-b80e-40c1-bb79-d718c9f95690/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 nebius-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: Nebius AI Cloud GPU Pricing — list all GPU offerings."""
from parse_apis.nebius_com_api import Nebius, ParseError
client = Nebius()
# Fetch GPU offerings and display pricing details
try:
for offering in client.offerings.list(limit=10):
price = f"${offering.price_per_hour:.2f}/hr" if offering.price_per_hour is not None else offering.availability
print(f"{offering.gpu_model} ({offering.tenor}): {price}")
except ParseError as e:
print(f"Failed to retrieve pricing: {e.code}")
print("exercised: offerings.list")
Returns every GPU offering listed on Nebius AI Cloud pricing page. Each GPU model produces two records: one for spot (preemptible) pricing and one for on-demand pricing. Prices are USD per single GPU-hour. Models without a published numeric price have price_per_hour as null with availability indicating the reason (unavailable or contact_us). No pagination; returns all offerings in one call.
No input parameters required.
{
"type": "object",
"fields": {
"offerings": "array of GPU offering objects with gpu_model, price_per_hour, gpu_count, tenor, region, availability, and is_from_price"
},
"sample": {
"data": {
"offerings": [
{
"tenor": "spot",
"region": null,
"gpu_count": 1,
"gpu_model": "NVIDIA HGX B300",
"availability": "available",
"is_from_price": false,
"price_per_hour": 4.3
},
{
"tenor": "on-demand",
"region": null,
"gpu_count": 1,
"gpu_model": "NVIDIA HGX B300",
"availability": "available",
"is_from_price": false,
"price_per_hour": 7.85
},
{
"tenor": "spot",
"region": null,
"gpu_count": 1,
"gpu_model": "NVIDIA L40S with Intel CPU",
"availability": "available",
"is_from_price": true,
"price_per_hour": 0.9
}
]
},
"status": "success"
}
}About the Nebius API
What the API returns
The get_gpu_pricing endpoint returns an array of GPU offering objects from the Nebius AI Cloud pricing page. Each GPU model appears as two records — one for on-demand pricing and one for spot (preemptible) pricing — so you always get a direct side-by-side comparison of both tenors in a single response. There are no required input parameters; one call returns the full dataset.
Response fields
Each object in the offerings array includes: gpu_model (the GPU identifier, e.g. H100 or A100 variant), price_per_hour (USD per single GPU per hour, or null if the source does not publish a numeric rate), gpu_count (number of GPUs in the listed configuration), tenor indicating whether the entry is spot or on_demand, region (the cloud region the pricing applies to), availability (whether the configuration is currently listed as available), and is_from_price (a boolean flagging whether the price is a minimum "from" figure rather than a fixed rate).
Null prices and is_from_price
Not every GPU model on the Nebius pricing page carries a published numeric rate. When a model shows only a contact-for-pricing or unavailable state, price_per_hour is returned as null. The is_from_price boolean distinguishes offerings where Nebius publishes a floor price ("from $X/hr") rather than a single fixed rate, which matters when you are building cost-comparison tooling and need to avoid treating a floor as a fixed cost.
The Nebius API is a managed, monitored endpoint for nebius.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nebius.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 nebius.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 spot vs. on-demand GPU rental costs for H100 or A100 configurations before provisioning workloads.
- Build a GPU price tracker that alerts when Nebius spot prices change for a specific model or region.
- Aggregate Nebius GPU pricing alongside other cloud providers to create a multi-cloud cost comparison dashboard.
- Identify which GPU models have null or contact-only pricing to prioritize sales outreach for enterprise quotations.
- Estimate training or inference infrastructure costs using per-GPU-hour rates multiplied by projected GPU-hours.
- Monitor availability status across GPU models and regions to detect when new hardware becomes listed.
| 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 Nebius AI Cloud have an official developer API for pricing data?+
How does the API distinguish between spot and on-demand pricing for the same GPU model?+
offerings array. The tenor field is set to either spot or on_demand, so you can filter by that field to isolate one pricing tier. All other fields — including gpu_model, region, gpu_count, and price_per_hour — are populated identically for both records, making a direct comparison straightforward.What does a null `price_per_hour` mean, and should I treat it as zero?+
price_per_hour means Nebius has not published a numeric rate for that model on the pricing page — typically because the configuration requires a custom quote or is not currently orderable at a listed price. It should not be treated as zero or free; it means the price is not available programmatically.Does the API cover CPU-only instances, storage, networking, or other Nebius cloud products?+
Is there any filtering available — for example, to return only a specific region or GPU model?+
get_gpu_pricing endpoint takes no input parameters and always returns the full set of offerings. Filtering by region, GPU model, or tenor needs to be done client-side after receiving the response. The region, gpu_model, and tenor fields in each object are the natural keys to filter on.