MaxICo Labs — applied AI studio

Як зробити власний дашборд аналітики Instagram: API, дані, графіки

11 червня 2026 р. · MaxICo Labs

Запит «зроблю собі дашборд статистики Instagram» виглядає як проєкт на вихідні: взяти API, намалювати пару графіків — готово. На практиці між «отримав перший JSON з API» і «дашборд, яким реально користуєшся щодня» лежить 3–6 тижнів роботи. Розберімо весь шлях чесно: що треба зробити, де сховані граблі, скільки це коштує в годинах — і коли розумніше взяти готовий open-source на кшталт Instagram Dashboard.

Архітектура: три блоки будь-якого дашборда

Незалежно від стека, дашборд аналітики складається з трьох частин:

  1. Збір даних — авторизація в Instagram Graph API і регулярне витягування метрик.
  2. Зберігання — накопичення історії, бо API віддає обмежене вікно, а вам потрібні тренди за місяці.
  3. Візуалізація — вебінтерфейс із графіками, таблицями і порівнянням періодів.

Кожен блок виглядає простим окремо. Складність — у стиках і в довгостроковій надійності.

Крок 1: доступ до Graph API

Instagram віддає статистику тільки через офіційний Graph API і тільки для Business/Creator акаунтів. Шлях такий: створюєте застосунок у Meta for Developers, додаєте use case для роботи з Instagram, запитуєте permission instagram_business_manage_insights, генеруєте access token.

Перші граблі тут: короткоживучий токен живе годину, його треба обміняти на довгоживучий (близько 60 днів) і налаштувати автоматичне оновлення, інакше дашборд «помре» через два місяці тихо і без помилок у логах. Це той код, який усі забувають написати.

Крок 2: які метрики збирати

Мінімальний набір ендпоінтів для повноцінної аналітики:

Дані Звідки Нюанс
KPI акаунта (охоплення, перегляди) /{ig-user-id}/insights Метрики мають різні дозволені періоди
Список публікацій /{ig-user-id}/media Пагінація, обмеження полів
Метрики поста (saves, shares, reach) /{ig-media-id}/insights Набір метрик різний для Reels, фото і каруселей
Підписники по днях /{ig-user-id}/insights?metric=follower_count Тільки останні 30 днів — історію треба накопичувати самому
Демографія /{ig-user-id}/insights (audience) Доступна лише від ~100 підписників

Два системні обмеження, які формують архітектуру. Перше: API не віддає глибоку історію — наприклад, приріст підписників по днях доступний лише за останні 30 днів. Хочете графік за пів року — мусите збирати дані щодня з першого дня роботи дашборда. Друге: rate limits — при агресивному опитуванні API почне повертати помилки, тож збір треба робити фоновим кроном із backoff, а не «на льоту» при відкритті сторінки.

Крок 3: зберігання — простіше, ніж здається

Інстинктивне рішення — підняти PostgreSQL. Для дашборда на один-десять акаунтів це overkill: у вас десятки записів на день, не мільйони. Файлове сховище (JSON на диску) повністю закриває задачу і знімає цілий клас проблем — міграції, бекапи БД, ще один контейнер, який може впасти. Саме так зроблено в Instagram Dashboard: жодної зовнішньої БД, дані на Docker volume, бекап = копія папки.

База даних стане потрібною, коли акаунтів сотні або коли по дашборду працюють складні ad-hoc запити. До того моменту — YAGNI.

Крок 4: візуалізація

Стандартний стек 2026 року: Next.js + Tailwind + бібліотека графіків (Recharts, Chart.js або ECharts). Сам по собі графік малюється за годину. Час з'їдають продуктові дрібниці, без яких дашбордом незручно користуватись: перемикач періодів 7/30/90 днів, порівняння з попереднім періодом («+18% до минулого місяця»), сортування таблиці публікацій за ER%, маркери подій на графіку росту, адекватний вигляд на мобільному. Кожна дрібниця — пів дня; разом — тижні.

І не забудьте авторизацію: дашборд із вашим токеном Instagram не може висіти у відкритому доступі. Логін, захист усіх /api-роутів, секрети поза репозиторієм — ще пара днів.

Чесна оцінка трудовитрат

Оцінка для розробника середнього рівня, який раніше не працював із Graph API:

Етап Час
Meta-застосунок, токени, оновлення токенів 1–2 дні
Збирач метрик з обробкою лімітів і ретраями 3–5 днів
Сховище + накопичення історії 1–2 дні
UI: KPI, таблиця постів, графіки, періоди 5–10 днів
Авторизація, деплой, HTTPS 2–3 дні
Налагодження на реальних даних 3–5 днів
Разом 15–27 робочих днів

За ставкою $25–50/год це $3 000–10 000 еквіваленту робочого часу. І це без AI-функцій: транскрипція Reels через Whisper, аналіз патернів мовлення, генерація сценаріїв — ще плюс 2–3 тижні.

