Skip to content

RyanYuuki/Enoki_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enoki API Logo

Enoki API

Free and open source manga API that provides seamless access to detailed manga information from various sources.

Node.js Express.js Cheerio Axios

Deploy with Vercel

Features

  • Retrieve manga title information, chapters, and images
  • Explore the latest, popular, newest, and completed manga titles per source
  • Dedicated search endpoints for each source for a focused search experience

Technologies

  • Node.js - Runtime environment
  • Express - Web framework
  • Cheerio - Web scraping library
  • Axios - HTTP client

API Endpoints

Root

  • GET /
    Returns a welcome message.

Search Endpoints (by Source)

Search each source independently with the following endpoints:

  • Manganato Search

    • GET /manganato/search/:query/:page?
      • Searches for manga titles on Manganato by query. Optional pagination with page, defaulting to 1.
  • Mangabat Search

    • GET /mangabat/search/:query/:page?
      • Searches for manga titles on Mangabat by query. Optional pagination with page, defaulting to 1.
  • MangaFire Search

    • GET /mangafire/search/:query/:page?
      • Searches for manga titles on MangaFire by query. Optional pagination with page, defaulting to 1.

Manganato Routes

Endpoint Description
GET /manganato/details/:id Fetches details of a specific manga by ID.
GET /manganato/read/:mangaId/:id Retrieves images for a specific manga chapter.
GET /manganato/latest/:page? Lists the latest manga titles (paginated).
GET /manganato/popular/:page? Lists popular manga titles (paginated).
GET /manganato/newest/:page? Lists the newest manga titles (paginated).
GET /manganato/completed/:page? Lists completed manga titles (paginated).

Mangabat Routes

Endpoint Description
GET /mangabat/details/:id Fetches details of a specific manga by ID.
GET /mangabat/read/:mangaId/:id Retrieves images for a specific manga chapter.
GET /mangabat/latest/:page? Lists the latest manga titles (paginated).
GET /mangabat/popular/:page? Lists popular manga titles (paginated).
GET /mangabat/newest/:page? Lists the newest manga titles (paginated).
GET /mangabat/completed/:page? Lists completed manga titles (paginated).

MangaFire Routes

Endpoint Description
GET /mangafire/details/:id Fetches details of a specific manga by ID.
GET /mangafire/read/:id Retrieves images for a specific manga chapter.
GET /mangafire/latest/:page? Lists the latest manga titles (paginated).
GET /mangafire/popular/:page? Lists popular manga titles (paginated).
GET /mangafire/newest/:page? Lists the newest manga titles (paginated).
GET /mangafire/completed/:page? Lists completed manga titles (paginated).

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn

Installation

  1. Clone this repository:

    git clone https://github.com/RyanYuuki/Enoki_API.git
    cd Enoki_API
  2. Install dependencies:

    npm install
  3. Set up environment variables in a .env file as needed.

  4. Run the server:

    npm start
  5. The API will be accessible at http://localhost:5000.

Usage

Test the API by visiting endpoints like:

  • http://localhost:5000/manganato/details/{id} – Get manga details
  • http://localhost:5000/mangabat/search/query/page – Search for manga
  • http://localhost:5000/mangafire/search/query/page – Search for manga on MangaFire

Folder Structure

enoki-api/
├── src/
│   ├── controllers/          # Controller functions for each route
│   ├── routes/               # API route definitions
│   ├── scrapers/             # Web scraping logic for each source
│   └── utils/                # Utility functions
├── assets/                   # Static assets including logo
├── .env                      # Environment variables (gitignored)
├── package.json             # Project dependencies and scripts
├── server.js                # Main server entry point
└── README.md                # Documentation

Contributing

  1. Fork the project
  2. Create your feature branch: git checkout -b feature/AmazingFeature
  3. Commit your changes: git commit -m 'Add some AmazingFeature'
  4. Push to the branch: git push origin feature/AmazingFeature
  5. Open a pull request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Your Name – rehank220358@gmail.com
Project Link: https://github.com/RyanYuuki/Enoki_API

About

A Api Written in ExpressJS for Scraping Popular Manga Sites

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published