---
sidebar_position: 9
title: Public Nodes Feed
description: Unauthenticated live feed of every rentable Lium GPU node — prices, availability, location and deploy links. Built for price aggregators, comparison sites and AI agents.
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Public Nodes Feed

Every GPU node currently rentable on Lium, as one unauthenticated JSON call. No key, no signup, no rate-limit negotiation — point your ingester at it and start listing us today.

| Resource | URL |
|----------|-----|
| Live feed | [`https://lium.io/api/public/v1/nodes`](https://lium.io/api/public/v1/nodes) |
| OpenAPI schema | [`https://lium.io/api/openapi.json`](https://lium.io/api/openapi.json) |

```bash
curl -sSL https://lium.io/api/public/v1/nodes
```

## Response

```json
{
  "generated_at": "2026-08-17T09:14:03.117Z",
  "count": 95,
  "nodes": [
    {
      "id": "ad83de56-8a04-4ab1-ac5a-4ab007b4e2b3",
      "gpu_model": "RTX 5090",
      "gpu_count": 8,
      "available_gpu_count": 8,
      "price_per_gpu_hour": 0.55,
      "price_per_node_hour": 4.4,
      "min_rentable_gpu_count": 8,
      "gpu_memory_gb": 32,
      "cpu_count": 384,
      "ram_gb": 283,
      "disk_gb": 2460,
      "tier": "secure",
      "country": "Japan",
      "country_code": "JP",
      "region": "13",
      "city": "Tokyo",
      "rent_url": "https://lium.io/browse-pods/ad83de56-8a04-4ab1-ac5a-4ab007b4e2b3"
    }
  ]
}
```

### Fields

| Field | Type | Notes |
|-------|------|-------|
| `generated_at` | ISO 8601 | When this snapshot was built. Use it to detect a stale source. |
| `count` | integer | Number of nodes in this response. |
| `id` | UUID | Stable identifier for the node. Safe to use as your primary key. |
| `gpu_model` | string, nullable | Normalized name, vendor prefixes stripped — `RTX 5090`, not `NVIDIA GeForce RTX 5090`. |
| `gpu_count` | integer, nullable | GPUs on the node. |
| `available_gpu_count` | integer, nullable | GPUs free right now. Always at least 1 — a fully rented node leaves the feed. |
| `price_per_gpu_hour` | float, nullable | USD per GPU per hour. |
| `price_per_node_hour` | float, nullable | USD for the whole node per hour, `null` when the price is unknown. Published so you never have to derive it. |
| `min_rentable_gpu_count` | integer, nullable | Smallest order we accept on this node. Quoting a single GPU below this number sells an order our checkout refuses. |
| `gpu_memory_gb` | integer, nullable | VRAM per GPU. |
| `cpu_count` | integer, nullable | CPU cores on the whole node; a partial rental gets a proportional share. |
| `ram_gb` | integer, nullable | System RAM of the whole node; a partial rental gets a proportional share. |
| `disk_gb` | integer, nullable | Whole-node disk; a partial rental gets a proportional share. |
| `tier` | string, nullable | `secure` or `spot`. A spot node may be reclaimed by its provider at any time. |
| `country`, `country_code`, `region`, `city` | string, nullable | Node location; `region` is the subdivision code. |
| `rent_url` | string | Deep link straight to the rent page for this node. |

Only `id` and `rent_url` are guaranteed non-null; treat every other field as optional in your ingester.

## Freshness

Lium prices are dynamic — providers set them and they move. The feed is rebuilt at most once per minute, so polling faster than that returns the same snapshot. Once a minute is the right cadence.

## Rate limit

60 requests per minute per IP. If you need more, [get in touch](https://lium.io) and we will raise it for your ingester.

## Compatibility promise

This feed is a published contract, not an internal endpoint that happens to be reachable. Concretely:

- **Fields are only ever added.** No field under `/public/v1` will be removed or renamed.
- **A field's meaning never changes.** If `price_per_gpu_hour` ever needed to mean something different, it would become a new field, not a redefinition of this one.
- **Breaking changes ship as `/public/v2`.** They never land on `/public/v1`.
- **A retired version keeps serving for six months** after we publish the deprecation notice, so you have half a year to migrate without an outage.

Build against `/public/v1/nodes` and it will keep working.

## Listing Lium on your site

If you run a GPU price comparison site, marketplace, or agent that provisions compute, this feed is everything you need to list us. Ingest it directly instead of scraping — you get correct prices, real availability, and a deploy link that converts.

Questions about a partnership, a higher rate limit, or a custom field: reach us at [lium.io](https://lium.io).
