News for Developers

Back to News
Manage Instagram Accounts for Ads

Less than 3 months ago, we publicly launched self service ads on Instagram and have seen great success since then.

To create ads on Instagram, or on both Facebook and Instagram, you need to have an Instagram account ID, which would be set as instagram_actor_id in your ad creative. There are now three ways to get it:

  1. If the advertiser has an Instagram account and Business Manager setup, they can claim the Instagram account to the business, and assign agency businesses or ad accounts to it.
  2. If the advertiser has an Instagram account but does not want to set up Business Manager, they can connect the Instagram account to a Facebook Page, then call an API to get the Instagram account ID. If set up this way, ads can only be run with ad accounts owned by users on the Page, instead of the business.
  3. If the advertiser does not have an Instagram account and does not want to create one, they can call an API to create a Page Backed Instagram Account for a Facebook Page of theirs. That Instagram account gets the name and profile picture from the Page, and can be used to run ads. However it cannot perform any organic activities, such creating non-ad posts, commenting, or liking. Ads from this account will show a non-clickable profile name in black, instead of the regular blue clickable profile name.

We recommend the first solution, to leverage Business Manager to manage your Instagram accounts, while the other two choices may be useful for certain customers.

All those approaches are explained in detail in our Instagram Account Setup doc. Here are a few sample API calls:

Manage Instagram Accounts with Business Manager

To claim an Instagram account to a Business Manager: use Business Manager interface.

To get the Instagram account IDs owned by a business:

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

To add an agency business to an Instagram account:

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

To assign an ad account to an Instagram account:

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"

Manage Instagram Account with Page

To connect an Instagram account to a Page: use Page interface.

To get the Instagram account ID connected to a Page:

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

Page Backed Instagram Account

To get the PBIA of a Page:

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

To create the PBIA of a Page:

curl \
-F "access_token=<ACCESS_TOKEN>"\
"https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/page_backed_instagram_accounts"