Альтернатива: взяти готовий open-source

Усе перелічене вже реалізовано в Instagram Dashboard від MaxICo Labs — безкоштовному open-source продукті: KPI за 7/30/90 днів із порівнянням періодів, таблиця публікацій з ER%, ріст підписників із маркерами Reels і кореляцією переглядів та приросту, інсайти по днях тижня і saves vs shares, Whisper-транскрипти, AI-генератор сценаріїв у вашому стилі та реальна демографія аудиторії. Стек — Next.js 16 + Tailwind v4 + Recharts, без зовнішньої БД. Деплой: git clone → заповнити .env → docker compose up; токен Instagram вставляється прямо з UI. Подивитися, як це виглядає на живих даних, можна в демо.

Коли власна розробка все ж виправдана: якщо дашборд — частина більшої внутрішньої системи (своя CRM, дані з реклами, продажі), якщо потрібні нестандартні метрики або моніторинг великого пулу акаунтів. Але і тоді раціональніше форкнути готову кодову базу, ніж писати збирач Graph API з нуля — найболючіша частина (токени, ліміти, накопичення історії) уже вирішена.

Граблі, про які не пишуть у документації

Кілька речей, які з'ясовуються лише на реальних даних — і з'їдають дні налагодження:

  • Метрики змінюються без попередження. Meta регулярно перейменовує і деприкейтить метрики insights (історія з video_views → views це класика). Збирач має логувати помилки по кожній метриці окремо, а не падати цілком через одну зниклу.
  • Reels, фото і каруселі — три різні набори метрик. Запит «дай saves для відео» може повернути помилку для каруселі. Потрібна мапа «тип медіа → дозволені метрики», інакше половина запитів повертатиме помилки.
  • Дані «допливають» із запізненням. Статистика за сьогодні неповна: охоплення і перегляди донараховуються до 48 годин. Якщо збирати метрики поста одразу після публікації і більше не оновлювати — у базі назавжди лишаться занижені цифри. Правильно — перезбирати свіжі публікації кілька днів поспіль.
  • Тестове середовище ≠ бойове. У режимі розробки Meta-застосунок працює лише з акаунтами, які мають у ньому роль. Дашборд, що ідеально працює на вашому акаунті, мовчки не побачить акаунт клієнта, поки той не доданий до застосунку.

Кожен пункт окремо — дрібниця. Разом вони пояснюють, чому «простий дашборд на вихідні» розтягується на місяць: основний час іде не на графіки, а на з'ясування недокументованої поведінки API.

Висновок: рахуйте економіку, а не романтику

Свій дашборд з нуля — гарний side-проєкт для прокачки, але погана бізнес-інвестиція: 3–6 тижнів роботи заради функціональності, яка вже лежить на GitHub безкоштовно. Розумний маршрут: розгорнути готовий Instagram Dashboard за 10 хвилин, пожити з ним місяць і тільки потім вирішувати, чого вам бракує — і доробляти саме це, а не все підряд.

Продукт безкоштовний і відкритий: github.com/MaxICo-Agency/instagram-dashboard. А якщо потрібна кастомна версія під ваш бізнес — свої метрики, інтеграції з парсерами чи наскрізною аналітикою, білий лейбл для агенції — MaxICo Labs зробить доробку під ключ. Перший крок безкоштовний: 30-хвилинний AI-аудит на maxicolabs.com/contact.

Часті питання

Скільки часу займає розробка дашборда Instagram з нуля?

Реалістично 15–27 робочих днів для розробника середнього рівня: токени і Meta-застосунок, збирач метрик із лімітами, сховище, UI з графіками і періодами, авторизація, деплой. AI-функції (транскрипти, генератор сценаріїв) — ще 2–3 тижні зверху.

Чи можна отримати статистику Instagram без офіційного API?

Парсинг без API порушує умови Meta, нестабільний і не дає головного — внутрішніх метрик (охоплення, saves, демографія), які видно лише власнику акаунта через Graph API з permission instagram_business_manage_insights.

Чи потрібна база даних для дашборда аналітики?

Для 1–10 акаунтів — ні. Обсяг даних мізерний (десятки записів на день), файлове сховище на Docker volume повністю закриває задачу і спрощує бекапи. БД має сенс від сотень акаунтів або складних ad-hoc запитів.

Чому не можна просто запитувати API в момент відкриття дашборда?

Дві причини: rate limits Meta при частих запитах і відсутність глибокої історії в API — наприклад, приріст підписників доступний лише за останні 30 днів. Тому дані треба збирати фоновим завданням щодня і накопичувати локально.

Читайте також

ML

Автор

MaxICo Labs — ваш партнер по штучному інтелекту

Applied-AI студія Максим Шаповал (засновник MaxICo Labs). Будуємо AI-агентів, чат-боти, голосові агенти, CRM і автоматизацію у проді — і пишемо тут про те, що реально працює. Виросли з MaxICo Agency.