KOLens
All posts
·KOLens teamAd spyMeta Ad LibraryCompetitive research

Facebook Ad Spy — scrape any brand's live ad creatives in 30s

Type a competitor's Facebook page URL → get every ad they're running right now, with video playback, carousel navigation, and run dates.

Quick answer

Paste a competitor's Facebook page URL on /ad-spy. KOLens returns every ad they're currently running — videos play inline, carousels swipe, body copy + CTAs + run dates are all there. 1 credit per 10 ads.

Why "see their ads" beats "see their socials"

A competitor's organic content tells you what they want to say; their paid creative tells you what they actually bet money on. The ad they ran for 8 weeks straight is the ad that converted. The ad they killed after 3 days didn't.

Reading that pattern — which hooks they kept, which angles they cut, what CTA copy they doubled down on — is the cheapest market research you can do. KOLens makes it a 30-second loop instead of a manual-Ad-Library-tab spelunk.

How an Ad Spy scrape works

  1. On /ad-spy, paste either:
    • A Facebook page URL (https://www.facebook.com/SHEINOFFICIAL/) — scopes to one brand.
    • A Meta Ad Library search URL — returns mixed advertisers matching a keyword / category.
  2. Pick a max ad count (default 100 = 10 credits) and a country filter (optional).
  3. Active-only is the default — historical/ended creatives dilute the signal. Flip to "All" for a longevity analysis.
  4. Hit Scrape. ~30-90 seconds later you're looking at the brand's full creative wall.

The creative viewer

Each ad card in the gallery supports the three Meta creative types natively:

  • Image — single still creative, click to enlarge.
  • Video — big center play button → inline <video controls autoplay>. No bouncing to TikTok-style modal video viewers; the creative plays in place.
  • Carousel — chevron arrows + dot indicator cycle through the multi-card creative. The card shows 3 / 5-style position counter.

Each card also shows a running/ended badge (green vs grey), the longevity in days, the publisher platforms (Facebook / Instagram / Messenger / Audience Network), and a single-click "View details" button to a dedicated full-spread page.

The detail page

/ad-spy/ads/[ad_archive_id] is a two-column spread:

  • Left: the big creative (same video/carousel controls, larger).
  • Right: status / type / longevity badges, the advertiser strip (links back), full headline + body + CTA button, run window (start → end), publisher platforms.
  • Performance card — only renders when EU DSA transparency data is present (impressions buckets, reach, spend lower/upper bounds).
  • Snapshot history — refresh-by-refresh timeline of Running/Ended flips. Useful for spotting a brand that re-ran an old creative.

Sorting that actually surfaces winners

The advertiser detail page (/ad-spy/advertisers/[id]) sorts six ways:

  • Recent — newest first. Default for the "what are they testing this week" question.
  • Longevity ↓ — longest-running first. The most useful sort. Ads a brand has kept live for 30+ days converted; ads killed after 3 days didn't. Longevity is your free reverse-engineered creative scorecard.
  • Active first — surface live creatives over historical.
  • Spend ↓ / Impressions ↓ / Reach ↓ — EU DSA transparency data, when present. The hard performance numbers.

Pricing

Pre-charged at submit: ceil(max_ads / 10) credits (default 100 ads = 10 credits = ~$1). Refunded automatically when the Apify call errors out before pulling anything.

Coming soon

On the roadmap (tracked as "AS-3 / AS-5"):

  • Advertiser watchlist + 24h auto-refresh — pick competitors, KOLens re-scrapes them every day and tags any new ad.
  • "New creative" alerts → Discord / generic webhook — push notifications the moment a watched brand launches new creative.

READY?

Try it now — 50 free credits on signup.

Try Ad Spy

Frequently asked

What's the Meta Ad Library?
A public Meta product mandated by EU and US transparency laws that exposes every Facebook / Instagram / Audience Network / Messenger ad currently running for any business page. KOLens scrapes the same data Meta already publishes — just structured into a feed you can sort, filter, and watch inline.
Does it show ad spend?
Only for EU-targeted ads (DSA Transparency mandates spend brackets and impressions for political/issue ads in the EU). For everything else, Meta hides exact spend. KOLens shows the EU numbers when present and labels their absence rather than guessing.
Can I monitor a competitor over time?
Yes — KOLens stores every ad it scrapes plus a per-refresh snapshot, so you can see when an ad started, when it ended, and how its spend / reach drifted. The PR roadmap adds 24h auto-refresh + 'new ad' delta alerts as a next step.
Is scraping the Ad Library allowed?
The Ad Library is explicitly a public-transparency product; Meta provides both a web UI and an official Ads Library API for the same data. KOLens fetches through the same Apify actor many compliance and competitive-intelligence teams use.

Read next