Instagram profile engagement analytics
Pricing
from $0.60 / 1,000 posts analyzeds
Instagram profile engagement analytics
Analyze Instagram posts. Measure real engagement. Discover what works.
Pricing
from $0.60 / 1,000 posts analyzeds
Rating
0.0
(0)
Developer
easy scraper
Actor stats
0
Bookmarked
7
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
🚀 Instagram Profile Engagement Analytics
This Actor helps you benchmark Instagram creators and profiles using simple, repeatable engagement KPIs—without needing Instagram Insights.
It:
- Takes one or more Instagram profile URLs (full link), usernames, or
@username - Fetches the follower count using a lightweight HTML request (no heavy browser)
- Loads the most recent N posts (configurable) from the public timeline feed
- Computes engagement performance metrics
- Outputs one dataset row per profile with KPIs you can paste into spreadsheets, dashboards, or reporting tools
🎯 Goal
If you’re selecting creators for outreach, sponsorships, or campaigns, you need more than follower count. You need performance.
This Actor gives you industry-style metrics like:
- Engagement Rate (ER)
- Engagement Velocity (per day)
- Engagement consistency
- Posting frequency
- Content mix (Reels vs Carousel vs Images)
- Caption/hashtag/mentions signals
- Links to the most engaging post
⭐ Key Features
- Multi-profile input in one run (array of profiles)
- Adjustable sample size: analyze
postsToAnalyzeper profile - Lightweight follower parsing from profile HTML
- Timeline scraping using public endpoints (GraphQL feed pagination)
- Clear, dataset-ready output (one row per profile)
- PPE-ready charging model (charge per analyzed post event)
⚙️ Input Parameters
| Parameter | Type | Required | Default | What it does |
|---|---|---|---|---|
profiles | array of strings | Yes | — | Instagram profiles to analyze. Accepts full URL, username, or @username. |
postsToAnalyze | integer | No | 30 | How many recent timeline posts to load and use for metric calculations per profile. |
postTypeFilter | string | No | all | Limit which post types count toward the sample. Options: all, feed, clips, carousel_container. |
skipPinnedPosts | boolean | No | true | If true, pinned posts are excluded from the analyzed sample. |
dateFilter | string | No | (empty) | Only include posts newer than a given date. Examples: 2026-01-01 or 90 days. |
proxyConfiguration | object | No | residential Apify proxy | Proxy settings for reaching Instagram endpoints reliably. |
Examples (what to put in profiles)
therock@nasahttps://www.instagram.com/leomessi/
📊 Output Data Format
The Actor outputs a dataset where each item represents one analyzed profile.
The “overview” table includes these end-user friendly columns:
profile_usernameprofile_urlfollowers_counttotal_posts_analyzedaverage_engagement_rate_pctavg_engagement_velocity_per_daylike_to_comment_ratioposting_frequency_posts_per_weektop_post_liftengagement_consistency_scorecontent_mix_ratio_countscontent_mix_clips_pctcontent_mix_carousel_pctcontent_mix_image_pctavg_caption_length_charsavg_hashtags_per_postcomment_rate_pcttotal_mentions_in_captionsavg_mentions_per_postmost_engaged_post_linkdate_span_daysoldest_post_atnewest_post_atanalyzed_atnote
Other fields may exist in the raw item for advanced use (example: most-viral post id, reel cross-platform fields).
🧾 Metrics Explained (with formulas)
All metrics use the analyzed post sample you requested via postsToAnalyze (and any filters you set).
1) Average Engagement Rate (ER)
Formula
- avg( (likes + comments) / followers × 100 )
Meaning
- Normalizes engagement by audience size so you can compare any account size.
2) Engagement Velocity (per day)
Formula
- avg( (likes + comments) / max(1, post_age_days) )
Meaning
- How fast engagement is accumulating relative to post age.
3) Like-to-Comment Ratio
Formula
- total_likes / total_comments
Meaning
- Depth vs “passive” engagement signal.
4) Posting Frequency (posts/week)
Formula
- (post_count / date_span_days) × 7
Meaning
- Content velocity you can correlate with ER.
5) Top Post Lift
Formula
- max(post_likes) / avg(post_likes)
Meaning
- How strongly the best post outperforms the average.
6) Engagement Consistency Score
Formula
- 1 - (std_dev(ER_per_post) / avg_ER)
- clipped to
[0, 1]
Meaning
- High score = predictable audience response (more brand-safe).
7) Cross-Platform Amplification Rate (Reels only)
Formula
- total_fb_likes / total_ig_likes × 100
Meaning
- Only computed when Facebook like info exists for qualifying reels.
8) Content Mix Ratio
Formula
- count(clips) : count(carousel) : count(image)
Meaning
- Helps you see whether the profile is strategy-driven around Reels vs other formats.
9) Average Caption Length (characters)
Formula
- sum(len(caption_text)) / post_count
Meaning
- Caption style fingerprint.
10) Hashtag Usage (count per post)
Formula
- sum(hashtags_per_post) / post_count
Meaning
- A practical proxy for discoverability strategy.
11) Comment Rate
Formula
- comments / followers × 100
12) Mention Count
Formula
- count(@\w+ in captions)
Meaning
- Collaboration signal.
13) Total Posts Analyzed
total_posts_analyzed
14) Most Engaged Post
- The post with maximum
(likes + comments) - Provided as a direct link in
most_engaged_post_link
15) Most Viral Post
- The post with maximum
view_count(if view data exists)
🧠 Notes That Matter (real-world expectations)
- Results quality depends heavily on sample size (
postsToAnalyze). - If follower count can’t be parsed, ER-based metrics may be null.
- Instagram public endpoints may occasionally block or return partial data; you’ll see a
notefield when that happens. - If you filter by
dateFilter, you may end up with fewer posts than requested.
💡 How to Control Cost (and PPE Pricing)
This Actor supports Pay-Per-Event (PPE) charging.
What is charged?
- 1 PPE event per analyzed post per profile
- The event name is typically
post
How the Actor controls charging
- It computes an effective
postsToAnalyzecap based on your remaining PPE budget. - If the PPE budget runs out, the Actor will:
- stop processing additional profiles early, or
- produce partial rows (with a
noteexplaining the cap)
❓ FAQ
Q: What should I set for postsToAnalyze?
- Start with
100for quick comparisons. - Use
500–1000for more stable ER consistency and posting frequency signals.
Q: Why are some ER fields null?
- If follower count wasn’t successfully parsed from profile HTML or if Instagram returned incomplete data.
Q: Why does the Actor stop early sometimes?
- With PPE enabled, budget limits can stop additional analyzed posts to prevent exceeding your max spend.