Games & Comics — entry 037 of 75
Hyrule Compendium
The Hyrule Compendium API is a community-built, keyless reference for every catalogued entry in The Legend of Zelda: Breath of the Wild's in-game Hyrule Compendium — creatures, monsters, materials, equipment, and treasure — including descriptions, common locations, and item images. It's now served from its own domain on Heroku; the historic botw-compendium.herokuapp.com host is gone, so the stored URL is updated to the live endpoint.
The Hyrule Compendium API is a keyless JSON catalogue of every entry in Breath of the Wild's in-game compendium — creatures, monsters, materials, equipment, and treasure. A live GET this run against /compendium/entry/silver_lynel returned a genuine 653 B entry at HTTP 200, content-type: application/json, with the actual payload nested one level down under a data key.
GreatAPIs Score
Auth quickstart
- No API key, signup, or credit card required — the live GET above returned real entry data with no auth header of any kind attached. CORS is origin-echoing rather than a fixed wildcard: a request this run with
Origin: https://greatapis.comgot backaccess-control-allow-origin: https://greatapis.com, while the identical request with noOriginheader at all got backaccess-control-allow-origin: *instead — direct browser use works either way, but code that asserts the header is always one exact value will be wrong half the time.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Look up a single compendium entry by name
GEThttps://api.hyrule-compendium.com/api/v3/compendium/entry/silver_lynel
{
"data": {
"category": "monsters",
"common_locations": null,
"description": "Silver Lynels are not to be trifled with. They have been influenced by Ganon's fiendish magic, so they are the strongest among the Lynel species, surpassing even the strength of those with white manes. The term \"silver\" denotes not only their color but also their rarity. The purple stripes help them to stand out even more.",
"dlc": false,
"drops": [
"lynel horn",
"lynel hoof",
"lynel guts",
"topaz",
"ruby",
"sapphire",
"diamond",
"star fragment"
],
"id": 124,
"image": "https://api.hyrule-compendium.com/v3/compendium/entry/silver_lynel/image",
"name": "silver lynel"
},
"message": "",
"status": 200
}The image field is an absolute URL to a separate live PNG endpoint (130,259 B, confirmed live this run), not a relative path or embedded image data — rendering the entry's artwork takes a second request. message is an empty string on a successful lookup like this one; it's only populated with human-readable text on the error path below.
Try it
Developer reference
https://api.hyrule-compendium.com/api/v3- GET/compendium/entry/{entry}
- GET/compendium/category/{category}
- GET/compendium/all
- GET/compendium/master_mode/all
Gotchas & limits
- HTTP status is mirrored inside the body even on error responses — a live GET this run against
/compendium/entry/notathingreturned real HTTP 404 headers AND put"status":404inside a 72 B JSON body,{"data":{},"message":"Entry \"notathing\" does not exist","status":404}. Notedatais present but an empty object rather than absent, so a check likeif (body.data)is truthy even on this error path — readstatusormessage, not just whetherdataexists. - CORS
access-control-allow-originechoes the caller'sOriginrather than serving a fixed wildcard — confirmed live above: a request withOrigin: https://greatapis.comgot that exact origin back, while the same request with noOriginheader got*instead. Don't hardcode an expectation of either value. common_locationsisnullon some entries and a populated array on others in the very same corpus — confirmed live above: Silver Lynel'scommon_locationsisnull, while a live GET this run against/compendium/allfound"red-tusked boar"withcommon_locations: ["Akkala Highlands", "Deep Akkala"]. Code that assumes the field is always one shape will break on the other./compendium/master_mode/allis a separate, much smaller dataset, not a filtered view of/compendium/all— live GETs this run returned 177,813 B for the full compendium vs. just 2,823 B for master mode;/compendium/category/monsters(43,260 B) is a third, differently-scoped listing again, not a subset computed client-side.