Everyone is obsessed with Reels. But if you look at the data, Carousels (slideshow posts) often outperform Reels in one key metric: Retention.
When a user swipes left on a carousel, they are making a micro-commitment. They are actively engaging with your content, not just passively doom-scrolling.
In this guide, we'll build an Instagram Carousel Analyzer using SociaVault. We'll find your top-performing carousels and analyze why they worked.
The Strategy
We will write a script that:
- Scrapes the last 20 posts from a profile.
- Filters for Carousels (posts with multiple images/videos).
- Calculates the "Engagement per Slide".
Prerequisites
You'll need a SociaVault API key. You can get one here.
Step 1: Scrape Profile Posts
We'll use the /scrape/instagram/posts endpoint.
const axios = require('axios');
const API_KEY = 'YOUR_SOCIAVAULT_API_KEY';
const BASE_URL = 'https://api.sociavault.com/v1';
async function getCarousels(handle) {
console.log(`šø Fetching posts for @${handle}...`);
try {
const response = await axios.get(`${BASE_URL}/scrape/instagram/posts`, {
params: { handle: handle },
headers: { 'x-api-key': API_KEY }
});
if (response.data.success) {
const posts = response.data.data.items;
// Filter for Carousels (usually type 8 or has children)
const carousels = posts.filter(p => p.media_type === 8 || p.carousel_media_count > 1);
console.log(`ā
Found ${carousels.length} carousels out of ${posts.length} posts.`);
return carousels;
}
} catch (error) {
console.error("Error fetching posts:", error.message);
}
}
Step 2: Analyze Performance
Now, let's see which ones performed best.
async function analyzePerformance(handle) {
const carousels = await getCarousels(handle);
if (!carousels) return;
// Sort by Likes
carousels.sort((a, b) => b.like_count - a.like_count);
console.log(`\nš Top 3 Carousels for @${handle}:`);
carousels.slice(0, 3).forEach((post, i) => {
console.log(`\n#${i + 1}: ${post.caption?.text?.substring(0, 50)}...`);
console.log(` ā¤ļø Likes: ${post.like_count}`);
console.log(` š¬ Comments: ${post.comment_count}`);
console.log(` š¼ļø Slides: ${post.carousel_media_count}`);
console.log(` š URL: https://instagram.com/p/${post.code}`);
});
}
// Run analysis
analyzePerformance('hubspot');
Sample Output
šø Fetching posts for @hubspot...
ā
Found 8 carousels out of 12 posts.
š Top 3 Carousels for @hubspot:
#1: 5 Marketing Trends You Can't Ignore in 2025...
ā¤ļø Likes: 12,450
š¬ Comments: 340
š¼ļø Slides: 7
š URL: https://instagram.com/p/C123456
#2: How to use AI for SEO (A Step-by-Step Guide)...
ā¤ļø Likes: 9,800
š¬ Comments: 210
š¼ļø Slides: 10
š URL: https://instagram.com/p/C789012
Insight: The "10-Slide" Rule
Data often shows that longer carousels get more reach. Why? Because every time a user swipes, the algorithm counts it as engagement. A 10-slide carousel keeps a user on your post for 30-60 seconds. A Reel might only keep them for 5.
Get Started
Stop ignoring the power of the swipe. Get your API key here.
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.