SnapInsta Instagram Downloader
JavaScriptPublicby zx-apiSep 1, 2026, 04:58 PMExpires: Never23 views
1const axios = require('axios');
2const cheerio = require('cheerio');
3
4/**
5 * SnapInsta Instagram Downloader
6 * @param {string} url - Link Instagram (Post, Reels, Story, dll)
7 */
8async function snapinstaDownloader(url) {
9 try {
10 const igRegex = /(?:https?:\/\/)?(?:www\.)?instagram\.com\/(?:p|reel|reels|tv|stories)\/([^/?&]+)/i;
11 if (!igRegex.test(url)) {
12 throw new Error('URL tidak valid. Pastikan URL berasal dari Instagram.');
13 }
14
15 const payload = new URLSearchParams({ url: url }).toString();
16
17 const response = await axios.post('https://snapinsta.tel/process', payload, {
18 headers: {
19 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
20 'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36',
21 'Referer': 'https://snapinsta.tel/',
22 'Origin': 'https://snapinsta.tel',
23 'X-Requested-With': 'XMLHttpRequest',
24 'Accept': 'text/html, */*; q=0.01'
25 },
26 timeout: 15000
27 });
28
29 const html = response.data;
30
31 if (!html.includes('download-media')) {
32 throw new Error('Gagal mendapatkan link download. Akun mungkin private atau link salah.');
33 }
34
35 const $ = cheerio.load(html);
36 const results = [];
37
38 $('.download-item').each((index, element) => {
39 const $el = $(element);
40
41 let username = $el.find('.download-top .left').text().trim();
42 username = username.replace(/\s+/g, ' '); // Bersihkan whitespace
43
44 const thumbnail = $el.find('.media-box img[alt="Preview"]').attr('src') || '';
45
46 const downloadUrl = $el.find('.download-media').attr('href') || '';
47 const mediaType = $el.find('.download-media').text().trim(); // misal: "Download Video" atau "Download Photo"
48
49 if (downloadUrl) {
50 results.push({
51 username: username,
52 thumbnail: thumbnail,
53 type: mediaType,
54 url: downloadUrl
55 });
56 }
57 });
58
59 return {
60 success: true,
61 creator: "Zix?",
62 username: results.length > 0 ? results[0].username : '',
63 results: results
64 };
65
66 } catch (error) {
67 return {
68 success: false,
69 message: error.message || 'Terjadi kesalahan pada server'
70 };
71 }
72}
73
74// Contoh penggunaan
75const targetUrl = 'https://www.instagram.com/reel/Db-VI2bzYEN/?igsi=c2pqN3EyOTlzNDEz'; // URL dari data Anda
76
77(async () => {
78 console.log(`Sedang memproses: ${targetUrl}\n`);
79 const result = await snapinstaDownloader(targetUrl);
80
81 if (result.success) {
82 console.log(`✅ Berhasil! Username: @${result.username}`);
83 console.log(`Jumlah media ditemukan: ${result.results.length}`);
84 console.log(JSON.stringify(result, null, 2));
85 } else {
86 console.error(`❌ Gagal: ${result.message}`);
87 }
88})();88 lines·3,130 chars·3.1 KB
Wwrap·Ffullscreen