RUSTLY

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 h

Every 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
Try /api/v1/items/?q=rifle&limit=5
GET /api/v1/items/<slug>/cached 1 h

One 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 h

Every raid target: walls, doors, deployables and vehicles, with hit points.

Try /api/v1/raid/
GET /api/v1/raid/<target>/cached 1 h

What 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
Try /api/v1/raid/sheet-metal-door/?qty=2
GET /api/v1/servers/cached 1 min

Live 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
Try /api/v1/servers/?justWiped=1&sort=wiped
GET /api/v1/servers/<slug>/cached 5 min

One server: live numbers, a 7-day population summary and the wipes we detected.

Try /api/v1/servers/
GET /api/v1/drops/cached 10 min

Twitch drop rounds: what is live, what is announced, and past rounds.

limit
past rounds to include, default 5
Try /api/v1/drops/
GET /api/v1/updates/cached 1 h

Facepunch's monthly updates, newest first, the next forced wipe, and what is reported for the next update.

limit
default 12
Try /api/v1/updates/?limit=3
GET /api/v1/builds/cached 1 h

Every 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 h

Every value a build changed in the game files, old and new.

Try /api/v1/builds/25191895/
GET /api/v1/wipes/cached 10 min

The next forced wipes.

count
1-12, default 3
Try /api/v1/wipes/

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-After header.
  • 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.