Instagram Insights API: akkaunt va post statistikasi
Instagram statistikasi API'da ikki darajada olinadi: akkaunt (GET /{ig-user-id}/insights) va post (GET /{ig-media-id}/insights). 2025-yilda Meta impressions va plays metrikalarini to'xtatib, o'rniga viewsni kiritdi. API faqat Business va Creator akkauntlar bilan ishlaydi, ma'lumot 48 soatgacha kechikishi mumkin, demografiya esa faqat eng katta 45 ta qiymatni qaytaradi.
Yangilangan:
Qisqacha: Instagram statistikasini API orqali qanday olish mumkin?
Akkaunt ko'rsatkichlari uchun /{ig-user-id}/insights ga metric, period=day va metric_type=total_value bilan so'rov yuborasiz, post ko'rsatkichlari uchun — /{ig-media-id}/insights ga. Ruxsat login turiga bog'liq: Instagram Login'da instagram_business_manage_insights, Facebook Login'da instagram_manage_insights. Shaxsiy akkauntlar qo'llab-quvvatlanmaydi — faqat Business yoki Creator.
Akkaunt so'rovida since va until berilmasa, API oxirgi 24 soatga qaraydi. Ma'lumot bo'lmasa, API 0 emas, bo'sh to'plam qaytaradi — hisobotda buni nol deb yozmang.
Qaysi login — qaysi host va ruxsatlar
| Instagram Login | Facebook Login | |
|---|---|---|
| Host | graph.instagram.com | graph.facebook.com |
| Facebook sahifasi | Kerak emas | Instagram akkaunt sahifaga ulangan bo'lishi kerak |
| Ruxsatlar | instagram_business_basic, instagram_business_manage_insights | instagram_basic, instagram_manage_insights, pages_read_engagement |
| Reklama bilan birga yig'indilar | Yo'q | total_likes, total_comments, total_views |
| Socialift SDK | Instagram(app_id=..., app_secret=...) | Instagram.via_facebook(app_secret=...) va ig_user_id |
Izohlar va cheklovlar
Facebook Login yo'lida foydalanuvchining sahifadagi roli Business Manager orqali berilgan bo'lsa, Meta hujjati qo'shimcha ravishda ads_management va ads_read ruxsatlarini ham ko'rsatadi.
Akkaunt darajasidagi metrikalar
Meta'ning joriy ma'lumotnomasidagi ro'yxat. Oddiy metrikalar period=day bilan so'raladi.
| Metrika | Nima o'lchaydi | Breakdown |
|---|---|---|
views | Kontent (reels, post, story) necha marta ijro etilgan yoki ko'rsatilgan | follower_type, media_product_type |
reach | Kontentni kamida bir marta ko'rgan noyob akkauntlar, reklama bilan birga | media_product_type, follow_type |
accounts_engaged | Kontent bilan o'zaro ta'sir qilgan akkauntlar, reklama bilan birga | yo'q |
total_interactions | Post, story, reels, video va jonli efirdagi jami o'zaro ta'sirlar | media_product_type |
likes, comments, saves, shares | Alohida ta'sir turlari | media_product_type |
replies, reposts | Javoblar va repostlar | yo'q |
follows_and_unfollows | Obuna bo'lganlar va obunadan chiqqanlar | follow_type |
profile_links_taps | Manzil, qo'ng'iroq, email va matn tugmalari bosilishi | contact_button_type |
follower_demographics, engaged_audience_demographics | Obunachilar va faol auditoriya demografiyasi | age, city, country, gender |
boryo'q
Barcha metrikalar metric_type=total_value bilan ishlaydi, reach esa time_series ham qo'llaydi. Demografiya period=lifetime va timeframe bilan so'raladi.
Post metrikalari: qaysi kontent turi uchun
To'plam media_product_typega bog'liq. Mos kelmaydigan metrika so'ralsa, Graph API butun so'rovni rad etadi.
| Metrika | FEED | REELS | STORY |
|---|---|---|---|
views | bor | bor | bor |
reach | bor | bor | bor |
total_interactions | bor | bor | bor |
shares, reposts | bor | bor | bor |
likes, comments | bor | bor | yo'q |
saved | bor | bor | yo'q |
profile_visits, profile_activity, follows | bor | yo'q | bor |
ig_reels_avg_watch_time | yo'q | bor | yo'q |
navigation, replies, link_clicks | yo'q | yo'q | bor |
boryo'qJadvalni yon tomonga suring
likes va comments faqat organik ta'sirni sanaydi. Facebook Login'da reklama ta'sirini ham qo'shadigan total_likes, total_comments va total_views bor.
2024–2025 o'zgarishlari: nima to'xtatildi, nima qo'shildi
Eski qo'llanmalardagi kod aynan shu sabab ishlamaydi.
| Metrika | Nima bo'ldi | Qachon |
|---|---|---|
impressions (akkaunt va media) | To'xtatildi, o'rniga views | v22.0'da 2025-yil 21-yanvardan, barcha versiyalarda 2025-yil 21-apreldan |
plays, clips_replays_count, ig_reels_aggregated_all_plays_count (media) | To'xtatildi, o'rniga views | Xuddi shu sanalar |
video_views (media) | To'xtatildi | v21.0'da 2024-yil 2-oktabrdan, barcha versiyalarda 2025-yil 8-yanvardan |
profile_views, website_clicks, email_contacts, phone_call_clicks, text_message_clicks, get_direction_clicks (akkaunt, time series) | To'xtatildi | Xuddi shu sanalar (v21.0) |
last_14_days, last_30_days, last_90_days, prev_month (auditoriya demografiyasi timeframe'lari) | To'xtatildi | Barcha versiyalarda 2024-yil 19-avgustdan |
views (akkaunt va media) | Qo'shildi | 2025-yil 21-yanvar |
reposts, reels_skip_rate, facebook_views, crossposted_views | Qo'shildi | 2025-yil 3-dekabr |
Media uchun impressions 2024-yil 2-iyuldan keyin yaratilgan postlarda bundan ham oldin ishlamay qolgan.
Demografiya: kim obuna bo'lgan va kim faol
follower_demographics (obunachilar) va engaged_audience_demographics (kontent bilan ta'sirlashganlar) period=lifetime, metric_type=total_value, breakdown (age, city, country yoki gender) va timeframe bilan so'raladi. timeframe since/untildan ustun turadi; xavfsiz qiymatlar — this_week va this_month.
Meta faqat eng katta 45 ta qiymatni qaytaradi. Foizlarni hisoblaganda buni hisobga oling: masalan, 45 tadan keyingi shaharlar javobda umuman bo'lmaydi.
Kichik akkauntlarda cheklov bor: Meta 100 tadan kam obunachisi bo'lgan akkauntlarga follower_count va online_followersni bermaydi, demografiya ham bo'sh kelishi mumkin. Socialift SDK'dagi ig.demographics bunday holatda istisno ko'tarmaydi: o'sha kesim uchun available: False va Meta'ning sababini qaytaradi, qolgan kesimlar baribir keladi.
Vaqt oralig'i, kechikish va saqlanish muddati
Ma'lumotlar 48 soatgacha kechikishi mumkin: kechagi raqam ertaga o'zgarsa, bu xato emas. Oxirgi ikki kunni har gal qayta yuklab, bazada yangilab turing.
Media metrikalari 2 yilgacha saqlanadi. Story metrikalari esa faqat 24 soat mavjud — story yo'qolishidan oldin yig'ib oling. Qiymati 5 dan kichik story metrikalari 10 kodli xato qaytaradi, albom ichidagi alohida elementlar uchun statistika umuman yo'q.
Uzoq davr hisoboti uchun eng ishonchli yo'l — har kuni snapshot olib, o'z bazangizda saqlash. Socialift SDK'ning ig.insights metodi oraliqni 30 kun bilan cheklaydi va untilni bugundan keyinga o'tkazmaydi, shuning uchun uzoq davrni 30 kunlik bo'laklarga bo'lib so'rang.
Statistika yig'ishni sozlash: 5 qadam
Akkaunt turini tekshiring
Instagram akkaunt Business yoki Creator bo'lishi kerak. Facebook Login yo'lida u Facebook sahifasiga ulangan bo'ladi.
Insights ruxsatini so'rang
Instagram Login:
instagram_business_basicvainstagram_business_manage_insights. Facebook Login:instagram_basic,instagram_manage_insights,pages_read_engagement. Begona akkauntlar uchun ular App Review talab qiladi.Akkaunt metrikalarini kunlik yig'ing
views,reach,accounts_engaged,total_interactionskabi metrikalarniperiod=daybilan so'rab, har kuni saqlang.Post metrikalarini turiga qarab so'rang
Avval
media_product_typeni bilib oling (FEED, REELS, STORY), keyin mos to'plamni so'rang. Story'larni 24 soat ichida yig'ing.Demografiyani haftasiga yoki oyiga bir marta oling
follower_demographicsnitimeframe=this_monthbilan har birbreakdownuchun alohida so'rang va natijani sana bilan saqlang.
Python: akkaunt, post va demografiya
Facebook Login yo'li: page token va Instagram akkaunt ID bilan.
import asyncio, os
from datetime import date, timedelta
from socialift import Instagram
async def main() -> None:
token = os.environ["PAGE_TOKEN"]
ig_user_id = os.environ["IG_USER_ID"]
async with Instagram.via_facebook(app_secret=os.environ["FACEBOOK_APP_SECRET"]) as ig:
week = await ig.insights(
token, ig_user_id=ig_user_id, since=date.today() - timedelta(days=7), until=date.today()
)
print(week["since"], week["until"], week["metrics"])
for post in await ig.media(token, ig_user_id=ig_user_id, limit=5):
print(post["id"], post["media_type"], await ig.media_insights(post["id"], token))
demo = await ig.demographics(token, ig_user_id=ig_user_id)
for cut, data in demo.items():
print(cut, data["values"] if data["available"] else data["reason"])
asyncio.run(main())Instagram Login yo'lida klient Instagram.from_env() bilan yaratiladi, token — Instagram user tokeni, ig_user_id esa ixtiyoriy.
media_insights post uchun statistika bo'lmasa (masalan, eski post yoki muddati o'tgan story) istisno emas, bo'sh lug'at qaytaradi.
Socialift SDK aynan nimani so'raydi
Metodlar qaysi metrikalarni so'rashini bilish hisobotni to'g'ri qurish uchun muhim.
| Metod | Graph API so'rovi | Qaytaradi |
|---|---|---|
ig.insights | /{ig-user-id}/insights: reach, profile_views, website_clicks, accounts_engaged, total_interactions; period=day, metric_type=total_value. Sukut bo'yicha oxirgi 30 kun, oraliq 30 kundan oshmaydi | since, until va metrics lug'ati |
ig.media_insights | Avval media_type va media_product_type, keyin mos to'plam. Rasm: reach, likes, comments, saved, shares, total_interactions, profile_visits. Video va Reels: shular + views (profile_visitssiz). Karusel: reach, likes, comments, saved, shares, total_interactions. Story: reach, replies, navigation, total_interactions | {metrika: qiymat} yoki bo'sh lug'at |
ig.demographics | follower_demographics, period=lifetime, timeframe=this_month; kesimlar alohida so'rovlarda: age,gender, city, country | Har kesim uchun available va values yoki reason |
Izohlar va cheklovlar
Diqqat: Meta'ning joriy akkaunt metrikalari ro'yxatida profile_views va website_clicks yo'q (ularning time series ko'rinishi 2025-yil yanvarida to'xtatilgan). ig.insights metrika xatosini qaytarsa, sababi shu bo'lishi mumkin.
Hisobot tizimi uchun maslahatlar
impressionsvaplayso'rnigaviewsdan foydalaning — eski dashboard'larni yangilang.- Bo'sh javobni
0deb yozmang: bu "ma'lumot yo'q" degani. - Oxirgi 48 soatni har kuni qayta yuklang — raqamlar hali yakunlanmagan bo'lishi mumkin.
- Story statistikasini 24 soat ichida yig'ing.
- Kunlik snapshot'larni o'z bazangizda saqlang, uzoq davrni bo'laklab so'rang.
- Ruxsat yo'qligi (
PermissionError) va token muammosi (AuthError)ni alohida qayta ishlang.
Ko'p so'raladigan savollar
Instagram API'da impressions nega ishlamayapti?
Meta impressionsni v22.0'da 2025-yil 21-yanvardan, barcha versiyalarda esa 2025-yil 21-apreldan to'xtatgan. O'rniga views metrikasidan foydalaning — u akkaunt va post darajasida mavjud.
views va reach farqi nima?
views — kontent necha marta ijro etilgan yoki ko'rsatilgani (bir odam bir necha marta sanaladi). reach — kontentni kamida bir marta ko'rgan noyob akkauntlar soni.
Shaxsiy Instagram akkaunt statistikasini API orqali olsa bo'ladimi?
Yo'q. Insights API faqat Business va Creator akkauntlar bilan ishlaydi. Akkauntni Instagram ilovasi sozlamalarida professional turga o'tkazish kerak.
Demografiya nega bo'sh keladi?
Ko'pincha akkaunt juda kichik bo'ladi yoki tanlangan timeframe qo'llab-quvvatlanmaydi. this_week yoki this_month ishlating va har breakdownni alohida so'rang; javobda eng katta 45 ta qiymat bo'lishini ham unutmang.
Story statistikasini keyinroq olsa bo'ladimi?
Yo'q, story metrikalari faqat 24 soat mavjud. Story joylangan paytda yig'ish vazifasini rejalashtiring va natijani o'z bazangizga yozing.
Qancha orqaga statistika olish mumkin?
Meta media metrikalarini 2 yilgacha saqlaydi. Akkaunt darajasidagi uzoq davr uchun esa eng ishonchlisi — har kuni o'zingiz snapshot olib saqlash.