Перейти к содержимому
Socialift
Базовое руководство

Instagram Graph API: руководство для разработчиков

Instagram API сегодня — это Instagram Platform от Meta: один Graph API и два варианта подключения. Вариант с Instagram Login работает с профессиональным аккаунтом без страницы Facebook и обращается к graph.instagram.com; вариант с Facebook Login требует привязанной страницы и работает через graph.facebook.com. Личные аккаунты не поддерживаются, а Basic Display API отключён 4 декабря 2024 года.

Обновлено:

Что такое Instagram API в 2026 году?

Instagram API — это Instagram Platform от Meta, набор эндпоинтов Graph API для профессиональных аккаунтов. Вы выбираете один из двух вариантов: Instagram API with Instagram Login (страница Facebook не нужна, graph.instagram.com) или Instagram API with Facebook Login (аккаунт привязан к странице, graph.facebook.com). В обоих есть публикация, комментарии, статистика и упоминания; сообщения и поиск отличаются.

Вариант с Instagram Login Meta запустила 23 июля 2024 года. До этого любая интеграция шла через страницу Facebook — поэтому старые туториалы до сих пор начинаются с токена страницы.

Instagram Basic Display API, через который показывали фото личного аккаунта на сайте, признан устаревшим 4 декабря 2024 года: любой запрос к нему теперь возвращает ошибку. Для встраивания публичных постов есть oEmbed API — с 15 мая 2026 года его можно вызывать без токена доступа.

27 января 2025 года старые значения scope для Instagram Login (business_basic, business_content_publish, business_manage_comments, business_manage_messages) перестали работать, их заменили имена instagram_business_*. Если окно входа внезапно отклоняет разрешения — проверьте это первым делом.

Instagram Login или Facebook Login: что выбрать?

Оба варианта дают доступ к одним и тем же данным Instagram, но различаются окном входа, хостом, типом токена и частью функций.

Instagram Login или Facebook Login: что выбрать? — Таблица возможностей по платформам
Instagram LoginFacebook Login
Как входит пользовательЛогин и пароль InstagramЛогин и пароль Facebook
Страница FacebookНе нужнаНужна, привязанная к аккаунту Instagram
Хост APIgraph.instagram.comgraph.facebook.com
ТокенInstagram User access tokenFacebook User или Page access token
Имена разрешенийinstagram_business_*instagram_* и pages_*
Публикация, комментарии, статистика, упоминанияЕстьЕсть
Сообщения DirectЕстьЧерез Messenger Platform
Поиск по хештегам, business discoveryНетЕсть
Отметки товаров, partnership adsНетЕсть

Простое правило: если не нужны поиск по хештегам, данные чужих аккаунтов и рекламные функции, Instagram Login проще — вашим пользователям не нужна страница Facebook.

Какие аккаунты Instagram работают с API?

Только профессиональные — «Бизнес» или «Автор» (Creator). Личные аккаунты недоступны ни в одном из вариантов. Первый вопрос от пользователей обычно решается сменой типа аккаунта в настройках приложения Instagram.

В варианте с Facebook Login профессиональный аккаунт должен быть привязан к странице Facebook, а входящий человек — иметь задачу (task) на этой странице. У некоторых функций есть дополнительные условия: например, в документации Meta по Facebook Login публикация историй доступна только бизнес-аккаунтам.

API всегда действует от имени аккаунта, который авторизовал ваше приложение. Это не инструмент для чтения произвольных профилей: данные о чужих аккаунтах дают только поиск по хештегам и business discovery — оба только через Facebook Login и после App Review.

Что можно сделать через Instagram API?

01

Публикация контента

Фото, Reels, карусели до 10 элементов и истории через схему «контейнер → публикация». Лимит — 100 публикаций через API за скользящие 24 часа.

02

Модерация комментариев

Чтение, ответы, скрытие, удаление комментариев и отключение комментариев под постом. Private reply — одно личное сообщение автору комментария в течение 7 дней.

03

Сообщения Direct

Входящие приходят вебхуком, ответ отправляется в пределах 24-часового окна; диалоги и историю сообщений можно читать через API.

04

Статистика

