Instagram Analytics
Analytics endpoints are not available on the Starter plan. Upgrade to Intermediate, Growth or Business plan to access these endpoints.
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
| Key | Name | Description |
|---|---|---|
posts | Posts + Reels + Stories | Total content published |
reach | Reach | Total accounts reached |
follower_count | New Followers | New followers gained |
likes | Likes | Total likes |
comments | Comments | Total comments |
shares | Shares | Total shares |
profile_views | Profile Views | Total 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
| Field | Description |
|---|---|
reach | Number of accounts reached |
likes | Number of likes |
comments | Number of comments |
shares | Number of shares |
reposts | Number of reposts |
reelsSkipRate | Reels skip rate (can be null if no reels data) |
crosspostedViews | Crossposted 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
| Field | Description |
|---|---|
reach | Accounts reached |
views | Total views |
replies | Number of replies |
shares | Number of shares |
total_interactions | Total interactions |
navigation | Navigation actions |
profile_visits | Profile 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
| Key | Name | Audience |
|---|---|---|
follower_demographics_age | Followers by Age | All followers |
follower_demographics_gender | Followers by Gender | All followers |
follower_demographics_city | Followers by City | All followers |
follower_demographics_country | Followers by Country | All followers |
engaged_audience_demographics_age | Engaged Audience by Age | Engaged users |
engaged_audience_demographics_gender | Engaged Audience by Gender | Engaged users |
engaged_audience_demographics_city | Engaged Audience by City | Engaged users |
engaged_audience_demographics_country | Engaged Audience by Country | Engaged users |
✅ Result: You have successfully retrieved Instagram analytics data!