spotify-downloader.js
by Fsbyte
/* ES Module
import axios from "axios";
import FormData from "form-data";
import * as cheerio from "cheerio";
*/
/* Common JS
const axios = require("axios");
const FormData = require("form-data");
const cheerio = require("cheerio");
*/
const baseUrl = "https://spotidown.app/";
const spotify = {
download: async (url) => {
try {
const { data: initPage } = await axios.get(baseUrl);
const $init = cheerio.load(initPage);
const formData = new FormData();
formData.append("url", url);
$init('input[type="hidden"]').each((index, element) => {
const name = $init(element).attr('name');
const value = $init(element).val();
if (name && value) {
formData.append(name, value);
console.log(`Menambahkan field: ${name} = ${value}`);
}
});
formData.append("g-recaptcha-response", "");
const { data: resultPage } = await axios.post("https://spotidown.app/action", formData, {
headers: {
...formData.getHeaders(),
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Referer": baseUrl,
},
});
return resultPage;
} catch (error) {
console.error("Error:", error.message);
return {
status: "error",
message: error.message,
};
}
},
};
spotify.download("https://open.spotify.com/track/52SSvrnwEf8VUW1Y5IwPEw")
.then(console.log)
.catch(console.error);