Skip to content
HallownestAPI

Getting started

Quickstart

From zero to a parsed boss in three steps.

1. Pick an endpoint

The two endpoints you’ll use most:

  • /api/v1/boss — paginated list, filterable by game and search.
  • /api/v1/boss/{slug} — full payload for a single boss.

2. Fetch from anywhere

curl
curl "https://hallownestapi.dev/api/v1/boss?game=hk&limit=5"
TypeScript / fetch
type Boss = {
  slug: string;
  name: string;
  game: "hk" | "silksong";
  area: { slug: string; name: string };
  url: string;
};

const res = await fetch(
  "https://hallownestapi.dev/api/v1/boss?game=hk&limit=5",
);
const { results } = (await res.json()) as { results: Boss[] };
console.log(results.map((b) => b.name));
Python
import httpx

r = httpx.get("https://hallownestapi.dev/api/v1/boss/false-knight")
boss = r.json()
print(boss["name"], "—", boss["area"]["name"])

3. Validate with Zod (optional)

The same Zod schemas the server uses are available in the source — copy lib/schema.ts into your project for end-to-end type safety.

ts
import { BossSchema } from "./schema";

const boss = BossSchema.parse(await res.json());