Connect Instagram to publish posts, reels, stories and carousels, moderate and reply to comments, answer DMs and @mentions, and track account and per-post performance.
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.
App review before this connector 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.
Where to apply: Meta App Dashboard for the app: App Review > Permissions and Features, request Advanced Access per permission (instagram_business_basic, instagram_business_content_publish, instagram_business_manage_comments, instagram_business_manage_messages), and complete Business Verification under Business Settings > Security Centre in Meta Business Manager.
- The screencast is the usual rejection cause: it must show the full flow end to end - the OAuth consent screen, a real Instagram Business or Creator account (not a test user), and that permission's data actually rendering in your front end.
- The app must be switched to Live mode with a reachable privacy policy URL and a working data deletion callback before submission.
- Request each permission for exactly the use case you demonstrate; a vague or over-broad justification gets rejected.
- Business Verification is separate from App Review and needs matching legal business documents - start it early because it gates the whole submission.
- instagram_business_manage_messages is reviewed most strictly and is commonly rejected on the first attempt.
- Instagram Basic Display API is dead - build against Instagram API with Instagram Login or the Facebook Login variant, and note the latter also drags in Facebook Page permissions with their own review.
- Setup time
- 15 min (plus App Review if non-admins will connect)
- Auth
- OAuth authorization
- API base URL
- https://graph.instagram.com
- Rate limits
- Publishing is capped at 100 API-published posts per Instagram account within a 24-hour moving period, and a carousel counts as one post. Other calls follow Meta's business use case limit, which scales with the account's impressions over the last 24 hours.
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
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.
Add use cases
Your use case decides which products, permissions and settings are added to the app.
Instagram appears in the left nav once the wizard finishes.
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.
API setup with Instagram business login
Generate tokens, configure webhooks and set up business login for this app.
| Setup step | What it does | Status |
|---|---|---|
| 1. Generate access tokensTest token for a linked account | Manual testing | Optional |
| 2. Configure webhooksComments and messages callbacks | Real-time updates | Optional |
| 3. Set up Instagram business loginOAuth for other accounts | Required for PopMCP | Required |
PopMCP needs step 3 only. Steps 1 and 2 are for manual testing and webhooks.
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.
API setup with Instagram business login
Generate tokens, configure webhooks and set up business login for this app.
Meta matches the redirect URI exactly, including any trailing slash.
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.
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.
Connect in PopMCP
Open your workspace, choose Instagram in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| Instagram App IDtext | 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 secretsecret | The Instagram app secret from the same Business login settings panel. Stored encrypted; used server-side only and never shown again.Encrypted with AES-256-GCM on save and never shown again. |
https://app.popmcp.com/api/providers/instagram/callbackOnly needed if you connect with your own Meta app: add this exact URL under Instagram → API setup with Instagram business login → Business login settings → "OAuth redirect URIs". It must match character for character (watch for an added trailing slash) or Instagram rejects the authorization.
PopMCP verifies the credential against Instagram immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Permissions PopMCP requests
These are the scopes sent to Instagram at authorization time.
| Scope | Why PopMCP asks for it |
|---|---|
| instagram_business_basic | Baseline scope that reads the account profile and media. Required alongside every other Instagram scope. |
| instagram_business_content_publish | Required to publish feed posts, reels, stories and carousels. |
| instagram_business_manage_comments | Needed to read, reply to, hide and delete comments and @mentions. |
| instagram_business_manage_messages | Powers reading and answering Instagram DMs. |
| instagram_business_manage_insights | Backs the account and per-post performance tools. |
Verify it worked
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
Why: 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"
Why: 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
Why: 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"
Why: The Instagram account is still a personal account.
Fix: In the Instagram mobile app switch to a Business or Creator account, then reconnect.