High-performance social media scraper API with Telegram bot integration.
| Platform | Video | Image | Stories | Carousel |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ✅ | |
| Twitter/X | ✅ | ✅ | - | ✅ |
| TikTok | ✅ | ✅ | - | ✅ |
| ✅ | ✅ | - | - | |
| YouTube | ✅ | - | - | - |
- Multi-engine scrapers - Fallback engines for reliability
- Smart caching - Redis + in-memory LRU cache
- Rate limiting - Per-IP and per-API-key limits
- Telegram Bot - Download media directly via Telegram
- Cookie pool - Rotating cookies for private content
- SSRF protection - Secure proxy with domain whitelist
GET /api/v1/playground?url={VIDEO_URL}GET /api/v1?key={API_KEY}&url={VIDEO_URL}GET /api/v1/proxy?url={CDN_URL}&platform={PLATFORM}POST /api/v1/youtube/merge
Body: { "url": "...", "quality": "1080p" }Built-in Telegram bot for direct media downloads:
- Send any supported URL to download
- Quality selection via inline buttons
- Multi-language support (EN/ID)
- Admin commands for management
# Install dependencies
npm install
# Development (port 3002)
npm run dev
# Production build
npm run build && npm start# Required
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
# Optional - Telegram Bot
TELEGRAM_BOT_TOKEN=
TELEGRAM_WEBHOOK_SECRET=
# Optional - Security
ADMIN_SECRET_KEY=
ENCRYPTION_KEY=- Framework: Next.js 15 + TypeScript
- Database: Supabase (PostgreSQL)
- Cache: Upstash Redis
- Bot: grammY (Telegram)
- Scraping: Cheerio, yt-dlp
GPL-3.0 License - see LICENSE
Built with ❤️ by risunCode