Facebook Login for Business Setup (Required for Instagram API)
🎯 Key Discovery
The Instagram API with Facebook Login requires "Facebook Login for Business" product, NOT regular "Facebook Login"!
According to the official docs: Instagram API with Facebook Login - Get Started
✅ Correct Permissions
The documentation specifies these exact permissions:
instagram_basic✅pages_show_list✅
Our code is already using these correctly!
🔧 Setup Steps
Step 1: Add Facebook Login for Business Product
- Go to your Facebook App Dashboard
- Click Add Product (left sidebar)
- Find "Facebook Login for Business" (NOT regular "Facebook Login")
- Click Set Up
Important: This is different from regular "Facebook Login"!
Step 2: Configure OAuth Redirect URIs
- In Facebook Login for Business settings
- Add your redirect URI:
http://localhost:9000/app/settings/external-platforms/oauth-callback/facebook/callback - For production, also add:
https://yourdomain.com/app/settings/external-platforms/oauth-callback/facebook/callback
Step 3: Request Permissions
In Facebook Login for Business → Permissions:
- Add
instagram_basic - Add
pages_show_list - Optionally add
pages_manage_postsfor publishing
Step 4: Development Mode Setup
For testing in Development mode:
Option A: Add Test Users (Recommended)
- Go to Roles → Roles
- Click Add Testers
- Add the Facebook account that owns the Instagram Business account
- User must accept the invitation
Option B: Add Yourself as Admin
- Go to Roles → Roles
- Add yourself as Administrator
- Admins can use all permissions in Development mode
Step 5: Verify App Settings
Check these settings in your app:
App Dashboard → Settings → Basic:
- App ID:
YOUR_FACEBOOK_APP_ID✅ - App Secret:
YOUR_FACEBOOK_APP_SECRET✅ - App Mode: Development (for testing)
App Dashboard → Facebook Login for Business:
- Valid OAuth Redirect URIs: Your callback URL ✅
- Client OAuth Login: Yes
- Web OAuth Login: Yes
Step 6: Test Authentication
- Go to Settings → Social Platforms → FBINSTA
- Click "Access" → "Log in with FBINSTA"
- You should now see:
- "Allow access to your Facebook Pages" ✅
- "Allow access to your Instagram account" ✅
- Grant permissions
- Check server logs for Instagram accounts fetched
🔍 Differences: Facebook Login vs Facebook Login for Business
| Feature | Facebook Login | Facebook Login for Business |
|---|---|---|
| Purpose | Consumer apps | Business/Enterprise apps |
| Instagram API | ❌ Not supported | ✅ Supported |
| Permissions | User data only | Business data (Pages, IG) |
| Use Case | Social features | Business management |
📊 Required Configuration
Your .env File
FACEBOOK_CLIENT_ID=YOUR_FACEBOOK_APP_ID
FACEBOOK_CLIENT_SECRET=YOUR_FACEBOOK_APP_SECRET
FACEBOOK_REDIRECT_URI=http://localhost:9000/app/settings/external-platforms/oauth-callback/facebook/callback
Facebook App Products
- ✅ Facebook Login for Business (NOT regular Facebook Login)
- ✅ Instagram API (optional, but recommended)
Permissions Requested
- ✅
instagram_basic- Access Instagram account info - ✅
pages_show_list- List Facebook Pages - ✅
pages_manage_posts- Publish to Pages (for posting)
🐛 Troubleshooting
Error: "Invalid Scopes: instagram_basic"
Cause: App doesn't have "Facebook Login for Business" product added
Solution:
- Go to App Dashboard
- Add Facebook Login for Business product (not regular Facebook Login)
- Configure permissions
- Re-authenticate
Error: "This app is in Development Mode"
Cause: You're not a test user or admin
Solution:
- Add yourself as Tester or Administrator in Roles
- Accept invitation (for testers)
- Re-authenticate
Instagram Accounts Not Showing
After adding Facebook Login for Business:
- ✅ Instagram account is Business/Creator type
- ✅ Instagram is linked to Facebook Page
- ✅ You're a test user or admin
- ✅ Re-authenticated after adding product
- Check server logs for errors
📋 Complete Checklist
Before authenticating:
- Facebook app created
- Facebook Login for Business product added (key!)
- OAuth redirect URI configured
-
instagram_basicpermission added -
pages_show_listpermission added - You're added as test user or admin
- Instagram account is Business/Creator type
- Instagram account is linked to Facebook Page
- Environment variables configured
🎯 Expected Flow
1. Add "Facebook Login for Business" product
↓
2. Configure permissions (instagram_basic, pages_show_list)
↓
3. Add yourself as test user/admin
↓
4. Authenticate FBINSTA platform
↓
5. Grant Instagram permissions (now available!)
↓
6. Instagram accounts fetched ✅
↓
7. Create posts to both platforms! 🎉
🔗 Official Documentation
- Instagram API with Facebook Login
- Facebook Login for Business
- Instagram Basic Permission
- Pages Show List Permission
💡 Key Takeaways
- Use "Facebook Login for Business" - Not regular Facebook Login
- Permissions are correct -
instagram_basicandpages_show_list - Add as test user - For Development mode testing
- Instagram must be linked - To Facebook Page
- Business account required - Personal Instagram won't work
🎉 Summary
The error "Invalid Scopes: instagram_basic" means your app needs "Facebook Login for Business" product, not regular Facebook Login.
Quick Fix:
- Go to App Dashboard → Add Product
- Add "Facebook Login for Business"
- Configure OAuth redirect URI
- Add yourself as test user
- Re-authenticate
- Instagram permissions will work! ✅
The Instagram API specifically requires "Facebook Login for Business" to access business accounts through Facebook Pages.