Meta Ad Library Scraper - Facebook & Instagram Ads
Pricing
from $0.80 / 1,000 ad results
Meta Ad Library Scraper - Facebook & Instagram Ads
Scrape Facebook and Instagram ads from the Meta Ad Library by keyword, advertiser page or URL - ad copy, creatives, CTA, dates, platforms and status.
Pricing
from $0.80 / 1,000 ad results
Rating
0.0
(0)
Developer
Andrew
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Scrape every ad in the Meta Ad Library for any keyword, advertiser page or Ad Library URL - ad copy, headlines, creatives, call-to-action, landing page, run dates, platforms and active status. No login, no cookies, no Meta developer account.
What you get
One dataset row per ad with:
- Identity:
adArchiveId,adLibraryUrl,pageId,pageName,pageProfileUrl,pageLikeCount,pageCategories - Status and timing:
isActive,startDate,endDate,totalActiveTimeSeconds - Ad copy:
title,body,caption,linkDescription,ctaText,ctaType,linkUrl,extraTexts,extraLinks - Creatives:
images(direct URLs),videos(HD/SD MP4 + preview image),cardsfor carousel ads,displayFormat - Distribution:
publisherPlatforms(facebook, instagram, messenger, threads, audience_network),collationCount(number of variants) - Political and issue ads:
spend,currency,reachEstimate,impressions,disclaimer,byline
Export to JSON, CSV, Excel or Google Sheets from the Apify console, or pull the dataset via API.
Use cases
- Competitor ad monitoring - track every active ad a competitor page is running and when creatives change
- Creative research and swipe files - pull ad copy, hooks and video creatives for a niche keyword
- Ad spend intelligence - see which advertisers dominate a keyword by impressions and how long ads have run
- Lead generation - find businesses actively advertising in a category or country
- Political ad transparency - collect spend, reach and disclaimer data for political and issue ads
How to use
- Enter one or more Keywords (e.g.
protein powder), Advertiser page IDs (theview_all_page_idnumber from an Ad Library URL), or paste full Ad Library URLs - filters embedded in a URL are honoured automatically. - Pick a Country (2-letter code or
ALL), Ad status (active, inactive or all), Media type, and optionally a Language and Start/End date window. - Set Max ads per query (default 100;
0pages through the whole result set). - Run the actor. Results appear in the Dataset tab, one row per ad.
To find a page ID: open the advertiser's page in the Ad Library and copy the number after view_all_page_id= in the URL, or just paste that URL into Ad Library URLs.
Output example
{"query": "lululemon","queryType": "keyword","adArchiveId": "1399070072320010","adLibraryUrl": "https://www.facebook.com/ads/library/?id=1399070072320010","isActive": true,"startDate": "2026-08-25T07:00:00.000Z","endDate": "2026-09-18T07:00:00.000Z","pageId": "33693527731","pageName": "lululemon","pageLikeCount": 3701264,"pageCategories": ["Clothing (Brand)"],"publisherPlatforms": ["facebook", "instagram"],"displayFormat": "DCO","title": "Bring the racket.","body": "Quiet? Please. New tennis gear lets your game speak volumes.","caption": "shop.lululemon.com","linkUrl": "https://shop.lululemon.com/story/tennis","ctaText": "Learn more","ctaType": "LEARN_MORE","images": [],"videos": [{ "hdUrl": "https://video.xx.fbcdn.net/...mp4", "sdUrl": "...", "previewImageUrl": "..." }],"cards": [],"collationCount": 2}
Pricing
Pay per event: a small fee per search page fetched plus a fee per ad returned. Free-plan users are capped at 30 ads per run; upgrade to any paid Apify plan to remove the cap.
FAQ
Which countries are supported? Any country the Ad Library covers. Use a 2-letter ISO code (US, GB, AU, DE, BR ...) or ALL.
Can I get inactive ads? Yes - set Ad status to INACTIVE or ALL. Inactive ads keep their creatives and copy.
Do I get spend and impressions? Meta only publishes those ranges for political and social-issue ads. For commercial ads the fields are null; use collationCount, totalActiveTimeSeconds and the impressions sort order as proxies.
Are the media URLs permanent? Creative URLs are signed CDN links that expire after a few days. Download them promptly if you need to keep the files.
How many ads can I scrape? The Ad Library reports up to ~50,000 matches per keyword. Set Max ads per query to 0 and the actor pages through all of them within the run timeout.