Guides · social · Verification-gated

Meta Marketing API

Create, manage and report on Facebook and Instagram ads by API. Starts at Limited Access (heavily rate-limited, development only); Full Access needs App Review plus 500+ calls in 15 days at under 15% errors.

Researched · not yet run liveLast researched 25 October 2026 · Meta · provider site

Researched, not yet run live. Built from the provider’s official pages (linked below). A person hasn’t walked this flow end to end yet, so check each step against the source.

Who owns what

A Business Portfolio owns the ad account(s), the Meta app and the system user. The app gets the Marketing API product (Limited Access by default). A system user in the portfolio, assigned to the app and the ad account, holds the non-expiring token your server uses.

  • Meta developer account developer owned by the person
  • Meta Business Portfolio organisation owned by the business
  • Ad account billing owned by the business (or each client business) · under Meta Business PortfolioMust be active with a payment method to run campaigns. Each advertiser or client needs its own ad account.
  • Meta app with Marketing API product project · under Meta Business Portfolio
  • System user otheroptional · under Meta Business PortfolioLimited Access allows 1 system user and 1 admin system user; Full Access allows 10 plus 1 admin.

Managing only your own business's ad accounts works at Limited Access with system users. Managing other people's ad accounts needs Advanced (Full) Access to ads_read / ads_management via App Review.

Meta renamed tiers in 2026 docs, Standard to Limited and Advanced to Full; older docs and dashboards may still use the old names.

