How to Scrape Instagram Followers & Following Lists (Complete Guide)
"Who is following my competitor?"
This is the single most valuable question in social media marketing. If someone follows your competitor, they are:
- Interested in your niche.
- Active on the platform.
- Likely to be interested in your product or content.
Exporting this list allows you to build highly targeted audiences for ads, find micro-influencers, or conduct deep market research.
But Instagram makes this incredibly difficult. There is no "Export CSV" button. If you try to scroll and copy-paste, the list will stop loading after a few dozen names. If you use a browser extension, your account might get flagged or banned.
In this guide, we'll show you how to export thousands of followers safely using the SociaVault API, without risking your own Instagram account.
Why Export Followers?
1. Influencer Lookalike Search
If you know a mega-influencer in your niche, their followers are likely micro-influencers. By scraping the list and filtering for users with 5k-50k followers, you can find affordable partners who actually reach your target audience.
2. Competitor Analysis
Analyze the overlap between two competitors. Are the same people following both Nike and Adidas? What is the demographic breakdown of their audience?
3. Lead Generation (B2B)
For B2B businesses, scraping the followers of industry thought leaders can provide a list of potential leads. You can then enrich this data (cross-referencing with LinkedIn) to find decision-makers.
The Technical Limits
Before we start coding, you need to understand the limits. Instagram is very protective of the social graph.
- Pagination: You cannot get 1 million followers in one request. You must page through them (usually 50-100 at a time).
- Depth Limits: Instagram often stops returning followers after the first 10,000-20,000 for very large accounts. It is technically very difficult to scrape all 500 million followers of Cristiano Ronaldo.
- Private Accounts: You cannot scrape followers of a private account unless you are following them (and even then, it's risky). SociaVault only scrapes public data.
How to Export Followers with SociaVault
SociaVault handles the complex pagination and session management for you.
Step 1: The Initial Request
We use the followers endpoint. We need the username and a pagination_token (for the next page).
// Node.js Script to Export Followers to CSV
const fs = require('fs');
const { Parser } = require('json2csv');
const API_KEY = 'YOUR_SOCIAVAULT_API_KEY';
const TARGET_USERNAME = 'competitor_brand';
const MAX_FOLLOWERS = 1000; // Safety limit
async function scrapeFollowers() {
let allFollowers = [];
let paginationToken = null;
let hasNextPage = true;
console.log(`Starting export for @${TARGET_USERNAME}...`);
while (hasNextPage && allFollowers.length < MAX_FOLLOWERS) {
// Build URL with pagination token if it exists
let url = `https://api.sociavault.com/v1/scrape/instagram/followers?username=${TARGET_USERNAME}`;
if (paginationToken) {
url += `&pagination_token=${paginationToken}`;
}
try {
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const data = await response.json();
if (!data.success) {
console.error('Error:', data.error);
break;
}
const users = data.data.items;
allFollowers = allFollowers.concat(users);
console.log(`Fetched ${users.length} users. Total: ${allFollowers.length}`);
// Update pagination
paginationToken = data.data.pagination_token;
hasNextPage = !!paginationToken;
// Be nice to the API (optional)
await new Promise(r => setTimeout(r, 1000));
} catch (err) {
console.error('Request failed:', err);
break;
}
}
// Save to CSV
saveToCsv(allFollowers);
}
function saveToCsv(users) {
const fields = ['username', 'full_name', 'id', 'is_private', 'is_verified'];
const parser = new Parser({ fields });
const csv = parser.parse(users);
fs.writeFileSync(`${TARGET_USERNAME}_followers.csv`, csv);
console.log(`✅ Saved ${users.length} followers to ${TARGET_USERNAME}_followers.csv`);
}
scrapeFollowers();
Step 2: Analyzing the Data
Once you have the CSV, the real magic happens.
Filter for Influencers:
You can take this list and run each username through the profile endpoint to get their follower counts.
(Note: This costs 1 credit per profile check, so filter carefully first).
// Pseudocode for enrichment
const potentialInfluencers = followers.filter(user => {
// Basic heuristic: Verified users or users with keywords in name
return user.is_verified || user.full_name.includes("Creator");
});
for (const user of potentialInfluencers) {
const profile = await getProfile(user.username);
if (profile.followers > 5000 && profile.followers < 50000) {
console.log(`Found Micro-Influencer: ${user.username}`);
}
}
Ethical Considerations & Safety
Don't Spam: Just because you have a list of 1,000 usernames doesn't mean you should DM them all. That is the fastest way to get your account banned.
- Do: Use the data for analysis and targeted advertising (Custom Audiences).
- Do: Manually engage with high-value accounts.
- Don't: Use automated bots to mass-message this list.
Respect Privacy: Only scrape data that is publicly available. Do not attempt to scrape private follower lists.
Conclusion
Exporting Instagram followers turns a "black box" audience into a tangible asset. Whether you are analyzing competitors or building a lead list, SociaVault provides the reliable pipeline you need to get the data out of the app and into your spreadsheet.
Ready to export? Get your API Key and start building your audience database.
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.