const axios = require("axios");
const sleep = require("util").promisify(setTimeout);
// API Key from RapidAPI
const API_KEY = "your key";
// Twitter account username
const TWITTER_USERNAME = "DropTvshow";
// To avoid hitting the rate limit (in milliseconds)
const COOLDOWN = 1000;
async function getFollowers() {
let page = 1;
let followers = [];
while (true) {
const { data } = await axios.get(
`https://twitter-followers.p.rapidapi.com/${TWITTER_USERNAME}/followers?page=${page}`,
{
headers: {
"x-rapidapi-host": "twitter-followers.p.rapidapi.com",
"x-rapidapi-key": API_KEY,
},
}
);
if (data.followers.length === 0) break;
followers = [...followers, ...data.followers];
page++;
await sleep(COOLDOWN);
}
return followers;
}
getFollowers()
.then((followers) => {
console.log(followers);
})
.catch((e) => {
console.log(e);
});