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
Discord Bot that can translate your text, count and reply to your messages with a personalised text

Discord Bot that can translate your text, count and reply to your messages with a personalised text

Grizz 2 Jan 26, 2022
Simulación con el método de Montecarlo para verificar ganancias con márgenes negativos.

Apliación del método Monte Carlo a un ejemplo que incluye márgenes negativos. Por Marco A. de la Cruz Importante La información contenida en este ejem

1 Jan 17, 2022
Security Monkey monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.

NOTE: Security Monkey is in maintenance mode and will be end-of-life in 2020. For AWS users, please make use of AWS Config. For GCP users, please make

Netflix, Inc. 4.3k Jan 09, 2023
New discord token grabber, password and general information

New discord token grabber, password and general information

Monstered 6 Nov 09, 2022
Project developed as part of a selection process for the company Denox

📝 Tabela de conteúdos Sobre Requisitos para rodar o projeto Instalação Rotas da API Observações 🧐 Sobre Projeto desenvolvido como parte de um proces

Ícaro Sant'Ana 1 Mar 01, 2022
Python library for Spurwing API to schedule appointments, manage calendars and custom integrations.

Spurwing API Python Library Lightweight Python library for Spurwing's API. Spurwing's API makes it easy to add robust scheduling and booking to your a

Spurwing 1 Jul 14, 2021
A discord bot that manages your server's hedge fund

Can't Hide Money Bot A discord bot that manages your server's hedge fund Installing Install wkhtmltopdf sudo apt-get install wkhtmltopdf OR brew insta

Kelvin Abrokwa-Johnson 0 Oct 16, 2021
Github-Checker - Simple Tool To Check If Github User Available Or Not

Github Checker Simple Tool To Check If Github User Available Or Not Socials: Lan

ميخائيل 7 Jan 30, 2022
Yet another random discord bot.

YARDB (r!) Yet another fully functional and random discord bot. I might add more features if I'm bored also don't criticize on my code. Commands: 4 Di

kayle 1 Oct 21, 2021
This script books automatically a slot on Doctolib in one of the public vaccination centers in Berlin.

BOOKING IN BERLINS VACCINATION CENTERS This python script books automatically a slot on Doctolib in one of the public vaccination centers in Berlin. T

17 Jan 13, 2022
Retrieve information from DBLP and update BibTex files automatically

Rebib TLDR: This script retrieves information from DBLP to update your BibTex files. python rebib.py --bibfile xxx.bib It first parses the bib entries

Shangtong Zhang 49 Jan 01, 2023
Network simulation tools

Overview I'm building my network simulation environments with Vagrant using libvirt plugin on a Ubuntu 20.04 system... and I always hated how boring i

Ivan Pepelnjak 219 Jan 07, 2023
Script que realiza a identificação de todos os logins e senhas dos wifis conectados em uma máquina e envia os dados para um e-mail especificado.

getWIFIConnection Script que realiza a identificação de todos os logins e senhas dos wifis conectados em uma máquina e envia os dados para um e-mail e

Vinícius Azevedo 3 Nov 27, 2022
Telegram Bot Repo Capable of fetching the following Info via Anilist API inspired from AniFluid and Nepgear

Telegram Bot Repo Capable of fetching the following Info via Anilist API inspired from AniFluid and Nepgear Anime Airing Manga Character Scheduled Top

Rikka-Chan 2 Apr 01, 2022
Using AWS Batch jobs to bulk copy/sync files in S3

Using AWS Batch jobs to bulk copy/sync files in S3

AWS Samples 14 Sep 19, 2022
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

21 Jul 25, 2022
Wats2PDF - Convert whatsapp exported chat(without media) into a readable pdf format

Wats2PDF convert whatsApp exported chat into a readable pdf format. convert with

5 Apr 26, 2022
Bot per controllare la disponibilità di appuntamenti per la vaccinazione Covid-19 in Veneto

VaxBot9000 Prerequisites Python 3.9 Poetry latest version of geckodriver Firefox Setup poetry install Copy config.sample.toml to config.toml and edit

Augusto Zanellato 5 Jun 13, 2021
A python notification tool used for sending you text messages when certain conditions are met in the game, Neptune's Pride.

A python notification tool used for sending you text messages when certain conditions are met in the game, Neptune's Pride.

Paul Clarke 1 Jan 16, 2022
An Unofficial TikTok API Wrapper In Python

This is an unofficial api wrapper for TikTok.com in python. With this api you are able to call most trending and fetch specific user information as well as much more.

David Teather 2.9k Jan 08, 2023