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 simple telegram voting bot based on the python-telegram-bot api.

A simple telegram voting bot based on the python-telegram-bot api. *To make it more easy to use, I might make a C++ code in the future so you don't ha

3 Sep 13, 2021
Date Time Userbot With Python

DATE_TIME_USERBOT An Telegram Bot By @Pythone_3 Config Vars API_ID : Telegram API_ID, get it from my.telegram.org/apps API_HASH : Telegram API_ID, get

Sinzz-sinan-m 2 Oct 20, 2021
Python API for Photoshop.

Python API for Photoshop. The example above was created with Photoshop Python API.

Hal 372 Jan 02, 2023
Backend for Indipe client

Betsushi Betsu (別), the japanese word meaning "another" and Shiharai (支払い) meaning "payment". Hence the name Betsushi was derived. Introduction This i

Sudodevs 3 Feb 09, 2022
To dynamically change the split direction in I3/Sway so as to split new windows automatically based on the width and height of the focused window

To dynamically change the split direction in I3/Sway so as to split new windows automatically based on the width and height of the focused window Insp

Ritin George 6 Mar 11, 2022
The Main Pythonic Version Of Twig Using Nextcord

The Main Pythonic Version Of Twig Using Nextcord

8 Mar 21, 2022
微信支付接口V3版python库

wechatpayv3 介绍 微信支付接口V3版python库。 适用对象 wechatpayv3支持微信支付直连商户,接口说明详见 官网。 特性 平台证书自动更新,无需开发者关注平台证书有效性,无需手动下载更新; 支持本地缓存平台证书,初始化时指定平台证书保存目录即可。 适配进度 微信支付V3版A

chen gang 258 Jan 06, 2023
It is a temporary project to study discord interactions. You can set permissions conveniently when you invite a particular disk code bot.

Permission Bot 디스코드 내에 있는 message-components 를 연구하기 위하여 제작된 봇입니다. Setup /config/config_example.ini 파일을 /config/config.ini으로 변환합니다. config 파일의 기본 양식은 아

gunyu1019 4 Mar 07, 2022
Acc-discord-rpc - Assetto Corsa Competizione Discord Rich Presence Client

A simple Assetto Corsa Competizione Rich Presence client. This app only works in

6 Dec 18, 2022
Esse script procura qualquer, dados que você queira na wikipedia! Em breve traremos um com dados em toda a internet.

Buscador de dados simples Dependências necessárias Para você poder começar a utilizar esta ferramenta, você vai precisar da dependência "wikipedia", p

Erick Campoy 4 Feb 24, 2022
Multi-Branch CI/CD Pipeline using CDK Pipelines.

Using AWS CDK Pipelines and AWS Lambda for multi-branch pipeline management and infrastructure deployment. This project shows how to use the AWS CDK P

AWS Samples 36 Dec 23, 2022
scrapes medias, likes, followers, tags and all metadata. Inspired by instagram-php-scraper,bot

instagram_scraper This is a minimalistic Instagram scraper written in Python. It can fetch media, accounts, videos, comments etc. `Comment` and `Like`

sirjoe 2.5k Nov 16, 2022
Simple Translator in Python

Simple Translator in Python Project Description: In this project, we'll be making a very simple translator in Python using some libraries. Requirement

Hassan Shahzad 3 Jan 23, 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
Monitoring plugin for MikroTik devices

check_routeros - Monitoring MikroTik devices This is a monitoring plugin for Icinga, Nagios and other compatible monitoring solutions to check MikroTi

DinoTools 6 Dec 24, 2022
discord vc exploit to lightly lag vcs

discord-vc-reconnector discord vc exploit to lag vcs how to use open the py file, then open devtools on discord, go to network and join a vc, dont sta

Tesco 30 Aug 09, 2022
派蒙Bot / PaimonBot

派蒙Bot / PaimonBot 基于Mrs4s / go-cqhttp 和 nonebot / nonebot2 的原神QQ群聊机器人 特别鸣谢 MingxuanGame 的人物武器名字自动纠正功能 小灰灰 的人物武器信息api 环境 请务必使用Python3.7以上版本!! 尽量在linux下

晓轩 96 Dec 16, 2022
Free & open source API service for obtaining information about +9600 universities worldwide.

Free & open source API service for obtaining information about +9600 universities worldwide.

Yagiz Degirmenci 57 Nov 04, 2022
Riverside Rocks Python API

APIv2 Riverside Rocks Python API Routes GET / Get status of the API GET /api/v1/tor Get Tor metrics of RR family GET /api/v1/metrics Get bandwidth

3 Dec 20, 2021
A Python API wrapper for the Twitter API!

PyTweet PyTweet is an api wrapper made for twitter using twitter's api version 2! Installation Windows py3 -m pip install PyTweet Linux python -m pip

TheFarGG 1 Nov 19, 2022