Back to Projects

Zelda API

Creator & Maintainer • REST/GraphQL API

Next.jsMongoDBGraphQLREST APIOpen SourceVercel

Overview

Zelda API is an open source RESTful and GraphQL API that provides comprehensive information about The Legend of Zelda game franchise. The API offers data about games, characters, enemies, bosses, dungeons, places, items, and staff members from across the entire Zelda series.

Built with Next.js and MongoDB, deployed on Vercel, the API is completely open and doesn't require an API key, making it extremely easy to use for developers learning API development and RESTful principles. This project started as a proof of concept to demonstrate building an API with MongoDB using Next.js.

The API supports both REST endpoints and GraphQL queries, allowing developers to choose the approach that best fits their needs. GraphQL provides a more efficient way to access data by allowing clients to specify exactly what they need, reducing bandwidth and improving performance.

Key Features

RESTful API

Comprehensive REST endpoints for accessing Zelda franchise data including games, characters, monsters, bosses, dungeons, places, items, and staff members. Each endpoint supports filtering, pagination, and detailed queries.

GraphQL Support

Full GraphQL API support with a testing sandbox. Allows clients to query exactly the data they need, including nested relationships like which games a monster appears in. Reduces bandwidth and improves performance through precise data fetching.

No API Key Required

Completely open and free to use. No authentication or API keys needed, making it perfect for learning, prototyping, and educational purposes. CORS issues have been resolved in the latest version.

MongoDB Database

Uses MongoDB as the database backend, storing all Zelda franchise data in a structured format. This allows for efficient querying, relationships between entities, and easy data management.

API Endpoints

The Zelda API provides endpoints for accessing various types of game data:

Available Endpoints:

  • Games
  • Characters
  • Monsters
  • Bosses
  • Dungeons
  • Places
  • Items
  • Staff

Example Usage:

GET /api/games?limit=2POST /api/graphql

Open Source Impact

91+

GitHub Stars

11

Forks

8

Commits

Technical Details

Architecture

Built with Next.js API routes connected to MongoDB database. Uses serverless functions on Vercel for scalable, global deployment. The architecture demonstrates how to build a production-ready API using Next.js and MongoDB together.

Deployment

Deployed on Vercel with automatic edge caching and global CDN distribution. Documentation built with Docusaurus. The API is accessible at zelda.fanapis.com with improved performance and CORS handling in the latest version.

Data Sources

Game data is sourced from Zelda fan sites and wikis, then organized and stored in MongoDB. The database structure allows for complex relationships, such as tracking which games characters or monsters appear in across the franchise.

GraphQL Implementation

Includes a GraphQL testing sandbox for interactive query testing. GraphQL queries can fetch nested data efficiently, such as retrieving a monster's name, description, and all games it appears in with a single query.

Learn More

Start using the Zelda API today! No API key required. Check out the documentation for examples and integration guides.

Deliton Junior - Senior Software Engineer & Technical Leader