CoreWeave APIcoreweave.com ↗
Retrieve CoreWeave GPU cloud pricing across all regions. Get on-demand, spot, and inference rates, GPU models, instance counts, and availability in one endpoint.
What is the CoreWeave API?
The CoreWeave GPU Pricing API exposes 7 response fields per offering through a single get_gpu_pricing endpoint, returning every GPU product listed on coreweave.com/pricing — including GPU model, price per hour, GPU count per instance, pricing tenor (on-demand, spot, or inference), region, availability, and whether the listed price is a starting price. Offerings that require a sales inquiry are flagged with a null price rather than omitted.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/c957fac2-b431-467e-9ac7-8ae217af5672/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 coreweave-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: CoreWeave GPU pricing — list all offerings, filter, and summarize."""
from parse_apis.coreweave_com_api import CoreWeave, ParseError
client = CoreWeave()
# Fetch all GPU pricing offerings (single-page, but capped for safety).
try:
for offering in client.offerings.list(limit=10):
print(
f"{offering.gpu_model} | {offering.gpu_count} GPU(s) | "
f"{offering.tenor} | {offering.region} | {offering.price_per_hour}"
)
except ParseError as e:
# Upstream page structure may change; surface the error code.
print(f"Extraction failed: {e.code}")
# Grab the first on-demand offering with a numeric price.
first = client.offerings.list(limit=50).first()
if first is not None:
print(f"\nFirst offering: {first.gpu_model}, priced at {first.price_per_hour}")
print("\nexercised: offerings.list")
Returns all GPU offerings from the CoreWeave pricing page. Each offering includes the GPU model, price per hour, GPU count per instance, pricing tenor (on-demand, spot, or inference), and region. Prices shown as 'Contact sales' indicate the offering requires a sales inquiry. The inference tenor represents single-GPU pricing available only in North America. Makes a single request to the pricing page.
No input parameters required.
{
"type": "object",
"fields": {
"offerings": "Array of GPU pricing offerings, each with gpu_model, price_per_hour, gpu_count, tenor, region, availability, and is_from_price"
},
"sample": {
"data": {
"offerings": [
{
"tenor": "on-demand",
"region": "North America",
"gpu_count": 4,
"gpu_model": "NVIDIA GB300 NVL72",
"availability": null,
"is_from_price": false,
"price_per_hour": "Contact sales"
},
{
"tenor": "on-demand",
"region": "North America",
"gpu_count": 8,
"gpu_model": "NVIDIA HGX B200",
"availability": null,
"is_from_price": false,
"price_per_hour": "$68.80"
},
{
"tenor": "spot",
"region": "North America",
"gpu_count": 8,
"gpu_model": "NVIDIA HGX B200",
"availability": null,
"is_from_price": false,
"price_per_hour": "$34.11"
},
{
"tenor": "inference",
"region": "North America",
"gpu_count": 1,
"gpu_model": "NVIDIA HGX B200",
"availability": null,
"is_from_price": false,
"price_per_hour": "$8.60"
},
{
"tenor": "on-demand",
"region": "Europe",
"gpu_count": 8,
"gpu_model": "NVIDIA HGX H100",
"availability": null,
"is_from_price": false,
"price_per_hour": "$49.24"
}
]
},
"status": "success"
}
}About the CoreWeave API
What the API returns
The get_gpu_pricing endpoint takes no input parameters and returns an offerings array. Each element includes gpu_model (e.g. H100 SXM, A100 80GB), price_per_hour (a numeric value or null for contact-sales entries), gpu_count (number of GPUs in the instance configuration), tenor indicating whether the listing is on-demand, spot, or inference pricing, region, availability, and is_from_price — a boolean signaling that the displayed price is a floor, not a fixed rate.
Pricing tenors and null prices
CoreWeave publishes three distinct pricing models on their pricing page: on-demand, spot, and inference. The tenor field distinguishes these, so you can filter or group by pricing type in your application. When an offering shows "Contact sales" rather than a numeric rate, price_per_hour is returned as null. The is_from_price flag is useful when building cost comparators, since a "from" price implies the actual cost may be higher depending on configuration.
Coverage and freshness
The endpoint covers all GPU SKUs and regions that appear on the public CoreWeave pricing page at the time of the request. This includes multi-GPU configurations (e.g. 8x H100) as separate entries from single-GPU entries for the same model, allowing per-unit price calculations when combined with gpu_count. No authentication or account is required to retrieve this data.
The CoreWeave API is a managed, monitored endpoint for coreweave.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when coreweave.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 coreweave.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?+
- Build a GPU cost comparison dashboard across CoreWeave regions and pricing tenors
- Alert engineering teams when spot prices for a specific gpu_model drop below a threshold
- Track on-demand price changes over time for H100 or A100 instances across regions
- Filter inference-tenor offerings to estimate LLM inference hosting costs on CoreWeave
- Identify which GPU configurations show null price_per_hour to flag models requiring a sales call
- Calculate effective per-GPU cost by dividing price_per_hour by gpu_count for multi-GPU instances
- Feed CoreWeave pricing into a multi-cloud GPU cost optimizer alongside other provider data
| 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 CoreWeave have an official developer API for pricing data?+
How does the API handle GPU offerings that show 'Contact sales' instead of a price?+
price_per_hour set to null. The gpu_model, gpu_count, tenor, region, and availability fields are still populated, so you can identify which configurations require a direct sales engagement without losing the rest of the record.Does the API return historical or time-series pricing data?+
get_gpu_pricing endpoint returns the current state of the CoreWeave pricing page at call time, with no historical records or timestamps per offering. You can fork this API on Parse and revise it to add a storage layer that logs each response for time-series analysis.Can I filter results by region or tenor in the request itself?+
region, tenor, or gpu_model is done client-side on the returned offerings array. You can fork the API on Parse and revise it to add server-side filter parameters.