RustTip

API

Open JSON API over the site data: items, entities, commands — per game branch. No keys, CORS enabled (call it right from a browser on another site). Data updates together with the site after a game update.

Endpoints

PathReturns
/api/branches.jsonBranches: current build and saved previous ones
/api/{branch}/items.jsonAll items of the branch
/api/{branch}/items/{shortname}.jsonOne item: crafting, loot, boosts, skins…
/api/{branch}/entities.jsonAll entities (prefabs)
/api/{branch}/entities/{prefabID}.jsonOne entity (short prefab name works too)
/api/{branch}/commands.jsonAll server commands and convars
/api/{branch}/commands/{name}.jsonOne command or convar
/api/{branch}/hooks.jsonOxide and Carbon hooks with their status on the branch
/api/{branch}/hooks/{hook}.jsonOne hook: injection points, IL, game method code

Lists come wrapped: branch, buildId, updatedAt, count and data — the array itself. A single object comes as is. Not found — 404 with { error }.

Example

curl https://rusttip.com/api/public/items/rifle.ak.json

const res = await fetch("https://rusttip.com/api/public/items.json");
const { buildId, count, data } = await res.json();

Images

Items and entities with a picture have an image field — a URL template. Substitute {size} (64, 128, 256, 512) and {format} (png, webp):

"image": "https://rusttip.com/img/item/rifle.ak.{size}.{format}"

https://rusttip.com/img/item/rifle.ak.256.png
https://rusttip.com/img/item/rifle.ak.64.webp
https://rusttip.com/img/entity/public/2931042549.512.png
rifle.ak 64rifle.ak 128rifle.ak 256

Images are produced on request from the game originals (item icons — the game's 512 PNG, entity pictures — a render of the 3D model) and cached.

Notes

  • Branches: public, aux02, staging. The site defaults to public.
  • Responses are cached for 5 minutes, images for a day.
  • No keys or limits, but please don't poll the full lists more often than every few minutes: they weigh megabytes (gzip-compressed).
  • Field format is the same as on the site; new fields may appear, existing ones are not renamed without need.