tibia.data/ home / docs
raw json index

tibia.data // api reference

Read-only HTTP+JSON access to every entity recovered from the Tibia client's data files. All endpoints are GET-only, public, and return JSON unless a different content type is noted.

Discovery

Find your way around the API.

GET/api

This index. Lists every public endpoint as JSON.

GET/api/categories

List the 10 entity categories with their canonical key, label, glyph, accent colour, and live count.

returnsarray of { key, label, glyph, accent, count }
GET/api/search

Live full-text search across every category. Substring + token-prefix scoring with category-diversity ranking; numeric queries match entity IDs.

params
q*querysearch term — name fragment or numeric id
limitquerymax results (default 12, cap 50)
returnsarray of { id, name, category, subtype }

Listings

Paginated lists, one per entity category.

GET/api/items

List all items. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/monsters

List all monsters. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/bosses

List all bosses. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/houses

List all houses. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/achievements

List all achievements. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/quests

List all quests. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/outfits

List all outfits. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/effects

List all effects. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/missiles

List all missiles. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }
GET/api/sounds

List all sounds. Paginated via offset/limit; total count returned in the X-Total-Count response header.

params
offsetquerystarting index (default 0)
limitquerypage size (default returns the full array)
returnsarray of { id, name }

Detail

Single-record lookups by id.

GET/api/items/{id}

Full record for a single item. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/monsters/{id}

Full record for a single monster. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/bosses/{id}

Full record for a single bosse. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/houses/{id}

Full record for a single house. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/achievements/{id}

Full record for a single achievement. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/quests/{id}

Full record for a single quest. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/outfits/{id}

Full record for a single outfit. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/effects/{id}

Full record for a single effect. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/missiles/{id}

Full record for a single missile. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id
GET/api/sounds/{id}

Full record for a single sound. Field names match the recovered protobuf schema; for monster/boss/house/etc records, synthetic field_N keys are remapped to semantic names where known.

params
id*pathnumeric entity id

Sprites

PNG renderings — raw sheets, frame groups, fully composed outfits.

GET/api/sprite/{spriteId}

Raw sprite by global sprite-sheet ID, extracted from the appropriate Sprites N-M.png with correct grid params.

params
spriteId*pathnumeric sprite id
returnsimage/png
GET/api/item/{id}/sprite/{spriteIndex}

Nth sprite from an item's first frame group. Combine with frameGroup metadata from the item detail to build animations or pattern variants.

params
id*pathitem id
spriteIndex*pathindex into the frame group's sprite array
returnsimage/png
GET/api/item/{id}/frame_group/{frameGroupIndex}/sprite/{spriteIndex}

As above, with explicit frame-group selection (some items have separate idle/moving groups).

params
id*pathitem id
frameGroupIndex*pathindex into frameGroup[]
spriteIndex*pathindex into the chosen group's sprite array
GET/api/effect/{id}/sprite/{spriteIndex}

Effect sprite. Same shape as item sprites.

returnsimage/png
GET/api/missile/{id}/sprite/{spriteIndex}

Missile sprite. Same shape as item sprites.

returnsimage/png
GET/api/outfit-render/{looktype}

Fully composed outfit sprite — base + colorized template + addons + optional mount, single layer for monsters and two-layer for humanoids. Returns a 64×64 PNG.

params
looktype*pathoutfit looktype id
dirquerydirection 0=N 1=E 2=S 3=W (default 2)
framequeryanimation frame (default 0)
fgqueryframe group: 0=idle 1=moving (default 0)
headqueryhead colour palette index 0..132
bodyquerybody colour palette index 0..132
legsquerylegs colour palette index 0..132
feetqueryfeet colour palette index 0..132
addonsquerybitmask: 1=addon1, 2=addon2, 3=both
mountquery0=no, 1=yes

Audio

Sound file streaming.

GET/api/sound/{id}/file

Stream the sound file (typically OGG) referenced by a sounds entity.

params
id*pathsound id
returnsaudio/ogg