imon-videos-downloader
Version:
support url: facebook, tiktok, twitter, instagram, youtube, pinterest, gdrive, capcut, likee, threads
50 lines (43 loc) • 1.47 kB
JavaScript
const axios = require('axios');
const apiBaseUrl = 'https://nayan-video-downloader.vercel.app/';
module.exports = {
ndown: createRequest('ndown'),
instagram: createRequest('instagram'),
tikdown: createRequest('tikdown'),
ytdown: createRequest('ytdown'),
threads: createRequest('threads'),
twitterdown: createRequest('twitterdown'),
fbdown2: createRequest('fbdown2', (url, key) => ({ url, key })),
GDLink: createRequest('GDLink'),
pintarest: createRequest('pintarest'),
capcut: createRequest('capcut'),
likee: createRequest('likee'),
alldown: createRequest('alldown')
};
function createRequest(endpoint, formatData) {
return (url, key) => {
return new Promise(async (resolve, reject) => {
try {
const params = formatData ? formatData(url, key) : { url };
const response = await axios.get(`${apiBaseUrl}${endpoint}`, { params });
const { data, msg } = response?.data || {};
if (!data && !msg) {
return resolve(createResponse("No data available."));
}
resolve(createResponse(data || msg));
} catch (error) {
console.error('API request error:', error);
reject(createResponse(error.message || "An unexpected error occurred", false));
}
});
};
}
function createResponse(data, success = true) {
return {
status: success,
dev: "IMON",
devfb: "https://www.facebook.com/Imon.132233",
devwp: "wa.me/+8801318582357",
data
};
}