Mangpi
simple manga, manhwa, webtoon scraper API
Install / Use
/learn @sologoloo/MangpiREADME
[Go through The documentation of the Mangpi API <img src="https://img.shields.io/badge/v1.0.0-blue" height="15">]<br> Mangpi is a simple API that provides manga, manhwa, webtoons data including its details, chapters, pages and many more. All the provided data are scraped using Puppeteer from mangaPark. <br><br>
Base URL
Being a student, i am poor af 🤧. Can't afford to host the api on serverless instance. Yeah, i know there are some service provider which provide free hosting, but mine program doesn't work on them due to timeOut limitation on free-tire plans. So, no base url 🥹.
<br>Endpoints
Endpoint 1
GET /manga/{name}
This endpoint allows clients to retrieve details about a manga/manhwa. The response includes various details such as the manga's name, author, genre, synopsis, status and more.
<br>Parameters:
- {name} - name of the manga/manhwa, should be in lowercase and space should be seperated by
_
Example:
GET /manga/one_piece
Response (200):
[
{
"code": "200"
},
{
"data":{
"name": "One Piece",
//other details
...
}
},
//other data
]
<br>
Endpoint 2
GET /manga/chaplist/{name}
This endpoint allows clients to retrieve chapter lists of a manga/manhwa. The response includes manga's name, latest Update and all the chapter list in an array.
<br>Parameters:
- {name} - name of the manga/manhwa, should be in lowercase and space should be seperated by
_
Example:
GET /manga/chaplist/one_piece
Response (200):
[
{
"code": "200"
},
{
"data": {
"name": "One Piece",
"lastUpdate": "91 hours ago",
"lastChapter": "Vol.TBE Ch.1104",
"chapters": [
"Vol.01 Ch.001: Romance Dawn",
"Vol.01 Ch.002: They call him \"Straw Hat Luffy\"",
//all chapters
...
]
}
},
//other data
]
<br>
Endpoint 3
GET /manga/chapter/{chapterNumber}/{name}
This endpoint allows clients to retrieve chapter's pages of a manga/manhwa. The response includes manga's chapter page's image link with page count.
<br>Parameters:
- {name} - name of the manga/manhwa, should be in lowercase and space should be seperated by
_ - {chapterNumber} - chapter number, only the number
Example:
GET /manga/chapter/123/one_piece
Response (200):
[
{
"code": "200"
},
{
"data": {
"name": "One Piece",
"chapter": "Ch.123",
"release": "5313 days ago",
"pages": [
{
"number": 0,
"img": "https://example.link"
},
//other page's image
...
]
}
},
//other data
]
<br>
Error Handling
There are only three types of errors possible in the program; manga not found, scraper website error and internal server error, and are handeled by returning 404, 502, 500 error code respectively.
Example (404):
[
{
"code": "404",
"error": "The requested manga/data was not found !!"
},
//other info
]
<br>
Run Locally <img src="https://img.shields.io/badge/For linux-blue" height="17">
Make sure you have correct package manager installed before running the program locally, npm or yarn.
- Clone the repo
git clone https://github.com/sololinux/mangpi
- Go inside the cloned repo (root) and install the required packages
cd mangpi
npm install
//or
yarn install
- Start the program
npm start
//or
yarn start
Now, vist localhost in port 7253 as the base url for the api ie. 127.0.0.1:7253/ , for manga explosion 💥.
<br>Contact
For any inquiries or assistance, please contact solo .
License
This project is licensed under the MIT. See the LICENSE file for details.
Related Skills
gh-issues
354.0kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
354.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
354.0kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
taskflow-inbox-triage
354.0kname: taskflow-inbox-triage description: Example TaskFlow authoring pattern for inbox triage. Use when messages need different treatment based on intent, with some routes notifying immediately, some w
