Overview

The Instagram Graph API is built on the Facebook Graph API. It functions in the same way and supports the same features, with the key difference being authentication. If you are unfamiliar with the Graph API, please read our Graph API documentation before proceeding.

Base URL

All endpoints can be accessed via the graph.facebook.com host.

Authentication

All endpoint requests must include a Facebook User access token. However, unlike Facebook users, Instagram users cannot grant your app access tokens directly. Instead, they must connect their Instagram Professional account to a Facebook Page. Once connected, any Facebook User who is able to perform Tasks on behalf of that Page will be able to grant your app a User access token, which you can then include in API requests.

Use the Facebook Login product to request User access tokens from your app's users. Note that Page tokens are not supported.

Authorization

Endpoint authorization is handled through permissions. The API uses the following permissions and features:

Refer to the reference documentation to see which permissions each endpoint requires.

You can use the Facebook Login product to request permissions from your app's users. All of these permissions can be granted by app users while your app is in Development Mode. However, with the exception of pages_show_list, your app must be approved for these permissions through the App Review process before app users can grant them to your app while it is in Live Mode.

Instagram Professional Accounts

The API can only access data in Instagram Professional accounts that have been connected to a Facebook Page. You can direct potential app users to our Set Up a Professional Account on Instagram help article, which explains how to convert a Personal account to a Professional account. Both Business and Creator accounts are supported.

Pages

Instagram Professional accounts must be connected to a Facebook Page before their data can be accessed through the API. Once connected, any Facebook User who is able to perform Tasks on that Page can grant your app an access token, which can then be used in API requests.

Our Add a Facebook Page to your Instagram Business Account help article explains how to connect to a Facebook Page to an Instagram Professional account.

Tasks

Only Facebook Users who can perform Tasks on the Facebook Page connected to the Instagram Business or Creator Account can grant your app User access tokens and permissions to use the API. Note that the API does not support Business Manager System Users, or Users with Live Contributor defined roles.

Permissions can be granted by Facebook Users according to the tasks they are able to perform:

PermissionMANAGECREATE_CONTENTMODERATEADVERTISEANALYZE

instagram_basic

instagram_manage_comments

instagram_manage_insights

Refer to the reference documentation to see which permissions each endpoint requires.

Rate Limiting

All endpoints are subject to Instagram Business Use Case rate limiting except for Business Discovery and Hashtag Search endpoints, which are subject to Platform Rate limiting.

Webhooks

You can use Webhooks to have notifications sent to you whenever someone comments on your app users' media objects or when any of their stories expire. Refer to our Webhooks documentation to learn how to use Webhooks, then set up a webhook for the Instagram topic and subscribe to its comments and story_insights fields.

Limitations