VOOZH about

URL: https://apify.com/seibs.co/ad-library-intel

โ‡ฑ Cross-Platform Ad Intelligence - Meta + Google + TikTok ยท Apify


๐Ÿ‘ Cross-Platform Ad Intelligence - Meta + Google + TikTok avatar

Cross-Platform Ad Intelligence - Meta + Google + TikTok

Pricing

from $4.00 / 1,000 ad records

Go to Apify Store

Cross-Platform Ad Intelligence - Meta + Google + TikTok

Competitor ad creatives, formats, run-dates, and active-vs-stopped signal across Meta Ad Library + Google Ads Transparency + TikTok, in one schema keyed by advertiser/brand/domain. Creative hook/offer tagging, competitor-set rollups, new-creative monitor mode. For marketers, DTC, agencies.

Pricing

from $4.00 / 1,000 ad records

Rating

0.0

(0)

Developer

๐Ÿ‘ Seibs.co

Seibs.co

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

Cross-Platform Ad Intelligence (Meta + Google + TikTok)

TL;DR for performance marketers, DTC brands, and agencies: Pull a competitor's live ad creatives, formats, run-dates, and active-vs-stopped signal across Meta Ad Library + Google Ads Transparency Center + TikTok in one run, normalized into a single cross-platform schema keyed by advertiser / brand / domain. On top of the raw ads it adds the "what's working now" layer the ad-spy SaaS tools gate behind subscriptions: creative hook/offer tagging, per-advertiser rollups (active vs stopped, format mix, top angles, longest-running creative), and a cross-advertiser competitor comparison. The transparency archives are public-by-design but have no clean API and the paid stack (AdSpy $149/mo + BigSpy $99/mo + Pipiads $77/mo โ‰ˆ $325/mo) gates the cross-platform research - this undercuts it at pay-per-use. Logged-out public archives, no login, no token, PII minimized to the advertising business entity.

Run it in 30 seconds

# Via the Apify Python SDK
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("seibs.co/ad-library-intel").call(run_input={
"mode":"competitor_set",
"advertisers":["Allbirds","Rothy's"],
"platforms":["meta","google","tiktok"],
"country":"US"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Or via curl:

curl-X POST "https://api.apify.com/v2/acts/seibs.co~ad-library-intel/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>"\
-H"Content-Type: application/json"\
-d'{"mode": "advertiser_ads", "advertisers": ["Allbirds"], "platforms": ["meta","google","tiktok"]}'

Or click "Try for free" on this page if you prefer the no-code UI.

What you get

Each run produces:

  • A clean dataset, filterable in the Apify console and downloadable as CSV or JSON
  • An OUTPUT.html dashboard preview of your top records
  • A sample-output preview at ./.actor/sample-output.json
  • An access_notes record up top documenting each archive's access method, anti-bot tier, and escalation telemetry

What does Ad Intelligence do?

It queries each selected ad-transparency archive for your advertisers (or keywords) and normalizes every creative into one schema: platform, advertiser_name, advertiser_domain (the cross-platform join key), ad_format (normalized to image / video / carousel / text), headline, body_text, cta_text, landing_url, media_urls, start_date / end_date, is_active, days_running, spend_band / impressions_band where the archive exposes it, regions, and publisher_platforms. Then it runs the value layer:

  • Creative analysis - tags each creative's hook (question / social-proof / urgency / curiosity / problem-solution / direct-benefit), offer (% discount / dollar-off / free shipping / free trial / BOGO / bundle / subscription / lead magnet / sale event), themes, and normalized CTA. This is the "what angle is working" signal.
  • Advertiser tracking - a per-advertiser footprint rollup: active vs stopped counts, format mix, spend-band mix, top hooks/offers, and the longest-running (proven) creative.
  • Competitor set - a cross-advertiser comparison: who's running the most, the shared angles everyone is using, and each advertiser's unique lean.

Modes

ModeWhat it returns
advertiser_ads (default)Every matching creative per platform for your advertiser/brand/domain queries, normalized + (optionally) creative-tagged.
keyword_searchCreatives discovered by keyword/term across the archives - for "what ads run for this offer" research.
competitor_setadvertiser_ads plus the cross-advertiser competitor_set comparison and per-advertiser rollups (defaults include_advertiser_tracking on).

Platform coverage + access notes

The three archives are public-by-design but none offers a clean API, and they fingerprint automated clients differently. Coverage is honestly described per surface:

PlatformArchiveAccessNotes
metaMeta Ad Library (Facebook + Instagram)browser-firstThe commercial-ads view is public, but the internal search_ads endpoint is gated by an lsd token + datr cookie minted by a real page load - so the browser tier loads the public results page and captures the page's own search XHR (no forged token, no login). The official Graph ads_archive API only covers political/social-issue ads and needs a token, so it is intentionally not used (commercial coverage is the point).
googleGoogle Ads Transparency Centerhttp-firstFree-text + region search hits the internal SearchService/SearchCreatives RPC (f.req form body, )]}' JSON prefix); reachable via curl_cffi TLS impersonation, with the browser tier capturing the same XHR as a fallback.
tiktokTikTok Commercial Content Library / Creative Centerhttp-firstThe Commercial Content Library (library.tiktok.com) exposes a JSON advertiser/keyword search (strongest for EU regions); the Creative Center Top-Ads API is a region-gated trend fallback.

