Universal Media Downloader & Info Tool Author: fgradeartist · License: MIT · Python 3.10–3.13
START_NEXFETCH.batIf nothing happens: Double-click
START_DEBUG.batinstead — it shows the exact error
| Requirement | Notes |
|---|---|
| Windows 10 or 11 | macOS/Linux: run python NexFetch.py directly |
| Python 3.10–3.13 | Download from python.org |
| “Add Python to PATH” | Must tick this box during Python install |
| Internet connection | For first-time setup and all downloads |
Python 3.14 has a known UI bug. Use Python 3.13 for best results.
| File | Purpose |
|---|---|
START_NEXFETCH.bat |
Normal launch — no CMD window appears |
START_DEBUG.bat |
Shows all errors — use when something breaks |
RESET_SETUP.bat |
Deletes setup flag so setup runs again |
BUILD_EXE.bat |
Builds a standalone .exe with your logo |
NexFetch includes a premium dark web interface (your uploaded design). Here is how to use it:
Step 1 — Double-click START_NEXFETCH.bat and log in normally.
Step 2 — Click the 🌐 button in the top-right of the app header (next to your username).
Step 3 — Your browser opens automatically at http://127.0.0.1:7432.
Step 4 — Use the browser UI — all downloads go to your real folder on disk.
The Python app must be running for the web UI to work. If the browser shows a blank or black screen, check that NexFetch.py is still open in the background. If the footer shows “Server offline”, restart NexFetch and click 🌐 again.
The browser UI and the desktop app share the same download engine. Files are saved to the same folder regardless of which interface you use.
To use your own logo or icon:
assets/ folderlogo.png (PNG format, square is best)To get the logo on the EXE icon:
logo.png in assets/ firstBUILD_EXE.bat — it converts to .ico automatically during buildlogo.png in assets/ (optional but recommended)BUILD_EXE.batNexFetch_EXE\NexFetch\NexFetch.exe → Send to → Desktop (create shortcut)The EXE is a folder (NexFetch_EXE\NexFetch\), not a single file. Always move the entire folder together — never just the .exe.
NEXFETCH2024When you create an account, 12 random words are shown once. Write them down — they are never shown again. If you forget your password, click “Forgot password?”, type your phrases, and set a new password.
After logging in once, your username appears as a button on the login screen. Click your name, type password, done.
Click ⇄ Switch in the header. A login overlay appears over the current window — no blank screen, no restart.
Paste one or more URLs (one per line). Supports 1000+ sites including YouTube, Instagram, TikTok, Twitter/X, Facebook, Reddit, Twitch, SoundCloud, Vimeo, and more.
Clip download: Enter start time and end time (e.g. 2:00 and 2:30) to download only that portion of a video. Select an aspect ratio (original, 16:9, 9:16, 1:1, 4:3) to crop the output.
The queue pauses and resumes — progress is saved between sessions. Duplicate URLs are detected and skipped automatically.
Paste YouTube Music URLs, Spotify URLs, or type a song name like “Artist - Song Title”. Full playlists are supported — paste the playlist URL.
Album art is embedded as 1:1 square directly into the audio file. No separate image file is created. Lyrics are saved as a .lrc sidecar file next to the MP3 — Apple Music, most media players, and streaming apps read this file automatically. Artist, album, year, and track number are all embedded in the file metadata.
Spotify links use spotdl as a fallback. YouTube Music is the primary source.
Scrapes all video or post links from a channel or profile and saves them to a .txt file.
Supported platforms: YouTube channels and playlists, Instagram public profiles, Facebook pages, TikTok users, Reddit users and subreddits, Twitter/X users, and adult sites (Pornhub, xHamster, xnxx, RedTube, and others via yt-dlp).
If the primary scraping method fails, the tool automatically tries a fallback method.
Downloads images from social media profiles. Instagram requires logging in via the login form in this tab. Supports Pinterest boards, Reddit, Twitter/X, and Tumblr. Auto-detect mode works for most platforms.
Scrapes product listings from online stores. Works with AliExpress, Alibaba, Amazon, eBay, Daraz, Ramsha, Laam, and most other stores.
Extracts: product number, category, title, price, sale price, URL, image count, video count, and description. The CSV is sorted by category. When image download is enabled, product images are saved into per-product folders named after the product title.
Profile photo (PNG, JPG, or animated GIF), display name, email, phone, date of birth, and bio. Notes and to-do list — shown as a reminder notification when the app opens. Save Photo saves your avatar immediately. Save Notes saves your notes immediately. Save All saves everything at once.
Admin users see an admin panel where they can reset or delete any account.
All users can change the download folder and run maintenance tasks (update yt-dlp, re-download ffmpeg, re-run setup, clear logs).
Admin users additionally control: tool name, author, version, license, invite codes (multiple codes supported — one per line, any valid code works for registration), access control, color theme, font family and size, logo, and background image.
NexFetch/
├── NexFetch.py ← Main launcher
├── START_NEXFETCH.bat ← Normal launch (no CMD window)
├── START_DEBUG.bat ← Debug launch (shows errors)
├── START_SILENT.vbs ← Used internally to hide CMD
├── BUILD_EXE.bat ← Build standalone EXE
├── RESET_SETUP.bat ← Reset first-time setup
├── README.md ← This guide
├── core/
│ ├── app.py ← Main app code
│ └── server.py ← Local web server (port 7432)
├── web/
│ └── index.html ← Web UI (opened by 🌐 button)
├── assets/
│ └── logo.png ← Put your logo here
├── userdata/username/ ← Per-user saved data
├── ffmpeg_bin/ ← Auto-downloaded ffmpeg
├── users.json ← User accounts (hashed passwords)
├── config.json ← App settings
├── saved_logins.json ← Quick-login list
└── .setup_complete ← Setup skip flag
| Problem | Solution |
|---|---|
| BAT closes instantly | Run START_DEBUG.bat — copy the error for support |
| TclError Layout not found | Python 3.14 bug — install Python 3.13 |
| Import Error on launch | Run RESET_SETUP.bat then START_NEXFETCH.bat |
| Web UI shows black screen | NexFetch.py must be running first — start it, then click 🌐 |
| Web UI shows “Server offline” | Python app is not running — start NexFetch first |
| Downloads not in folder | Check Settings → Download Folder path |
| CMD window appears | Use START_NEXFETCH.bat, not python NexFetch.py directly |
| EXE not found after build | Look in NexFetch_EXE\NexFetch\NexFetch.exe |
| Switch user goes black | Fixed in v2.9 — uses overlay, no blank screen |
| Spotify downloads fail | Paste song name directly — YouTube Music is more reliable |
| Instagram profile not found | Private profile — log in via the Images tab first |
| Instagram 2FA error | Temporarily disable 2FA in Instagram Security settings |
| Setup runs every launch | Check that .setup_complete file exists in the app folder |
| Music lyrics not working | The .lrc file must be in the same folder as the MP3 |
| Album art not embedding | ffmpeg required — Settings → Re-download ffmpeg |
| Ecommerce shows N/A | Some sites block scrapers — try a product listing page instead |
| Firewall blocking web UI | Allow port 7432 through Windows Firewall |
The desktop app (NexFetch.py) and web UI (index.html) both use the same download engine.
When you click Download in either interface, the app calls yt-dlp (a command-line tool that supports 1000+ video sites). yt-dlp fetches the content, ffmpeg merges audio and video if needed, and the file is saved to your chosen folder.
The web UI works by sending requests to a local server running at port 7432. The Python app receives these requests and runs yt-dlp. The browser never directly downloads or saves files — that is always handled by Python.
| Package | Purpose |
|---|---|
| yt-dlp | Core download engine |
| spotdl | Spotify downloads |
| instaloader | Instagram scraping |
| requests | HTTP for ecommerce scraper |
| Pillow | Image processing and GIF support |
| beautifulsoup4 | HTML parsing |
| lxml | Fast HTML parser |
| mutagen | Audio metadata |
| ffmpeg | Video/audio processing (downloaded separately) |
NexFetch v2.9 · Python · yt-dlp · spotdl · instaloader · MIT License