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
| Path | Returns |
|---|---|
| /api/branches.json | Branches: current build and saved previous ones |
| /api/{branch}/items.json | All items of the branch |
| /api/{branch}/items/{shortname}.json | One item: crafting, loot, boosts, skins… |
| /api/{branch}/entities.json | All entities (prefabs) |
| /api/{branch}/entities/{prefabID}.json | One entity (short prefab name works too) |
| /api/{branch}/commands.json | All server commands and convars |
| /api/{branch}/commands/{name}.json | One command or convar |
| /api/{branch}/hooks.json | Oxide and Carbon hooks with their status on the branch |
| /api/{branch}/hooks/{hook}.json | One 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

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 topublic. - 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.