Instagram Analytics API
Turn any public account into numbers you can act on: engagement rate from real recent posts, posting frequency, which formats perform best, and the hours and days that earn the most engagement. Computed on our side, returned as one JSON object — no exporting posts and doing the maths yourself.
50 free credits on signup · no card required
curl "https://api.instagramapi.dev/v1/insights/profile/engagement?handle=nike&posts=12" \
-H "Authorization: Bearer $INSTAGRAMAPI_KEY"What you get
Structured JSON, not raw HTML
- ▹Engagement rate as a ratio and a percentage, plus the average likes and comments it came from
- ▹Choose the window: last 12 posts by default, up to 50
- ▹Posting cadence — average gap between posts and posts per week
- ▹Photo / video / carousel share and average engagement per format
- ▹Best hours and weekdays to post, localised to any UTC offset
- ▹Works for any public account, including ones you don't own or manage
Endpoints
Every endpoint behind this page
Engagement rate
2–6 creditsEngagement rate computed from recent posts.
GET /v1/insights/profile/engagementAccount stats
4–6 creditsPosting cadence and content-format breakdown.
GET /v1/insights/profile/statsBest time to post
4–6 creditsBest hours & days to post, from recent engagement.
GET /v1/insights/profile/best-timeGet profile
1 creditFull public profile for an account.
GET /v1/profileExample response
What comes back
{
"data": {
"username": "nike",
"followers": 291952375,
"posts_analyzed": 12,
"avg_likes": 412874,
"avg_comments": 5231,
"avg_engagement": 418105,
"engagement_rate": 0.00143,
"engagement_rate_pct": 0.14
}
}Response fields
Fields returned by GET /v1/insights/profile/engagement
| Field | Description |
|---|---|
| username | The account's handle. |
| followers | Follower count at the time of calculation. |
| posts_analyzed | How many recent posts were actually used (your `posts` value, or fewer if the account has fewer). |
| avg_likes | Average likes across the analyzed posts. |
| avg_comments | Average comments across the analyzed posts. |
| avg_engagement | Average interactions per post (avg_likes + avg_comments). |
| engagement_rate | avg_engagement ÷ followers, as a decimal ratio. e.g. 0.00143 means a typical post draws interactions from about 0.143% of the follower base. |
| engagement_rate_pct | The same figure expressed as a percentage (engagement_rate × 100). e.g. 0.14 = 0.14%. |
No login required
Nothing to authenticate but your API key
No OAuth flow
One static API key in an Authorization: Bearer header. No redirect, no refresh tokens, no expiring session.
No Meta app review
Never touch Meta's developer platform, Business Verification, or a connected Facebook Page. Sign up directly with Instagram API.
Public data only
Every endpoint returns only what's already visible on Instagram without logging in. Private accounts are never accessible.
Pricing
2–6 credits per request. Credits start at $8.00 per 1,000 and drop to $6.00 per 1,000 at volume — no subscription, no minimums. New accounts get 50 free credits.
See full pricingFAQ
Instagram Analytics API, explained
How do I get an Instagram account's engagement rate?
Send GET /v1/insights/profile/engagement?handle=<username>. We fetch the account's recent posts, average likes + comments per post, divide by follower count, and return the rate along with the averages it was derived from. Pass posts=<n> (up to 50) to widen the window.
Does this work for accounts I don't own?
Yes. Everything here is computed from public data, so you can analyse any public account — creators you're vetting, competitors, or your own. The official Instagram Insights API only covers accounts you manage; this doesn't have that limitation.
What stats are included?
Three endpoints cover it: engagement rate (/insights/profile/engagement), posting cadence and format breakdown (/insights/profile/stats), and best time to post (/insights/profile/best-time). Combine them with /profile for follower and post counts.
How is 'best time to post' calculated?
We look at when the account's recent posts were published and how much engagement each earned, then bucket by hour and weekday. Pass timezone=<utc offset> (for example -5 for US East) to get results in local time.
What does an analytics call cost?
Engagement rate is 2 credits at the default 12-post window (up to 6 for 50 posts). Stats and best-time cost 4–6 credits depending on the window. Credits start at $8.00 per 1,000 and new accounts get 50 free.
Related
More ways to pull Instagram data
Start pulling analytics api data
Create a free key and make your first request in under a minute — 50 credits on us.