REST API berbasis Node.js dan Express yang menyediakan berbagai layanan mulai dari downloader media sosial, alat berbasis AI, pencarian data, manajemen pengguna, hingga scraping konten dari berbagai platform. API ini dapat di-deploy langsung ke Vercel dan menggunakan MongoDB sebagai basis data.
- Fitur
- Teknologi yang Digunakan
- Instalasi
- Konfigurasi Environment
- Menjalankan Server
- Struktur Proyek
- Endpoint API
- Autentikasi API Key
- Deploy ke Vercel
- Lisensi
- TikTok (video & slide)
- Instagram (post, story, reels) - versi 1, 2, dan 3
- YouTube (konversi ke MP3 & MP4, pencarian, play audio/video)
- Twitter / X
- Spotify (unduh & pencarian)
- Terabox
- MediaFire
- SfilesMobi
- Threads
- All-in-One Downloader (berbagai platform)
- ChatGPT (berbagai versi)
- Google Bard
- Character AI
- GPT berbasis gambar
- GPT berbasis logika
- Generator gambar (Image Generator)
- Cartoonify (mengubah foto menjadi kartun)
- ESRGAN (peningkatan kualitas gambar)
- Remini (mempercantik foto)
- Virtual Girlfriends
- Dystopia AI
- Waifu Generator
- GitHub stalk (profil & repositori)
- npm stalk (informasi paket)
- Instagram stalk (info profil)
- TikTok stalk (info profil)
- Kode Pos Indonesia
- Jadwal hari libur nasional
- Jadwal sepak bola
- YouTube search
- Pinterest search
- Spotify search
- BukaLapak search
- Chord lagu
- Cerpen random
- Growtopia items
- Registrasi pengguna
- Login pengguna
- Manajemen alamat
- Keranjang belanja
- Data produk (CRUD)
- Screenshot website
- Pengubah gaya teks
- NGL (pesan anonim)
- Email subscription
- Foto upscaling & editing
- Rumah misteri & rumah hantu (konten hiburan)
| Teknologi | Keterangan |
|---|---|
| Node.js | Runtime JavaScript sisi server |
| Express.js | Framework web minimalis untuk Node.js |
| MongoDB | Basis data NoSQL berbasis dokumen |
| Mongoose | ODM untuk MongoDB |
| Axios | HTTP client untuk request ke API luar |
| Cheerio | HTML scraping berbasis jQuery syntax |
| EJS | Template engine untuk halaman HTML |
| Nodemailer | Pengiriman email |
| dotenv | Manajemen variabel lingkungan |
| CORS | Middleware untuk Cross-Origin Resource |
| yt-search | Pencarian konten YouTube |
| ytdl-core | Unduh video YouTube |
| Vercel | Platform deploy serverless |
Pastikan Node.js (v18 atau lebih baru) dan npm atau yarn sudah terinstal.
# Clone repositori
git clone https://github.com/username/multi-feature-rest-api.git
# Masuk ke direktori proyek
cd multi-feature-rest-api
# Instal dependensi
npm install
# atau menggunakan yarn
yarn installBuat file .env di root proyek dan isi dengan variabel berikut:
PORT=3000
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/dbnamePastikan MongoDB Atlas atau instance MongoDB lokal sudah aktif sebelum menjalankan server.
# Mode development (dengan auto-reload menggunakan nodemon)
npm run dev
# Mode production
node server.jsServer akan berjalan di http://localhost:3000 secara default.
.
├── config/
│ └── db.js # Koneksi MongoDB
├── lib/
│ └── scrappers/
│ ├── index.js # Ekspor semua fungsi scraper
│ ├── scraper1.js # Kumpulan scraper bagian 1
│ ├── scraper2.js # Kumpulan scraper bagian 2
│ └── scraper3.js # Kumpulan scraper bagian 3
├── middleware/
│ └── authApiKey.js # Middleware autentikasi API Key
├── models/
│ ├── ApiKey.js # Model API Key
│ ├── Product.js # Model produk
│ └── User.js # Model pengguna
├── routers/
│ ├── index.js # Pemuat router otomatis
│ ├── User/ # Endpoint manajemen pengguna
│ ├── Products/ # Endpoint manajemen produk
│ ├── downloader/ # Endpoint downloader
│ ├── tools/ # Endpoint tools
│ └── email/ # Endpoint email
├── views/
│ └── index.ejs # Halaman dokumentasi
├── server.js # Entry point aplikasi
├── vercel.json # Konfigurasi deploy Vercel
├── package.json
└── .gitignore
Semua endpoint dapat dilihat langsung di halaman utama (/) setelah server berjalan. Halaman tersebut menampilkan daftar lengkap semua route yang tersedia beserta parameternya.
Contoh endpoint:
| Method | Path | Keterangan |
|---|---|---|
| GET | / |
Halaman dokumentasi API |
| GET | /authorization |
Verifikasi API Key |
| POST | /user/register |
Registrasi pengguna baru |
| POST | /user/login |
Login pengguna |
| GET | /downloader/tiktok |
Unduh video TikTok |
| GET | /downloader/youtube |
Unduh video/audio YouTube |
| GET | /downloader/instagram |
Unduh konten Instagram |
Beberapa endpoint memerlukan API Key yang dikirimkan melalui header request:
api-key: YOUR_API_KEY_HERE
API Key divalidasi terhadap basis data MongoDB. Setiap key memiliki batas penggunaan (limit). Jika limit telah tercapai, request akan ditolak.
Proyek ini sudah dikonfigurasi untuk Vercel melalui file vercel.json.
# Instal Vercel CLI
npm install -g vercel
# Login ke akun Vercel
vercel login
# Deploy
vercel --prodPastikan variabel environment (MONGO_URI, PORT) sudah dikonfigurasi di dashboard Vercel sebelum deploy.
Proyek ini dilisensikan di bawah MIT License. Lihat file LICENSE untuk informasi lebih lanjut.