A comprehensive Instagram profile and post analysis tool with engagement metrics, view tracking, and Reels-focused analytics.
bash
# Full profile analysis - REELS FOCUS (default behavior)
analyze-profile "username"
# With custom post count
analyze-profile "username" --posts 60
# All posts (including regular posts)
analyze-profile "username" --include-posts
bash
# Analyze a Reel/post URL
analyze-post "https://www.instagram.com/reel/ABC123xyz/"
# With JSON output
analyze-post "https://www.instagram.com/reel/ABC123xyz/" --output json
json
{
"post_type": "reel",
"url": "https://www.instagram.com/reel/ABC123xyz/",
"username": "example_user",
"metrics": {
"views": 125000,
"likes": 8542,
"comments": 312,
"saves": 892,
"followers": 125000,
"shares": 156
},
"ratios": {
"view_to_follower_percent": 100.0,
"like_to_view_percent": 6.83,
"comment_to_view_percent": 0.25,
"save_to_view_percent": 0.71
},
"timing": {
"posted_at": "2026-02-11T14:30:00",
"time_ago": "6 hours ago",
"age_hours": 6
}
}
json
{
"profile": {
"username": "example_user",
"full_name": "Example User",
"followers": 125000,
"following": 1500,
"posts_count": 450,
"is_verified": false
},
"analysis_summary": {
"total_posts_analyzed": 60,
"reels_analyzed": 45,
"analysis_mode": "reels_only",
"total_views": 5420000,
"average_views": 120444,
"average_engagement_rate": 8.2,
"top_reels": [...],
"reels_links": [
"https://www.instagram.com/reel/ABC123/",
"https://www.instagram.com/reel/DEF456/",
...
]
},
"engagement_breakdown": {
"avg_likes": 8542,
"avg_comments": 312,
"avg_saves": 892,
"engagement_rate": 7.8
}
}
MetricFormulaInterpretationView Rate(Views / Followers) × 100How many followers actually watchedEngagement Rate((Likes + Comments + Saves) / Views) × 100Overall audience interactionLike Rate(Likes / Views) × 100Content appreciationSave Rate(Saves / Views) × 100Content value indicator
Edit config/analyzer_config.json:
json
{
"scraper": {
"headless": false,
"min_followers": 1000,
"posts_to_analyze": 60,
"scroll_pause": 2,
"timeout": 30000
},
"browser": {
"stealth_mode": true,
"human_behavior": true,
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)"
},
"output": {
"default_format": "json",
"save_reels_links": true,
"export_csv": true
}
}
data/profiles/{username}.jsondata/posts/{post_id}.jsondata/output/batch_{timestamp}.jsondata/output/{username}_reels.txt.envscroll_pause in config