Where a logged-out request is blocked or returns no parseable ads, the platform fails soft with a documented platform_pending / fetch_error note (the run still finishes SUCCEEDED) rather than fabricating data.

Anti-bot escalation (residential + browser)

Each archive request runs an automatic escalation ladder:

  1. httpx over the DATACENTER proxy - cheapest, used first for the JSON surfaces (Google, TikTok).
  2. curl_cffi with real Chrome TLS impersonation over the RESIDENTIAL proxy - defeats JA3/TLS-fingerprint WAFs (Meta's edge, Google's RPC).
  3. Playwright (patchright stealth) over RESIDENTIAL - loads the archive page and replays/captures its own API call (carrying the live token). This is what makes the token-locked Meta surface return data.
  4. Fail-soft - documented note, run stays SUCCEEDED.

Set use_browser_fallback=false to use plain httpx only (Meta then returns a platform_pending note). For the most reliable Meta/Google clearance, point the browser tier at a warm anti-detect browser via browser_cdp_url (or the BROWSER_CDP_URL env var); otherwise run on the apify/actor-python-playwright image so a headless Chromium is available.

Monitor mode (new-creative alerts)

Run this actor on an Apify Schedule and it switches to monitor mode: it diffs this run's creatives against the last scheduled run and emits a monitor_digest of new creatives and newly-stopped creatives per advertiser, optionally posting the digest to a Slack-compatible monitor_webhook_url. Charges one scheduled_delta_run per scheduled run. This is the "alert me when a competitor launches a new ad" use case.

Responsible use / data scope

Official public transparency archives, accessed logged-out, no account creation, no paid API token, no login walls bypassed. We minimize PII: the identity we keep is the advertising business entity (the page/brand/advertiser the archive publishes by design) plus the public creative - we never resolve a page admin or any natural-person contact. Respect each platform's terms and your local regulations for how you use competitive ad data.

AI / RAG / Agent

The overview dataset view is a narrow, token-efficient slice for LLM tool responses. A paired MCP server (mcp-ad-library-intel) exposes these as agent tools (search_advertiser_ads, get_active_creatives, compare_competitors, track_new_creatives, search_ads_by_keyword) and is x402 (USDC on Base) + Skyfire ready for token-less agentic payments.

