# Instagram setup for PopMCP

You end up pasting the Instagram app ID and Instagram app secret from the Business login settings panel, not the Meta App ID shown in App settings.

- Auth: OAuth authorization
- Setup time: 15 min (plus App Review if non-admins will connect)
- API base URL: https://graph.instagram.com
- Credentials screen: https://developers.facebook.com/apps
- Provider docs: https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login

## Approval required before this works

Meta must grant Advanced Access to the Instagram permissions through App Review, and the owning business must pass Meta Business Verification, before the app can serve any Instagram professional account you do not own.

- Typical wait: 2-4 weeks typical end to end; individual review rounds are often a few business days but rejections restart the clock and business verification can add over a week
- Cost: Free (Meta charges nothing for App Review or Business Verification, though verification may require official company documents)
- Blocked until approved: Until Advanced Access is granted, the app only works for Instagram accounts that hold a role on the app itself. Real customers cannot connect their own accounts - OAuth for outside users fails or returns empty data, so no third-party media reading, publishing, comment moderation, insights, or messaging works in production.
- Works meanwhile: Standard Access works immediately: create the app in the Meta App Dashboard, add your own Instagram professional account as an Instagram Tester, and build and test the entire OAuth flow, publishing, comments, insights and messaging against accounts you own or manage. That working demo is exactly what the review submission requires.

## Before you begin

- An Instagram professional account (Business or Creator), because personal accounts cannot be connected
- A Facebook account registered as a developer at developers.facebook.com
- A public Privacy Policy URL, a deauthorize callback URL and a data deletion request URL
- App Review approval for instagram_business_content_publish, manage_comments, manage_messages and manage_insights before anyone outside your app roles can connect

## Get your credentials

### 1. Create a Meta app with the Instagram use case

At My Apps click Create app, name the app and click Next. Select the Manage messaging and content on Instagram use case and finish the wizard.

Screen: https://developers.facebook.com/apps/create/

### 2. Open API setup with Instagram business login

Click Instagram in the left nav and open the API setup with Instagram business login tab. Scroll to 3. Set up Instagram business login and click Business login settings.

Screen: https://developers.facebook.com/apps

### 3. Add PopMCP's redirect URI

In Business login settings paste PopMCP's callback URL into OAuth redirect URIs. Fill in Deauthorize callback URL and Data deletion request URL, then click Save.

Screen: https://developers.facebook.com/apps

### 4. Copy the Instagram app ID and secret into PopMCP

Back on API setup with Instagram business login, copy the Instagram app ID and click Show to reveal the Instagram app secret. Paste both into PopMCP.

Screen: https://developers.facebook.com/apps

### 5. Request permissions and submit for App Review

Open App review and then Permissions and features, and request `instagram_business_basic`, `instagram_business_content_publish`, `instagram_business_manage_comments`, `instagram_business_manage_messages` and `instagram_business_manage_insights`. Complete Verification and Data handling questions, then submit.

Screen: https://developers.facebook.com/apps

## Fields PopMCP asks for

- Instagram App ID (clientId) [required]: From the Meta App Dashboard: your app → Instagram → "API setup with Instagram business login" → "Set up Instagram business login" → Business login settings. This is the INSTAGRAM App ID, which is different from the Meta App ID at the top of the dashboard.
- Instagram App secret (clientSecret) [required]: The Instagram app secret from the same Business login settings panel. Stored encrypted; used server-side only and never shown again.

## Callback URL to register

https://app.popmcp.com/api/providers/instagram/callback

## Scopes requested

- instagram_business_basic
- instagram_business_content_publish
- instagram_business_manage_comments
- instagram_business_manage_messages
- instagram_business_manage_insights

## Verify

Saving the credentials opens the Instagram authorization screen. Once you approve, the connector shows your @handle and account type, and the publishing and insights tools appear.

## Troubleshooting

### "Invalid platform app" or the token exchange returns a client_id mismatch

Cause: The Meta App ID was pasted instead of the Instagram app ID.

Fix: Re-copy the value from Instagram, API setup with Instagram business login, Set up Instagram business login. It is a different number from the one in App settings, Basic.

### "Redirect URI is not supported"

Cause: The callback URL is missing from OAuth redirect URIs or differs by a trailing slash.

Fix: Paste PopMCP's callback URL into Business login settings exactly as shown and save.

### OAuth succeeds but publishing returns a permission error

Cause: instagram_business_content_publish has not passed App Review and the connecting account is not in App roles.

Fix: Submit the scope for App Review, or add the Instagram account under App roles while testing.

### "The account is not a professional account"

Cause: The Instagram account is still a personal account.

Fix: In the Instagram mobile app switch to a Business or Creator account, then reconnect.

---

Source: https://www.docs.popmcp.com/docs/integrations/instagram/