npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

justice-api

v1.0.0

Published

Multi-scraper REST API (YouTube, Anime, TikTok, Instagram, Twitter, AI, dsb) dibangun dengan Express.js

Readme

Febry API — Backend

Backend REST API berisi 19 endpoint scraper (YouTube, Anime, TikTok, Instagram, Twitter/X, tempmail, AI, dsb), dibangun dengan Node.js + Express.

Ini adalah tahap 1: hanya backend API (belum ada halaman dokumentasi web). Website dokumentasinya menyusul di tahap berikutnya.

Instalasi

npm install
cp .env.example .env
npm run dev     # mode development (auto-restart)
# atau
npm start       # mode production

Server berjalan di http://localhost:3000 secara default (ubah lewat .env).

Cek endpoint

  • GET /health — cek server hidup
  • GET /api — pesan selamat datang
  • GET /api/endpoints — daftar semua endpoint yang tersedia (nama, method, path, parameter)

Tambah endpoint baru lewat halaman admin

Buka http://localhost:3000/admin.html (ada juga link "+ ENDPOINT" di pojok kanan atas halaman dokumentasi /index.html).

Alurnya:

  1. Tempel kode class API baru (mis. class SpotifyDL { ... }) di kotak kode.
  2. Isi nama file service, slug route (baru atau nambah ke route existing), sub-path, method, nama method yang dipanggil, dan daftar parameter.
  3. Pilih kategori dokumentasi (existing atau bikin baru).
  4. Klik Preview buat lihat persis isi file yang akan dibuat/diubah.
  5. Kalau sudah oke, klik Apply — otomatis:
    • bikin src/services/{nama}.service.js
    • bikin/nambah src/routes/{slug}.routes.js
    • daftarin ke src/routes/index.js (import, router.use, entry /api/endpoints, total)
    • update public/data.js (kategori & endpoint di halaman dokumentasi)

Kalau server jalan via npm run dev (nodemon), server auto-restart setelah Apply. Kalau via npm start, restart manual (Ctrl+C lalu npm start lagi).

Catatan: generator ini pakai pencocokan bracket sederhana buat nyisipin ke routes/index.js dan public/data.js, jadi hindari karakter { } [ ] literal di kolom deskripsi/nama endpoint.

Struktur folder

server.js                  # entry point
src/
  app.js                   # setup express, middleware, error handler
  config/                  # konfigurasi env
  middleware/               # error handler & 404 handler
  utils/                    # helper response & asyncHandler
  services/                 # logic scraping/API tiap platform (1 file = 1 sumber)
  routes/                   # route express, memanggil services

Daftar endpoint (ringkas)

| Kategori | Path | Keterangan | |---|---|---| | YouTube | /api/youtube/mp3, /api/youtube/search | Download MP3 & cari video | | Anime | /api/anime/nimegami, /api/anime/otakudesu/* | Scraper anime (2 sumber) | | Tempmail | /api/tempmail/inboxes, /api/tempmail/mailtm | Email sementara (2 provider) | | Gambar | /api/image/upscale | Upscale resolusi gambar | | Berita | /api/news/kompas | Berita Kompas (latest/detail/related/flow) | | TikTok | /api/tiktok/slide | Download slide/carousel TikTok | | Tools | /api/tools/ouo-bypass, /api/tools/arti-nama | Bypass shortlink & cek arti nama | | AI | /api/ai/deepseek, /api/ai/nano-banana | Chat AI & generate gambar AI | | Pinterest | /api/pinterest/search | Cari gambar Pinterest | | Stalk | /api/stalk/discord, /api/stalk/github | Info akun Discord & GitHub | | Movie | /api/movie/movieku | Info film/series (home/search/detail) | | Twitter/X | /api/twitter/download | Download media tweet | | Instagram | /api/instagram/download | Download post/reel/story IG | | Uploader | /api/uploader/videy | Upload video ke Videy CDN |

Detail parameter lengkap ada di response GET /api/endpoints.

Catatan penting

  • /api/tools/ouo-bypass butuh dependency optional puppeteer (Chromium headless). Kalau belum ke-install otomatis, jalankan npm install puppeteer secara manual. Endpoint ini juga lebih berat & lambat dibanding endpoint lain.
  • Semua endpoint ini melakukan scraping/menggunakan API pihak ketiga yang tidak resmi/tidak didokumentasikan. Artinya sewaktu-waktu bisa berhenti berfungsi kalau situs sumbernya berubah struktur atau memblokir — ini wajar untuk jenis endpoint seperti ini, bukan bug di kode.
  • Ada rate limiter bawaan (default 60 request/menit per IP), bisa diatur lewat .env (RATE_LIMIT_WINDOW_MS, RATE_LIMIT_MAX).
  • Beberapa endpoint (deepseek, mail.tm, nano-banana) instance service-nya dipakai bersama antar-request. Ini oke untuk skala kecil–menengah; kalau mau production besar sebaiknya di-refactor pakai session/store per user.

Lanjutan

Setelah backend ini dites & sesuai kebutuhan, lanjut ke tahap 2: halaman frontend + dokumentasi API interaktif.