Asosiy mazmunga o'tish
Socialift
Qo'llanma

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

Qaysi login — qaysi host va ruxsatlar — Platformalar bo'yicha imkoniyatlar jadvali
Instagram LoginFacebook Login
Hostgraph.instagram.comgraph.facebook.com
Facebook sahifasiKerak emasInstagram akkaunt sahifaga ulangan bo'lishi kerak
Ruxsatlarinstagram_business_basic, instagram_business_manage_insightsinstagram_basic, instagram_manage_insights, pages_read_engagement
Reklama bilan birga yig'indilarYo'qtotal_likes, total_comments, total_views
Socialift SDKInstagram(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.

Akkaunt darajasidagi metrikalar — Platformalar bo'yicha imkoniyatlar jadvali
MetrikaNima o'lchaydiBreakdown
viewsKontent (reels, post, story) necha marta ijro etilgan yoki ko'rsatilganfollower_type, media_product_type
reachKontentni kamida bir marta ko'rgan noyob akkauntlar, reklama bilan birgamedia_product_type, follow_type
accounts_engagedKontent bilan o'zaro ta'sir qilgan akkauntlar, reklama bilan birgayo'q
total_interactionsPost, story, reels, video va jonli efirdagi jami o'zaro ta'sirlarmedia_product_type
likes, comments, saves, sharesAlohida ta'sir turlarimedia_product_type
replies, repostsJavoblar va repostlaryo'q
follows_and_unfollowsObuna bo'lganlar va obunadan chiqqanlarfollow_type
profile_links_tapsManzil, qo'ng'iroq, email va matn tugmalari bosilishicontact_button_type
follower_demographics, engaged_audience_demographicsObunachilar va faol auditoriya demografiyasiage, 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.

Post metrikalari: qaysi kontent turi uchun — Platformalar bo'yicha imkoniyatlar jadvali
MetrikaFEEDREELSSTORY
viewsborborbor
reachborborbor
total_interactionsborborbor
shares, repostsborborbor
likes, commentsborboryo'q
savedborboryo'q
profile_visits, profile_activity, followsboryo'qbor
ig_reels_avg_watch_timeyo'qboryo'q
navigation, replies, link_clicksyo'qyo'qbor

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.

2024–2025 o'zgarishlari: nima to'xtatildi, nima qo'shildi — Platformalar bo'yicha imkoniyatlar jadvali
MetrikaNima bo'ldiQachon
impressions (akkaunt va media)To'xtatildi, o'rniga viewsv22.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 viewsXuddi shu sanalar
video_views (media)To'xtatildiv21.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'xtatildiXuddi shu sanalar (v21.0)
last_14_days, last_30_days, last_90_days, prev_month (auditoriya demografiyasi timeframe'lari)To'xtatildiBarcha versiyalarda 2024-yil 19-avgustdan
views (akkaunt va media)Qo'shildi2025-yil 21-yanvar
reposts, reels_skip_rate, facebook_views, crossposted_viewsQo'shildi2025-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

  1. Akkaunt turini tekshiring

    Instagram akkaunt Business yoki Creator bo'lishi kerak. Facebook Login yo'lida u Facebook sahifasiga ulangan bo'ladi.

  2. Insights ruxsatini so'rang

    Instagram Login: instagram_business_basic va instagram_business_manage_insights. Facebook Login: instagram_basic, instagram_manage_insights, pages_read_engagement. Begona akkauntlar uchun ular App Review talab qiladi.

  3. Akkaunt metrikalarini kunlik yig'ing

    views, reach, accounts_engaged, total_interactions kabi metrikalarni period=day bilan so'rab, har kuni saqlang.

  4. 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.

  5. Demografiyani haftasiga yoki oyiga bir marta oling

    follower_demographicsni timeframe=this_month bilan har bir breakdown uchun alohida so'rang va natijani sana bilan saqlang.

Python: akkaunt, post va demografiya

Facebook Login yo'li: page token va Instagram akkaunt ID bilan.

instagram_stats.py
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.

Socialift SDK aynan nimani so'raydi — Platformalar bo'yicha imkoniyatlar jadvali
MetodGraph API so'roviQaytaradi
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 oshmaydisince, until va metrics lug'ati
ig.media_insightsAvval 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.demographicsfollower_demographics, period=lifetime, timeframe=this_month; kesimlar alohida so'rovlarda: age,gender, city, countryHar 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

  • impressions va plays o'rniga viewsdan foydalaning — eski dashboard'larni yangilang.
  • Bo'sh javobni 0 deb 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.

← Blogga qaytish

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.

Manbalar

  1. Meta: Instagram User Insights
  2. Meta: Instagram Media Insights
  3. Meta: Instagram Platform changelog
  4. Meta: Graph API v21.0 changelog

Bog'liq sahifalar