The Facebook Ads Library is one of the most valuable public transparency resources on the internet. Created in response to political advertising concerns, it provides open access to all active and inactive ads running across Meta platforms — Facebook, Instagram, Messenger, and the Audience Network.
For researchers, journalists, marketers, and political analysts, this data is a goldmine. But extracting it at scale is harder than it looks.
Why Facebook Ads Library Data Matters
For marketers and agencies, the Ads Library reveals exactly what your competitors are running — their ad creative, copy, targeting signals, and how long campaigns have been active. This isn't speculation or third-party estimates. It's the actual ads, straight from Meta. Understanding what competitors test, what they scale, and what they kill tells you more about their strategy than any market report.
For political researchers and journalists, the Ads Library is essential for tracking political advertising spend, identifying dark money patterns, and ensuring electoral transparency. With elections around the world, having structured access to this data enables analysis that manual browsing simply can't achieve.
The Challenge: Extracting Ads Library Data at Scale
The Facebook Ads Library UI is designed for casual browsing, not bulk data extraction:
- No bulk export — You can browse ads one at a time, but there's no "download all" button
- Pagination limits — The interface caps how many results you can scroll through
- Rate limiting — The official API has strict request limits and requires approved access
- Complex filtering — Combining country, advertiser, date range, and category filters programmatically requires careful API work
- Data format — The API returns nested JSON that needs significant processing to become analysis-ready
Building a reliable extractor means handling authentication, pagination, error recovery, and data normalization — a substantial engineering effort for what should be a straightforward data task.
The Easy Way: Pre-Built Facebook Ads Library Actor
Skip the API complexity. Use a ready-made actor that handles all the extraction logic.
Facebook Ads Library Scraper on Apify extracts ads data with pay-per-result pricing — you only pay for ads successfully extracted.
Quick Start with Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cryptosignals/facebook-ads-library-scraper").call(
run_input={
"country": "US",
"searchTerms": ["solar panels"],
"adType": "ALL",
"maxResults": 200
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Advertiser: {item.get('advertiserName')}")
print(f" Status: {item.get('adStatus')} | Started: {item.get('startDate')}")
print(f" Platforms: {', '.join(item.get('platforms', []))}")
print(f" Creative: {item.get('adText', '')[:100]}")
No API approval process. No pagination headaches. No rate limit management. Just structured ad data.
Real-World Use Cases
1. Competitive Ad Intelligence
A D2C brand launching in the skincare category scrapes competitor ads to understand messaging themes, offers, and creative formats that are working. They identify that competitors are scaling video testimonials over static images — informing their own creative strategy before spending a dollar on ads.
2. Political Advertising Research
A journalism team tracks political ad spend across swing states during an election cycle. They extract all political ads by region, identify top spenders, analyze messaging themes, and publish transparency reports. What would take weeks of manual browsing takes hours with structured data.
3. Agency Pitch Preparation
A digital agency preparing a pitch for a prospective client uses the Ads Library scraper to pull every ad the prospect and their competitors have run in the past year. They walk into the pitch with a competitive landscape analysis that demonstrates deep market understanding.
4. Market Entry Analysis
A company expanding into a new geographic market uses the scraper to understand the local advertising landscape. What categories are most competitive? Which players dominate? What messaging resonates locally? Ads Library data answers these questions with real evidence, not assumptions.
What Data You Get
Each extracted ad includes:
- Advertiser name and page information
- Ad creative (text, images, videos)
- Ad status (active/inactive)
- Start and end dates
- Platforms (Facebook, Instagram, Messenger)
- Impressions and spend ranges (for political ads)
- Targeting information (when available)
- Ad category and disclaimer text
Pricing
Pay-per-result pricing — you only pay for ads successfully extracted. No monthly minimums, no wasted credits.
Try the Facebook Ads Library Scraper →
Built by Web Data Labs — reliable web data actors for developers and data teams.
Ready to start scraping without the headache? Create a free Apify account and run your first actor in minutes. No proxy setup, no infrastructure — just data.
Skip the Build
You don't have to reinvent this. We maintain a production-grade scraper as an Apify actor — proxies, anti-bot, retries, and schema all handled. You can run it on a pay-per-result basis and get clean JSON without writing a single line of scraping code.
Top comments (0)