What Is a Good Engagement Rate on Instagram in 2026? (By Niche & Follower Count)
You just checked your Instagram engagement rate. It's 2.4%.
Is that good? Bad? Average?
The answer is: it depends. A 2.4% engagement rate is excellent for an account with 500K followers. It's mediocre for a nano creator with 3K followers. And it's completely different depending on whether you're in fitness or finance.
The generic "3-6% is good" advice floating around the internet is useless. Engagement rate benchmarks change by follower size, content niche, content type, and year. What was good in 2023 is not what's good in 2026.
This post gives you actual benchmarks based on real data — not recycled numbers from 2021 blog posts that everyone keeps copying from each other.
How We Got These Numbers
At SociaVault Labs, we've analyzed over 50,000 Instagram accounts across 10 content niches and 5 follower tiers as part of our ongoing research into influencer authenticity and engagement patterns.
We filtered for accounts that showed signs of genuine, organic engagement — no purchased followers, no bot activity, no engagement pods. After filtering, we computed engagement rates using the standard formula:
Engagement Rate = (Likes + Comments) / Followers × 100
Calculated per post, averaged across the last 30 posts per account.
The result: clean, trustworthy benchmarks that reflect what real engagement looks like on Instagram in 2026.
The Quick Answer
If you just want the headline numbers, here they are:
| Follower Tier | Range | Average ER | "Good" ER | "Great" ER |
|---|---|---|---|---|
| Nano | 1K – 10K | 4.2% | 5.0%+ | 7.0%+ |
| Micro | 10K – 50K | 2.8% | 3.5%+ | 5.0%+ |
| Mid | 50K – 100K | 1.9% | 2.5%+ | 3.5%+ |
| Macro | 100K – 500K | 1.4% | 1.8%+ | 2.5%+ |
| Mega | 500K+ | 0.9% | 1.2%+ | 1.8%+ |
The pattern is clear: engagement rate drops as follower count grows. This isn't a sign of failure — it's math. When you reach 1M people, a smaller percentage will interact with any single post.
If your rate falls within the "Good" column for your tier, you're outperforming most accounts. If you're in "Great," you're in the top 10-15% of your tier.
Why Follower Count Changes Everything
This is the most important thing to understand about engagement rates, and it's the reason generic benchmarks are worthless.
Example: Two fitness creators, both posting workout Reels.
- Creator A: 5,000 followers, 300 likes per post = 6.0% ER
- Creator B: 400,000 followers, 8,000 likes per post = 2.0% ER
Creator B gets 26x more engagement in absolute terms. But their engagement rate is 3x lower. By the "3-6% is good" rule, Creator A looks great and Creator B looks mediocre.
That's absurd. Creator B is crushing it for a macro account.
Always compare within your tier. Anything else is comparing apples to dump trucks.
Engagement Rates by Niche (2026)
Content niche is the second biggest factor. Here are the average engagement rates for the 10 niches we track, across all follower tiers:
| Rank | Niche | Avg. ER | Notes |
|---|---|---|---|
| 1 | Education & How-to | 3.8% | Saves drive this up — tutorial content gets bookmarked |
| 2 | Food & Cooking | 3.5% | Recipe Reels have high comment engagement |
| 3 | Parenting & Family | 3.3% | Strong community, loyal audiences |
| 4 | Fitness & Health | 3.1% | Transformation content performs, but saturated |
| 5 | Entertainment & Comedy | 2.9% | High reach but lower relative engagement |
| 6 | Tech & Gaming | 2.6% | Niche audiences, lower volume but loyal |
| 7 | Finance & Business | 2.4% | Growing fast, professional audiences |
| 8 | Travel & Lifestyle | 2.2% | Post-pandemic recovery, aspirational content |
| 9 | Fashion & Style | 1.9% | Highly commercialized, audience fatigue |
| 10 | Beauty & Cosmetics | 1.7% | Highest follower counts + highest fraud = lowest ER |
The surprise winner: Education. Tutorial content — "how to edit photos," "Excel tips," "study methods" — consistently gets the highest engagement because people save and share it. The algorithm loves that.
The laggard: Beauty. This isn't because beauty content is bad. It's because the beauty niche has the highest fake follower rate at 52.1%. Inflated follower counts crush the engagement rate calculation even for good creators.
The Full Breakdown: ER by Niche × Follower Tier
Here's the complete matrix. Find your niche and your tier:
Nano Accounts (1K – 10K Followers)
| Niche | Average ER | Good | Great |
|---|---|---|---|
| Education | 5.6% | 6.5%+ | 8.5%+ |
| Food & Cooking | 5.2% | 6.0%+ | 8.0%+ |
| Parenting | 4.9% | 5.5%+ | 7.5%+ |
| Fitness | 4.5% | 5.2%+ | 7.0%+ |
| Entertainment | 4.2% | 5.0%+ | 6.5%+ |
| Tech & Gaming | 3.8% | 4.5%+ | 6.0%+ |
| Finance | 3.5% | 4.2%+ | 5.5%+ |
| Travel | 3.2% | 4.0%+ | 5.5%+ |
| Fashion | 2.8% | 3.5%+ | 5.0%+ |
| Beauty | 2.5% | 3.0%+ | 4.5%+ |
Micro Accounts (10K – 50K Followers)
| Niche | Average ER | Good | Great |
|---|---|---|---|
| Education | 4.2% | 5.0%+ | 6.5%+ |
| Food & Cooking | 3.8% | 4.5%+ | 6.0%+ |
| Parenting | 3.5% | 4.0%+ | 5.5%+ |
| Fitness | 3.2% | 3.8%+ | 5.0%+ |
| Entertainment | 2.9% | 3.5%+ | 4.5%+ |
| Tech & Gaming | 2.7% | 3.2%+ | 4.2%+ |
| Finance | 2.5% | 3.0%+ | 4.0%+ |
| Travel | 2.3% | 2.8%+ | 3.8%+ |
| Fashion | 2.0% | 2.5%+ | 3.5%+ |
| Beauty | 1.8% | 2.2%+ | 3.0%+ |
Mid-Tier Accounts (50K – 100K Followers)
| Niche | Average ER | Good | Great |
|---|---|---|---|
| Education | 2.8% | 3.5%+ | 4.5%+ |
| Food & Cooking | 2.5% | 3.0%+ | 4.0%+ |
| Parenting | 2.3% | 2.8%+ | 3.8%+ |
| Fitness | 2.1% | 2.6%+ | 3.5%+ |
| Entertainment | 1.9% | 2.4%+ | 3.2%+ |
| Tech & Gaming | 1.8% | 2.2%+ | 3.0%+ |
| Finance | 1.6% | 2.0%+ | 2.8%+ |
| Travel | 1.5% | 1.9%+ | 2.6%+ |
| Fashion | 1.3% | 1.7%+ | 2.4%+ |
| Beauty | 1.1% | 1.4%+ | 2.0%+ |
Macro Accounts (100K – 500K Followers)
| Niche | Average ER | Good | Great |
|---|---|---|---|
| Education | 2.1% | 2.6%+ | 3.5%+ |
| Food & Cooking | 1.9% | 2.3%+ | 3.0%+ |
| Parenting | 1.7% | 2.1%+ | 2.8%+ |
| Fitness | 1.5% | 1.9%+ | 2.5%+ |
| Entertainment | 1.4% | 1.7%+ | 2.3%+ |
| Tech & Gaming | 1.3% | 1.6%+ | 2.1%+ |
| Finance | 1.2% | 1.5%+ | 2.0%+ |
| Travel | 1.1% | 1.4%+ | 1.9%+ |
| Fashion | 0.9% | 1.2%+ | 1.7%+ |
| Beauty | 0.8% | 1.0%+ | 1.4%+ |
Mega Accounts (500K+ Followers)
| Niche | Average ER | Good | Great |
|---|---|---|---|
| Education | 1.4% | 1.8%+ | 2.5%+ |
| Food & Cooking | 1.2% | 1.6%+ | 2.2%+ |
| Parenting | 1.1% | 1.4%+ | 2.0%+ |
| Fitness | 1.0% | 1.3%+ | 1.8%+ |
| Entertainment | 0.9% | 1.2%+ | 1.6%+ |
| Tech & Gaming | 0.8% | 1.1%+ | 1.5%+ |
| Finance | 0.8% | 1.0%+ | 1.4%+ |
| Travel | 0.7% | 0.9%+ | 1.3%+ |
| Fashion | 0.6% | 0.8%+ | 1.2%+ |
| Beauty | 0.5% | 0.7%+ | 1.0%+ |
How to Calculate Your Own Engagement Rate
The Manual Way
Pick your last 12 posts. For each one, add likes + comments. Divide by your follower count. Multiply by 100. Average the results.
Simple but tedious.
The API Way
Pull the data programmatically and calculate it for any account — yours, a competitor's, a potential partner's:
const axios = require('axios');
const API_KEY = process.env.SOCIAVAULT_API_KEY;
const BASE_URL = 'https://api.sociavault.com';
async function calculateEngagementRate(username) {
// Step 1: Get the profile (follower count)
const profile = await axios.get(`${BASE_URL}/v1/scrape/instagram/profile`, {
params: { handle: username, trim: true },
headers: { 'X-API-Key': API_KEY }
});
const followers = profile.data.data.data.user.edge_followed_by.count;
const accountName = profile.data.data.data.user.full_name;
// Step 2: Get recent posts (likes + comments)
const posts = await axios.get(`${BASE_URL}/v1/scrape/instagram/posts`, {
params: { handle: username, trim: true },
headers: { 'X-API-Key': API_KEY }
});
const postEdges = posts.data.data.data.user.edge_owner_to_timeline_media.edges;
// Step 3: Calculate engagement rate per post
const engagementRates = postEdges.map(edge => {
const likes = edge.node.edge_liked_by?.count || 0;
const comments = edge.node.edge_media_to_comment?.count || 0;
const er = ((likes + comments) / followers) * 100;
return {
shortcode: edge.node.shortcode,
likes,
comments,
engagementRate: er.toFixed(2) + '%'
};
});
// Step 4: Calculate average
const avgER = engagementRates.reduce((sum, p) => sum + parseFloat(p.engagementRate), 0) / engagementRates.length;
console.log(`\n📊 @${username} (${accountName})`);
console.log(`Followers: ${followers.toLocaleString()}`);
console.log(`Posts analyzed: ${engagementRates.length}`);
console.log(`Average engagement rate: ${avgER.toFixed(2)}%`);
console.log(`\nPer-post breakdown:`);
engagementRates.forEach(p => {
console.log(` ${p.shortcode}: ${p.likes} likes, ${p.comments} comments → ${p.engagementRate}`);
});
return { username, followers, avgER: avgER.toFixed(2), posts: engagementRates };
}
// Check any account
await calculateEngagementRate('natgeo');
Python version:
import requests
import os
API_KEY = os.getenv('SOCIAVAULT_API_KEY')
BASE_URL = 'https://api.sociavault.com'
headers = {'X-API-Key': API_KEY}
def calculate_engagement_rate(username):
# Get profile
profile = requests.get(
f'{BASE_URL}/v1/scrape/instagram/profile',
params={'handle': username, 'trim': 'true'},
headers=headers
).json()
user = profile['data']['data']['user']
followers = user['edge_followed_by']['count']
# Get posts
posts = requests.get(
f'{BASE_URL}/v1/scrape/instagram/posts',
params={'handle': username, 'trim': 'true'},
headers=headers
).json()
edges = posts['data']['data']['user']['edge_owner_to_timeline_media']['edges']
# Calculate per-post ER
rates = []
for edge in edges:
node = edge['node']
likes = node.get('edge_liked_by', {}).get('count', 0)
comments = node.get('edge_media_to_comment', {}).get('count', 0)
er = ((likes + comments) / followers) * 100
rates.append(er)
print(f" {node['shortcode']}: {likes} likes, {comments} comments → {er:.2f}%")
avg = sum(rates) / len(rates) if rates else 0
print(f"\n@{username}: {followers:,} followers, avg ER: {avg:.2f}%")
return avg
calculate_engagement_rate('natgeo')
This costs 2 API credits (1 for profile + 1 for posts). You get the engagement rate for any public account in seconds.
Reels vs. Feed Posts vs. Carousels: Which Gets Better Engagement?
Not all content types are created equal. Here's how they stack up in 2026:
| Content Type | Average ER | Best For |
|---|---|---|
| Carousels | 3.1% | Saves, education content, detailed information |
| Reels | 2.4% | Reach, discovery, new followers |
| Single Image | 1.8% | Quick updates, quotes, announcements |
| Stories | N/A | Retention, DMs, link clicks (no public ER) |
Carousels win engagement. They keep people swiping, which the algorithm counts as time-on-content. Each swipe is a signal that you're interested.
Reels win reach. The algorithm pushes Reels to non-followers through Explore and the Reels tab. You'll get more eyeballs, but a lower percentage engages.
The optimal strategy? Both. Reels to grow, carousels to engage.
Deep dive: Carousels vs. Reels: What the Data Actually Shows
What's Killing Your Engagement Rate (And How to Fix It)
If your engagement rate is below average for your tier, here are the most common reasons:
1. Ghost Followers
Old followers who stopped using Instagram, follow-unfollow bots from 2020, purchased followers that never engaged. They inflate your follower count without adding engagement.
Fix: There's no magic delete button. Focus on content that organically attracts new active followers. The ratio improves over time.
2. Wrong Content for Your Audience
Posting lifestyle content when your audience followed you for business tips. Posting Reels when your audience prefers carousels.
Fix: Check which posts get the most engagement. Double down on what works.
3. Inconsistent Posting
The algorithm favors consistency. Posting 3 times a week for a month, then disappearing for 2 weeks, tanks your reach.
Fix: Pick a sustainable frequency. Three solid posts per week beats seven mediocre ones.
4. Engagement Pods and Buying Likes
This artificially inflates some posts but tanks others when the pod doesn't participate. Instagram's algorithm also detects pod behavior and suppresses reach.
Fix: Stop. Build real engagement. Read our research on why fake engagement destroys accounts long-term.
5. Low-Quality Hooks
People scroll past your Reel in 0.3 seconds. If your first frame doesn't grab attention, you get zero engagement.
Fix: Study what works. Use the Instagram posts endpoint to analyze top-performing content from creators in your niche.
How to Track Engagement Rates Over Time
One-time checks are useful. Ongoing tracking is powerful. Here's a simple script that tracks any account's engagement rate weekly:
const axios = require('axios');
const fs = require('fs');
const API_KEY = process.env.SOCIAVAULT_API_KEY;
const BASE_URL = 'https://api.sociavault.com';
async function trackEngagement(usernames) {
const results = [];
const date = new Date().toISOString().split('T')[0];
for (const username of usernames) {
const profile = await axios.get(`${BASE_URL}/v1/scrape/instagram/profile`, {
params: { handle: username, trim: true },
headers: { 'X-API-Key': API_KEY }
});
const posts = await axios.get(`${BASE_URL}/v1/scrape/instagram/posts`, {
params: { handle: username, trim: true },
headers: { 'X-API-Key': API_KEY }
});
const followers = profile.data.data.data.user.edge_followed_by.count;
const edges = posts.data.data.data.user.edge_owner_to_timeline_media.edges;
const rates = edges.map(e => {
const likes = e.node.edge_liked_by?.count || 0;
const comments = e.node.edge_media_to_comment?.count || 0;
return ((likes + comments) / followers) * 100;
});
const avgER = rates.reduce((a, b) => a + b, 0) / rates.length;
results.push({
date,
username,
followers,
postsAnalyzed: edges.length,
avgEngagementRate: avgER.toFixed(2) + '%'
});
}
// Append to tracking file
const logFile = 'engagement-tracking.json';
const existing = fs.existsSync(logFile)
? JSON.parse(fs.readFileSync(logFile, 'utf-8'))
: [];
existing.push(...results);
fs.writeFileSync(logFile, JSON.stringify(existing, null, 2));
console.log(`Tracked ${results.length} accounts on ${date}`);
results.forEach(r => {
console.log(` @${r.username}: ${r.avgEngagementRate} (${r.followers.toLocaleString()} followers)`);
});
return results;
}
// Track your brand + competitors weekly
await trackEngagement([
'nike',
'adidas',
'puma',
'underarmour'
]);
Run this weekly with a cron job. After a month, you'll have trend data no analytics platform gives you for competitor accounts.
FAQ
What engagement rate should I aim for?
Look at the tables above for your specific tier and niche. As a rough rule: if you're 20% above the average for your tier, you're doing well.
Does Instagram count saves and shares in engagement rate?
The standard formula uses likes + comments only, because those are publicly visible. Some marketers include saves (available for your own account via Insights), which inflates the number. Our benchmarks use the likes + comments formula so you can compare against any public account.
Why is my engagement rate dropping?
Usually one of three things: your follower count is growing faster than engagement (normal), you changed content types, or Instagram's algorithm shifted distribution. Check the algorithm changes analysis for recent shifts.
Are Reels engagement rates calculated differently?
Same formula — (likes + comments) / followers × 100. Some people use views instead of followers as the denominator for Reels, which gives a much lower number. We use followers for consistency across content types.
How do I check a competitor's engagement rate?
Use the API approach shown above. The Instagram profile endpoint gives you their follower count, and the posts endpoint gives you likes and comments per post. Two API calls, done.
Get Started
Want to benchmark your own engagement rate — or audit competitors?
Sign up free and get 100 credits to start. The profile + posts endpoints cost 2 credits total, so that's 50 engagement rate calculations out of the box.
Full API documentation: docs.sociavault.com/api-reference/instagram/profile
Related Reading
- Real Engagement Rate Benchmarks from Verified Clean Accounts
- Instagram Profile Scraper API: Extract User Data & Metrics
- Instagram Posts Scraper API: Extract All Posts from Any Profile
- 37.2% of Influencer Followers Are Fake: Key Findings
- The Death of Follower Count: Why Engagement Data Is All That Matters
- Carousels Beat Reels for Retention: Instagram Carousel Analytics
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.