Meta Ads

API keyAdvertisingOrg connection

Org-level connection

Meta Ads is connected once at the org level by an admin. The credential is shared across all groups that have been granted access — individual team members don't need to connect their own accounts.

Getting your API key

Meta only opens its Ads API to an app you own, so each organization creates its own Meta app once. The app, System User, and ad account must all live under the SAME Business Manager.

Create your app: developers.facebook.com → My Apps → Create App → "Business" type, owned by your Business portfolio. Open it and add the "Marketing API" product.

In Business Settings → Users → System Users → Add, create a System User with the Admin role.

Assign assets to that System User: your ad account (grant at least "View performance") AND the app from step 1.

On the System User, click "Generate New Token" → select your app → expiration "Never" → add ads_read (add ads_management only if you want writeback). Copy the token and paste it below.

No Meta App Review is required to read your own ad accounts. If a token is rejected with "API access blocked", the usual cause is that the app, System User, and ad account are not all under the same Business Manager.

Ready to connect?

Sign in to On Belay and open the Integrations page to add Meta Ads.

Sign in →

Permissions (scopes)

These are the data scopes On Belay can be granted for Meta Ads. Your org admin controls which scopes are enabled per group.

ScopeDescriptionAccess
ads_readRead adsRead only
ads_managementWrite adsRead / Write
ads_managementRead campaignsRead only
ads_managementWrite campaignsRead / Write
insightsRead insightsRead only
business_managementRead audiencesRead only
business_managementWrite audiencesRead / Write

Troubleshooting

"Invalid API key" or "Unauthorized" error
Double-check that you copied the full key without any leading/trailing spaces. Some platforms show a truncated preview — make sure to copy the full token. If the key was generated with restricted scopes, verify it includes the permissions listed above.
Connected but Claude can't access data
Check that your group has been granted access to this integration in On Belay → Groups → [your group] → Integrations. Also verify the specific scopes your group is permitted to use match what your query requires.
The key expires or stops working
Some API keys have expiration policies. Generate a new key in Meta Ads and update it in On Belay → Integrations → Meta Ads → Update key. Consider creating a dedicated service account or machine user for On Belay so the key isn't tied to a personal account.

Still stuck? We're happy to help.

Contact support →