Метрики аккаунта и публикаций. Часть метрик недоступна при числе подписчиков меньше 100; метрики аккаунта хранятся до 90 дней.

05

Упоминания

Поиск публикаций, где аккаунт отметили через @, и уведомления через вебхук mentions.

06

Хештеги и business discovery

Только Facebook Login. До 30 уникальных хештегов на аккаунт за скользящие 7 дней; нужна функция Instagram Public Content Access.

Разрешения Instagram API по функциям

Запрашивайте только нужное — каждое лишнее разрешение добавляет пункт в App Review.

Разрешения Instagram API по функциям — Таблица возможностей по платформам
ФункцияInstagram LoginFacebook Login
Профиль и медиаinstagram_business_basicinstagram_basic, pages_show_list
Публикацияinstagram_business_basic, instagram_business_content_publishinstagram_basic, instagram_content_publish, pages_read_engagement
Комментарии и private replyinstagram_business_basic, instagram_business_manage_commentsinstagram_basic, instagram_manage_comments, pages_read_engagement
Статистикаinstagram_business_basic, instagram_business_manage_insightsinstagram_basic, instagram_manage_insights, pages_read_engagement
Сообщенияinstagram_business_basic, instagram_business_manage_messagesinstagram_basic, instagram_manage_messages, pages_manage_metadata
Поиск по хештегамНедоступенinstagram_basic + Instagram Public Content Access

Если в Facebook Login роль человека на странице выдана через Business Manager, Meta дополнительно указывает ads_management и ads_read для публикации, комментариев и статистики.

Standard Access, Advanced Access и App Review

Любое приложение типа Business стартует со Standard Access ко всем своим разрешениям. Этого хватает для разработки и для приложений, которые работают только с вашими собственными или управляемыми аккаунтами, — пользователи должны иметь роль в приложении.

Advanced Access нужен, как только приложение обслуживает чужие профессиональные аккаунты, то есть для любого SaaS-продукта. Он выдаётся по каждому разрешению через App Review, а проверка компании (Business Verification) обязательна.

Функции (features) проверяются так же. Human Agent (ответ человеком в Direct до 7 дней) и Instagram Public Content Access (поиск по хештегам) — это функции, а не разрешения, и обе требуют одобрения.

Две практические ловушки: чтобы получать вебхуки, приложение должно быть в режиме Live, а вебхуки comments и live_comments приходят только при Advanced Access.

Лимиты Instagram API: сводная таблица

В Instagram действует несколько независимых лимитов — упёршись в один, вы не блокируете остальные.

Лимиты Instagram API: сводная таблица — Таблица возможностей по платформам
ЛимитЗначениеГде применяется
Business Use Case (BUC)4800 × impressions за 24 часаБольшинство эндпоинтов Instagram Platform, на аккаунт
Platform Rate LimitingОтдельная формулаПоиск по хештегам и business discovery
Публикация100 постов через API за скользящие 24 часаНа аккаунт; карусель считается одним постом
Медиаконтейнеры400 за скользящие 24 часаНа аккаунт
Поиск по хештегам30 уникальных хештегов за скользящие 7 днейНа аккаунт
Conversations API2 вызова в секундуНа аккаунт
Send APIТекст, ссылки, реакции, стикеры — 100 в секунду; аудио и видео — 10 в секундуНа аккаунт
Private repliesПосты и Reels — 750 в час; Live — 100 в секундуНа аккаунт
Примечания и ограничения

Impressions — сколько раз контент аккаунта появлялся на чьём-либо экране за последние 24 часа. Расход BUC возвращается в заголовке X-Business-Use-Case-Usage; при превышении BUC-лимита Instagram отдаёт код ошибки 80002.

