An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild

Overview

Hyrule Compendium API

An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild.
By Aarav Borthakur


Concept

The Hyrule compendium is an encyclopedia of all in-game interactive items. With this brilliant API, you can access this data from code and embed it into your own application. See the compendium directory of this repository to see all entries in the compendium. 385 entries and 5 categories of entries are in the compendium.

You can see a specific item, all items in a category, or all data in our database. Here is an example request and response, retrieving data on the silver lynel:

$ curl http://botw-compendium.herokuapp.com/api/v1/entry/silver_lynel
{
    "data": {
        "category": "monsters",
        "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.",
        "drops": [
            "lynel horn",
            "lynel hoof",
            "lynel guts",
            "topaz",
            "ruby",
            "sapphire",
            "diamond",
            "star fragment"
        ],
        "id": 124,
        "name": "silver lynel"
    }
}

Let's get started!

API Refrence

The base URL is https://botw-compendium.herokuapp.com/api/v1.


/category

This endpoint is used for retrieving all entries in a category. The categories are:

  • Creatures
  • Equipment
  • Materials
  • Monsters
  • Treasure

HTTP Request

GET https://botw-compendium.herokuapp.com/api/v1/category/<category>

Example Request

$ curl https://botw-compendium.herokuapp.com/api/v1/category/monsters

/entry

This endpoint is used for retrieving a specific entry, using it's name or ID. If you are using a name to search for an item, spaces are to be replaced with an underscore or "%20".

HTTP Request

GET https://botw-compendium.herokuapp.com/api/v1/entry/<entry>

Example Request

With name:

$ curl https://botw-compendium.herokuapp.com/api/v1/entry/moblin

With name with spaces:

$ curl https://botw-compendium.herokuapp.com/api/v1/entry/silver%20moblin

With ID:

$ curl https://botw-compendium.herokuapp.com/api/v1/entry/70

/

This endpoint is for retrieving all data.

HTTP Request

GET https://botw-compendium.herokuapp.com/api/v1

Example Request

$ curl https://botw-compendium.herokuapp.com/api/v1

Support and Suggestions

If you come across a malfunction or have any suggestions open an issue or a pull request.

Notes

If a key's value is null, that means it's marked as "unknown" in the Hyrule Compendium.
The response schema of the "creatures" category is much different from the others, because it has two sub-categories ("food" and "non-food").

Client Libraries

Running locally

Instructions for running locally can be found here.

Status

Server status:

Check the latest "test endpoints" workflow run to see if the server status.

Author

Made with awesomeness by @gadhagod.