Features

  • Cross-platform in one actor: Meta + Google + TikTok, deduped by advertiser/domain
  • Active-vs-stopped signal + days-running per creative
  • Creative hook / offer / theme / CTA tagging (no LLM key required)
  • Per-advertiser rollups + cross-advertiser competitor comparison
  • New-creative monitor mode with Slack webhook
  • Anti-bot escalation (curl_cffi + browser XHR capture) with fail-soft notes
  • Pay-per-event pricing that undercuts the ~$325/mo ad-spy SaaS stack

Use cases

  • Competitive creative research - what's your competitor running right now, on which platform, in which format
  • "What's working" trend-spotting - which hooks/offers dominate a niche this week
  • Creative refresh tracking - get alerted when a competitor launches or kills a creative
  • Agency reporting - a cross-platform competitor footprint table per client
  • DTC / performance marketing - mine proven (long-running) creatives for angles to test

Pricing (Pay Per Event)

EventPriceWhen
ad_record$0.004Per normalized cross-platform creative
creative_analysis$0.008Per creative tagged with hook/offer/theme/CTA
advertiser_tracking$0.010Per advertiser rollup + competitor comparison
scheduled_delta_run$0.050Per scheduled monitor-mode delta digest

A run that returns nothing costs nothing. The free Apify plan covers exploration runs on your $5 platform credit.

Related actors

Part of the Seibs.co intelligence portfolio. Pairs well with shopify-store-discovery (find a store -> see its ads), tiktok-shop-creator-intel, and the MCP twin mcp-ad-library-intel.

You might also like

Ad Creative Spy โ€“ Meta, TikTok & Google Ads Scraper

conceivable_extension/ad-creative-intelligence-scraper

Scrapes competitor ad creatives from Meta Ads Library, TikTok Creative Center, and Google Ads Transparency. Calculates days-running (profit proxy) and optionally analyses hooks with Claude AI. Far cheaper than AdSpy at $0.003 per ad.

1

Meta Ad Library - Competitor Ad Scaling Tracker

xtracto/meta-ad-library-tracker

Scrape live competitor ads from the public Meta Ad Library (Facebook & Instagram): ad copy, creative images/videos, landing page URL, start date, and active status. No account or API key required.

๐Ÿ‘ User avatar

Farhan Febrian Nauval

4

Meta Ad Scraper

hello.datawizards/Facebook-Ad-Scraper

Meta Ad Scraper is an Apify Actor that extracts detailed ad data from the Meta (Facebook) Ad Library, including titles, creatives, CTAs, and advertiser info. Ideal for marketing analytics, ad intelligence, and competitor research with full proxy support and clean JSON output.

Google Ad Transparency Scraper

seemuapps/google-ads-transparency-scraper

Scrape every Google ad creative for any advertiser or domain โ€” image, text, and video ads with run dates, regions, and asset URLs.

Meta Ad Library Ads Scraper

adside/meta-ad-library-ads-scraper

Scrape active Meta Ad Library ads by Facebook page ID. Get ad creatives, copy, media, CTAs, landing URLs, dates & platforms for competitor research.

Facebook Ad Library Scraper

saswave/facebook-ad-library-scraper

$1 / 1000 results. Extract Creatives, Spend Signal & Transparency Data from Meta Ads Library. Providing ad creative, copy, media, CTA, delivery period, platforms, transparency data, and advertiser info. Ideal for marketing intelligence, competitor analysis, brand monitoring, compliance research.

TikTok Ad Library Scraper

rastriq/tiktok-ad-library-scraper

Scrape the TikTok Commercial Content Library for ad creatives, advertiser info, and campaign metadata. Monitor competitor ad strategies on TikTok.

๐Ÿ‘ User avatar

Rastriq โ€” Structured data from the world

10

Facebook & Meta Ad Library Scraper - Competitor Ads & Creatives

jy-labs/meta-ad-library-multi-search-scraper

Scrape Facebook and Instagram ads from Meta Ad Library. Run up to 5 keywords, target exact advertiser Page IDs, and export ad creatives, copy, CTA links, media URLs, start dates, and platform data.

202

5.0