GPUList APIgpulist.ai ↗
Access GPU cluster listings, pricing, and market data from gpulist.ai. Filter by GPU type, interconnect, and verification status via 3 structured endpoints.
What is the GPUList API?
The GPUList.ai API exposes 3 endpoints for querying GPU cluster listings, individual cluster details, and aggregate market value tracked on gpulist.ai. The get_all_listings endpoint supports filtering by GPU type (e.g. H200, A100-80GB), interconnect network, and verification status, returning price-per-GPU-per-hour in cents alongside provider and cluster metadata for each result.
curl -X GET 'https://api.parse.bot/scraper/c547d11d-5697-4c87-bd2d-5719c7b27d40/get_all_listings?limit=10&gpu_types=%5B%22H200%22%5D&interconnects=%5B%22Ethernet+400GbE%22%5D&verified_only=False' \ -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 gpulist-ai-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: GPUList AI SDK — browse GPU cluster listings and check market value."""
from parse_apis.gpulist_ai_api import GPUList, ListingNotFound
client = GPUList()
# List available GPU clusters, capped at 5 items
for listing in client.listings.list(limit=5):
print(listing.gpu_type, listing.num_gpus, listing.price_per_gpu_per_hour_in_cents)
# Drill into one listing by taking the first result
first = client.listings.list(limit=1).first()
if first:
detail = client.listings.get(listing_id=first.id)
print(detail.company_name, detail.geographical_location, detail.interconnect_network)
# Filter by GPU type
for h200 in client.listings.list(gpu_types='["H200"]', limit=3):
print(h200.company_name, h200.num_gpus, h200.min_bookable_gpu)
# Get aggregate market value
summary = client.marketsummaries.get()
print(summary.total_value)
# Handle a listing that doesn't exist
try:
client.listings.get(listing_id="nonexistent_id_000")
except ListingNotFound as exc:
print(f"Listing not found: {exc.listing_id}")
print("exercised: listings.list / listings.get / marketsummaries.get")Fetch all GPU cluster listings from the homepage. Supports filtering by GPU type, interconnect, and verification status. Returns listings sorted by most recently updated. Each listing includes pricing, location, GPU specs, and booking constraints.
| Param | Type | Description |
|---|---|---|
| limit | integer | Max results to return. |
| gpu_types | string | JSON array of GPU type strings to filter by (e.g. '["H200", "A100 - 80GB"]') |
| interconnects | string | JSON array of interconnect network strings to filter by (e.g. '["RoCE v2", "Ethernet 400GbE"]') |
| verified_only | boolean | Filter to only verified listings. |
{
"type": "object",
"fields": {
"count": "integer total number of listings returned",
"listings": "array of GPU cluster listing objects"
},
"sample": {
"data": {
"count": 10,
"listings": [
{
"id": "876b9e6",
"state": "approved",
"gpu_type": "RTX PRO 6000",
"num_gpus": 80,
"company_name": "Helios Cloud INC",
"node_cpu_count": 144,
"node_ram_in_gb": 1536,
"min_bookable_gpu": 8,
"additional_details": "$1b",
"cluster_stack_type": "Bare Metal",
"min_bookable_weeks": 1,
"interconnect_network": "Ethernet 100GbE",
"geographical_location": "Salt Lake City, UT",
"cloud_service_provider": "On-Prem Bare metal",
"node_nvme_storage_in_gb": 31334,
"price_per_gpu_per_hour_in_cents": 130
}
]
},
"status": "success"
}
}About the GPUList API
Endpoints and Data Coverage
The API covers three operations. get_all_listings returns the full set of active GPU cluster listings from the gpulist.ai homepage, sorted by most recently updated. Each listing object includes id, gpu_type, num_gpus, company_name, price_per_gpu_per_hour_in_cents, and interconnect_network. You can narrow results using the gpu_types parameter (a JSON array of model strings), the interconnects parameter (a JSON array of network types such as "RoCE v2" or "Infiniband NDR 400Gb/s"), and the boolean verified_only flag. A limit parameter caps result count.
Listing Detail
get_listing_detail takes a listing_id obtained from get_all_listings and returns all available fields for that cluster, including additional_details (a free-text description of hardware and specifications), geographical_location (datacenter region), interconnect_network, and price_per_gpu_per_hour_in_cents. This is the primary way to retrieve the full specification text that is truncated or absent in the listing index response.
Market Aggregate
get_total_listings_value takes no parameters and returns total_value as a formatted dollar string (e.g. "$2.18B"), reflecting the aggregate dollar value of all currently active listings on the platform. This is useful for tracking overall GPU compute market supply at a point in time.
The GPUList API is a managed, monitored endpoint for gpulist.ai — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gpulist.ai 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 gpulist.ai 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?+
- Track H200 and A100 cluster availability and spot pricing changes over time using
gpu_typesfiltering. - Build price-comparison tools that surface the lowest
price_per_gpu_per_hour_in_centsacross verified listings. - Monitor interconnect diversity (InfiniBand vs. RoCE) across available GPU clusters for network-sensitive workloads.
- Aggregate
geographical_locationdata fromget_listing_detailto map datacenter coverage across providers. - Alert on new listings from specific companies by polling
get_all_listingsand diffingcompany_nameresults. - Track
total_valuefromget_total_listings_valueover time to measure GPU compute market supply trends. - Filter for
verified_onlylistings when building procurement pipelines that require vetted providers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does gpulist.ai have an official developer API?+
What does `get_listing_detail` return beyond what `get_all_listings` provides?+
get_listing_detail returns the additional_details field — a free-text description of cluster hardware and specifications — plus confirmed values for geographical_location and interconnect_network. The listing index from get_all_listings may truncate or omit these fields. You need a listing_id from get_all_listings to call this endpoint.Can I retrieve historical pricing or past listings that are no longer active?+
get_total_listings_value is also a live snapshot. You can fork this API on Parse and revise it to persist results over time and build a historical dataset.Does the API expose contact information or direct booking links for providers?+
company_name and cluster specifications including price_per_gpu_per_hour_in_cents, but no contact details, email addresses, or booking URLs are included in the response fields. You can fork it on Parse and revise to add an endpoint targeting provider contact pages if that data is available on the site.How does the `gpu_types` filter work, and what values are valid?+
gpu_types parameter — for example, ["H200", "A100 - 80GB"]. The filter matches listings whose gpu_type field corresponds to one of the provided strings. Use get_all_listings without filters first to discover the exact gpu_type strings present in the current dataset.