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
| 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!