Skip to main content

Instagram Analytics

Instagram analytics endpoints provide insights for your connected Instagram Business/Creator accounts, including overview metrics, post performance, stories, and audience demographics.

1. GET /api/instagram/overview

Returns account-level metrics with current vs. previous period comparison, along with top and bottom performing posts.

Sample Request

curl --location --request GET \
"https://analyze.oneupapp.io/api/instagram/overview?apiKey=YOUR_API_KEY&social_network_id=123&preset=last_30_days"

Sample Response

{
"success": true,
"data": {
"metrics": [
{
"key": "posts",
"name": "Posts + Reels + Stories",
"value_current_period": 52,
"value_last_period": 45,
"percentage_change": "+15.56%"
},
{
"key": "reach",
"name": "Reach",
"value_current_period": 67000,
"value_last_period": 55000,
"percentage_change": "+21.82%"
},
{
"key": "follower_count",
"name": "New Followers",
"value_current_period": 890,
"value_last_period": 720,
"percentage_change": "+23.61%"
},
{
"key": "likes",
"name": "Likes",
"value_current_period": 12400,
"value_last_period": 10200,
"percentage_change": "+21.57%"
},
{
"key": "comments",
"name": "Comments",
"value_current_period": 2300,
"value_last_period": 1900,
"percentage_change": "+21.05%"
},
{
"key": "shares",
"name": "Shares",
"value_current_period": 1800,
"value_last_period": 1500,
"percentage_change": "+20.00%"
},
{
"key": "profile_views",
"name": "Profile Views",
"value_current_period": 9800,
"value_last_period": 8100,
"percentage_change": "+20.99%"
}
],
"total_followers": 28500,
"post_performance": {
"most_engaging": [
{
"id": "ig_abc123",
"caption": "...",
"permalink": "...",
"media_url": "...",
"thumbnail_url": "...",
"engagement": 627,
"engagement_rate": "12.06%",
"engagement_rate_raw": 12.06,
"reach": 5200,
"shares": 120
}
],
"least_engaging": [],
"most_reach": [],
"least_reach": [],
"most_shared": [],
"least_shared": []
}
}
}

Metrics

KeyNameDescription
postsPosts + Reels + StoriesTotal content published
reachReachTotal accounts reached
follower_countNew FollowersNew followers gained
likesLikesTotal likes
commentsCommentsTotal comments
sharesSharesTotal shares
profile_viewsProfile ViewsTotal profile views

2. GET /api/instagram/posts

Returns analytics for posts only (filters out stories where is_story=false).

Sample Request

curl --location --request GET \
"https://analyze.oneupapp.io/api/instagram/posts?apiKey=YOUR_API_KEY&social_network_id=123&start_date=2026-04-01&end_date=2026-04-30"

Sample Response

{
"success": true,
"data": {
"stats": [
{
"key": "posts",
"name": "Posts",
"value_current_period": 25,
"value_last_period": 22,
"percentage_change": "+13.64%"
},
{
"key": "reach",
"name": "Reach",
"value_current_period": 42000,
"value_last_period": 35000,
"percentage_change": "+20.00%"
},
{
"key": "likes",
"name": "Likes",
"value_current_period": 8900,
"value_last_period": 7200,
"percentage_change": "+23.61%"
},
{
"key": "comments",
"name": "Comments",
"value_current_period": 1600,
"value_last_period": 1300,
"percentage_change": "+23.08%"
},
{
"key": "shares",
"name": "Shares",
"value_current_period": 1200,
"value_last_period": 1000,
"percentage_change": "+20.00%"
},
{
"key": "reposts",
"name": "Reposts",
"value_current_period": 340,
"value_last_period": 280,
"percentage_change": "+21.43%"
},
{
"key": "reels_skip_rate",
"name": "Reels Skip Rate",
"value_current_period": 32.5,
"value_last_period": 35.1,
"percentage_change": "-7.41%"
},
{
"key": "crossposted_views",
"name": "Crossposted Views",
"value_current_period": 2100,
"value_last_period": 1800,
"percentage_change": "+16.67%"
}
],
"posts": [
{
"id": "ig_abc123",
"page_id": "ig_page_456",
"format": "carousel",
"caption": "Our new collection is here!",
"permalink": "https://instagram.com/p/abc123",
"media_type": "CAROUSEL_ALBUM",
"media_url": "https://scontent.cdninstagram.com/...",
"thumbnail_url": "https://scontent.cdninstagram.com/...",
"stats": {
"reach": 5200,
"likes": 420,
"comments": 85,
"shares": 120,
"reposts": 32,
"reelsSkipRate": null,
"crosspostedViews": 0
},
"timestamp": "2026-04-18T16:00:00+00:00"
}
]
}
}

Post Stats

FieldDescription
reachNumber of accounts reached
likesNumber of likes
commentsNumber of comments
sharesNumber of shares
repostsNumber of reposts
reelsSkipRateReels skip rate (can be null if no reels data)
crosspostedViewsCrossposted views count

Engagement rate: (likes + comments + shares + reposts) / reach * 100

Note: reels_skip_rate is averaged across posts that have it; can be null if no reels data.


3. GET /api/instagram/stories

Returns analytics for stories only (filters where is_story=true).

Sample Request

curl --location --request GET \
"https://analyze.oneupapp.io/api/instagram/stories?apiKey=YOUR_API_KEY&social_network_id=123&preset=last_7_days"

