There are two access levels for Marketing API:
| Level | Description |
|---|---|
Dev Tier | Try and test apps with the API. |
Ads Management Standard Access | Get more resources, such as better rate limits, and be nominated to Facebook Partner program. |
Each level has restrictions, see Limits. All developers also must follow all Facebook Platform Terms and Developer Policies. Calls on ANY access level are against production data.
You can upgrade access through App Review and business verification.
Default for all apps. Use if you are starting to build a tool. Open to all developers, so you can build end-to-end workflows before you get full permissions. Use the API as admin and access unlimited number of ad accounts for people who are admins or advertisers.
Some API calls are not available with Dev Tier because they may belong to multiple accounts, or the affected account can't be identified programmatically.
Use this level if you want to get more resources such as a better rate limit. To apply for standard access, go to App Dashboard > App Review > Permissions and Features:

Then, create a new submission and fill out your information:

You need to ask for ads_read permission for Ads Insights, and ads_management permission for Ads Management. Learn more about the permissions.
After you submit your information, Facebook responds with an approval or denial, and information if your app is not qualified for standard access.
To check your current standard access, go to App Dashboard > App Review and you see:

Depending on how you want to access ads, you should get these permissions:
Reporting Only - To read ads reports for ad accounts you own or have been granted access to by the ad account owner, request Ads Management Standard Access, along with the ads_read permission.
Read and Manage Ads - To both read and manage the ads for ad accounts you own or have been granted access to by the ad account owner, request Ads Management Standard Access, along with the ads_management permission.
Reporting Only or Read and Manage - To pull ads reports from a set of clients, and to both read and manage ads from another set of clients, request the Ads Management Standard Access, and both the ads_read and ads_management permissions.
For this level, your app needs to:
The table below shows the limits on each tier.
| Dev Tier | Ads Management Standard Access | |
|---|---|---|
Account Limits | Manage unlimited number of ad accounts. App admins or developers can make API calls on behalf of ad account admins or advertisers. | Manage unlimited number of ad accounts, assuming you get |
Rate Limits | Heavily rate-limited per ad account. For development only. Not for production apps running for live advertisers. | Lightly rate limited per ad account. |
Business Manager | Limited access to Business Manager and Product Catalog APIs. No Business Manager access to manage ad accounts, user permissions and Pages. | Access to all Business Manager and Product Catalog APIs. |
System User | Can create 1 system user and 1 admin system user. | Can create 10 system users and 1 admin system user. |
Page Creation | Cannot create pages through the API. | Cannot create pages through the API. |
Visit the authentication page for more information.
For apps to manage ads, someone must grant the app ads_management or ads_read permissions. Use ads_read if you only need Ad Insights API access, to pull reporting information, see Ads Insights API. Use ads_management when you need to read, create and update ads.
Depending on API you use, you need to ask for different permissions:
| Product(s) | Permission |
|---|---|
- Ads Management- Audience Management | |
- Insights API |
A Marketing API app is like other Facebook apps and is built on Graph API. See Facebook for websites and Authentication Guide.
Note the following values from your App Summary shown in examples below:
<YOUR_APP_ID><YOUR_APP_SECRET><YOUR_URL>Use the scope parameter to prompt someone for ads_management or ads_read permissions. Your app gets access when someone clicks Allow:
https://www.facebook.com/<API_VERSION>/dialog/oauth? client_id=<YOUR_APP_ID> &redirect_uri=<YOUR_URL> &scope=ads_management
When inputting the YOUR_URL field, put a trailing /. e.g. http://www.facebook.com/