🔗 Live at savesnap.vercel.app
Paste a link and the real video previews on its own, ready to download.
| ⚡ | Auto preview Paste a link and the video appears on its own, no button to press |
| 🎞️ | Original quality The file Snapchat serves, at the size it was published, never recompressed |
| 🔒 | Nothing stored Files stream straight through, no queue, no cache, no copy on the server |
| 👤 | No account No login, no extension, no app, the same on desktop and phone |
| 🎯 | Right video every time The requested snap is pinned by its id, never a recommendation |
🔗 Copy the link ➜ 📥 Paste it here ➜ 💾 Save the file
- 🔗 Copy the link Open the spotlight on Snapchat, tap share, copy the link
- 📥 Paste it here The preview loads by itself, no captcha and no sign in
- 💾 Save the file Download the original quality straight to your device
snapchat-downloader/
├── 🟢 backend/ Go server, extraction, media proxy, static host
│ └── main.go
└── 🔵 frontend/ React, TypeScript, Vite
└── src/
├── App.tsx
├── brand.ts theme and copy
├── components/ splash, snow bubbles
└── styles.css
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/api/health |
Liveness and proxy status |
GET |
/api/extract?url= |
Resolve a link to the video and metadata |
GET |
/api/media?url= |
Inline playback stream for the preview |
GET |
/api/download?url=&filename= |
Download stream with a real filename |
Backend
cd backend
go run . # listens on :4446, serves ./publicThe Go server runs on its own, extraction and downloads included.
Frontend
cd frontend
npm install
npm run dev # Vite dev server
npm run build # production build into dist/| Variable | Default | Meaning |
|---|---|---|
PORT |
4446 |
Port the server listens on |
SDL_DIST |
./public |
Folder of built frontend assets |
SDL_PROXY |
none | Optional upstream proxy for outbound fetches |
Made for saving the snaps you want to keep. 👻💛
📄 MIT License

