Facebook Ad Library Scraper: Winning Ads, Meta, EU Reach
Pricing
from $0.40 / 1,000 ads
Facebook Ad Library Scraper: Winning Ads, Meta, EU Reach
Facebook Ad Library scraper for Meta ads by keyword, page or Ad Library link. Ad text, creatives, landing page, days running, winning-ad filters and EU reach. No login.
Pricing
from $0.40 / 1,000 ads
Rating
0.0
(0)
Developer
Himanshu Agrawal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Facebook Ad Library Scraper (Meta Ads, Winning Ads, EU Reach)
This Facebook Ad Library scraper pulls ads from the Meta Ad Library (Facebook, Instagram, Messenger, Threads and Audience Network) by keyword, advertiser or any Ad Library link. Every ad comes with its text, headline, landing page, call to action, images, videos and carousel cards, plus the start date, days running, platforms, how many ads use the same creative and the advertiser's page. Keep only winning ads, and add EU reach by country, age and gender and who paid for the ad, with no login, no Facebook account and no API token.
What you can use it for
- Competitor ad research: scrape every running Facebook and Instagram ad of a competitor, with its offers, hooks and landing pages.
- Find winning ads for e-commerce and dropshipping: keep ads that have run for 30+ days, or creatives used in many ads.
- Creative inspiration and swipe files: headlines, ad copy, calls to action and videos for any niche.
- Agency prospecting: find brands that advertise on Meta, with their page, likes and Instagram.
- EU and political ads research: reach by age and gender for ads shown in the EU, spend and impressions for political ads, and who paid.
How to use
- Open the Facebook Ad Library Scraper page and click Try for free (you sign in to your Apify account).
- Enter search keywords, advertiser pages, or links copied from facebook.com/ads/library.
- Pick a country and, if you want, set Min days running or Min ads using the same creative.
- Click Start. Ads appear in the Output tab with thumbnails.
- Export as JSON, CSV or Excel.
API: POST https://api.apify.com/v2/acts/himanshu-data~meta-ad-library-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN> with the input as JSON in the body returns the ads in one call.
Input
| Field | What it does |
|---|---|
| Search keywords | A product, niche, brand or competitor. One per line. |
| Match the exact phrase | Only ads with that exact phrase. |
| Advertisers (Facebook pages) | Page names (Nike), page links, page IDs or Ad Library page links. |
| Ad Library links | Links copied from facebook.com/ads/library: a search with your filters, an advertiser, or one ad. |
| Country, ad status, category, media type, platforms, languages, start dates, sort | The same filters as the Ad Library. |
| Max ads per keyword, advertiser or link | Meta returns about 10 ads per page. |
| Min days running, Min ads using the same creative | Winning-ad filters. Skipped ads are free. |
| Add ad details | EU reach, target audience, who paid and advertiser profile (extra event). |
{"searchQueries": ["protein powder"],"pages": ["Nike"],"country": "US","maxAdsPerSource": 200,"minDaysRunning": 30}
Output
One row per ad (real output, October 2026; shortened):
{"adArchiveId": "1298488261783748","pageName": "Whatnot","adText": "Take your sneaker game to the next level with incredible deals on the hottest styles⚡Live on Whatnot","headline": "Whatnot: Shop, Sell, Connect","displayLink": "itunes.apple.com","linkUrl": "http://itunes.apple.com/app/id1488269261","ctaText": "Install now","displayFormat": "VIDEO","isActive": true,"startDate": "2026-05-13T07:00:00.000Z","daysRunning": 160,"adsUsingThisCreative": 2,"platforms": ["facebook", "instagram", "messenger"],"videos": [{ "hdUrl": "https://video-phl2-1.xx.fbcdn.net/...", "previewImageUrl": "https://scontent-phl2-1.xx.fbcdn.net/..." }],"pageId": "112727500143177","pageUrl": "https://facebook.com/RealWhatnot","pageLikes": 302751,"adLibraryUrl": "https://www.facebook.com/ads/library/?id=1298488261783748"}
Rows also include image URLs, carousel cards, text variants, page picture and categories, countries, and spend, impressions and "paid for by" for political ads.
With Add ad details, an ad shown in Germany gets (real output, shortened):
{"euTotalReach": 3846070,"targetLocations": [{ "name": "Germany", "type": "countries", "excluded": false }],"targetGender": "All","targetAgeMin": 18,"targetAgeMax": 65,"euReachByCountryAgeGender": [{ "country": "DE", "ageRange": "25-34", "male": 758405, "female": 621360, "unknown": 41997 }],"payers": [{ "payer": "essencemediacom", "beneficiary": "adidas" }],"instagramFollowers": 29831342}
Pricing
$0.50 per 1,000 ads on paid Apify plans, less on Scale and Business. Ad details cost $0.50 per 1,000 ads more, only when turned on. Ads skipped by the winning-ad filters are free.
Integrations
- Apify API to start runs and read the ads from any language.
- Python and JavaScript clients (
apify-client) for scripts and dashboards. - Zapier, Make and n8n to send new ads to Google Sheets, Airtable, Notion or Slack.
- MCP for AI agents: connect the Apify MCP server to Claude, ChatGPT or another MCP client and the agent can search the Ad Library through this Actor.
- Schedules and webhooks in Apify Console to track a competitor's ads every week.
FAQ
Do I need a Facebook account or a Meta API token? No. You only need an Apify account. The Actor reads the public Ad Library without login.
How many ads can I get? Up to 50,000 ads per keyword, advertiser or link. Meta returns about 10 ads per page, so large runs take longer.
Why did I get fewer ads than I asked for? The Ad Library may simply have fewer ads for that search, country or status (the default is active ads only). The winning-ad filters also skip ads, and skipped ads are free. Try all countries, ad status "Active and inactive", or a broader keyword.
How do I find winning ads? Set Min days running (for example 30) to keep ads an advertiser keeps paying for, and Min ads using the same creative to keep creatives that were scaled into many ads.
Can I scrape a filtered Ad Library search? Yes. Set filters on facebook.com/ads/library, copy the link and paste it into Ad Library links: every filter is kept.
Can I schedule it? Yes. Create a schedule in Apify Console and connect Zapier, Make, n8n or a webhook to get the ads where you work.
Which export formats are there? JSON, CSV, Excel, XML, HTML and JSONL from the dataset, or the API.
Is it legal to scrape the Meta Ad Library? The Ad Library is a public transparency tool, and the Actor collects only that public data. Follow Meta's terms and the laws where you live, and take care with any personal data. This is not legal advice.
Tips
- Days running counts from the start date to today for running ads, and to the end date for stopped ads.
- Catalog ads (format DPA) show placeholders such as
{{product.name}}in the headline; the real products are incards. - Image and video links from Meta expire after a few days, so download what you want to keep.
- EU reach details exist only for ads shown in the EU.
- Meta rate-limits data-center proxies. If the proxy you pick keeps hitting the limit, the run switches to residential proxies by itself.
- Need Google ads too? Use our Google Ads Transparency Scraper.