All guides
Troubleshooting

Meta Ads MCP Rate Limit: Why You Hit It and How to Use Fewer Calls

Hit a usage limit with Meta's Ads MCP in Claude or ChatGPT? What Meta's limits and error codes mean, how long to wait, and prompts that use fewer calls.

Eric Strohmaier
By , founder of AdChatUpdated 6 min read

Try AdChat free for 7 days, no card. Start your trial

You connected Claude or ChatGPT to Meta's official Ads MCP server, asked for a month of data, and the next day Facebook showed you a popup about API usage limits. You're not alone. People on r/FacebookAds have reported exactly this after pretty light use, like 30 days of results for one ad account. This page explains what's going on, what the error codes mean, how long to wait, and how to ask your AI for the same answers with far fewer calls.

Is my ad account in trouble?

No. A rate limit isn't a ban or a restriction on your ad account. Your ads keep running. It only means the app asking Meta for data has made too many requests in a short time, and Meta is making it wait.

What are Meta's limits for the Ads MCP?

Meta hasn't published any. Its Ads MCP docs (overview, setup and the reporting tools) don't mention a rate limit, a usage limit or a reset time, and the exact wording of the popup isn't documented either. The server is still in open beta.

What Meta does document are the limits for its Marketing API, which every ads tool runs on. Each app gets a budget per ad account, per hour, on a rolling one-hour window:

Kind of callLow tier (development)Full access
Reading results (ads_insights)600 + 400 × active ads190,000 + 400 × active ads
Managing ads (ads_management)300 + 40 × active ads100,000 + 40 × active ads

Meta doesn't say how Ads MCP calls are counted against these. If yours behave like a low-tier app, a few hundred calls an hour per ad account doesn't go far. An AI building a report can make dozens of calls for a single question.

The error messages, decoded

If your AI shows you the raw error from Meta, the code tells you what was hit:

CodeMessageWhat it means
80000There have been too many calls from this ad-account. Wait a bit and try again.Too many results (insights) requests for this ad account
80004There have been too many calls from this ad-account. Wait a bit and try again.Too many changes or reads of campaigns, ad sets and ads for this ad account
17User request limit reachedYour Facebook login has made too many requests
4Application request limit reachedThe app as a whole is over its limit
613There have been too many calls from this ad-account.A custom limit on this ad account

How long do I wait?

Usually minutes, not days. Meta's limits work on a rolling hour, and Meta's response includes an estimate of how long until calls work again (estimated_time_to_regain_access, in minutes). For short bursts on one ad account, Meta's docs say the block lasts 60 seconds for apps with full access and 300 seconds for apps on the low tier.

Two things make it worse:

  • Retrying straight away. Meta says to stop calling when you hit a limit. Calls made while you're blocked still count, so the wait gets longer. Tell your AI to stop and try again later.
  • Asking again from scratch. A new chat that pulls the same 30 days again spends the same budget again.

Prompts that use fewer calls

Most limits come from how the question is asked, not how often. Meta's own guidance says long date ranges, custom date ranges, many breakdowns and lots of requests at once are the expensive ones. So:

  1. One ad account at a time. Name it in the prompt, so the AI doesn't list and check every account you can reach.
  2. Short date ranges. "Last 7 days" instead of "last 30 days", and avoid "lifetime". Use Meta's standard ranges (last 7 days, last 30 days, this month) over custom dates.
  3. Name the numbers you want. "Spend, purchases and cost per purchase by campaign" is one request. "Analyze everything" turns into many.
  4. Start at campaign level. Ask for ad sets or ads only in the campaign that needs a closer look.
  5. Skip breakdowns you don't need. Age, placement and country splits multiply the work. Ask for one at a time.
  6. Ask what changed. Instead of re-pulling a month every day, ask "what changed since yesterday?" or "compare this week with last week".
  7. Keep the answer. Ask your AI to save its summary (a Claude project, or a file) and work from that instead of fetching again.

In Claude you can put this in your project instructions, so you don't have to repeat it:

When you look at my Meta ads, use one ad account at a time, the last 7 days unless I say otherwise, campaign level first, and only the metrics I ask for. If Meta says a limit was reached, stop and tell me instead of retrying.

Try it on your own account. Connect your Meta and Google ads to Claude, ChatGPT or the built-in chat. 7-day free trial of everything, no credit card (built-in chat: 50 messages; unlimited in your own Claude or ChatGPT). Then from $29/month. Cancel anytime.

Start free trial

How many ad accounts can I check a day?

Meta doesn't give a number for the Ads MCP. People who check results once or twice a day with focused prompts report no trouble. Ten accounts with several full reports each day is where it starts to hurt. Add accounts gradually and stop if you see the warning.

Other options if the limit keeps getting in the way

Meta lets you connect the Ads MCP through your own Meta developer app ("bring your own app"). Then the calls come from your app instead of Meta's. That needs developer setup, and a new app starts on the low tier until Meta reviews it.

Another option is a third-party MCP server built on the Marketing API. AdChat is one: it's an approved Meta app with full access to the Marketing API, so it gets Meta's higher limits per ad account. It's not limitless. Meta's limits still apply, AdChat allows 120 requests a minute through your AI app, and the tips above help there too. If you see a limit message from AdChat, see AdChat errors and fixes.

For other problems with Meta's server, like accounts that aren't enabled yet or apps that can't connect, see Meta Ads MCP not working?.

FAQ

Will hitting the rate limit get my ad account banned?

No. It only pauses requests from the app for a while. Your ads, budget and account status don't change.

Does the limit reset every day?

Not on a daily schedule. Meta's limits are counted over a rolling hour, so they free up gradually as older calls drop out of that window.

Why did I hit it after one report?

A "30-day analysis" isn't one request. The AI lists your campaigns, then ad sets, then ads, often with breakdowns, and each of those is a call. A long date range also makes each call heavier.

Does Meta show my usage anywhere?

Not in Ads Manager. Meta returns your usage in the headers of each API response, which your AI app usually doesn't show you. Ask the AI to tell you when Meta says a limit was reached.

Can I ask Meta to raise the limit?

Not for Meta's own Ads MCP server. For your own Meta app, the higher limits come with full access to the Marketing API, which needs Meta's App Review.

Sources

Want higher limits without setting up your own Meta app? Try AdChat free for 7 days. Questions? Email [email protected].

Try it on your own ad account

Connect your Meta and Google ads to Claude, ChatGPT or our built-in chat in about a minute.

Start free trial7-day free trial of everything, no credit card (built-in chat: 50 messages; unlimited in your own Claude or ChatGPT). Then from $29/month. Cancel anytime.

Questions? Email me at [email protected]