Data Partner Feed
Lium gives market-data partners a feed of completed rentals: one CSV row per rental, in the General Index trade-data format, plus a daily aggregate. A partner uses this to build GPU price indices. Renters and providers appear as salted hashes. No name, e-mail, user id, wallet key or IP address is in the files.
Access​
The feed is not self-serve. The Lium team marks a partner account as a data partner after a data-supply agreement. To ask for access, write to support@lium.io with the account e-mail. After that, the account's normal API key reads the feed. Any key made in the dashboard works; a key created with scopes needs read. Any other account gets 403.
Two ways to read the same data​
The rows are the same. Pick the delivery that fits your pipeline, or use both.
- Live feed.
trades.csvanddaily-aggregate.csvanswer from the rental table at the time of the call. Poll as often as you like with a movingfrom, and you get a rental within minutes of its end. - Daily dumps. Every day at 01:00 UTC Lium writes the previous UTC day's two files to object storage.
dumps/YYYY-MM-DD.csvhands them back. The nightly job writes a day once and never rewrites it. If your poller was down for a week, the seven files are still there.
?day=YYYY-MM-DD on the live endpoints returns exactly the rows of that dump (one closed UTC day). Use it to check a dump, or to read a day before 01:00 UTC.
Endpoints​
| Resource | URL |
|---|---|
| Trades, live | https://lium.io/api/data-partners/trades.csv?from=YYYY-MM-DD&to=YYYY-MM-DD |
| Daily aggregate, live | https://lium.io/api/data-partners/daily-aggregate.csv?from=YYYY-MM-DD&to=YYYY-MM-DD |
| Trades, one closed day | https://lium.io/api/data-partners/trades.csv?day=YYYY-MM-DD (also on daily-aggregate.csv) |
| Trades, nightly dump | https://lium.io/api/data-partners/dumps/YYYY-MM-DD.csv |
| Daily aggregate, nightly dump | https://lium.io/api/data-partners/dumps/YYYY-MM-DD.daily-aggregate.csv |
from and to are calendar days in UTC, both inclusive. to defaults to today. A call covers at most 62 days. day is one complete UTC day, yesterday or earlier; it cannot be combined with from or to.
The end time is the only day axis. A rental belongs to the UTC day in which it ended, in the window, in day, in the dumps and in the day column of the aggregate. A rental that starts at 23:50 and ends at 00:10 the next day is in the next day's files only, and in no other. A rental that is still running is not in any file until it ends.
curl -sS -H "X-API-Key: $LIUM_API_KEY" \
"https://lium.io/api/data-partners/trades.csv?from=2026-09-01&to=2026-09-30" -o gx-trades-2026-09.csv
All endpoints answer text/csv with LF line ends and the header on the first line. Each client IP can make 60 calls per hour.
| Status | Meaning |
|---|---|
200 | The CSV. An empty window returns the header line only. |
401 | No API key, or an unknown key. |
403 | The account is not a data partner, or the key does not have the read scope. |
404 | Dumps only: no file for that day yet. The day is not over, or the 01:00 UTC job has not run. |
422 | Neither from nor day was sent, to is before from, the window is longer than 62 days, day is today or later, or day was sent together with from. |
503 | The feed is switched off on this deployment. Live endpoints and dumps alike. |
Quickstart for Compute Desk​
-
Sign in to lium.io with the partner account and create an API key under Access, API Keys (see API Keys). Keep it in
LIUM_API_KEY. -
Pull the month so far once:
curl -sS -H "X-API-Key: $LIUM_API_KEY" \
"https://lium.io/api/data-partners/trades.csv?from=2026-09-01" -o gx-trades-2026-09.csv
curl -sS -H "X-API-Key: $LIUM_API_KEY" \
"https://lium.io/api/data-partners/daily-aggregate.csv?from=2026-09-01" -o daily-aggregate-2026-09.csv -
Then, each morning after 01:00 UTC, fetch yesterday's dump:
day=$(date -u -d yesterday +%F) # macOS: date -u -v-1d +%F
curl -sS -f -H "X-API-Key: $LIUM_API_KEY" \
"https://lium.io/api/data-partners/dumps/$day.csv" -o "gx-trades-$day.csv"Or, if you prefer a live poll, call
trades.csv?from=<last day you have>every hour and drop the rows you already hold byTransactionRef(S).
The files carry the same columns and filters as the August 2026 file Lium sent by e-mail. The renter and provider hashes join to that file once Lium has set the same salt; Lium confirms this with you before your first pull.
Trades file​
The header is:
Code,Reference,TransactionType,DateTime(UTC),TradingHubDetail(S),Price(DB),PricingCurrency(S),PricingType(S),PricingUnit(S),Quantity(DB),QuantityUnit(S),Buyer(S),Seller(S),DeliveryStart(D),DeliveryEnd(D),Grade(S),PricingDetails(S),TransactionRef(S),TransactionStatus(S),SourceDetails(S),ExtractTime(D),Commodity(MD-S),Source(MD-S),TimeZone(MD-S),Title(MD-S),TradingHub(MD-S),HolidayCalendar(MD-S),EarlyCloseCalendar(MD-S)
| Column | Value |
|---|---|
Code | GT0000000 until General Index issues Lium a trade series code. |
Reference | Sequence number among the rows that share the same DateTime(UTC), starting at 1. |
TransactionType, TransactionStatus(S) | Trade, Traded. Every row is a completed rental. |
DateTime(UTC), DeliveryStart(D) | Rental start, to the second, UTC. |
DeliveryEnd(D) | Rental end, to the second, UTC. |
TradingHubDetail(S) | Two-letter country code of the node. Empty when the node's location is unknown. |
Price(DB), PricingCurrency(S), PricingUnit(S) | USD per GPU-hour, four decimals. Lium has no bidding, so the posted price is the clearing price. PricingType(S) is Fixed. |
Quantity(DB), QuantityUnit(S) | Number of GPUs in the rental, unit GPU. |
Buyer(S), Seller(S) | LIUM-C- plus 16 hex characters for the renter, LIUM-P- plus 16 hex characters for the provider. The same renter or provider gets the same value in every file. |
Grade(S) | GPU model name as the driver reports it, for example NVIDIA H200. |
PricingDetails(S) | tier=<tier>; hours=<hours>, where the tier is secure, spot or force_spot and the hours carry four decimals. |
TransactionRef(S) | Lium's rental id. Stable, and unique per row. |
SourceDetails(S), Source(MD-S), Title(MD-S) | Lium, Lium, Lium GPU Rentals. |
ExtractTime(D) | When the file was produced, UTC. |
Commodity(MD-S), TimeZone(MD-S), TradingHub(MD-S) | GPU Compute, UTC, GLOBAL. |
HolidayCalendar(MD-S), EarlyCloseCalendar(MD-S) | Null. |
Rentals that never reach a partner: rentals by Lium staff accounts, rentals a provider made on its own node, and rentals on the few accounts Lium has marked as test or wash trading.
Daily aggregate file​
One row per end day (the UTC day the rentals ended), GPU model and country:
day,gpu_type,country_code,deals,gpu_hours,vwap_usd_per_gpu_hour,min_usd_per_gpu_hour,max_usd_per_gpu_hour
day is the end day of the rentals in the row, so a row counts the same rentals as that day's trades file. gpu_hours is the sum of rental hours times GPU count, two decimals. vwap_usd_per_gpu_hour is the average price per GPU-hour weighted by GPU-hours, four decimals. min and max are the lowest and highest price per GPU-hour among the rentals that ended that day.