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
Python module and command line script client for http://urbandictionary.com

py-urbandict py-urbandict is a client for urbandictionary.com. Project page on github: https://github.com/novel/py-urbandict PyPI: https://pypi.org/pr

Roman Bogorodskiy 32 Oct 01, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Jan 19, 2022
python library to the bitly api

bitly API python library Installation pip install bitly_api Run tests Your username is the lowercase name shown when you login to bitly, your access

Bitly 245 Aug 14, 2022
Python library for interacting with the Wunderlist 2 REST API

Overview Wunderpy2 is a thin Python library for accessing the official Wunderlist 2 API. What does a thin library mean here? Only the bare minimum of

mieubrisse 24 Dec 29, 2020
A tool for transferring server variable values from one intersect gamedata.db to another

Server Variable Transfer Tool Purpose This tool exists for use with the Intersect Engine (Ascension Game Dev GitHub). Its purpose is to UPDATE one sql

AVild 2 Oct 27, 2021
Osmopy - osmo python client library

osmopy Version 0.0.2 Tools for Osmosis wallet management and offline transaction

5 May 22, 2022
Hostapd-mac-monitor - Setup a hostapd AP to conntrol the connections of specific MACs

A brief explanation This script provides way to setup a monitoring service of sp

2 Feb 03, 2022
📷 Instagram Bot - Tool for automated Instagram interactions

InstaPy Tooling that automates your social media interactions to “farm” Likes, Comments, and Followers on Instagram Implemented in Python using the Se

Tim Großmann 13.5k Dec 01, 2021
Python Client Library to interface with the Phoenix Realtime Server

supabase-realtime-client Python Client Library to interface with the Phoenix Realtime Server This is a fork of the supabase community realtime client

Anand 2 May 24, 2022
Automatically searching for vaccine appointments

Vaccine Appointments Automatically searching for vaccine appointments Usage To copy this package, run: git clone https://github.com/TheIronicCurtain/v

58 Apr 13, 2021
A custom rom post bot for Telegram.

Rom Poster Bot A simple Post Bot written in Python using pyTelegramBotAPI to post rom updates to telegram whenever you need. Made by lazy peep for laz

Prajwal 6 Nov 03, 2022
veez music bot is a telegram music bot project, allow you to play music on voice chat group telegram.

🎶 Veez Music Bot Music bot for playing music on telegram voice chat group. Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.7+ PyTgCalls 🧪 Get

levina 143 Jun 19, 2022
A bot to view Garfield comics directly from Discord and get updates of the comics automatically

Garfield-Bot A bot to view Garfield comics directly from Discord and get updates of the comics automatically. Instructions to use the bot: Invite the

Raghav Sharma 3 Feb 13, 2022
A smart tool to backup members 📈 So you even after a raid/ ban you can easily restore them in seconds 🎲

🤑 Discord-backer 🤑 A open-source Discord member backup and restore tool for your server. This can help you get all your members in 5 Seconds back af

John 29 Dec 21, 2022
A simple API Wrapper for Guilded.

Guildr A simple API Wrapper for Guilded. Frequently updated! I am not a user of Guilded, meaning I do not keep track of new Guilded updates or patches

2 Mar 07, 2022
A Discord bot coded in Python

Perseverance-Bot By Toricane Replit Code | GitHub Code | Discord Server | Website Perseverance is a multi-purpose bot coded in Python. It has moderati

4 Mar 30, 2022
A qq bot based on nonebot2 and go-cqhttp

Asoul-bot A qq bot based on nonebot and go-cqhttp 你可以将bot部署在本地,也可以加入bot测试群:784280070(全体禁言) 你可以通过临时会话的方式向bot发送指令,输入help获取帮助菜单 本地部署请参考:https://zhuanlan.

11 Sep 23, 2022
Discord Bot for server hosts, devs, and admins. Analyzes timings reports & uploads text files to hastebin. Developed by https://birdflop.com.

"Botflop" Click here to invite Botflop to your server. Current abilities Analyze timings reports Paste a timings report to review an in-depth descript

Purpur 76 Dec 31, 2022
Projeto sobre BioInformática - MoA (mecanismos de ação)

Projeto: MoA no Paredawn Projeto sobre Bioinformatica - Mecanismos de Ação (MoA) MODELO PREDITIVO PARA PREVER O ATIVAMENTO DO MOA E MODELO PARA PREVER

Junior Torres 36 Feb 15, 2022
This Telegram bot allows you to create direct links with pre-filled text to WhatsApp Chats

WhatsApp API Bot Telegram bot to create direct links with pre-filled text for WhatsApp Chats You can check our bot here. The bot is based on the API p

RobotTrick • רובוטריק 17 Aug 20, 2022