Customer StoriesPricing

Use case

Competitor ad tracking your agents can act on

Every active ad your competitors run, pulled daily from the Meta and Google ad libraries, delivered as data instead of screenshots.

Get your API key

The short answer

Waldo tracks competitor ads by scanning the Meta and Google ad libraries daily for every brand you activate. One API call returns the active set with creative, copy, and days live; analysis endpoints cluster the angles and flag fatigue. Your agents read the same feed over MCP and turn it into briefs and alerts.

The job to be done

Knowing what competitors are running should not be a quarterly deck. Creative teams need the current angle landscape before a brief, media teams need to catch a new campaign the week it launches, and account teams need to walk into a client meeting knowing the set has changed. Doing this by hand means ad library screenshots, and doing it with a listening dashboard means organic mentions with the paid picture missing.

The job is simple to state: keep a complete, current picture of every ad each competitor has live, know how long each one has been running, and understand which angles the set leans on, without a person doing the collecting.

Competitor ad tracking splits into two practices. PPC intelligence tools like SpyFu estimate the keywords and budgets behind rivals’ Google Ads; creative tracking reads the actual ads, the copy, the formats, and how long each has run, from the platform ad libraries. The first tells you where competitors spend, the second what they are saying and which messages are working, the insights a creative brief actually needs. Waldo does the second: daily scans of the Meta and Google libraries for tracked brands, the LinkedIn and TikTok libraries on demand, and a stored history the native archives forget.

How Waldo does it

Pull the active set

GET /brands/{id}/ads/active returns every ad a tracked brand currently runs, with creative, copy, and days live. The Build page shows a real pull of this endpoint: a single brand on Meta with 14,793 ads in the set.

Cluster the angles

The category angle library endpoint returns a versioned taxonomy of every hook in the competitive set, with example creative attached and ready to drop into a brief.

Flag fatigue

Days-live metadata makes tired creative visible. A weekly scan flags which ads have been running long enough to go stale, before click-through craters.

Diff and alert

Hit the API on a schedule with the since parameter, diff against the last run, and push only the deltas to Slack, a database, or a webhook: new creatives, changed offers, retired ads.

The endpoints

/brands/{id}/ads/activeThe current ad set for a tracked brand, refreshed daily
/brands/{id}/ads/active?since=Only what changed since your last pull, built for cron and diff jobs
/category/{id}/angle-libraryA versioned taxonomy of hooks across the competitive set
MCP: discover_adsThe same feed inside Claude or ChatGPT for interactive digging
200+API and MCP endpoints
24hRefresh cycle for tracked brands
14,793Ads in one brand’s active Meta set, real pull

Questions teams ask

Which ad platforms are covered?

Tracked brands get daily scans of the Meta and Google ad libraries. Enrichment and Discover endpoints hit the underlying platforms live at request time for one-off research beyond the tracked set.

How fresh is the data?

Paid media for tracked brands refreshes on a 24-hour cycle, alongside owned media, mentions, and website snapshots. Discover and enrichment endpoints are real-time because they query the platforms at request time.

Can it watch landing pages too?

Yes. Waldo snapshots brand landing pages and flags changes, so you catch the offer swap behind the ad, like a discount changing to free shipping, not just the creative.

How does competitor ad tracking work?

The platform ad libraries publish every active ad; tracking means scanning them on a schedule, storing what you find, and diffing runs so changes surface as alerts. The stored history is what turns a library lookup into intelligence: days-live reveals which creative earns its keep, and retired ads mark the tests that failed.

Can I track competitor ads for free?

Yes, manually: the Meta Ad Library, Google’s Ads Transparency Center, and TikTok’s library are free to search. The costs are labor and memory: checking by hand does not scale past a couple of brands, and once an ad stops running the native record forgets it. Paid tools exist to automate the collecting and keep the history.

How do I see every ad a competitor is running?

Search the advertiser’s name in each platform library for the native picture, or pull it in one call: /brands/{id}/ads/active returns a tracked brand’s full current set with creative, copy, and days live. One real pull returned 14,793 ads for a single brand on Meta.

Can Claude or ChatGPT track competitor ads?

Yes. Waldo ships an MCP server: in Claude, discover_ads and its sibling tools return a competitor’s active ads as data in the conversation, and in ChatGPT the same questions route through Waldo’s Strategy Agent. Scheduled agents can run the same calls on a timer and post only the deltas to Slack.

Keep reading

Waldo vs. BrandwatchHow agent-native ad tracking compares to a listening dashboard.Waldo for agenciesAccount teams use these diffs to catch changes before the client does.What is share of voice?The category metric that pairs with the ad set to show who owns the conversation.Waldo BuildThe API and MCP server these endpoints belong to.

Put Waldo behind your agents

Brand, category, and audience intelligence over 200+ API and MCP endpoints. Sign up, mint a key, and run it against the brands you actually track.

Get your API key
See everything. Miss nothing. Move first.
Get startedContact us
CompareAlternativesUse casesWho it's forGlossaryAudiences
Find us on LinkedIn • X -Twitter
Copyright 2026 • All Rights Reserved • Terms of Service • Privacy Policy