Comments
  • Golden Enemies

    Golden Enemies

    Hello, i'm sorry to bother you but i was simply wondering if the golden variants of the enemies would show up here, i have been searching for them and i cannot find them, are they simply not in the compendium in the main game? my apologies if so

    opened by AliciaSpinnet 6
  • The creatures category returns non-creature content

    The creatures category returns non-creature content

    I was looking around the dataset and I noticed that there is a lot of "non-creature" content returned by the creatures endpoint. For instance, you get stuff like "golden claymore" with id 262 in the non-food sub-category. I'm a bit confused about what your concept of a "creature" is within the domain of this API.

    It also doesn't match the data in the creatures json file which only have 83 entries. Is this a bug?

    opened by kawazoe 3
  • Missing images

    Missing images

    I know the images are in development so you may or may not be aware of these, but just wanted to point them out in case you weren't.

    I came across 3 missing images: https://botw-compendium.herokuapp.com/api/v2/entry/golden_bow/image https://botw-compendium.herokuapp.com/api/v2/entry/golden_claymore/image https://botw-compendium.herokuapp.com/api/v2/entry/luminous_ore_deposit/image

    I also came across 1 broken image. The image is actually there and works just fine but the url in the entry has a typo: https://botw-compendium.herokuapp.com/api/v2/entry/rare_or_deposit/image ('ore' is misspelled and is missing the 'e')

    bug 
    opened by blkhwks19 2
  • Add images to API

    Add images to API

    Hope to add images to the API very soon. The entry endpoint will have an additional key, image, that has a URL of the image (hosted on the same heroku server). That URL will be /entry/<entry>/image, which will serve the image in a png of jpeg format.

    enhancement 
    opened by gadhagod 1
  • Problems with the hyphen of

    Problems with the hyphen of "non-food"

    When I do a request, I can't retrieve the data of an entry who is in the category "non-food". The hyphen in the category create errors. I don't know how to fix it. I'm using JavaScript.

    bug 
    opened by GuilhemDuval 1
  • v3

    v3

    The new version of the Hyrule Compendium API will serve data on more than just the compendium entries. It will contain the following categories of data:

    • [x] in-game compendium (/compendium)
    • [x] geographical regions (/regions) (https://github.com/gadhagod/Hyrule-Compendium-API/discussions/29)
    • [ ] recipes (/recipes) (https://github.com/gadhagod/Hyrule-Compendium-API/issues/27)

    The goal is to make this API more than just the compendium; it should be able to give data on all (or many) aspects of the game, not just the in-game items.

    Recipes

    Recipes will be divided based on their base ingredient (e.g seafood). Multi-dimensional arrays will be used to represent possible ingredients to tackle the problem of substitutable ingredients.

    Possible example recipe response:

    {
      "name": "meat and rice bowl",
      "image": "https://botw-compendium.herokuapp.com/api/v3/recipes/recipe/meat-and-rice-bowl",
      "category": "meat",
      "hearts_recovered": 4.0, // hearts recovered from consumption
      "ingredients": [["raw meat", "raw bird drumstick"], ["rock salt"], ["hylian rice"]] // array of arrays, each inner array represents possible ingredients
      "effect": "attack", // enhancing effect of dish (empty if none)
      "duration": 60, // duration of effect in seconds (0 if no effect)
    }
    

    Map

    Data on each region, including encompassed shrines and settlements, will be provided.

    Compendium

    • [x] The compendium entries will have a field dlc that specifies if it is a master-mode exclusive. The /master_mode endpoint will remain to avoid ID conflicts.
    • [x] The food and non_food keys in the creatures category response will be removed. Each creature entry will have a boolean property edible instead.

    Code Changes

    These changes will not affect the user of the API. It will improve performance and clean up code.

    • [x] Separate branches for API versions
    • [x] Use Flask blueprints instead of Flask().add_url_rule
    • [ ] Improve queries to reduce API latency
      • Instead of executing multiple queries, using UNION is a better solution
    • [x] Create staging app to test changes

    Client Libraries

    Additional Tasks

    • [ ] Documentation

    Release

    I hope to have all of these features in production by the end of 2022. I hope to get the bulk of it done by the end of this summer (August 2022).


    Feel free to chime in on this thread.

    opened by gadhagod 5
  • Images

    Images

    Hi! Great work with this! I was wondering if you were planning on getting the images more standardized like the ones from https://zelda.fandom.com/wiki/Food#Breath_of_the_Wild. Also, do you have any plans for adding a recipe list?

    opened by dylantoporek 1
Releases(v2)
Owner
Aarav Borthakur
I like automation and making things do work for me. @Harker-Hackers.
Aarav Borthakur
A reddit.com bot that will return reference links from official python documentation site for the standard library.

Python Docs Bot A reddit.com bot that will return documentation links for the library and language reference sections of the python docs website. The

Trevor Miller 2 Sep 14, 2021
A AntiChannelBan Telegram Group Bot Open Source

AntiChannelBan This is a Anti Channel Ban Robots delete and ban message sent by channels Deployment Method Heroku 𝚂𝚄𝙿𝙿𝙾𝚁𝚃 CREDIT BrayDen Blaze

✗ BᵣₐyDₑₙ ✗ 14 May 02, 2022
PESU Academy Discord Bot built for PESsants and PESts of PES University

PESU Academy Bot PESU Academy Discord Bot built for PESsants and PESts of PES University You can add the bot to your Discord Server using this link. O

Aditeya Baral 0 Nov 16, 2021
Adds a new git subcommand named "ranch".

Git Ranch This script adds ranch, a new subcommand for git that makes it easier to order 1 Gallon of Kraft Ranch Salad Dressing from Amazon. Installat

Austin T Schaffer 8 Jul 06, 2022
A Telegram Repo For Devs To Controll The Bots Under Maintenance.This Bot Is For Developers, If Your Bot Is Down, Use This Repo To Give Your Dear Subscribers Some Support By Providing Them Response.

Maintenance Bot A Telegram Repo For Devs To Controll The Bots Under Maintenance About This Bot This Bot Is For Developers, If Your Bot Is Down, Use Th

Vɪᴠᴇᴋ 47 Dec 29, 2022
Baota-docker - Deploying baota panel via docker

baota-docker Deploying baota panel via docker. 通过docker一键部署宝塔面板。 一、前言 好像很多人对这个感兴

Mr. Cat 15 Dec 12, 2022
Infinity: a Twitter retweet bot that can be used by anyone

INSTAMATE Requires Firefox Instapy Python3 How To Use? Fork the repository Add your credentials in the bot.py file Save commits Clone your fork cd int

unofficialdxnny 3 Jun 23, 2022
Twitter-Scrapping - Tweeter tweets extracting using python

Twitter-Scrapping Twitter tweets extracting using python This project is to extr

Suryadeepsinh Gohil 2 Feb 04, 2022
Script for polybar to display and control media(not only Spotify) using DBus.

polybar-now-playing Script for polybar to display and control media(not only Spotify) using DBus Python script to display and control current playing

Dope Wizard 48 Dec 31, 2022
Karen is a Discord Bot that will check for a list of forbidden words/expressions, removing the message that contains them and replying with another message.

Karen is a Discord Bot that will check for a list of forbidden words/expressions, removing the message that contains them and replying with another message. Everything is highly customizable.

Rafael Almeida 1 Nov 03, 2021
🎥 Stream your favorite movie from the terminal!

Stream-Cli stream-cli is a Python scrapping CLI that combine scrapy and webtorrent in one command for streaming movies from your terminal. Installatio

R E D O N E 379 Dec 24, 2022
LavaAPI - A simple library for accepting payments and using the LAVA Wallet

This library was created to simplify the LAVA api provided on the official websi

Vlad Baccara 8 Dec 18, 2022
A website application running in Google app engine, deliver rss news to your kindle. generate mobi using python, multilanguages supported.

Readme of english version refers to Readme_EN.md 简介 这是一个运行在Google App Engine(GAE)上的Kindle个人推送服务应用,生成排版精美的杂志模式mobi/epub格式自动每天推送至您的Kindle或其他邮箱。 此应用目前的主要

2.6k Jan 06, 2023
5 Oct 19, 2022
ToqueIO Nuke tools - A collection of tools designed to assist in enhancing your workflows within nuke

ToqueIO Nuke tools - A collection of tools designed to assist in enhancing your workflows within nuke

4 Feb 19, 2022
A python tool to Automate Whatsapp through Whatsapp web

This python tool is used to Automate Whatsapp through Whatsapp web. We can add number of contacts whom we want to send text messages on perticular time

5 Jul 21, 2022
Report-snapchat - Report Snapchat acc with python

report-snapchat Report Snapchat acc Report users on Snapchat about the tool : 4

17 Dec 01, 2022
A Telegram bot for personal utilities

Aqua Aqua is a Telegram bot for personal utilities. Installation Prerequisites: Install Poetry for managing dependencies and fork/clone the repository

Guilherme Vasconcelos 2 Mar 30, 2022
Trading bot rienforcement with python

Trading_bot_rienforcement System: Ubuntu 16.04 GPU (GeForce GTX 1080 Ti) Instructions: In order to run the code: Make sure to clone the stable baselin

1 Oct 22, 2021
Create Discord Accounts Semi-Automatically Without Captcha Solving API Key

Discord-Account-Generator Create Discord Accounts Semi-Automatically without captcha solving api key IMPORTANT: Your chromedriver version should be th

NotSakshyam 11 Mar 21, 2022