Как подключить Instagram API: пошагово

  1. Профессиональный аккаунт

    Переключите аккаунт в настройках Instagram на тип «Бизнес» или «Автор». Для Facebook Login дополнительно привяжите его к странице Facebook.

  2. Приложение Meta

    Создайте на developers.facebook.com приложение типа Business и добавьте продукт Instagram. Для Instagram Login выберите раздел «API setup with Instagram business login».

  3. Redirect URI и разрешения

    Зарегистрируйте redirect URI и запрашивайте только нужные разрешения. redirect_uri в ссылке входа и при обмене кода должен совпадать символ в символ.

  4. Получение токена

    Обменяйте код на токен на сервере. Для быстрых тестов в настройках Instagram Login App Dashboard умеет сгенерировать 60-дневный токен для аккаунтов, добавленных в приложение.

  5. Первый запрос

    Instagram Login: GET graph.instagram.com/me?fields=user_id,username. Facebook Login: GET /me/accounts, затем GET /{page-id}?fields=instagram_business_account.

  6. Перед запуском

    Подпишитесь на вебхуки, переведите приложение в Live и пройдите App Review и Business Verification для работы с чужими аккаунтами.

Как два варианта выглядят в Socialift SDK

В Python SDK Socialift оба варианта работают через один клиент Instagram — отличаются только конструктор и токен.

instagram_setups.py
import asyncio, os
from socialift import Facebook, Instagram

async def main():
    # 1) Instagram Login: без страницы, graph.instagram.com, Instagram User token
    async with Instagram.from_env() as ig:
        me = await ig.profile(os.environ["IG_USER_TOKEN"])
        print(me.username, me.followers_count)

    # 2) Facebook Login: токен страницы + ID аккаунта Instagram со страницы
    async with Facebook.from_env() as fb, Instagram.via_facebook(
        app_secret=os.environ["FACEBOOK_APP_SECRET"]
    ) as ig_fb:
        for page in await fb.pages(os.environ["FB_USER_TOKEN"]):
            if page.instagram_id:
                posts = await ig_fb.media(page.access_token, ig_user_id=page.instagram_id, limit=5)
                print(page.instagram_username, len(posts))

asyncio.run(main())

Instagram.from_env() читает INSTAGRAM_APP_ID и INSTAGRAM_APP_SECRET, работает с graph.instagram.com и ждёт Instagram User token.

Instagram.via_facebook(app_secret=...) работает с graph.facebook.com и ждёт токен страницы. Здесь ig_user_id обязателен: на graph.facebook.com me означает страницу, а не аккаунт Instagram.

SDK добавляет appsecret_proof к каждому запросу, выбрасывает RateLimitError (с retry_after) на кодах Meta 4, 17, 32, 613 и ничего не хранит — токены живут в вашей базе. Проверить методы на реальном аккаунте можно в Playground личного кабинета.

← Назад в блог

Частые вопросы

Работает ли Instagram API с личным аккаунтом?

Нет. Оба варианта Instagram API работают только с профессиональными аккаунтами («Бизнес» или «Автор»). Тип аккаунта меняется в настройках приложения Instagram; для Facebook Login аккаунт также нужно привязать к странице Facebook.

Instagram Basic Display API ещё работает?

Нет. Meta признала его устаревшим 4 декабря 2024 года, и сейчас любой запрос возвращает ошибку. Для профессиональных аккаунтов используйте Instagram API with Instagram Login, для встраивания публичных постов — oEmbed.

Нужна ли страница Facebook для Instagram API?

Для варианта с Instagram Login, появившегося в июле 2024 года, — нет. Страница нужна только для Facebook Login; поиск по хештегам, business discovery, отметки товаров и partnership ads тоже доступны только там.

Обязателен ли App Review для Instagram API?

Только для Advanced Access — когда приложение обслуживает аккаунты, которыми вы не владеете. App Review проходит по каждому разрешению или функции и требует проверки компании. Тесты на своих аккаунтах работают на Standard Access.

Какие лимиты у Instagram API?

Большинство эндпоинтов подчиняются лимиту Business Use Case: 4800 × impressions аккаунта за 24 часа. Сверху действуют лимиты функций: 100 публикаций через API в сутки и 30 уникальных хештегов за 7 дней. Для сообщений — посекундные лимиты.

Источники

  1. Meta: Overview of the Instagram API
  2. Meta: Instagram API with Instagram Login
  3. Meta: Instagram API with Facebook Login
  4. Meta: Instagram Platform changelog
  5. Meta: Access levels
  6. Meta: Graph API rate limiting

Связанные страницы