anichin
v2.1.0
Published
Anichin API / Dracin API — Official Node.js SDK. Unified client untuk 15 sumber short drama (DramaBox, ReelShort, ShortMax, NetShort, DramaWave, FlickReels, DramaNova, Melolo, dll). REST + WebSocket, multi-quality video, subtitle multi-bahasa.
Maintainers
Keywords
Readme
anichin — Official Node.js SDK for Anichin API (Dracin API)
Anichin Official SDK — Node.js client resmi untuk Anichin API (juga dikenal sebagai Dracin API). Satu library untuk mengakses 15 sumber short drama terunifikasi: DramaBox, ReelShort, ShortMax, NetShort, GoodShort, DramaWave, FlickReels, FreeReels, StardustTV, iDrama, DramaNova, StarShort, DramaBite, Melolo, MoboReels.
✨ Fitur
- 🎬 15 sumber short drama dalam satu SDK (Anichin / Dracin)
- 🔁 Skema identik — ganti sumber tanpa ubah kode
- 📺 Multi-quality video (1080p / 720p / 540p)
- 🌐 Subtitle multi-bahasa (hingga 23 bahasa)
- ⚡ Zero dependencies — pakai built-in
fetchNode.js 18+ - 📘 Full TypeScript types
- 🔐 Free trial token sudah tersedia
📦 Instalasi
npm install anichin
# atau
yarn add anichin
# atau
pnpm add anichinMembutuhkan Node.js 18+ (built-in
fetch).
🚀 Quickstart
const { Anichin } = require("anichin");
// atau: import { Anichin } from "anichin";
const anichin = new Anichin(); // pakai trial token otomatis
const trending = await anichin.trending("dramabox");
console.log(`Anichin trending: ${trending.items.length} drama`);
console.log(`#1 → ${trending.items[0].title}`);
const ep = await anichin.episode("dramabox", "42000008521", 1);
console.log(`Video: ${ep.videoUrl}`);
console.log(`Quality: ${ep.qualityList.map(q => q.label).join(", ")}`);🔑 Autentikasi
Token trial TRIAL-ANICHIN-2026 dipakai otomatis. Untuk token produksi:
const anichin = new Anichin({
token: "YOUR-ANICHIN-PREMIUM-TOKEN",
});Dapatkan token premium tanpa rate limit di → @Anichin_Premium_Bot.
🎯 Sumber yang Didukung
| source | Platform | Endpoint Tambahan |
| ------------ | ----------- | ---------------------------------------------- |
| dramabox | DramaBox | hotRank, recommended |
| reelshort | ReelShort | homepage |
| shortmax | ShortMax | recommended, homepage |
| netshort | NetShort | recommended |
| goodshort | GoodShort | homepage |
| dramawave | DramaWave | recommended |
| flickreels | FlickReels | hotRank |
| freereels | FreeReels | homepage, hotRank |
| stardusttv | StardustTV | — |
| idrama | iDrama | — |
| dramanova | DramaNova | hot, new_, hotPlus, drama18, romance |
| starshort | StarShort | hotRank, latest |
| dramabite | DramaBite | hotRank, latest |
| melolo | Melolo | latest |
| moboreels | MoboReels | — |
📚 API Reference
new Anichin(options?)
| Option | Default | Deskripsi |
| ----------- | -------------------------- | ---------------------------- |
| token | TRIAL-ANICHIN-2026 | API key. |
| baseUrl | https://api.anichin.bio | Override base URL. |
| userAgent | anichin-nodejs-sdk/1.0.0 | Custom User-Agent. |
| timeout | 30000 | Request timeout (ms). |
Endpoint Inti
await anichin.trending(source); // Drama trending
await anichin.forYou(source, page = 1); // Rekomendasi paginated
await anichin.search(source, query); // Cari drama
await anichin.detail(source, id); // Detail + daftar episode
await anichin.episode(source, id, ep = 1); // URL video + qualitiesEndpoint Tambahan
await anichin.hotRank(source);
await anichin.recommended(source);
await anichin.homepage(source);
await anichin.latest(source, page);
// Khusus DramaNova
await anichin.hot("dramanova", page);
await anichin.new_("dramanova", page);
await anichin.hotPlus("dramanova");
await anichin.drama18("dramanova");
await anichin.romance("dramanova", page);Static Helper
Anichin.sources();
// { dramabox: { name: "DramaBox", exampleId: "42000007806" }, ... }💡 Contoh
Cari drama di semua sumber (parallel)
const { Anichin } = require("anichin");
const anichin = new Anichin();
const sources = Object.keys(Anichin.sources());
const results = await Promise.all(
sources.map(src =>
anichin.search(src, "ceo").catch(() => ({ items: [] }))
)
);
results.forEach((r, i) => {
console.log(`${sources[i]}: ${r.items?.length || 0} hasil`);
});Ambil semua quality video episode 1
const ep = await anichin.episode("dramabox", "42000008521", 1);
ep.qualityList.forEach(q => {
console.log(`${q.label}${q.isDefault ? " (default)" : ""}: ${q.url}`);
});TypeScript
import { Anichin, AnichinSource, AnichinEpisodeResponse } from "anichin";
const anichin = new Anichin({ token: process.env.ANICHIN_TOKEN });
async function getEpisode(source: AnichinSource, id: string, ep: number) {
const r: AnichinEpisodeResponse = await anichin.episode(source, id, ep);
return r.videoUrl;
}🛡 Error Handling
const { Anichin, AnichinError } = require("anichin");
try {
await anichin.detail("dramabox", "invalid-id");
} catch (e) {
if (e instanceof AnichinError) {
console.error(`Anichin error [${e.status}]: ${e.message}`);
}
}⏱ Rate Limit
Trial token: 50 req/menit. Untuk akses produksi tanpa limit → @Anichin_Premium_Bot.
🔗 Link
- 🌐 Website: api.anichin.bio
- 📖 Dokumentasi lengkap: github.com/NingRong2/anichin-api
- 💬 Telegram Bot: @Anichin_Premium_Bot
- 📦 npm: npmjs.com/package/anichin
🏷 Keywords
anichin · anichin-api · anichin-official · anichin-sdk · dracin · dracin-api · dramabox · reelshort · shortmax · netshort · dramawave · flickreels · dramanova · melolo · short-drama · drama-api · streaming-api · nonton-drama · indonesian-drama
📄 License
MIT © Anichin