Sample Response

{
"success": true,
"data": {
"stats": [
{
"key": "stories",
"name": "Stories",
"value_current_period": 18,
"value_last_period": 15,
"percentage_change": "+20.00%"
},
{
"key": "reach",
"name": "Reach",
"value_current_period": 22000,
"value_last_period": 18000,
"percentage_change": "+22.22%"
},
{
"key": "views",
"name": "Views",
"value_current_period": 19000,
"value_last_period": 15500,
"percentage_change": "+22.58%"
},
{
"key": "replies",
"name": "Replies",
"value_current_period": 680,
"value_last_period": 520,
"percentage_change": "+30.77%"
},
{
"key": "shares",
"name": "Shares",
"value_current_period": 420,
"value_last_period": 350,
"percentage_change": "+20.00%"
},
{
"key": "total_interactions",
"name": "Interactions",
"value_current_period": 1100,
"value_last_period": 870,
"percentage_change": "+26.44%"
},
{
"key": "navigation",
"name": "Navigation",
"value_current_period": 3200,
"value_last_period": 2800,
"percentage_change": "+14.29%"
},
{
"key": "profile_visits",
"name": "Profile Visits",
"value_current_period": 1500,
"value_last_period": 1200,
"percentage_change": "+25.00%"
}
],
"stories": [
{
"id": "ig_story_xyz",
"caption": "Weekend vibes",
"permalink": "https://instagram.com/stories/ig_page_456/xyz",
"media_type": "IMAGE",
"media_url": "https://scontent.cdninstagram.com/...",
"thumbnail_url": "https://scontent.cdninstagram.com/...",
"stats": {
"reach": 3800,
"views": 3200,
"replies": 120,
"shares": 78,
"total_interactions": 198,
"navigation": 540,
"profile_visits": 260
},
"timestamp": "2026-04-25T12:00:00+00:00"
}
]
}
}

Story Stats

FieldDescription
reachAccounts reached
viewsTotal views
repliesNumber of replies
sharesNumber of shares
total_interactionsTotal interactions
navigationNavigation actions
profile_visitsProfile visits from story

4. GET /api/instagram/demographics

Returns follower and engaged audience demographics. No period comparison — returns the latest snapshot only. Each data array is limited to the top 10 entries.

Sample Request

curl --location --request GET \
"https://analyze.oneupapp.io/api/instagram/demographics?apiKey=YOUR_API_KEY&social_network_id=123"

Sample Response

{
"success": true,
"data": [
{
"key": "follower_demographics_age",
"name": "Followers by Age",
"data": [
{
"name": "18-24",
"value": 5700,
"percentage": 20.0,
"share": 20.0
},
{
"name": "25-34",
"value": 9125,
"percentage": 32.0,
"share": 32.0
},
{
"name": "35-44",
"value": 6545,
"percentage": 23.0,
"share": 23.0
},
{
"name": "45-54",
"value": 4275,
"percentage": 15.0,
"share": 15.0
},
{
"name": "55-64",
"value": 1995,
"percentage": 7.0,
"share": 7.0
},
{
"name": "65+",
"value": 860,
"percentage": 3.0,
"share": 3.0
}
]
},
{
"key": "follower_demographics_gender",
"name": "Followers by Gender",
"data": [
{
"name": "Men",
"value": 14250,
"percentage": 50.0,
"share": 50.0
},
{
"name": "Women",
"value": 12825,
"percentage": 45.0,
"share": 45.0
},
{
"name": "Non-Binary",
"value": 1425,
"percentage": 5.0,
"share": 5.0
}
]
},
{
"key": "follower_demographics_city",
"name": "Followers by City",
"data": [
{
"name": "New York",
"value": 3135,
"percentage": 11.0,
"share": 11.0
},
{
"name": "London",
"value": 2565,
"percentage": 9.0,
"share": 9.0
},
{
"name": "Los Angeles",
"value": 2280,
"percentage": 8.0,
"share": 8.0
}
]
},
{
"key": "follower_demographics_country",
"name": "Followers by Country",
"data": [
{
"name": "United States",
"value": 8550,
"percentage": 30.0,
"share": 30.0
},
{
"name": "United Kingdom",
"value": 4275,
"percentage": 15.0,
"share": 15.0
},
{
"name": "Brazil",
"value": 2850,
"percentage": 10.0,
"share": 10.0
}
]
},
{
"key": "engaged_audience_demographics_age",
"name": "Engaged Audience by Age",
"data": []
},
{
"key": "engaged_audience_demographics_gender",
"name": "Engaged Audience by Gender",
"data": []
},
{
"key": "engaged_audience_demographics_city",
"name": "Engaged Audience by City",
"data": []
},
{
"key": "engaged_audience_demographics_country",
"name": "Engaged Audience by Country",
"data": []
}
]
}

Demographic Keys

KeyNameAudience
follower_demographics_ageFollowers by AgeAll followers
follower_demographics_genderFollowers by GenderAll followers
follower_demographics_cityFollowers by CityAll followers
follower_demographics_countryFollowers by CountryAll followers
engaged_audience_demographics_ageEngaged Audience by AgeEngaged users
engaged_audience_demographics_genderEngaged Audience by GenderEngaged users
engaged_audience_demographics_cityEngaged Audience by CityEngaged users
engaged_audience_demographics_countryEngaged Audience by CountryEngaged users

Result: You have successfully retrieved Instagram analytics data!