Meta Ad Library Multi Search Scraper
Pricing
from $9.00 / 1,000 results
Meta Ad Library Multi Search Scraper
Scrape Facebook and Instagram ads from Meta Ad Library. Extract competitor ad creatives, copy, CTA links, and platform data with multi-keyword search. Supports 22+ countries, date filters, and media type filters.
Pricing
from $9.00 / 1,000 results
Rating
0.0
(0)
Developer

Juyeop Park
Actor stats
0
Bookmarked
5
Total users
2
Monthly active users
6 hours ago
Last modified
Categories
Share
Scrape Facebook and Instagram ads from Meta Ad Library. Extract competitor ad creatives, copy, targeting data, and performance insights with multi-keyword search support.
Features
- Multi-keyword search: Search multiple brands or products in a single run
- 22+ countries supported: US, UK, Germany, Japan, Korea, and more
- Advanced filters: Filter by active status, media type, date range
- Complete ad data: Extract images, videos, ad copy, CTA links, platforms
- Anti-detection: Built-in proxy support and browser fingerprint rotation
Use Cases
- Competitor Analysis: Monitor competitor ad strategies and creatives
- Market Research: Discover trending ad formats in your industry
- Creative Inspiration: Build a swipe file of high-performing ads
- Brand Monitoring: Track how brands advertise across Meta platforms
- Agency Research: Gather ad intelligence for client pitches
Input Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
keywords | array | Search keywords (max 10 per run) | Required |
country | string | Country code (US, KR, JP, GB, etc.) | KR |
adType | string | "all" or "political_and_issue_ads" | all |
activeStatus | string | "all", "active", or "inactive" | all |
mediaType | string | "all", "image", "meme", "video", "none" | all |
startDateMin | string | Minimum start date (YYYY-MM-DD) | - |
startDateMax | string | Maximum start date (YYYY-MM-DD) | - |
maxResults | integer | Max ads per keyword (1-200) | 30 |
requestHandlerTimeoutSecs | integer | Timeout per request in seconds (60-600) | 300 |
Example Input
{"keywords": ["Nike", "Adidas", "Puma"],"country": "US","activeStatus": "active","mediaType": "video","maxResults": 50}
Output Data
Each ad includes:
| Field | Description |
|---|---|
libraryID | Unique Meta Ad Library identifier |
keyword | Search keyword that found this ad |
brand | Advertiser name |
brandImg | Advertiser profile image URL |
body | Ad copy/text content |
startDate | When the ad started running (YYYY-MM-DD format) |
isActive | Whether ad is currently active |
platforms | Platforms (Facebook, Instagram, Messenger, Audience Network, Threads) |
images | Array of image objects with url property |
videos | Array of video objects with url and posterUrl properties |
ctaLink | Call-to-action destination URL |
scrapeDate | When the data was collected (ISO 8601 format) |
Example Output
{"libraryID": "123456789012345","keyword": "Nike","brand": "Nike","brandImg": "https://scontent.xx.fbcdn.net/...","body": "Just Do It. Shop the latest Nike Air Max collection.","startDate": "2024-01-15","isActive": true,"platforms": ["Facebook", "Instagram"],"images": [{ "url": "https://scontent.xx.fbcdn.net/..." }],"videos": [{ "url": "https://video.xx.fbcdn.net/...", "posterUrl": "https://scontent.xx.fbcdn.net/..." }],"ctaLink": "https://nike.com/air-max","scrapeDate": "2024-01-20T10:30:00.000Z"}
Supported Countries
| Code | Country | Code | Country |
|---|---|---|---|
| US | United States | KR | South Korea |
| GB | United Kingdom | JP | Japan |
| DE | Germany | FR | France |
| CA | Canada | AU | Australia |
| BR | Brazil | IN | India |
| MX | Mexico | ES | Spain |
| IT | Italy | NL | Netherlands |
| SG | Singapore | TW | Taiwan |
| HK | Hong Kong | TH | Thailand |
| VN | Vietnam | ID | Indonesia |
| PH | Philippines | MY | Malaysia |
| ALL | All Countries |
Tips for Best Results
- Use specific keywords: Brand names work better than generic terms
- Start with fewer results: Test with
maxResults: 10first - Filter by active status: Use "active" to see currently running ads
- Use date filters: Narrow down to recent ads for fresh insights
Integrations
Export your data to:
- Google Sheets
- Airtable
- Zapier
- Make (Integromat)
- Webhooks
- REST API
Pricing
This Actor uses a pay-per-result model. You only pay for the ads you scrape.
| Event | Price |
|---|---|
| Actor Start | $0.02 per run |
| Result (per ad) | $0.015 (standard) |
Volume Discounts
Save more when you scrape more! Discounts are applied automatically based on your Apify account tier.
| Tier | Price per ad | Discount |
|---|---|---|
| Standard | $0.015 | - |
| Bronze | $0.012 | 20% off |
| Silver | $0.01 | 33% off |
| Gold | $0.009 | 40% off |
Cost Examples
| Scenario | Keywords | Ads/Keyword | Total Ads | Cost |
|---|---|---|---|---|
| Quick test | 2 | 10 | 20 | $0.32 |
| Standard use | 5 | 30 | 150 | $2.27 |
| Full scan | 10 | 200 | 2,000 | $30.02 |
No results, no charge: If a search returns 0 ads, you only pay the Actor Start fee ($0.02). Result fees are only charged for successfully extracted ads.
Proxy Costs (Important)
This Actor requires Apify Proxy to function reliably. Proxy costs are NOT included in the Actor pricing above and will be charged separately to your Apify account.
| Proxy Type | Price | When Used |
|---|---|---|
| Datacenter | ~$0.04/GB | First choice (cost-optimized) |
| Residential | ~$12.50/GB | Fallback if Datacenter blocked |
Important notes:
- The Actor automatically selects the most cost-effective proxy available
- Estimated proxy cost: $0.10 - $0.50 per run (varies by data volume)
- Without proxy, the Actor may fail or return incomplete results due to Meta's anti-bot protection
- Ensure your Apify account has proxy access enabled
Support
- Issues: GitHub Issues
- Documentation: Apify Docs
Legal Notice
This Actor accesses publicly available data from Meta Ad Library. Ensure your use case complies with Meta's Terms of Service and applicable laws.