Sylvatica.

Back to Library

Scrape Nhentai

js 1/26/2026
10
const axios = require("axios");
const cheerio = require("cheerio");

async function nhentai(query) {
  try {
    const searchUrl = `https://nhentai.net/search/?q=${encodeURIComponent(query)}`;
    const { data } = await axios.get(searchUrl, {
      headers: { 
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
      },
    });

    const $ = cheerio.load(data);
    const results = [];

    $("div.gallery").each((_, el) => {
      const href = $(el).find("a").attr("href");
      const title = $(el).find("div.caption").text().trim();
      if (href && title) {
        const id = href.match(/\/g\/(\d+)\//)?.[1] || null;
        results.push({
          id,
          title,
          link: `https://nhentai.net${href}`,
        });
      }
    });

    return results;
  } catch (err) {
    console.error("[NHENTAI SCRAPE ERROR]", err.message);
    return [];
  }
}

module.exports = { nhentai };