Instagram Accounts With Business Manager

Before you start running ads on Instagram, you need an Instagram account ID. There are three methods to set this up, but we recommend that you use the Business Manager process described in this guide.

Using Business Manager, you can run ads and maintain your presence on Instagram with organic content. Once you login to Instagram, you can add non-advertising posts, reply to comments as that Instagram profile, and so on.

If you own the Instagram account, claim it as an asset in Business Manager. If the Instagram account is owned by someone else, the owner should claim it to their own business first, then assign your business as an agency.

Claim Accounts

To claim an Instagram account for a business, you need the username and password of the account. In Business Manager, claim the Instagram account:

Assign Agency

If an advertiser owns an Instagram account and a third party wants to run ads on its behalf, assign it as an agency. From the Business Manager, click on Assign Agency and enter the agency's business ID.

Assign Ad Accounts

Once you have access to an Instagram Account in Business Manager, you can assign one or more ad accounts to it. From the Business Manager, click Add Ad Accounts and select which ad accounts you want to associate:

You can also do this API by sending a POST request with business and account_id. You must be at least an ADMIN of the business.

curl \
-F "access_token=<ACCESS_TOKEN>"\
-F "business=<BUSINESS_ID>"\
-F "account_id=<AD_ACCOUNT_ID>"\
"https://graph.facebook.com/<API_VERSION>/<INSTAGRAM_ACCOUNT_ID>/authorized_adaccounts"

The ad account needs to:

  • Be owned by this business, or
  • Be accessible by this business while being owned by the business that owns the Instagram account.

For example, if your business gets access to an ad account and an Instagram account from a client, you can assign them together within your business. But you cannot assign an ad account belonging to one client's business to an Instagram account belonging to another business, even if your business have admin access to both of them.

To disconnect an ad account from an Instagram account, send a DELETE request. You need the same permissions as above:

curl -X DELETE -G \
-d "access_token=<ACCESS_TOKEN>"\
-d "business=<BUSINESS_ID>"\
-F "account_id=<AD_ACCOUNT_ID>"\
"https://graph.facebook.com/<API_VERSION>/<INSTAGRAM_ACCOUNT_ID>/authorized_adaccounts"

You can see which ad accounts for a given business are associated with an Instagram account. You must provide the business parameter and must be at least an EMPLOYEE of this business. We only return ad accounts of the given business and those accounts associated with the given Instagram account. If this Instagram account is associated with ad accounts of other businesses, you won't get them in the response. You can send a GET request:

curl -G \
-d "access_token=<ACCESS_TOKEN>"\
-d "business=<BUSINESS_ID>"\
"https://graph.facebook.com/<API_VERSION>/<INSTAGRAM_ACCOUNT_ID>/authorized_adaccounts"

After assigning an ad account, all users of the business who can run ads for that account can run ads on the associated Instagram account.

Get Associated Accounts

To check all the Instagram accounts that are owned by a business or that can be accessed by a business, make a GET request:

curl -G \
-d "access_token=<ACCESS_TOKEN>"\
-d "fields=username,profile_pic" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/instagram_accounts"

The access token is associated with an app. In order to call this API, you need:

  • STANDARD access level for the app, or
  • The business you are querying for should own that app

To check all the Instagram accounts associated with an ad account, make a GET call to:

curl -G \
-d "access_token=<ACCESS_TOKEN>"\
-d "fields=username,profile_pic" \
"https://graph.facebook.com/<API_VERSION>/act_<ADACCOUNT_ID>/instagram_accounts"

The response of the two previous API calls contains an array of Instagram accounts, each may contain the following fields:

Field Name Description

id

type: numeric string

The Instagram account id. Required for creating ads

username

type: string

The Instagram user name

profile_pic

type: string

A URL pointing to the profile picture of this Instagram account

For example:

{
  "data": [
    {
      "username": "jaspersmarket",
      "profile_pic": "https://igcdn-photos-a-a.akamaihd.net/hphotos-ak-xaf1/t51.2885-19/11311930_826942667396992_856534255_a.jpg",
      "id": "1023317097692584"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MTM4OTY1MDkwNzkyMTE4NQ==",
      "after": "MTAyMzMxNzA5NzY5MjU4NA=="
    }
  }
}

You cannot grant permissions to someone directly from an Instagram account. Instead, you should grant someone permissions to the Page or business which is connected to the Instagram account. Anyone in your business who has permission to run ads using an ad account linked to an Instagram account, can also run ads for that Instagram account.

To create ad units, you can use the access token of a user or system user who can access the associated ad account.