Listings
One price-sorted feed of every available GPU across every cloud, returned as plain JSON.
A listing is a GPU offer we currently have available. Each entry tells you the GPU model, its VRAM, how many GPUs are in the box, the region, whether it is interruptible, and our hourly rate. You rent a listing by passing its id to the Rentals API.
Listings are read-only and public. No bearer token is required to browse them. You only need a token once you create SSH keys, rentals, or top up credits.
Endpoint
Returns up to 100 currently-available listings, cheapest first. By default the feed only includes non-interruptible boxes. Use the query params below to narrow the set.
Query parameters
min_vram_gb=80true to include interruptible (spot) boxes, which are cheaper but can be reclaimed by the cloud at any time. Anything other than true keeps the default of non-interruptible only. interruptible=truelimit=10Request
The simplest call takes no parameters and needs no auth.
# public endpoint, no token needed
$ curl https://gpu.ipxtechholding.com/api/v1/listings
To find an 80GB+ box, allow interruptible offers, and cap the result to the ten cheapest:
$ curl -G https://gpu.ipxtechholding.com/api/v1/listings \
-d min_vram_gb=80 \
-d interruptible=true \
-d limit=10
Response
A 200 OK with a top-level listings array, ordered cheapest first.
{
"listings": [
{
"id": 4812,
"gpu_name": "RTX 4090",
"vram_gb": 24,
"num_gpus": 1,
"region": "us-east",
"interruptible": false,
"price_micro_usd_per_hour": 340000,
"price_usd_per_hour": 0.34
},
{
"id": 5190,
"gpu_name": "A100 80GB",
"vram_gb": 80,
"num_gpus": 1,
"region": "eu-west",
"interruptible": false,
"price_micro_usd_per_hour": 680000,
"price_usd_per_hour": 0.68
},
{
"id": 5233,
"gpu_name": "H100 SXM",
"vram_gb": 80,
"num_gpus": 8,
"region": "us-central",
"interruptible": true,
"price_micro_usd_per_hour": 18900000,
"price_usd_per_hour": 18.9
}
]
}
Response fields
listing_id when you create a rental.A100 80GB or H100 SXM.min_vram_gb filters against.us-east.true if the cloud can reclaim this box at any time. Interruptible boxes are cheaper but less reliable for long runs.680000 is $0.68/hr.0.68Money on IPX is always integer micro-USD under the hood. price_usd_per_hour is a convenience derived from price_micro_usd_per_hour / 1000000. When you set a hard spend cap on a rental, express it in micro-USD too. A $5 cap is 5000000.
Notes on the feed
- Only currently available offers appear. The feed reflects live cloud inventory, so it changes constantly.
- Results are always sorted by
price_micro_usd_per_hourascending, solistings[0]is the cheapest match. - Availability is not a reservation. A listing can disappear between fetching it and renting it. If you try to rent one that is gone, the Rentals API returns
409 Conflict. Re-fetch and pick another.
Interruptible boxes can be reclaimed by the underlying cloud mid-run with little notice. Use them for fault-tolerant or checkpointed work, not for jobs that cannot survive a sudden teardown.
Pick the cheapest box, then rent it
A common pattern: fetch the feed with your constraints, take the first result, and hand its id to the Rentals API.
# grab the id of the cheapest 80GB box $ LISTING_ID=$(curl -sG https://gpu.ipxtechholding.com/api/v1/listings \ -d min_vram_gb=80 -d limit=1 \ | jq '.listings[0].id') # rent it (this call needs your token) $ curl -X POST https://gpu.ipxtechholding.com/api/v1/rentals \ -H "Authorization: Bearer $IPX_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"listing_id\": $LISTING_ID, \"max_spend_micro_usd\": 5000000}"
That is the entire Listings API. Browse the same feed visually at the console, then head to Rentals to provision a box.