Facebook Ads Library Scraper Pro: Meta Ads by Keyword/Page
Pricing
$2.00 / 1,000 ads
Facebook Ads Library Scraper Pro: Meta Ads by Keyword/Page
Scrape ads from Meta's public Ad Library by keyword, Page ID or ready-made URL. Full ad text, images & videos, CTA, links, platforms, dates, copies count, spend & impressions. Duplicates and failures never charged. $0.002 per ad.
Pricing
$2.00 / 1,000 ads
Rating
0.0
(0)
Developer
Mohamed Arafa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Facebook Ads Library Scraper Pro – Meta Ads by Keyword, Page or URL
Get ads from Meta's public Ad Library (facebook.com/ads/library) by keyword, Facebook Page ID or a ready-made Ad Library link. Every ad comes with its full text, headline, call-to-action, landing page, images & videos, platforms, run dates, number of copies, and spend & impressions when Meta publishes them. Export to JSON, CSV or Excel in one click. Duplicates and failed requests are never charged.
$0.002 per ad ($2 per 1,000 ads), only for new, successfully delivered ads.
Why this scraper?
| Typical problem | Facebook Ads Library Scraper Pro |
|---|---|
| Runs return empty when the page refuses a request | Retries automatically with a fresh browser session and new proxy IP on any empty or refused response |
| Only the first handful of ads | Follows the page's own infinite scroll – thousands of ads per query |
| Truncated ad copy | Full ad text, headline, link description, CTA and display URL |
| Media missing | All images and videos (HD video URL + thumbnail), carousels included |
| Same ad counted many times | De-duplicated by ad_archive_id; ad_count_in_group tells you how many copies exist |
| Paying for nothing | No results = clear reason in the log and $0 |
| Need a login / cookies | None. Only the public page that opens without signing in |
Input
Provide at least one of searchTerms, pageIds or urls.
{"searchTerms": ["nike", "shopify"],"pageIds": ["15087023444"],"urls": [{ "url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&media_type=video&q=nike&search_type=keyword_unordered" }],"country": "US","adType": "all","activeStatus": "active","mediaType": "all","startDate": "2025-01-01","endDate": "2026-12-31","language": "en","maxAdsPerQuery": 100,"maxTotalAds": 1000}
- searchTerms / pageIds / urls – any mix; each entry is its own query. Ready-made URLs keep the filters you set in the browser.
- country – 2-letter code or
ALL(default). - adType –
allorpolitical_and_issue. - activeStatus –
active(default),inactiveorall. - mediaType –
all,imageorvideo. - startDate / endDate – ads that started within this window (
YYYY-MM-DD). - language – ad content language code.
- maxAdsPerQuery (default 100) and maxTotalAds (default 1000) – hard limits.
- proxyConfiguration – Apify Proxy (recommended). Switch to the
RESIDENTIALgroup if your datacenter IPs get refused. - accessToken – optional, see Official API fallback.
Output example
{"ad_archive_id": "1885140209512519","page_id": "15087023444","page_name": "Nike","page_profile_url": "https://www.facebook.com/nike/","ad_library_url": "https://www.facebook.com/ads/library/?id=1885140209512519","status": "active","start_date": "2026-09-09","end_date": "2026-10-25","platforms": ["facebook", "instagram"],"ad_text": "Built for the long run. Meet the new Pegasus.","headline": "Nike Pegasus 42","link_description": null,"cta_type": "SHOP_NOW","cta_text": "Shop now","link_url": "https://www.nike.com/running","display_url": "nike.com","display_format": "VIDEO","media": [{ "type": "video", "url": "https://video.xx.fbcdn.net/….mp4", "thumbnail_url": "https://scontent.xx.fbcdn.net/….jpg" }],"ad_count_in_group": 4,"is_political": false,"spend": null,"impressions": null,"currency": null,"page_like_count": 39000000,"page_categories": ["Sportswear Store"],"scraped_at": "2026-10-26T01:00:00.000Z"}
spend, impressions and currency are filled whenever Meta publishes them (mainly political and issue ads). display_format can be IMAGE, VIDEO, CAROUSEL, DCO or DPA (dynamic ads). Media URLs are Meta CDN links that expire after a while – download them if you need to keep them.
Export
Open the run's Dataset and download as JSON, CSV, Excel (XLSX), HTML, XML or RSS – or fetch it via the API.
How it works (and what it will not do)
The Actor opens the public Ad Library page – the one that works without signing in – in a real browser, reads the ads from the page's own data and follows its infinite scroll. It never logs in, never uses account cookies, never solves CAPTCHAs and never works around protections. When a response comes back empty or refused, it simply tries again with a new session (and a new proxy IP).
Official API fallback
If the public page were ever closed completely, paste an access token for Meta's official Ad Library API into accessToken. The Actor then serves the same query through the API. This path returns the fields the API offers (text, headline, dates, platforms, spend/impressions where available, snapshot link) but no media files or CTA. It is used only after the public page failed and only if you provide a token.
Pricing
Pay-per-event: one ad event = $0.002 per unique ad delivered to the dataset = $2 per 1,000 ads.
- Duplicate ads (same
ad_archive_id) are charged once per run. - Failed or empty requests are not charged.
- The Actor respects your maximum cost per run and stops politely when it is reached.
Platform usage (compute, proxy) is included in the event price on Apify's pay-per-event model.
Use cases
- Competitor research – see every creative and message a brand is running right now
- Creative inspiration – filter by video or image, country and language
- Ad monitoring – schedule daily runs and track new launches by page
- Political & issue ad transparency – spend and impressions ranges where published
- Agencies & AI pipelines – feed ad copy and media into dashboards, swipe files and LLM analysis
FAQ
Do I need a Facebook account? No.
Why fewer results than the Ad Library website shows? Each query is limited by Max ads per query; raise it, or split by country, date range or media type.
Why is spend empty? Meta publishes spend and impressions mainly for political and issue ads.
Can I call it from code, Make, Zapier, n8n or an AI agent? Yes – via the Apify API, clients and integrations.
Ad Library data is public information published by Meta. You are responsible for using it in line with applicable laws and Meta's terms.