Rustly API
Read-only JSON for the data behind this site. Free, no key, and open to browsers (Access-Control-Allow-Origin: *). The base URL is https://rustly.com/api/v1/, and every path ends in a slash.
Endpoints
GET /api/v1/items/cached 1 hEvery item in the game, as summaries. Search by name or filter by category.
- q
- name search
- category
- weapon, attire, tool, construction, component, resource, …
- limit
- 1-200, default 50
- offset
- default 0
GET /api/v1/items/<slug>/cached 1 hOne item's full record: weapon stats, recipe, recycler yields, blueprint cost, decay and upkeep.
Try /api/v1/items/assault-rifle/GET /api/v1/raid/cached 1 hEvery raid target: walls, doors, deployables and vehicles, with hit points.
Try /api/v1/raid/GET /api/v1/raid/<target>/cached 1 hWhat it takes to destroy a target with every explosive, cheapest sulfur first, plus fire and melee where they work.
- qty
- how many of the target, 1-1000
- soft
- 1 = soft side; walls only
GET /api/v1/servers/cached 1 minLive servers from our own poller: players, queue, last detected wipe and the next wipe we can support.
- sort
- players (default), wiped, wipe, queue
- region
- a finder region key, as used by /servers/<region>/
- modded
- 1 or 0
- mode
- pve, creative, battlefield, aim-train
- rate
- 2, 3, 5 or 10
- teamLimit
- 1-5 (5 = five or more)
- minPlayers
- 0-1000
- justWiped
- 1 = wiped in the last 24 hours
- q
- name search
- page
- 50 per page
GET /api/v1/servers/<slug>/cached 5 minOne server: live numbers, a 7-day population summary and the wipes we detected.
Try /api/v1/servers/GET /api/v1/drops/cached 10 minTwitch drop rounds: what is live, what is announced, and past rounds.
- limit
- past rounds to include, default 5
GET /api/v1/updates/cached 1 hFacepunch's monthly updates, newest first, the next forced wipe, and what is reported for the next update.
- limit
- default 12
GET /api/v1/builds/cached 1 hEvery Steam build we ingested from the game files, including the ones that changed nothing.
Try /api/v1/builds/GET /api/v1/builds/<build>/cached 1 hEvery value a build changed in the game files, old and new.
Try /api/v1/builds/25191895/Response shape
A success is { data, meta }. meta always carries where the data came from and when it was last checked against that source, the same record our pages print. An error is { error: { code, message } } with a 400, 404, 429 or 503.
{
"data": {
"target": { "slug": "sheet-metal-door", "name": "Sheet Metal Door", "kind": "door", "hp": 250 },
"qty": 1,
"side": "hard",
"explosives": [
{ "slug": "…", "name": "…", "amount": 0, "sulfur": 0, "cheapest": true }
]
},
"meta": {
"version": "1",
"source": "…",
"verifiedAt": "2026-09-17",
"gameVersion": "…"
}
}Rules, Plainly
- Free for any use, commercial included. Link to rustly.com where you show the data.
- Responses are cached at the edge, and cached responses don't count against anything. Requests that miss the cache are limited to 60 a minute per IP; past that you get a 429 with a
Retry-Afterheader. - Version 1 only adds fields. A change that would break a client gets a new version and this page says so first.
What Isn't Here
- Skin prices.Not in version 1: whether our price source's terms allow re-serving them is not settled, so we don't. The skin market pages show them.
- API keys and higher limits. Not built yet. If the limit is in your way, tell us what you are building.
- Writes. Nothing here changes anything.