dksanime-api
v1.8.9
Published
Nodejs library that provides high-level APIs for obtaining information on various entertainment media such as books, movies, comic books, anime, manga, and so on.
Maintainers
Readme
dksanime-api
📖 Overview
dksanime-api is a powerful, high-level Node.js library designed to be the definitive interface for scraping and consuming data from a wide variety of entertainment media sources. Whether you are building a streaming app, a manga reader, or a movie database, dksanime-api provides a unified and consistent API to access content from:
- Anime 🌸
- Manga 📖
- Movies & TV Shows 🎬
- Comics 🦸
- Light Novels 🏮
- Meta Data 📊 (AniList, MyAnimeList, TMDB)
It abstracts away the complexity of web scraping, offering simple methods to search, fetch details, and retrieve streaming links.
🚀 Features
- Unified API: Use the same methods (
search,fetchInfo,fetchEpisodeSources) across different providers. - Type-Safe: Built with TypeScript for excellent IDE support and autocompletion.
- Extensive Support: Dozens of popular providers supported out of the box.
- Performance: Lightweight and fast, perfect for serverless functions or backend services.
📦 Installation
Install dksanime-api via npm or yarn:
npm install dksanime-apiyarn add dksanime-api🛠️ Usage Examples
🌸 Anime: Searching & Streaming
import { ANIME } from "dksanime-api";
// Initialize the provider (e.g., Gogoanime, AnimePahe, Hianime)
const provider = new ANIME.Gogoanime();
// 1. Search for an anime
const results = await provider.search("One Piece");
const anime = results.results[0];
console.log(`Found: ${anime.title}`);
// 2. Get full anime details (episodes, description, etc.)
const info = await provider.fetchAnimeInfo(anime.id);
console.log(`Episodes found: ${info.episodes.length}`);
// 3. Get streaming links for the first episode
const episodeId = info.episodes[0].id;
const sources = await provider.fetchEpisodeSources(episodeId);
console.log(sources);🎬 Movies & TV: Fetching Links
import { MOVIES } from "dksanime-api";
const flixhq = new MOVIES.FlixHQ();
// Search for a movie
const search = await flixhq.search("Interstellar");
// Get streaming sources
if (search.results.length > 0) {
const movie = search.results[0];
const info = await flixhq.fetchMediaInfo(movie.id);
console.log(info);
}📖 Manga: Reading Chapters
import { MANGA } from "dksanime-api";
const mangadex = new MANGA.MangaDex();
// Search manga
const search = await mangadex.search("Berserk");
// Fetch chapter pages
const manga = search.results[0];
const info = await mangadex.fetchMangaInfo(manga.id);
const chapterId = info.chapters[0].id;
const pages = await mangadex.fetchChapterPages(chapterId);
console.log(pages);📊 Meta: Combining Data
Use the Meta providers to get rich metadata (images, synopsis, ratings) often missing from streaming sites.
import { META } from "dksanime-api";
const anilist = new META.Anilist();
const info = await anilist.search("Naruto");
console.log(info);🧩 Supported Providers
Here is a non-exhaustive list of the providers currently supported:
| Category | Providers | | :--- | :--- | | Anime | Hianime, AnimePahe, KickAssAnime, AnimeSaturn, AnimeKey, Gogoanime (legacy), and more. | | Manga | MangaDex, MangaKakalot, MangaHere, AsuraScans, Comick, MangaPill, FlameScans. | | Movies | FlixHQ, DramaCool, Goku, HiMovies, SFlix, NetMirror. | | Meta | AniList, MyAnimeList (MAL), TMDB. | | Others | GetComics, NovelUpdates. |
> Note: Providers may change or break due to website updates. We aim to keep them updated regularly.
🤝 Contributing
We welcome contributions! If you want to add a new provider or fix an issue:
- Fork the repository.
- Clone it locally.
- Create a branch for your feature.
- Submit a Pull Request.
Please read our CONTRIBUTING.md for more details.
📄 License
This project is licensed under the MIT License.
