media_urlmedia_url field on the IG Media endpoint is now omitted from responses in either of these cases:GET /<IG_USER_ID>/media or GET /<IG_MEDIA_ID> is not affected by this condition.id, permalink, caption, and timestamp, are returned as normal. Image media and carousel containers are not affected, though a carousel’s video children can be. Requests still return a 200 response. Treat media_url as an optional field in your app and fall back to permalink or thumbnail_url when it is absent.graph.facebook.com and graph.instagram.com.GET /<IG_USER_ID>?fields=business_discovery{media}GET /<IG_USER_ID>/tagsGET /<IG_USER_ID>/mentioned_mediaGET /<IG_USER_ID>/mentioned_commentGET /<IG_HASHTAG_ID>/top_mediaGET /<IG_HASHTAG_ID>/recent_mediaGET /<IG_USER_ID>/collaborative_mediaGET /<IG_MEDIA_ID>GET /<IG_MEDIA_ID>/childrenGET /<IG_USER_ID>/mediaGET /<IG_USER_ID>/storiesGET /<IG_USER_ID>/live_mediaGET /<IG_USER_ID>/collaboration_invitesGET /<IG_MEDIA_ID>/children is subject to the copyright check alone, but children returned by business_discovery{media{children}} are also subject to the download setting.is_ai_generated parameter to true when creating a media container to apply the AI info label. For carousels, set is_ai_generated on the carousel container only. Available in both Instagram API with Facebook Login and Instagram API with Instagram Login. is_ai_generated field is also now available on the IG Media endpoint.POST /{ig_user_id}/media with the is_ai_generated parameterGET /{ig_media_id}?fields=is_ai_generatedlink_clicks metric on the IG Media Insights endpoint for Story media, returning the number of taps on links in your story (such as link stickers). Only available in Instagram API with Facebook Login.GET /{ig_media_id}/insights?metric=link_clicksGET /ig_audio?audio_type={music\|original_sound} — Search or retrieve trending audioGET /{ig_audio_id} — Get metadata for a specific audio assetGET /ig_audio?product=ADS&purpose=AUDIO_COPYRIGHT_REPLACEMENT&audio_replacement_mode={auto\|search\|default}&ig_media_id={ig_media_id} — Discover replacement audio for Reels adsmedia_audio_type — The type of audio used in the media: MUSIC (licensed music from Meta’s catalog) or ORIGINAL_SOUND (original audio). Returned for video media such as Reels.GET /{ig_media_id}?fields=media_audio_typereposts_count — Number of times the media has been reposted by other userssaved_count — Number of times the media has been savedshares_count — Number of times the media has been sharedGET /{ig_media_id}?fields=reposts_count,saved_count,shares_counttotal_like_count / total_likes — Aggregated likes across Instagram, Facebook, and promoted mediatotal_comments_count / total_comments — Aggregated comments across all surfacestotal_views_count / total_views — Aggregated views across all surfaces (video media only)GET /{ig_media_id}?fields=total_like_count,total_comments_count,total_views_countGET /{ig_media_id}/insights?metric=total_likes,total_comments,total_viewsfacebook_views expansion: The facebook_views metric now supports Feed post, Reels, and Story media types, and coverage has expanded to include both crossposted plays and cross-app recommended plays.view_count: The view_count field now returns combined Instagram and Facebook views for crossposted video content when looking up another user’s public media via the Business Discovery API.GET /{ig_media_id}/insights?metric=facebook_viewsGET /{ig_user_id}?fields=business_discovery.username({username}).media{view_count}GET /<IG_USER_ID>/collaborative_media — Fetch all collaborative media for the app userGET /<IG_USER_ID>?fields=collaborative_media_search.media_id(<IG_MEDIA_ID>) — Search for a specific collaborative mediabranded_content_sponsor_ids — Tag up to 2 brand partners by their Instagram user IDis_paid_partnership — Enable the “Paid partnership” label with or without naming specific brandsPOST /<IG_USER_ID>/media with branded_content_sponsor_ids and is_paid_partnership parametersPOST /<IG_USER_ID>/likes with media_id={media_id} or comment_id={comment_id} — Like a Feed post, Reel, comment, or replyDELETE /<IG_USER_ID>/likes with media_id={media_id} or comment_id={comment_id} — Unlike a Feed post, Reel, comment, or replyinstagram_manage_engagement permission is required. Stories and content from private accounts are not supported.profile_picture_url field is available when querying creator profiles./{business-account-id}/branded_content_ad_permissions endpoint now supports filtering by creator_username, allowing you to search and retrieve ad permissions for a specific creator. See Account-Level Permissioning for more information.enable_fb_login parameter in Instagram OAuth authorization requests. This allows developers to control whether the Facebook Login option is shown on the Instagram login page prior to authorization. The default value is true. See Business Login for Instagram for more information.link_sticker_url field has been added to the reply_to.story object in webhook payloads.media_id of the tagged IG MediaGET /<IG_USER_ID>/collaboration_invitesPOST /<IG_USER_ID>/collaboration_invitesinstagram_basic permission is required to access these endpoints.reels_skip_raterepostsrepostscrossposted_viewsfacebook_viewscrossposted_views returns the total number of views for reels that are crossposted to Facebook across both platforms. facebook_views returns the total number of views specifically from Facebook.view_count will continue to reflect only Instagram views and will not include aggregated crossposted views.trial_params is optional and part of the create media endpoint. Users will be able to specify a Trial Reel configuration to create and publish Trial Reels directly from the Instagram API.DELETE /{ig_media_id}instagram_manage_contents.2534068 to indicate that the feature is not yet available for that account.message_edit webhook subscription supporting both use cases of both Business Login for Instagram and Facebook Login for Business. Sample message_edit webhook can be found hereview_count field on the IG Media endpoint. This field is only available using the Business Discovery API for Instagram Reels.force_reauth parameter for Business Login for Instagram. When included in the login flow, this parameter fixes the broken login experience by forcing the app user to reauthenticate even if the user is already logged into Instagram.force_reauth parameter to your app’s Business Login for Instagram flow, especially if your app users log in on mobile devices.enable_fb_loginforce_authenticationauthor_name, author_url, thumbnail_url, thumbnail_width, and thumbnail_height fields will be removed from the Facebook post, Facebook video, and Instagram post oEmbed response. The Facebook page post oEmbed endpoint will be deprecated. These changes will apply across all API versions on November 3, 2025.alt_text field for image posts on the /{ig-user-id}/media endpoint. Reels and stories are not supported.viewsclips_replays_count on media insightsig_reels_aggregated_all_plays_count on media insightsimpressions on media and user insightsplays on media insightsGET /{instagram-user-id}GET /{instagram-user-id}/agenciesGET /{instagram-user-id}/upcoming-eventsGET /{instagram-user-id}/authorized-adaccountsPOST /{instagram-user-id}/upcoming-eventsPOST /{instagram-user-id}/authorized-adaccountsGET /{instagram-media-id}GET /{instagram-media-id}/commentsGET /{instagram-carousel-id}GET /{instagram-carousel-id}/commentsGET /{instagram-comment-id}GET /{instagram-comment-id}/repliesPOST /{instagram-media-id}/commentsPOST /{instagram-carousel-id}/commentsPOST /{instagram-comment-id}/repliesPOST /{instagram-comment-id}DELETE /{instagram-comment-id}GET /{page-id}/instagram-accountsGET /{page-id}/page-backed-instagram-accountsGET /{business-id}/owned-instagram-accountsGET /{business-id}/instagram-accountsGET /{business-asset-group-id}/contained-instagram-accountsGET /{fb-business-user-id}/assigned-instagram-accountsGET /{fb-user-id}/assigned-instagram-accountsGET /{fb-system-user-id}/assigned-instagram-accountsGET /{ad account id}/instagram-accountsGET /{ad account id}/connected-instagram-accounts-with-iabpPOST /{page-id}/page-backed-instagram-accountsDELETE /{business-id}/instagram-accountsvideo_views will no longer be supported.GET /{ig-media-id}/insightsvideo_viewsemail_contacts, get_direction_clicks, profile_views, text_message_clicks, website_clicks, and phone_call_clicks time series metrics will no longer be supported.GET /{ig-user-id}/insightsemail_contactsget_direction_clicksprofile_viewstext_message_clickswebsite_clicksphone_call_clicksscope valuesscope values and permission names, we are introducing new scope values for the Instagram API with Instagram login. The new scope values are:instagram_business_basicinstagram_business_content_publishinstagram_business_manage_commentsinstagram_business_manage_messagesbusiness_basic, business_content_publish, business_manage_comments and business_manage_messages values, respectively.scope values will be deprecated on January 27, 2025. It is essential to update your code before this date to avoid any disruption in your app’s functionality. Failure to do so will result in your app being unable to call the Instagram endpoints.graph.instagram.cominstagram_business_basicinstagram_business_content_publishinstagram_business_manage_commentsinstagram_business_manage_messagesad_id and ad_title, the original_media_id will be returned in the media object of the comments field’s value object when a person comments on a boosted Instagram post or Instagram ads post. For more information, refer to Set Up Webhooks for Instagram.last_14_days, last_30_days, last_90_days and prev_month timeframes will no longer be supported for the reached_audience_demographics and engaged_audience_demographics metrics.GET /{ig-user-id}/insightsengaged_audience_demographicsreached_audience_demographicsGET /{ig-user-id}/insightsAUDIENCE_GENDER_AGEAUDIENCE_LOCALEAUDIENCE_COUNTRYAUDIENCE_CITYGET /{ig-media-id}/insightsCAROUSEL_ALBUM_IMPRESSIONSCAROUSEL_ALBUM_REACHCAROUSEL_ALBUM_ENGAGEMENTCAROUSEL_ALBUM_SAVEDCAROUSEL_ALBUM_VIDEO_VIEWSTAPS_FORWARDTAPS_BACKEXITSENGAGEMENTtotal_interactions, which is listed as an alternative for some of the deprecated metrics, is currently only available using version 18.0 and does not work with older versions. When querying older versions before Dec 11, 2023, please use the engagement metric.total_interactions, which is listed as an alternative for some of the deprecated metrics, is currently only available using version 18.0 and does not work with older versions. When querying older versions before Dec 11, 2023, please use the engagement metric.ad_id and ad_title will be returned in the media object of the comments field’s value object when a person comments on a boosted Instagram post or Instagram ads post.media_type parameter to REELS when creating a single media post container. Refer to the POST /ig-user/media endpoint reference to learn which parameters can be used with reels as well as requirements for reels videos.VIDEO value for media_type will no longer be supported. Use the REELS media type to publish a video to your feed.media field on an IG Comment now returns and object containing both the ID (id) and published location (media_product_type) of the media upon which the comment was madelive_comments Instagram Webhooks field can send notifications containing live comments made on your app users’ live videos as they are being broadcastfrom — returns an object containing the IGSID (id) and username (username) of the comment creator.parent_id — returns the ID of the parent IG Comment if this comment was created on another IG Comment (i.e. a reply to another comment).comments Instagram webhooks field now includes the following properties in the value field object:from.id — IGSID of the Instagram user who created the comment.from.username — Username of the Instagram user who created the commentmedia.id — ID of the IG Media upon which the comment was made.media.media_product_type — Surface (published location) of the IG Media upon which the comment was made.parent_id — ID of parent IG Comment if this comment was created on another IG Comment (i.e. a reply to another comment).media_product_type field will return FEED instead of IGTVvideo_title field will not be returnedcomments and mentions fields are now supportedvideo_title field will no longer be supported and the API will throw an error if the field is requested.like_count field will be omitted from API responses if the media owner has hidden like counts on it. Directly querying the IG Media (which can only be done by the IG Media owner) will return the actual like count, however, even if like counts have been hidden.since and until parameters to the GET /{ig-user-id}/media endpoint to support time-based pagination.0 if the app user does not own the media and the media owner has hidden like counts on it. Directly querying the IG Media, which can only be done by the IG Media owner, will return the actual like count, even if the owner has hidden like counts on the media.online_followers metric on IG Users.replies metric calculations:replies metric will now return a value of 0.replies metric will return the number of replies, but replies made by users in Japan will not be included in the calculation.status field on an IG Container now returns an error subcode if the container’s error_code field value is ERROR.video_views metric now supports albums and will return the sum of video_views on all videos in the album instead of 0.media_product_type and video_title fields have been added to the IG Media node. IGTV media must have been shared to Instagram at the time of publish (Post a Preview or Share Preview to Feed enabled) in order to be accessible via the API.replies metric will now return a value of 0.replies metric will return the number of replies, but replies made my users in the EEA will not be included in its calculation.follower_count values now align more closely with their corresponding values displayed in the Instagram app. In addition, follower_count now returns a maximum of 30 days of data instead of 2 years. This change applies to v9.0+ and will apply to all versions May 9, 2021.timestamp field on IG Media returned by GET /{ig-hashtag-id}/top_media and GET /{ig-hashtag-id}/recent_media Hashtag Search queries. For example: GET /{ig-hashtag-id}/top_media?fields=timestamp.story_insights field now requires the instagram_manage_insights permission instead of instagram_manage_comments.#spooky!/{ig-media-id}/comments edge — GET requests made using API version 3.1 or older will have results returned in chronological order. Requests made using version 3.2+ will have results returned in reverse chronological order./{ig-media-id} node — You can now use field expansion to get the permalink field on media objects./{ig-comment-id} node:
username field.GET requests, the user field will not be included in responses unless the User making the request owns the Comment; instead, we will return username for all commenters. This also applies to queries on Comments made through other APIs, such as the Mentions API./{ig-media-id} node:
username field.GET requests, the owner field will not be included in responses unless the User making the request owns the media object; instead, we will return username for all commenters. This also applies to queries on media objects made through other APIs, such as the Mentions API.impressionsreachtimestamp field on the /{ig-media-id} node is now a public field and can be returned via field expansion./{ig-user-id}, /{ig-comment-id}, and /{ig-media-id} nodes will now return all public fields when accessed through an edge via field expansion. Refer to each node’s reference document to see which fields are public./{ig-user-id}/media edge. #crazywildebeest FTW!