/api/v1/items1 tokenEvery limited, highest value first.
?q=- Name or acronym search; returns the best 25 matches.
?limit=- 1–2000, default all.
?offset=- Skip this many for paging.
{ generatedAt, pricesAt, total, items: Item[] }
A read-only JSON API with the same numbers the site shows: RTV with its confidence, RAP, best price, copies, projected flags, player values and community polls. Access is by invite, so it stays fast and free for the people building useful things with it.
Send your key in the Authorization header on every request. Keys start with rk_live_ and belong to your Roblox account.
curl https://rotility.com/api/v1/items/asset:1028606 \ -H "Authorization: Bearer rk_live_YOUR_KEY"
/api/v1/items1 tokenEvery limited, highest value first.
?q=?limit=?offset={ generatedAt, pricesAt, total, items: Item[] }
/api/v1/items/{key}1 tokenOne item. The key is asset:ID, bundle:ID, or a bare asset id.
?history={ item: Item, community, openPoll, history?: Day[] }
/api/v1/players/{id}1 tokenA player's tracked value, RAP, item count and rank. Username or user id.
?inventory={ player, inventory?: { status, totals, items } }
/api/v1/polls1 tokenOpen community value polls and recent results.
{ open: Poll[], closed: Poll[] }
/api/v1/me1 tokenYour key's label and rate limit. A good connection test.
{ key: { label, ratePerMinute, remainingThisMinute } }
key, type, id, namekind, categoryvaluertv, rtvConfidence, rtvSales, rtvDaysrap, bestPrice, copies, rarityprojected, manipulated, demandadjustedusdlastSale, created, pricesAt{
"item": {
"key": "asset:1028606",
"name": "Dominus Empyreus",
"kind": "limited",
"value": 118400000,
"rtv": 118400000,
"rtvConfidence": "high",
"rap": 97213854,
"bestPrice": 150000000,
"copies": 26,
"rarity": "ultra-rare",
"projected": false,
"demand": "amazing"
}
}Field names are stable: Rotility adds, never renames. null means not known yet, not zero.
401404429503Each key has its own per-minute budget. Most calls cost one token; a live inventory pull costs five. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining.
Values refresh every few minutes, so cache for at least 30 seconds. Errors come back as { "error": "…" }. Please link to the item page you took a number from.
Ask in the Discord with what you’re building. If it’s a fit you get an invite code, which you redeem here while signed in. You can revoke a key any time.