Skip to content

GooglyBlox/comick-source-api

Repository files navigation

Comick Source API

Next.js API for scraping manga metadata from multiple sources.

Live API | Userscript

Source ID Base URL Status
Arven Comics arven-comics https://arvencomics.com Active
Arya Scans arya-scans https://brainrotcomics.com Active
Asmodeus Scans asmodeus-scans https://asmotoon.com Active
AsuraScan asurascan https://asuracomic.net Active
AtsuMoe atsumoe https://atsumoe.com Active
Bato bato https://bato.to Unstable
Comix comix https://comix.to Active
Elf Toon elf-toon https://elftoon.com Active
Falcon Scans falcon-scans https://falconscans.com Unstable
Firescans firescans https://firescans.xyz Active
FlameComics flamecomics https://flamecomics.xyz Active
Galaxy Degen Scans galaxy-degen-scans https://gdscans.com Active
KaliScan kaliscan https://kaliscan.com Active
KappaBeast kappabeast https://kappabeast.com Active
KDT Scans kdt-scans https://www.silentquill.net Active
LagoonScans lagoonscans https://lagoonscans.com Active
LHTranslation lhtranslation https://lhtranslation.net Active
LikeManga likemanga https://likemanga.io Active
Lua Comic lua-comic https://luacomic.org Active
Madarascans madarascans https://madarascans.com Active
Magus Manga magus-manga https://magustoon.org Active
Mangago mangago https://www.mangago.zone Active
Mangaloom mangaloom https://mangaloom.com Active
MangaPark mangapark https://mangapark.io Active
MangaRead mangaread https://mangaread.org Active
Mangataro mangataro https://mangataro.org Active
MangaYY mangayy https://mangayy.org Active
Manhuaplus manhuaplus https://manhuaplus.top Active
ManhuaUS manhuaus https://manhuaus.com Unstable
Mgeko mgeko https://mgeko.cc Active
NovelCool novelcool https://www.novelcool.com Active
Philia Scans philia-scans https://philiascans.org Active
Project Suki project-suki https://projectsuki.com Active
Qi Scans qi-scans https://qiscans.org Active
Raven Scans raven-scans https://ravenscans.org Active
Ritharscans ritharscans https://ritharscans.com Active
Rizz Fables rizz-fables https://rizzfables.com Active
Rokari Comics rokari-comics https://rokaricomics.com Active
Spider Scans spider-scans https://spiderscans.xyz Active
Stonescape stonescape https://stonescape.xyz Active
Temple Scan temple-scan https://templetoons.com Active
Thunderscans thunderscans https://en-thunderscans.com Active
TopManhua topmanhua https://manhuatop.org Active
UTOON utoon https://utoon.net Active
Violetscans violetscans https://violetscans.org Active
Vortex Scans vortex-scans https://vortexscans.org Active
WeebCentral weebcentral https://weebcentral.com Unstable
Weebdex weebdex https://weebdex.org Active
WitchScans witchscans https://witchscans.com Active
Writers' Scans writers-scans https://writerscans.com Active
Yaksha Scans yaksha-scans https://yakshascans.com Active

Setup

git clone https://github.com/GooglyBlox/comick-source-api.git
cd comick-source-api
npm install
npm run dev

Runs on http://localhost:3000

Production:

npm run build
npm start

API

GET /api/sources

List all supported sources.

{
  "sources": [
    {
      "id": "mangapark",
      "name": "MangaPark",
      "baseUrl": "https://mangapark.io",
      "description": "MangaPark - https://mangapark.io",
      "clientOnly": false,
      "type": "aggregator"
    }
  ]
}

POST /api/search

Search manga across sources.

{
  "query": "solo leveling",
  "source": "mangapark"  // or "all"
}

POST /api/chapters

Get chapter list for a manga.

{
  "url": "https://mangapark.io/title/75577-en-solo-leveling",
  "source": "mangapark"  // optional, auto-detected
}

GET /api/health

Check source status. Cached for 5 minutes. Returns cached and cacheAge fields.

POST /api/health

Force refresh health check cache.

GET /api/frontpage

List sources with frontpage support and their available sections.

{
  "sources": [
    {
      "sourceId": "comix",
      "sourceName": "Comix",
      "availableSections": [
        {
          "id": "trending",
          "title": "Most Recent Popular",
          "type": "trending",
          "supportsTimeFilter": true,
          "availableTimeFilters": [1, 7, 30, 90, 180, 365]
        }
      ]
    }
  ],
  "sourceIds": ["comix"]
}

POST /api/frontpage

Fetch frontpage section data from a source.

{
  "source": "comix",
  "section": "trending",
  "page": 1,
  "limit": 30,
  "days": 7
}

Available sections for Comix:

  • trending - Most Recent Popular (supports time filter)
  • most_followed - Most Followed New Comics (supports time filter)
  • latest_hot - Latest Updates (Hot)
  • latest_new - Latest Updates (New)
  • recently_added - Recently Added
  • completed - Complete Series

GET /api/proxy/html

Proxy requests to AsuraScans and WeebCentral (CORS workaround).

GET /api/proxy/html?url=https://asuracomic.net/...

Usage

curl -X POST https://comick-source-api.notaspider.dev/api/search \
  -H "Content-Type: application/json" \
  -d '{"query": "one piece", "source": "all"}'
const res = await fetch("https://comick-source-api.notaspider.dev/api/search", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ query: "chainsaw man", source: "all" })
});

Development

npm run dev          # dev server
npm run build        # production build
npm test             # run tests
npm run test:sources # test scrapers
npm run lint         # eslint

See CONTRIBUTING.md for guidelines on adding sources.

Deployment

Deploy with Vercel

docker build -t comick-source-api .
docker run -p 3000:3000 comick-source-api

No environment variables required.

License

For educational purposes. Respect source website ToS.

About

A RESTful API built with Next.js for scraping manga and comic metadata from multiple sources.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages