API
v2One API for the whole archive: badges, furniture, clothing, client builds, sounds, images and gamedata, for every hotel — and Habbo Origins. Most endpoints are public (240 requests a minute); the furniture endpoints need a free API token.
Base URL
https://www.habboassets.com/api/v2Authentication & hotels
Furniture endpoints need a token — create one under your account's API tokens and send it in the Authorization header. Hotel-specific data is chosen with X-Hotel-ID (defaults to 1, Habbo.com).
Hotels
Public endpoints
/hotelsEvery hotel the archive tracks/badgesBadges, newest firstterm — search code or namehotel — a domain suffix ('com', 'com.br', …, 'sandbox') or 'all' — or send X-Hotel-IDlimit / offset — page size (max 2,000) and offsetorder — 'desc' (default) or 'asc'/badges/{code}One badge: images + name/description in every hotel's language/badges/zipBadge images as a ZIPhotel_id — hotel (default 1)codes — comma-separated codes — omit for every badge of the hotelformat — 'gif' (original, default) or 'png'/furniture/zipFurniture files as a ZIPclassnames — comma-separated classnames (max 100)format — 'swf' (original, default), 'nitro' or 'both'hotel_id — prefer this hotel's copy (default 1)/feedChange feed since 2019category — furniture | badges | clothing | client | mediapage / per_page — pagination (max 100)/gamedataExternal texts / variablestype — texts | variablessearch — match key or valuesort — new | changed | keypage / per_page — pagination (max 500)/soundsTrax samples with durations/swfs/buildsFlash client builds and the hotels that ran themsearch — filter by build name/swfs/builds/{name}/downloadFull build pack (every SWF + gamedata) as a ZIP/swfs/librariesClothing / effect / pet librarieskind — clothing | effect | petsearch — filter by library name/swfs/libraries/{kind}/{name}Every revision of a library, with previews and downloads/imagesArchived imageskind — catalog | furnicons | clientpromo | featurecata | dump | webpromo/statsArchive countsFurniture (token required)
/furnitureList furnituresearch — name, classname or descriptioncategory / type / revision — filters ('room' or 'wall' for type)new / updated — 1 = first seen / changed in the last `days` (default 3)sort — newest | changed | name (default: name; newest with new=1, changed with updated=1)per_page / page — pagination (max 100)/furniture/{classname}One item: furnidata, SWF data, previews, .nitro, revision history/furniture/categoriesCategories in the selected hotel/furniture/typesTypes in the selected hotelHabbo Origins
The Shockwave hotel — public, no token. Items use Origins' own classnames (colour variants as base*N), drawn from the current client build. Each has its renders, inventory icon (named as Nitro expects), a .nitro bundle (beta) holding every colour of its art, and the catalogue offer last seen in-game. catalogueis null for items never seen in the catalogue; Origins has no furnidata, so sit / walk / lay flags and interaction types aren't known. To keep a housekeeping in sync, poll /origins/furniture/export (it changes when a client build or catalogue sighting lands; cached for 10 minutes) and match on classname. To use your own classnames, download through /nitro?name= or /origins/zip: the bundle is renamed inside too (its JSON, asset and sprite names), the same as renaming on the site.
/origins/furnitureOrigins furni, paginatedsearch — name or classnamekind — floor | wall | postergraphics — 1 = only items with art in the clientsort — name (default) | newestper_page / page — pagination (max 100)/origins/furniture/exportEvery Origins item in one response, with its catalogue offer — for imports and syncskind — floor | wall | postergraphics — 1 = only items with art in the client/origins/furniture/{classname}One item: renders, icon, .nitro, dimensions, directions, states, catalogue offer, colour variants/origins/furniture/{classname}/nitroThe item's .nitro under your own classname — the file and every name inside itname — your classname (letters, digits, _; max 100) — omit for the Origins one/origins/zipSeveral items as one ZIP: each .nitro + icons/<name>[_<n>]_icon.png for every colour, renamed (10 a minute)classnames — comma-separated (max 100); colour variants share their item's bundleprefix — put in front of every classname, e.g. og_ → og_rare_dragonlampnames — or your own classnames, comma-separated in classnames order/origins/filesThe .nitro and every colour's icon for a set of items (Origins names)classnames — comma-separated (max 100)/origins/onlinePlayers online per Origins hotelrange — 24h (per minute) | 7d | 30d (hourly peak) | 1y | all (daily peak, default)/origins/clientsEvery Origins client build since June 2024, with download linksExample
# Your own classnames: one item, or many at once with a prefix
curl -o og_dragonlamp.nitro "https://www.habboassets.com/api/v2/origins/furniture/rare_dragonlamp/nitro?name=og_dragonlamp"
curl -o origins.zip "https://www.habboassets.com/api/v2/origins/zip?classnames=rare_dragonlamp,chair_plasto&prefix=og_"
# Everything, for a sync
curl "https://www.habboassets.com/api/v2/origins/furniture/export?graphics=1"
{
"data": [
{
"classname": "rare_dragonlamp*4",
"base": "rare_dragonlamp",
"kind": "floor",
"name": "Serpent of Doom",
"description": "Scary and scorching!",
"build": "369",
"icon": "https://cdn.habboassets.com/derived/origins/furni/369/rare_dragonlamp/colours/rare_dragonlamp_4_icon.png",
"preview": "https://cdn.habboassets.com/derived/origins/furni/369/rare_dragonlamp/colours/rare_dragonlamp_4.png",
"nitro": "https://cdn.habboassets.com/derived/origins/furni/369/rare_dragonlamp/rare_dragonlamp.nitro",
"dimensions": { "x": 1, "y": 1 },
"directions": [2, 4],
"states": 2,
"colors": ["#FFFFFF", "#3E3D40", "#3E3D40", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF"],
"catalogue": null,
…
}
],
"meta": { "total": 3422 }
}Imager (embeddable images)
https://www.habboassets.com/imaging/…Furniture, clothing and avatars as images, by name — public, no token, on the site host (not under /api/v2). Put the URL straight into an <img>. Rendered images are cached and unlimited; renders that aren't cached yet are limited to 60 a minute per IP (429 with Retry-After). Errors come back as {"error": "…"} with a 4xx status. Build URLs with the Imager.
/imaging/furniture/{classname}.pngRendered furni (PNG)revision — SWF revision — omit for the latest: 302 to the pinned URL (cached 10 min); pinned images never changedirection — 0–7 (default: the item's preview direction; one it lacks falls back to 0)color — colour id — or *N in the classname, e.g. rare_dragonlamp*4size — 64 (default) or 32state — animation state, e.g. 1 = a lamp switched on (default 0)/imaging/clothing/{library}.pngA clothing set on the grey ghost figure (PNG / APNG)set — figure set id in the library (default: its first set)revision — library revision — omit for the latest (302 pinning revision and set)direction — 0–7 (default 2)animated — 1 = animated PNG (APNG, 6 fps) for animated sets; a still PNG otherwise/imaging/clothing/set/{setId}.pngThe same by figure set id (302 to its library)/imaging/avatar.pngAvatar from a figure string (PNG, standing pose)figure — required — type-set-colour parts joined by dots (max 512 characters); unknown sets or colours → 400direction / head_direction — 0–7 (default 2 / the body direction)size — n = 64×110 (default) or l = 128×220frame — animation tick (0–23) for animated clothing/imaging/searchName suggestions (JSON)type / q — furniture | clothing, and the text to match (a set id finds its library)/imaging/info/furniture/{classname}Revisions, directions, colours and states (JSON)/imaging/info/clothing/{library}Revisions and their sets (JSON)Examples
https://www.habboassets.com/imaging/furniture/throne.png?revision=45512&direction=4 https://www.habboassets.com/imaging/furniture/rare_dragonlamp*4.png?state=1 https://www.habboassets.com/imaging/clothing/set/6370.png?direction=3&animated=1 https://www.habboassets.com/imaging/avatar.png?figure=hd-180-1.ch-210-66.lg-270-82.sh-290-80&direction=3&size=l <img src="https://www.habboassets.com/imaging/avatar.png?figure=hd-180-1.ch-210-66.lg-270-82.sh-290-80" alt="">
Example
curl "https://www.habboassets.com/api/v2/furniture?category=rare&per_page=15" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "X-Hotel-ID: 1" \ -H "Accept: application/json"