Facebook Ads Library Scraper
Pricing
from $1.40 / 1,000 results
Facebook Ads Library Scraper
[💰$2 / 1K] Meta Ad Library scraper for Facebook, Instagram, Messenger and Threads ads. No login, no API key. Search by keyword, advertiser page or ad URL with country, date, platform and media filters. Get ad copy, images, videos, carousel cards, dates, page info, spend and reach.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Aboo Script
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share

Facebook Ads Library Scraper extracts ads from the Meta Ad Library into clean, structured data you can download as JSON, CSV, Excel, or HTML. Paste an Ad Library search, advertiser page, or ad URL, or type a few keywords, and get the ad copy, images, videos, start and end dates, platforms, advertiser details, and spend and reach for political ads. No account or login required.
Introduction
The Meta Ad Library is Meta's public archive of ads running on Facebook, Instagram, Messenger, Threads, and the Audience Network. Marketers, agencies, researchers, and journalists use it to see which ads a brand is running, how long they run, and, for political and issue ads, who paid for them and how much was spent.
This actor collects the same public information you see in your browser and turns it into a ready-to-use dataset. You can run it once, schedule it to run daily, or connect it to your own tools.
What data can you extract from the Meta Ad Library?
- 🆔 Ad Library ID, direct ad URL, and number of ad versions
- 🏢 Advertiser name, page URL, profile picture, page likes, and page categories
- 📝 Ad text, headline, caption, link description, and call-to-action button
- 🔗 Landing page link and extra links
- 🖼️ Images, videos (HD and SD), video preview images, and carousel cards
- 📅 Active status, start date, and end date
- 📱 Platforms where the ad runs (Facebook, Instagram, Messenger, Threads, Audience Network) and ad format
- 💰 Spend, impressions, reach estimate, currency, "paid for by" line, and payer for political and issue ads
- 🌍 Targeted or reached countries, ad categories, and AI-generated or sensitive content flags
- 📊 Total number of ads found for your search
Use Cases
- 📈 Market research: see which offers, messages, and formats are being advertised in your niche right now.
- 🕵️ Competitor monitoring: track every ad a competitor runs, when it started, and on which platforms.
- 🎨 Creative inspiration: collect ad copy, images, and videos to brief designers and copywriters.
- 🗳️ Political ad research: follow spend, impressions, and payers of political and issue ads.
- 🤝 Lead generation: build lists of active advertisers in any market.
- 🤖 AI and automation: feed clean, structured data into spreadsheets, dashboards, or AI workflows.
How to scrape the Meta Ad Library step by step
- Paste one or more Ad Library URLs into Ad Library URLs, or type keywords into Search keywords.
- Set Maximum number of ads to how many ads you want per URL or per keyword.
- Optionally pick filters for your keywords, such as country, active status, ad category, or platforms.
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, Excel, or HTML from the Output tab.
Input
- Ad Library URLs: Meta Ad Library URLs to scrape. Supported pages: keyword search results, an advertiser's page of ads (
view_all_page_id), and a single ad (?id=). Any filters you apply on the website (country, active status, ad category, media type, platforms, languages, dates) are kept in the results. - Search keywords: keywords to search in the Ad Library. Each keyword is scraped separately.
- Maximum number of ads: how many ads to collect for each URL or keyword. Default is 5. Use 0 for no limit.
- Country: two-letter country code where the ads ran (for example US, GB, DE), or ALL for every country. Default is ALL.
- Active status: active ads, inactive ads, or both. Default is active ads.
- Ad category: all ads, issues, elections or politics, housing, employment, or financial products and services.
- Media type: all media, images, videos, memes, images and memes, or ads without image or video.
- Keyword match: match any of the words, or the exact phrase.
- Platforms: only ads shown on Facebook, Instagram, Messenger, Audience Network, or Threads. Leave empty for all platforms.
- Started on or after and Started on or before: only ads that started running within these dates.
- Proxy configuration: residential proxies are used by default and are required to collect more than the first 30 ads of a search.
The filters from Country to Started on or before apply to search keywords only. You can use Ad Library URLs, search keywords, or both in the same run.
Input Examples
Scrape an Ad Library search URL:
{"startUrls": [{"url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=nike&search_type=keyword_unordered&media_type=all"}],"maxResults": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Search by keywords:
{"searchQueries": ["running shoes"],"maxResults": 5,"country": "ALL","activeStatus": "active","adType": "all","mediaType": "all","searchType": "keyword_unordered","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Each ad is saved as one item in the dataset. Here is an example of a single item (long media links are shortened):
{"url": "https://www.facebook.com/ads/library/?id=3185826644950547","adArchiveId": "3185826644950547","pageId": "159616034235","pageName": "Walmart","pageUrl": "https://www.facebook.com/walmart/","pageProfilePictureUrl": "https://scontent.fmlg11-1.fna.fbcdn.net/v/t39.35426-6/800925447_1071719669102822_853143289454951291_n.jpg?...","pageLikeCount": 31924748,"pageCategories": ["Retail company"],"isActive": true,"startDate": "2026-09-09T07:00:00.000Z","endDate": "2026-10-26T07:00:00.000Z","publisherPlatforms": ["Facebook", "Instagram"],"displayFormat": "Dynamic Creative","body": "More brands than the eye can see 👓 ✨ Oscar by Oscar de la Renta, Nike, DKNY & more. Who knew?","title": "Prescription Glasses - Walmart.com","caption": "walmart.com","linkUrl": "https://www.walmart.com/cp/prescription-glasses/1907657","linkDescription": null,"ctaText": "Shop now","images": [],"videos": [],"cards": [{"title": null,"body": "More brands than the eye can see 👓 ✨ Oscar by Oscar de la Renta, Nike, DKNY & more. Who knew?","caption": null,"linkUrl": "https://www.walmart.com/cp/prescription-glasses/1907657","linkDescription": null,"ctaText": "Shop Now","imageUrl": null,"resizedImageUrl": null,"videoHdUrl": "https://video.fmlg11-1.fna.fbcdn.net/o1/v/t2/f2/m366/AQMx3InKp7wOTjWc-VESMtrx5Nc3VAFcrZ2YRX7pvx0RhA7evulkQz0cyaEPMf_wpaz0EU8AcnoT3kaHXt1uJJ4UjLF3z0R5oxMORn3hJAlhKw.mp4?...","videoSdUrl": "https://video.fmlg11-1.fna.fbcdn.net/o1/v/t2/f2/m412/AQMddhKrjYyJ29AZws3WYFzy2UCdWdbt77GxCB-X7VBcW4FN3Lp_tR57jJJKJMOlqr0f1592k-7HVbts_lbo74P3iAj17THiNLY2hMumjw.mp4?...","videoPreviewImageUrl": "https://scontent.fmlg11-1.fna.fbcdn.net/v/t39.35426-6/801045972_1465105502122307_1092039215951398992_n.jpg?..."}],"extraLinks": [],"extraTexts": [],"adCategories": [],"byline": null,"spend": null,"currency": null,"impressions": null,"reachEstimate": null,"targetedOrReachedCountries": [],"payerInfo": null,"containsAiGeneratedMedia": false,"containsSensitiveContent": false,"collationId": "1618301556302158","collationCount": 2,"totalResults": 21663,"sourceUrl": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=nike&search_type=keyword_unordered&media_type=all"}
You can download the dataset in JSON, CSV, Excel, XML, or HTML, or access it through the Apify API.
Notes
- Residential proxies are required to collect more than the first 30 ads of a search. Without them the Ad Library stops returning results after the first 30 ads.
- Only Ad Library search, advertiser page, and single ad URLs are supported. Other URLs, such as the Ad Library home page without a keyword or advertiser, are skipped.
- Ads that have several versions are returned one item per version.
collationIdandcollationCountshow which ads belong together. - Spend, impressions, reach estimate, byline, and payer are only shown by the Ad Library for political and issue ads. For other ads they are
null. - Media links (images, videos) come from Meta's servers and expire after some time. Download the files soon after the run if you need to keep them.
totalResultsis the number of ads the Ad Library reports for your search, which is an estimate.
Why use the Facebook Ads Library Scraper?
- ✅ No login needed: works with public data only, so there is no Facebook account to manage.
- 🎯 Keeps your filters: paste any Ad Library URL from your browser and get exactly what you see there.
- 🔎 Three ways in: search by keyword, scrape all ads of an advertiser, or fetch one ad by its URL.
- 🧹 Clean data: numbers are real numbers, dates use one standard format, and every carousel card and video is listed.
- 💸 Pay for what you need: set a result limit per URL or keyword and keep every run small and cheap.
- 🔄 Ready for automation: schedule runs, export to Google Sheets, or connect to Make, Zapier, and n8n.
FAQ
How many ads can I scrape?
You can set any number in Maximum number of ads, or 0 for no limit. The actor keeps going until it reaches your limit or runs out of ads for that URL or keyword.
Do I need a Facebook account?
No. The actor only collects publicly available data from the Ad Library. You do not need to log in or provide any account details.
How do I scrape all ads of one advertiser?
Open the advertiser in the Ad Library, copy the URL of their ads page (it contains view_all_page_id), and paste it into Ad Library URLs.
Can I scrape data on a schedule?
Yes. Use Apify Schedules to run the actor every hour, day, or week, and get fresh ads automatically.
Why are some fields empty?
Not every ad shows every piece of information. When a field is not available in the Ad Library, it is returned as null or an empty list.
Can I request a new feature or filter?
Yes. Right now the actor supports Ad Library URLs, keywords, and the filters listed above. If you need other inputs, such as content language for keywords or extra EU transparency details, get in touch and they can be added.
Can I get a custom or private version?
Yes. The actor can be customized for your workflow, delivered as a private version, or a new scraper can be built for a different website. Use the contact details below.
Need help or want a custom solution?
- 📧 Email: aboo.script@gmail.com
- 🧩 More scrapers: Apify profile
Image Credit
Image credit: Meta Ad Library