Facebook Ads Library Scraper
Pricing
$15.99/month + usage
Facebook Ads Library Scraper
The Facebook Ads Library Scraper extracts ad data from Facebook’s Ad Library, including advertiser details, ad text, impressions, and targeting info. Ideal for ad research, marketing insights, and competitor analysis, it delivers clean, structured data for analysis or integration via API.
Pricing
$15.99/month + usage
Rating
4.2
(6)
Developer
Scraper Engine
Maintained by CommunityActor stats
5
Bookmarked
405
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
📢 Facebook Ads Library Scraper Plus
Scrape the Meta (Facebook & Instagram) Ad Library — ad creatives, copy, CTAs, landing URLs, timing, advertiser context, and the EU DSA transparency reach block (audience reached by age × country × gender) that most scrapers throw away. Search by keyword or by page/Ad-Library URL, filter the results, and optionally enrich each ad's copy with AI.
Keywords: facebook ads scraper, meta ad library, instagram ads, ad intelligence, competitor ad research, ad transparency, EU DSA reach, ad spend, ad creatives, marketing intelligence, ad copy analysis, ad library API alternative, ad monitoring.
What it does
- Two input modes: paste Facebook page URLs / Ad Library links, or just type keyword search terms + countries (no URL needed).
- Full ad data: ad copy, title, caption, CTA text/type, landing URL, creative type (image / video / carousel / text), first image & video URLs, page likes, categories.
- EU DSA transparency + reach (flagship): for ads delivered in the EU, the per-DSA
audience-reached breakdown —
euTotalReach,euReachByCountryAgeGender(age × country × gender rows),euReachCountries, age/gender audience, and the rawtransparencyByLocationblock. (Requires "Enrich each ad" on; populated only for EU-delivered ads — non-EU ads reportnull/false, never a fake0.) - Per-ad deep link:
adLibraryUrlopens the exact ad in Meta's Ad Library. - Advertiser block: page name, category, Instagram handle & followers, verification, page creation date, page spend — when Meta exposes them.
- Derived analytics:
adDurationDays,creativeType,hasVideo/hasImage/isCarousel,cardCount,destinationDomain,platformCount/isMultiPlatform, spend/impressions midpoints,scrapedAt. - Filters: must-contain / exclude keywords, media type, publisher platforms, min page likes, min EU reach, started-after / started-before dates, dedup (by ad ID always; by page optionally).
- Optional AI ad-copy enrichment: sentiment, tone, one-line summary, target audience, keywords, language — multi-provider (Claude / OpenAI / Gemini / Grok / DeepSeek / Perplexity / Mistral). Needs your API key; off by default.
Input (summary)
| Field | What it does |
|---|---|
startUrls | Facebook page URLs or Ad Library links (strings or {url,label,limit,period}). |
searchTerms + searchCountries + searchMode | Keyword-search mode (no URL required). |
resultsLimit | Max ad rows across all sources (default 10). |
isDetailsPerAd | Per-ad details lookup — required for the EU reach + advertiser block (default on). |
onlyTotal | One summary row per source with the total ad count. |
includeAboutPage | Attach a page's public "about" snippet (page sources). |
countryCode / activeStatus / adType / mediaType | Query scope defaults. |
publisherPlatforms, keywords, excludeKeywords, minPageLikes, minEuReach, onlyAdsNewerThan, onlyAdsOlderThan, filterDuplicatePageIds | Result filters. |
aiEnhancement / aiModel / aiApiKey | Optional AI ad-copy enrichment. |
proxyConfiguration | Optional Apify Proxy (residential when enabled). |
Output
One row per ad with flattened top-level columns (see the dataset Overview table) plus
nested snapshot, advertiser, and transparencyByLocation. Availability notes:
- Spend, impressions, and reach are restricted by Meta to political/issue ads and EU
delivery. For ordinary commercial ads these fields are
null— this actor never fabricates a0or a placeholder. - The EU reach block requires
isDetailsPerAdon and an ad actually delivered in the EU.
How it works
Uses Playwright to obtain public cookies and discover the Ad Library GraphQL doc_ids from
Meta's JS bundles, then paginates the public search endpoint and (optionally) an ad-details
query. This is a reverse-engineered path over the public Ad Library, not the official
Meta Ad Library API; Meta may change the internals at any time.
Billing
Pay-per-event: one row_result event per ad row written to the dataset (configure the event
in Console → Publication → Monetization).
Legal
Public Ad Library data only. You are responsible for compliance with Meta's terms and applicable laws.