Reference
Endpoints
HallownestAPI v1 — REST, no auth, JSON responses.
Base URL
https://hallownestapi.dev/api/v1Conventions
- Slugs are kebab-case ASCII (e.g.
false-knight). - List endpoints accept
limit(1–100, default 20) andoffset(default 0). - Errors return JSON with an
errorcode and a humanmessageordetails. - All responses are cached at the edge — typically 1h with SWR.
/api/v1Root index. Lists available endpoints.
{
"name": "HallownestAPI",
"version": "v1",
"endpoints": { "bosses": ".../boss", "boss": ".../boss/{slug}" }
}/api/v1/bossPaginated list of bosses. Filterable.
| Param | Type | Description |
|---|---|---|
| game | hk | silksong | Filter by game. |
| search | string | Substring match on name, slug, or area. |
| limit | number | 1–100, default 20. |
| offset | number | Default 0. |
{
"count": 4,
"next": null,
"previous": null,
"results": [
{
"slug": "false-knight",
"name": "False Knight",
"game": "hk",
"area": { "slug": "forgotten-crossroads", "name": "Forgotten Crossroads" },
"optional": false,
"url": "https://hallownestapi.dev/api/v1/boss/false-knight"
}
]
}/api/v1/boss/{slug}Full payload for a single boss.
{
"slug": "false-knight",
"name": "False Knight",
"game": "hk",
"hp": { "base": 300 },
"geo": 200,
"area": { "slug": "forgotten-crossroads", "name": "Forgotten Crossroads" },
"phases": [{ "name": "Armoured rampage" }, { "name": "Exposed maggot" }],
"summary": "..."
}/api/v1/characterPaginated list of characters — NPCs, merchants, Hunter's Journal enemies, and dream warriors.
| Param | Type | Description |
|---|---|---|
| game | hk | silksong | Filter by game. |
| kind | npc | merchant | enemy | warrior | Filter by character kind. |
| area | slug | Filter by the slug of the character's primary area. |
| search | string | Substring match on name, slug, role, or area. |
| limit | number | 1–100, default 20. |
| offset | number | Default 0. |
{
"count": 28,
"next": null,
"previous": null,
"results": [
{
"slug": "cornifer",
"name": "Cornifer",
"game": "hk",
"kind": "npc",
"role": "Cartographer",
"area": { "slug": "forgotten-crossroads", "name": "Forgotten Crossroads" },
"url": "https://hallownestapi.dev/api/v1/character/cornifer"
}
]
}/api/v1/character/{slug}Full payload for a single character. Enemy entries include HP, damage, geo drop, and Hunter's Journal notes.
{
"slug": "crawlid",
"name": "Crawlid",
"game": "hk",
"kind": "enemy",
"role": "Tiny crawling bug",
"area": { "slug": "forgotten-crossroads", "name": "Forgotten Crossroads" },
"hp": 5,
"damage": 1,
"geoDrop": 1,
"hunterJournal": {
"notes": "Mindless creature that crawls along the ground..."
},
"summary": "..."
}/api/v1/areaPaginated list of regions and sub-areas across Hallownest and Pharloom.
| Param | Type | Description |
|---|---|---|
| game | hk | silksong | Filter by game. |
| kind | region | subarea | Filter by area kind. |
| parent | slug | Slug of the parent region; useful to enumerate sub-areas. |
| search | string | Substring match on name, slug, or parent. |
| limit | number | 1–100, default 20. |
| offset | number | Default 0. |
{
"count": 53,
"next": null,
"previous": null,
"results": [
{
"slug": "greenpath",
"name": "Greenpath",
"game": "hk",
"kind": "region",
"url": "https://hallownestapi.dev/api/v1/area/greenpath"
}
]
}/api/v1/area/{slug}Full payload for a single area. The response inlines a sub-areas list under `subareas`.
{
"slug": "greenpath",
"name": "Greenpath",
"kind": "region",
"connectsTo": ["forgotten-crossroads", "fog-canyon", "queens-gardens"],
"stagStation": "Greenpath Stag",
"subareas": [
{ "slug": "lake-of-unn", "name": "Lake of Unn", "kind": "subarea" }
],
"summary": "..."
}/api/v1/charmPaginated list of charms — including the Fragile/Unbreakable line and Kingsoul/Void Heart.
| Param | Type | Description |
|---|---|---|
| game | hk | silksong | Filter by game. |
| notchCost | 0 | 1 | 2 | 3 | 4 | 5 | Filter by notch cost. Void Heart is 0, Kingsoul is 5. |
| area | slug | Filter by the primary area of acquisition. |
| merchant | slug | Filter by the selling merchant's slug (e.g. salubra). |
| search | string | Substring match on name, slug, or effect tagline. |
| limit | number | 1–100, default 20. |
| offset | number | Default 0. |
{
"count": 45,
"next": null,
"previous": null,
"results": [
{
"slug": "wayward-compass",
"name": "Wayward Compass",
"game": "hk",
"notchCost": 1,
"effect": "Reveals the Knight's location on the map.",
"area": { "slug": "dirtmouth", "name": "Dirtmouth" },
"url": "https://hallownestapi.dev/api/v1/charm/wayward-compass"
}
]
}/api/v1/charm/{slug}Full payload for a single charm — notch cost, effect, location, merchant, synergies, and upgrade chain.
{
"slug": "fragile-strength",
"name": "Fragile Strength",
"notchCost": 3,
"fragile": true,
"effect": "Increases nail damage by 50%. Breaks on death.",
"cost": 600,
"merchant": "leg-eater",
"upgradesTo": "unbreakable-strength",
"synergies": ["quick-slash", "mark-of-pride"]
}/api/v1/skillPaginated list of skills — movement abilities, spells, nail arts, and dream tools.
| Param | Type | Description |
|---|---|---|
| game | hk | silksong | Filter by game. |
| kind | movement | spell | nail-art | dream | Filter by skill kind. |
| search | string | Substring match on name, slug, or effect. |
| limit | number | 1–100, default 20. |
| offset | number | Default 0. |
{
"count": 18,
"next": null,
"previous": null,
"results": [
{
"slug": "vengeful-spirit",
"name": "Vengeful Spirit",
"game": "hk",
"kind": "spell",
"url": "https://hallownestapi.dev/api/v1/skill/vengeful-spirit"
}
]
}/api/v1/skill/{slug}Full payload for a single skill. Spells expose `soulCost` and `damage`.
{
"slug": "shade-soul",
"name": "Shade Soul",
"kind": "spell",
"soulCost": 33,
"damage": 30,
"upgradeOf": "vengeful-spirit",
"area": { "slug": "city-of-tears", "name": "City of Tears" }
}