August 26, 2026 · 8 min read
How to monitor competitor Facebook ads with the Meta Ads Library API in 2026
Monitor competitor Facebook ads with the Meta Ads Library API: a repeatable workflow for tracking new creatives, offers, and messaging from a defined competitor set.

Watching what your competitors run on Facebook used to mean opening the Ad Library, typing a brand name, and scrolling until your eyes crossed. For a team that manages several ad accounts, that routine eats hours every week, and the notes you take live in screenshots that nobody organizes.
The Meta Ads Library API changes the math. It returns the same public ad data the website shows, but as structured JSON you can query, store, and schedule. This guide shows you how to monitor competitor Facebook ads with the API, what the API actually gives you, and where its limits force you to build around it.
If your job involves competitive ad intelligence for performance marketing, pairing the Ads Library API with a small automation layer turns manual browsing into a monitoring system that catches new competitor creatives the day they go live.
Why monitor competitor Facebook ads with an API
The manual approach is expensive. Marketers report spending two to three hours every week just scrolling the Ad Library, taking screenshots, and losing track of what changed. On a lean performance team, those hours are better spent on strategy and testing.
The stakes justify the effort. When a competitor launches a new creative, changes an offer, or swaps a landing page, that is a signal about what is working for them. Seeing it early tells you which angles to test in your own accounts, and which offers they are pushing hardest.
An API makes the process repeatable. You define the competitor set once, pull the data on a schedule, and diff the results. Ad intelligence tools built on this pattern, like the Apify Competitor Ads Monitor actor, show the output shape you are aiming for: an overview of all ads, new ads seen this run, ads grouped by platform, detected offers and CTAs, and a longevity analysis.
If you are already tracking competitors manually, start with the same habit you have today, then automate it. Our guide to tracking competitor ads without burning your budget covers the manual baseline before you move to the API.
What the Meta Ads Library API returns
The Ads Library API is Meta's official way to query the public Ad Library programmatically. You can search by Facebook Page IDs, by search terms, and by filters like country, ad type, and media type. The response includes the ad creative, primary text, headline, CTA, page name, and delivery dates.
Two request shapes matter most for competitor monitoring. The first is search_page_ids, which accepts up to ten Facebook Page IDs in one request, making it ideal for a defined competitor list. The second is search_terms, which is capped at 100 characters and works for topic-based discovery when you do not know every page that competes with you.
The API also has clear gaps. It does not return exact ad spend outside the EU, and it does not return conversion data for competitors, because that data is private. What it gives you is the public record: what creative they ran, when it ran, and how long it stayed live.
Meta's official API documentation is the authoritative reference for fields and parameters. For a deeper look at pulling this data into agent workflows, see how to use the Meta Ads Library API for AI agents.
Setting up access to the Ads Library API
Access starts with a Meta developer app. You create an app, add the Ads Library API product, and generate an access token. The API is free to use, which makes it the cheapest competitor monitoring data source available to a performance team.
There is no published per-app quota for every endpoint, but developer guides put the practical cap at roughly 200 calls per hour per app for standard access. That is enough for a daily pull across a competitor set of a few hundred pages, especially when you batch page IDs.
The one parameter you cannot skip is ad_reached_countries. It controls which country's ads you see, and it also controls whether commercial ads are returned at all outside the EU. We cover that wall in the limits section below.
A minimal setup looks like this:
- Create a Meta app at developers.facebook.com and add the Ads Library API product.
- Generate an access token from the app dashboard.
- Test a query with search_page_ids set to one competitor page and ad_reached_countries set to DE.
- Store the token securely and build the pull script around it.
Keep the token out of your frontend code. The API is meant for server-side use, and exposing a token in a browser bundle gives anyone who views your source the same access you have.
A repeatable competitor monitoring workflow
The workflow that scales has four stages: define, pull, diff, and alert. Define the competitor set first, because the quality of your monitoring depends on the pages you choose. Include direct competitors, adjacent brands, and a few aspirational accounts that run ads you admire.
Pull on a schedule. A daily pull at a fixed time catches most creative launches, since most teams review and launch ads during business hours in their timezone. Store the raw JSON responses so you can compare against history instead of just seeing today's snapshot.
Diff against the previous pull. New ads, paused ads, changed primary text, changed CTA, changed media. A simple comparison script flags exactly what changed since yesterday, which is the signal your team actually wants.
Alert on high-signal changes. A new ad from a top competitor, a new CTA type, or a new offer keyword deserves attention immediately. Lower-signal changes, like a tweaked headline, can wait for the weekly review.
For the full automation mechanics, our guide to automating Meta Ads Library scraping walks through the practical setup in detail.
What to track in competitor Facebook ad data
The API returns more fields than most teams use at first. Focus on the ones that change your decisions: creative format, messaging angle, offer, CTA, and longevity.
Creative format tells you where your competitor is placing their bets. A shift from static images to video, or from single-image to carousel, is a strategic signal. Track it as a trend over weeks, not as a single snapshot.
Messaging angle and offer are the copy signals. Which benefit are they leading with? Are they discounting, bundling, or pushing a free trial? CTAs reveal the desired action, and a change from Learn More to Shop Now usually means a funnel change.
Longevity is the underrated metric. Ads that run for months are proven winners. Ads that disappear after days are tests. The longevity analysis pattern from ad intelligence tools makes this visible at a glance.
Fields worth storing for every ad:
- page_name and page_id, to group by competitor
- primary_text, headline, and cta_type, to compare messaging
- media type, to track format shifts
- start_date and end_date, to measure longevity
See our meta ads library competitive analysis guide for a field-by-field breakdown of what each signal means in practice.
Automating monitoring with AI agents
Once competitor ad data is structured JSON, AI agents become useful. An agent can summarize a week of new competitor ads, cluster them by theme, and draft a competitive brief your team can act on. That is the difference between a data feed and an intelligence workflow.
Agents are especially good at the pattern work: grouping similar creatives, spotting a competitor's recurring offer, and flagging when a message angle appears across multiple competitors at once. These are the insights that are obvious in hindsight but expensive to find manually.
You can wire the Ads Library API into any agent workspace using an MCP server, so the agent can query competitor data directly instead of receiving pre-formatted files. For the agent layer, our guide on how AI agents find a competitor's best performing ads covers the practical patterns.
Working around API limits and gaps
The biggest wall is geographic. The Ads Library API returns regular commercial ads only when ad_reached_countries points at an EU member state or the UK. Everywhere else, the API serves political and social issue ads exclusively. Teams monitoring US competitors hit this immediately.
The practical workaround is to query EU country codes for the commercial feed, or to use a service that maintains its own ad library data for non-EU markets. The ad library API limitations guide documents the full set of walls developers hit in 2026.
Spend is the second gap. Exact competitor spend is not public, and outside the EU even spend buckets are unavailable. Use the proxies you do have: number of active ads, launch frequency, and longevity. A competitor launching five new ads a week is spending differently from one launching one.
Rate limits are the third constraint. Stay under them by batching page IDs, caching responses, and backing off on 429 errors. A daily pull rarely needs more than a fraction of the hourly budget if you design the query set well.
Start monitoring competitor ads today
You do not need a big stack to start. Pick five to ten competitor pages, set up API access, and pull once a day. Within a week you will have a history, and within a month you will see patterns that manual browsing never revealed.
The order of operations is simple: get the API working, store the data, diff it daily, and add the AI layer once the feed is stable. Each step compounds, and the cost is close to zero because the API itself is free.
For the Instagram side of the same competitor set, our guide to finding competitor Instagram ads covers the platform-specific differences you will hit.
Frequently asked questions
Can I monitor competitor Facebook ads for free?
Yes. The Meta Ads Library API is free to use with a Meta developer app. You are limited by rate limits of roughly 200 calls per hour for standard access, which is enough for a daily pull across a typical competitor set.
Does the Ads Library API show competitor ad spend?
Only for ads delivered in the EU and UK, and only as broad spend buckets rather than exact numbers. Outside the EU, the API does not return spend data at all.
How often should I pull competitor ad data?
Daily is the sweet spot for active monitoring. It catches most creative launches without burning your rate limit. If you only review changes weekly, a weekly pull works, but you will miss short-lived test ads.
Is scraping the Meta Ads Library API allowed?
Using the official Ads Library API under Meta's terms is the supported path. Respect rate limits and Meta's API terms, and avoid third-party scrapers that violate them.
Can AI agents monitor competitor Facebook ads for me?
Yes. Once the API feed is structured JSON, an AI agent can summarize new ads, detect patterns across competitors, and draft competitive briefs automatically.