Have ready

  • Payment method on the ad account (entered by you on Meta's page) · An active ad account is needed to run campaigns and manage billing [1]Needed for: Have an active ad account in your Business Portfolio
  • Public privacy policy URL for the app [8]Needed for: Create a Business app with the Marketing API product
  • Screencast of how the app uses ads_read / ads_management (only for App Review) Needed for: Request Full Access (Marketing API Access Tier) through App Review
  • A real integration that will make 500+ Marketing API calls in 15 days with under 15% errors · Eligibility threshold for Full Access [2]Needed for: Request Full Access (Marketing API Access Tier) through App Review

Steps

Steps marked “human step” are ones only you can do: verapli never signs in, submits, pays or accepts terms for you.

  1. Have an active ad account in your Business Portfolio

    Create or find the ad account in Ads Manager / Business settings and add a payment method yourself. Note its number (shown in Ads Manager > Settings > Account overview); the API uses it as act_<number>.

    • Guided by hand
    • Human step: You add payment details

    Where: https://adsmanager.facebook.com/

  2. Create a Business app with the Marketing API product

    In the App Dashboard create a Business-type app connected to your portfolio and add Marketing API (the "create and manage ads" use case [to verify label]). This gives Limited Access straight away.

    • Guided by hand
    • Human step: You press submit

    Where: https://developers.facebook.com/apps/

  3. Create a system user and generate a token

    In Business settings > Users > System users, create a system user, assign it the app and the ad account, and generate a token with ads_read and/or ads_management. System user tokens do not expire. Shown once: verapli captures it.

    • Guided by hand
    • Human step: You press submit
    • After: Have an active ad account in your Business Portfolio, Create a Business app with the Marketing API product

    verapli captures META_ADS_ACCESS_TOKEN here by plain code: encrypted in your browser, never shown to AI.

    If something goes wrong (1)
    • Cannot add another system user: Limited Access allows only 1 system user and 1 admin system user; reuse it or get Full Access (10). [2]

    Where: https://business.facebook.com/settings/system-users

  4. Build and run the integration at Limited Access

    Develop against your own ad account. Expect tight limits (ad account score cap 60 with a 300 s block; Ads Management 300 per hour plus 40 per active ad). Keep error rates low; they count towards Full Access.

    • Guided by hand
    • After: Create a system user and generate a token
    If something goes wrong (2)
    • Calls blocked for 300 seconds (rate limit reached): Back off and batch; Limited Access is for development. Apply for Full Access once eligible. [4]
    • Edits rejected on the same campaign or ad: Wait 30 seconds between edits to one object; at most 4 budget changes per hour per ad set. [4]
  5. Request Full Access (Marketing API Access Tier) through App Reviewoptional

    Once the app has made 500+ calls in the past 15 days with under 15% errors in the last 500, request the Marketing API Access Tier feature (and Advanced Access to ads_read / ads_management if you manage other people's ad accounts) under App Review > Permissions and Features.

    • Guided by hand
    • Human step: The provider reviews it
    • After: Build and run the integration at Limited Access
    The provider says
    No review time stated on the authorization page [to verify] [2]
    People report
    Third-party reports put general Meta App Review at around 20 days by mid-2026 (not official, not specific to Marketing API) [10]
    If something goes wrong (2)
    • Request button greyed out or not eligible: Make at least 500 successful Marketing API calls over 15 days and keep errors under 15% of the last 500. [2]
    • Full Access lost later: The call-volume and error-rate thresholds apply to keeping Full Access too; keep the integration active and healthy. [2]

    Where: https://developers.facebook.com/apps/

Terms and gotchas

Plain-English summary, not legal advice. Each card links its source.

Can get you bannedThe rules say

Ad policy breaches restrict the whole business

Ads that break the Advertising Standards are rejected and the business account or its assets may be restricted from advertising, up to termination. Ads created by API go through the same review. Plain-English summary, not legal advice. [5]

Can get you bannedThe rules say

No evading enforcement or sharing access

Helping anyone evade or get round Meta's enforcement is prohibited, as is selling, renting, buying or exchanging admin access. Do not open new ad accounts to get round a restriction. [5]

Can cost moneyThe rules say

One ad account per advertiser

Each advertiser or client must be managed through a separate ad account; if a client changes, set up a new account. [5]

Can get you bannedThe rules say

Advertising data use limits

Do not use Meta advertising data except on an aggregate and anonymous basis, and do not use Meta data to build or augment user profiles (Developer Policies 10.7). [7]

Can cost moneyThe rules say

Annual Data Use Checkup

Apps with Advanced Access must complete Data Use Checkup every year or lose access to the relevant features. [9]

What you end up with

Env varSecretFormatWhat it is
META_ADS_ACCESS_TOKENsecretEAA…System user access token with ads_read / ads_management (does not expire)
META_AD_ACCOUNT_IDnot secretact_1234567890Ad account id used in API paths
META_ADS_APP_IDnot secret1234567890123456App ID of the Meta app with the Marketing API product

Renewals

  • Data Use Checkup for apps with Advanced Access: every 1 year [9]
  • Full Access eligibility (500+ calls in the past 15 days, under 15% errors): every rolling 15 days [2]

Pricing

  • Costs: The API itself states no fee; you pay for ad spend through the ad account's payment method [to verify]

Source [1]

For agents

The same entry as JSON: /api/v1/entries/meta/marketing-api · requirements /api/v1/requirements/meta/marketing-api · terms /api/v1/terms/meta/marketing-api.

Remote MCP (read-only, no auth)
claude mcp add --transport http verapli https://verapli.com/mcp

> "What do I need for Meta Marketing API, and how long will it take?"
  → tools/call requirements { "provider_id": "meta/marketing-api" }

Sources

  1. Marketing API – Get started Active ad account required to run campaigns and manage billing; register as a Meta developer; create an app; authorization; authentication · accessed 25 October 2026 · official
  2. Marketing API – Authorization Standard Access renamed Limited Access and Advanced Access renamed Full Access; Limited is heavily rate-limited and for development only; Full Access requested via App Review, needs 500+ calls in 15 days and under 15% errors in last 500 calls; ads_read and ads_management need the Marketing API Access Tier feature and Advanced Access to manage other people's ad accounts; Business Verification if accessing sensitive data; system user counts per tier · accessed 25 October 2026 · official
  3. Marketing API – Authentication Short-lived user token 1-2 hours; extend in Access Token Debugger; system user token does not expire and suits server-to-server use; tokens via Graph API Explorer with ads_read/ads_management · accessed 25 October 2026 · official
  4. Marketing API – Rate limiting Ads Management Standard Access renamed Marketing API Access Tier; Limited vs Full quotas (score cap 60 vs 9,000, Ads Management 300/h vs 100,000/h plus 40 per active ad); 100 QPS per app and ad account; one edit per object every 30 s; 4 budget changes per hour per ad set; 10 spend-limit changes per day per ad account · accessed 25 October 2026 · official
  5. Meta Advertising Standards Violating ads rejected and business account or assets may be restricted; restricted assets cannot advertise; termination possible; helping anyone evade enforcement is prohibited; no selling or exchanging admin access; each advertiser or client managed through separate ad accounts · accessed 25 October 2026 · official
  6. Meta Business Help Centre – ad account Where to create or find an ad account (linked from Marketing API get-started) [to verify page title] · accessed 25 October 2026 · official
  7. Meta Developer Policies 10.7(a) do not use Meta advertising data except on an aggregate and anonymous basis; 10.7(e) do not use Meta data to build or augment user profiles · accessed 25 October 2026 · official
  8. Meta Platform Terms No selling or licensing Platform Data (3.a.iv); protect access tokens and app secrets (6.a.iv); enforcement may suspend or permanently remove apps and accounts (7.e) · accessed 25 October 2026 · official
  9. Meta for Developers blog – Data Use Checkup rolling out broadly Annual Data Use Checkup; missing the deadline loses access to the relevant platform features · accessed 25 October 2026 · official
  10. bundle.social – Meta App Review taking 20 days (July 2026) Third-party report that Meta App Review waits reached around 20 days by mid-2026 (explicitly not an official Meta figure) · accessed 25 October 2026 · community

Provider rules change. This page is generated from verapli registry version 2026.1025.387; spotted something out of date? Tell us. Meta is not affiliated with verapli.