Aivars Muskars
05/31/2026, 6:09 PMkapa.ai
05/31/2026, 6:09 PMads_management and ads_read (and optionally pages_read_engagement, pages_show_list if needed).
• Provide a clear explanation of your use case and a screen recording showing an end-to-end sync in Airbyte (source → destination, with data appearing and API usage staying under 99%).
• Complete business verification on Facebook's side.
• Make sure Facebook reviewers can log into your app and reproduce the experience shown in your screencast — this is a common rejection reason. [App Review Tips]
2. Are those permissions mandatory? The connector's spec lists these permissions for generating an access token:
> ads_management, ads_read, read_insights, business_management
[Connector Spec]
However, there is an important caveat regarding `read_insights`:
A recent issue confirmed that read_insights was included in the OAuth scope but Meta no longer lists it as a valid standalone permission in some app configurations. The Airbyte team has since deployed a fix and noted:
• read_insights is not required by the connector's streams — insights data is accessible via ads_read.
• The Airbyte team plans to remove read_insights from the documentation.
• The actually required scopes are: ads_management, ads_read, business_management.
[OAuth Scope Issue]
So in practice, for your own Facebook App, you should request:
If your app doesn't have read_insights configured as a use case, skip it — ads_read covers insights access. [OAuth Scope Issue] 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help., with interactive elementsAivars Muskars
05/31/2026, 6:18 PMkapa.ai
05/31/2026, 6:18 PMread_insights is required specifically to generate a page access token.
Based on what the knowledge sources do say:
• For the Facebook Pages connector (not Facebook Marketing), read_insights is listed as a required permission for the OAuth app, alongside pages_read_engagement, pages_read_user_content, and pages_show_list. [Facebook Pages Docs]
• The page access token itself is generated by exchanging a User access token for a Page access token via the Graph API — this process does not inherently require read_insights. [Components Code]
• read_insights is needed to read insights data (e.g., page/post metrics), not to generate the token itself.
So in summary:
• To generate the page access token → read_insights is not required.
• To sync insights data via the Facebook Pages connector → read_insights is required as a permission on your app. [Facebook Pages Docs]
I'd recommend checking Meta's official permissions reference directly to confirm the exact permissions needed for your specific use case, as the knowledge sources note that Meta's permission documentation can change. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aivars Muskars
05/31/2026, 6:22 PMkapa.ai
05/31/2026, 6:22 PMsource-facebook-marketing — focused on ad account data: campaigns, ad sets, ads, creatives, insights, custom conversions, images, videos, pixels, etc. [Facebook Marketing]
• source-facebook-pages — focused on Facebook Page data: page details, posts, post insights, page insights, etc. [Facebook Pages]
As a general rule:
• If your data is related to ads, campaigns, and ad performance → fork source-facebook-marketing
• If your data is related to page content, posts, and page engagement → fork source-facebook-pages
Please share your table and I'll give you a more precise recommendation! 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.kapa.ai
05/31/2026, 6:24 PMsource-facebook-marketing or source-facebook-pages as your base connector. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.Aivars Muskars
05/31/2026, 6:25 PMkapa.ai
05/31/2026, 6:25 PMsource-facebook-pages as your base, because:
• page_id, followers_count, fan_count → available in the page stream
• follower_growth, impressions_30d, reach_30d, gender_split, age_distribution, top_countries → available via page_insights stream metrics like page_fan_adds_unique, page_impressions, page_reach, page_fans_gender_age, page_fans_country [Facebook Pages Docs]
⚠️ Special Case: ad_spend_30d This field requires the Ads API (ads/insights) with a separate Ad Account access token and `ads_read`/`ads_management` permissions. [Facebook Marketing]
You have two options:
1. Keep it separate — run source-facebook-marketing as a second connector just for ad_spend_30d and join the data downstream.
2. Merge into your fork — add Ads Insights API calls into your forked source-facebook-pages connector, but this significantly increases complexity and requires managing two different access tokens.
Option 1 is strongly recommended for maintainability. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help., with interactive elements