Запрос к конечной точке oEmbed для Instagram позволяет получить HTML-код для вставки и базовые метаданные публикации Instagram для ее отображения на другом сайте или в приложении. Поддерживаются фото- и видеопубликации, видео Reels и публикации в Ленте.
Чтобы узнать, как получить код для вставки из общедоступной публикации или профиля в Instagram, посетите Справочный центр Instagram.
On April 8, 2025, we introduced a new oEmbed feature, Meta oEmbed Read to replace the existing oEmbed Read feature. The current oEmbed Read feature will be deprecated on October 1, 2025.
The following fields are no longer returned and will be fully deprecated on October 1, 2025:
author_name
author_url
thumbnail_height
thumbnail_url
thumbnail_width
Read the oEmbed Updates blog post from Meta to learn more.
Это руководство предназначено для зарегистрированных разработчиков Meta , у которых есть приложение Meta
.
Вам понадобится:
для функции oEmbed Read Meta — требуется
Проверка приложения MetaДоступ ко всем конечным точкам осуществляется через хост graph.facebook.com
.
Ограничения числа обращений зависят от типа маркера доступа, который приложение указывает в каждом запросе.
Приложения, использующие маркер доступа приложения, могут выполнять до 5 миллионов запросов каждые 24 часа.
Ограничения числа обращений для маркера доступа клиента значительно ниже ограничений для маркера доступа приложения. Указать точное ограничение невозможно, так как оно изменяется в зависимости от активности приложения. В большинстве случаев ваше приложение не достигнет ограничения, если оно не ведет себя как бот (в частности, не отправляет тысячи запросов в одном пакете или тысячи запросов на каждый агент либо каждого пользователя).
HTML-код для вставки можно получить программным путем или в приложении Instagram .
Чтобы получить HTML-код для вставки публикации Instagram программным путем, отправьте такой запрос:
GET /instagram_oembed?url=<URL_OF_THE_POST>&access_token=<ACCESS_TOKEN>
Вместо <URL_OF_THE_POST>
подставьте URL публикации Instagram, которую нужно запросить, а вместо <ACCESS_TOKEN>
— маркер доступа своего приложения или клиента (или передайте его нам в HTTP-заголовке Authorization
).
Authorization: Bearer <ACCESS_TOKEN>
Если вы используете маркер доступа клиента, не забудьте добавить к нему ID приложения Meta, отделив вертикальной чертой, иначе запрос завершится ошибкой.
В случае успеха API вернет объект JSON, содержащий HTML-код публикации для вставки, а также дополнительные данные. HTML-код для вставки содержится в свойстве html
.
Список параметров, которые можно добавлять в строку запроса, см. в справке по конечной точке oEmbed для Instagram
. Можно также добавить параметр
fields
, чтобы указать, какие поля вы хотите получить в ответе. Если его не задать, будут возвращены все поля по умолчанию.
curl -X GET \
"https://graph.facebook.com/v23.0
/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ..."
curl -i -X GET \
--header "Authorization: Bearer 96481..." \
"https://graph.facebook.com/v23.0
/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN"
Некоторые значения усечены (...
) для удобства чтения.
{ "version": "1.0", "author_name": "diegoquinteiro", "provider_name": "Instagram", "provider_url": "https://www.instagram.com/", "type": "rich", "width": 658, "html": "<blockquote class=\"instagram-media\" data-instgrm-ca...", "thumbnail_width": 640, "thumbnail_height": 640 }
Параметр строки запроса url
принимает URL в следующих форматах:
https://www.instagram.com/p/{media-shortcode}/
https://www.instagram.com/tv/{media-shortcode}/
https://www.instagram.com/{username}/guide/{slug}/{guide_id}
HTML-код для вставки содержит ссылку на библиотеку JavaScript embed.js для Instagram. При загрузке библиотека проверяет страницу на предмет HTML-кода публикации и генерирует полностью отображаемую публикацию. Чтобы загрузить библиотеку отдельно, добавьте в запрос параметр omitscript=true
. Чтобы инициализировать HTML-код для вставки вручную, вызовите функцию instgrm.Embeds.process()
после загрузки библиотеки.
Встраиваемая публикация адаптируется под размер ее контейнера. Это означает, что высота публикации изменяется в зависимости от ширины контейнера и длины подписи. Чтобы указать максимальную ширину, добавьте в запрос параметр maxwidth
.
Рекомендуем по возможности представлять HTML-код для вставки публикации целиком. Если это не удается сделать, можно получить URL изображения миниатюры публикации и отображать ее. В этом случае необходимо указать информацию об авторских правах: имя автора, ссылку на исходную публикацию и на Instagram.
Чтобы получить URL миниатюры и информацию об авторских правах, отправьте такой запрос:
GET /instagram_oembed ?url=<URL_OF_THE_POST> &maxwidth=<MAX_WIDTH> &fields=thumbnail_url,author_name,provider_name,provider_url &access_token=<ACCESS_TOKEN>
Вместо <URL_OF_THE_POST>
подставьте URL публикации Instagram, которую нужно запросить, вместо <MAX_WIDTH>
— максимальный размер миниатюры для отображения, а вместо <ACCESS_TOKEN>
— маркер доступа своего приложения или клиента.
curl -i -X GET \
"https://graph.facebook.com/v23.0
/instagram_oembed?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FfA9uwTtkSN&maxwidth=320&fields=thumbnail_url%2Cauthor_name%2Cprovider_name%2Cprovider_url&access_token=96481..."
Некоторые значения усечены (...
) для удобства чтения.
{ "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.288...", "author_name": "diegoquinteiro", "provider_name": "Instagram", "provider_url": "https://www.instagram.com/" }
При отправке приложения на проверку в поле формы Расскажите, почему вы запрашиваете функцию oEmbed Read > Предоставьте URL, по которому мы можем протестировать oEmbed Read используйте конечную точку Instagram oEmbed, чтобы получить HTML-код для вставки для какой-либо публичной публикации на нашей официальной Странице Facebook или на Странице Instagram. Затем добавьте возвращенный HTML-код для вставки туда, где будет отображаться контент oEmbed, и укажите URL этой страницы в поле формы.
Получив одобрение на использование функции oEmbed Read, вы сможете вставлять собственные страницы, публикации и видео с помощью соответствующих URL.