Facebook Ads Spy Tool
Pricing
from $5.00 / 1,000 results
Facebook Ads Spy Tool
Scrape Facebook ad campaigns globally by keyword. Extract high-res images, video URLs, CTAs, and advertiser stats to build your next winning campaign.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Sachin Kumar Yadav
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Facebook Ads Search - Ad Library Scraper
Search Facebook Ad Library by keyword and extract comprehensive ad details including creatives, ad copy, targeting platforms, page info, and more. Supports pagination, country filtering, active status filtering, and multiple platforms (Facebook, Instagram, Messenger, Audience Network). Built with Apify best practices for reliability and speed.
Table of Contents
- Features
- Use Cases
- Quick Start
- Input Parameters
- Output Format
- Supported Countries
- Performance & Limits
- FAQ
- Troubleshooting
- Tags
Features
- Keyword Search - Search the Facebook Ad Library using any keyword or phrase.
- Pagination Support - Scrape multiple pages of ad search results (up to 20 pages per run).
- Active Status Filtering - Filter ads by their status: active, inactive, or all.
- Multi-Platform Data - Extract platform info (Facebook, Instagram, Messenger, and Audience Network).
- Rich Ad Metadata - Retrieve ad copy, creatives (images/videos), call-to-action details, advertiser page info, reach estimates, and spend.
- Global Targeting - Search ads across 50+ countries worldwide.
- Fast & Reliable - Built-in API key rotation, automatic retries, and smart error recovery.
Use Cases
| Use Case | Description | Key Benefits |
|---|---|---|
| Competitor Analysis | Monitor and track competitors' active ad campaigns. | Identify ad creatives, copy strategies, and offers. |
| Creative Inspiration | Search high-performing niches to find design and copy ideas. | Improve conversion rates by analyzing successful formats. |
| Ad Spend & Reach | Understand estimated spend and impressions for political/issue ads. | Assess market investment trends and audience reach. |
| Trend Detection | Search key product names or terms to see who is advertising. | Spot trending dropshipping or SaaS products early. |
| Marketing Automation | Feed structured ad data directly into marketing dashboards. | Automate reporting, dashboarding, and ML inputs. |
Quick Start
1. Basic - Simple Keyword Search
{"query": "AI tools","country": "US","maxPages": 1}
2. Advanced - Pagination & Active Status Filter
{"query": "dropshipping","country": "GB","activeStatus": "ACTIVE","maxPages": 5}
Input Parameters
| Parameter | Type | Required | Description | Default | Example |
|---|---|---|---|---|---|
query | String | Yes | Search keyword or phrase to find in the Ad Library | - | "AI tools", "dropshipping", "fitness" |
country | String | No | Two-letter country code (ISO 3166-1 alpha-2) | "US" | "US", "GB", "CA", "DE", "IN" |
activeStatus | String | No | Filter ads by active/inactive status (ALL, ACTIVE, INACTIVE) | "ALL" | "ACTIVE", "INACTIVE", "ALL" |
maxPages | Integer | No | Number of result pages to scrape (1-20). Each page contains ~10 ads. | 1 | 3, 5, 10 |
Output Format
Ad Result Data Structure
{"source": "facebook_ads_search","search_query": "AI tools","position": 1,"ad_archive_id": "123456789012345","collation_count": 1,"collation_id": "1234567890","is_active": true,"page_id": "603588909508573","page_name": "AI Innovation Hub","page_profile_uri": "https://www.facebook.com/AIInnovationHub","page_profile_picture_url": "https://scontent.xx.fbcdn.net/v/t39.35426-6/...","page_like_count": 15420,"page_categories": ["Software Company", "Artificial Intelligence"],"page_is_deleted": false,"ad_body": "Unlock the power of artificial intelligence with our new productivity platform! Get 50% off today.","title": "Boost Your Productivity","caption": "aihub.com","display_format": "video","cta_text": "Sign Up","cta_type": "SIGN_UP","link_url": "https://aihub.com/promo","link_description": "Start your free trial today and experience the difference.","byline": "Sponsored","image_url": "https://scontent.xx.fbcdn.net/v/t39.35426-6/...","image_resized_url": "https://scontent.xx.fbcdn.net/v/t39.35426-6/...","video_hd_url": "https://video.xx.fbcdn.net/v/t42.1790-2/...mp4","video_sd_url": "https://video.xx.fbcdn.net/v/t42.1790-2/...mp4","video_preview_image_url": "https://scontent.xx.fbcdn.net/v/t39.35426-6/...","images_count": 0,"videos_count": 1,"cards_count": 0,"branded_content_page_id": null,"branded_content_page_name": null,"publisher_platform": ["facebook", "instagram", "messenger", "audience_network"],"categories": ["issues_eg_pol_gov"],"targeted_or_reached_countries": ["US"],"start_date": "2026-06-20T00:00:00.000Z","end_date": null,"start_date_unix": 1781913600,"end_date_unix": null,"currency": "USD","spend": {"lower_bound": "0","upper_bound": "99"},"reach_estimate": {"lower_bound": "1000","upper_bound": "5000"},"impressions_text": "1K-5K","gated_type": "none","is_aaa_eligible": true,"contains_digital_created_media": false,"contains_sensitive_content": false,"hide_data_status": "none","has_user_reported": false,"is_reshared": false,"scraped_at": "2026-06-23T13:20:00.000Z"}
Output Fields Explained
| Field | Type | Description |
|---|---|---|
source | String | Source indicator, always facebook_ads_search |
search_query | String | The query term used for search |
position | Integer | Position of the ad in the scraper batch (1-based) |
ad_archive_id | String | Facebook's unique Ad Archive ID |
collation_count | Integer | Number of identical or similar ads grouped together |
collation_id | String | Collation ID for grouped ads |
is_active | Boolean | Whether the ad is currently active/running |
page_id | String | ID of the advertiser's Facebook Page |
page_name | String | Name of the advertiser's Facebook Page |
page_profile_uri | String | URL of the advertiser's Facebook profile/page |
page_profile_picture_url | String | URL of the advertiser's profile picture |
page_like_count | Integer | Total number of likes for the page |
page_categories | Array | Categories associated with the advertiser's page |
page_is_deleted | Boolean | Whether the advertiser's page has been deleted |
ad_body | String | The main ad text/copy |
title | String | Ad headline or title |
caption | String | Ad caption/domain name displayed in the creative |
display_format | String | Creative format (image, video, carousel, etc.) |
cta_text | String | Button text/Call to action (e.g. "Shop Now") |
cta_type | String | System type code for the CTA (e.g. "SHOP_NOW") |
link_url | String | The final destination URL of the ad |
link_description | String | Description text below the title |
byline | String | Sponsor byline text (e.g. "Sponsored") |
image_url | String | Direct link to the full-size creative image |
video_hd_url | String | Direct link to the high-definition video file |
publisher_platform | Array | Platforms where the ad is published (e.g. facebook, instagram) |
targeted_or_reached_countries | Array | Country codes targeted by this ad campaign |
start_date | String | ISO formatted start date of the ad campaign |
end_date | String | ISO formatted end date of the ad campaign (if stopped) |
currency | String | Currency of estimated spend (e.g. USD, EUR) |
spend | Object | Range containing lower_bound and upper_bound of spend estimation |
reach_estimate | Object | Estimated range of audience reached |
impressions_text | String | Formatted text of total impressions (e.g., "1K-5K") |
scraped_at | String | Timestamp of extraction |
Supported Countries
The scraper supports 50 countries context. Here are some of the most commonly used country codes:
| Region | Code | Region | Code | Region | Code |
|---|---|---|---|---|---|
| United States | US | United Kingdom | GB | Canada | CA |
| Australia | AU | India | IN | Germany | DE |
| France | FR | Italy | IT | Spain | ES |
| Brazil | BR | Mexico | MX | Japan | JP |
| South Korea | KR | Netherlands | NL | Sweden | SE |
| Poland | PL | Türkiye | TR | United Arab Emirates | AE |
| Saudi Arabia | SA | Singapore | SG | Indonesia | ID |
(Check .actor/input_schema.json for the complete list of 50 supported countries).
Performance & Limits
- Pagination Limit - Up to 20 pages per query can be requested to optimize execution time and API limits.
- Batching - Data is saved in batches of 10 items to prevent loss during unexpected errors.
- Concurrency - The actor automatically handles rate-limiting and rotating credentials for smooth performance.
FAQ
- Q: Where does the data come from?
- All data is fetched dynamically from the official Facebook Ad Library public database using a robust proxy middleware.
- Q: Can I scrape ads from private pages?
- No, the Facebook Ad Library only displays ads that are or were active in public pages.
- Q: How does country filtering work?
- Facebook requires a country context for searches. The results returned will match ads running in or targeting that country.
- Q: Why does the actor rotate keys?
- To prevent rate-limiting and blocking from the RapidAPI host, ensuring your scrape runs complete successfully.
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| "No search query provided" | Empty or missing query | Enter a valid search term in the input schema |
| No ads found | The keyword is too specific, or the country has no ads matching it | Broaden the search query or try a different country code |
| Key rotation alerts | High rate of requests | Normal behavior. The actor automatically switches keys and continues scraping |
| Slow execution | Many pages requested | Reduce maxPages to run the actor faster |
Why Choose This Actor?
- Keyword-based Facebook Ad search
- Rich creatives (Direct HD video & image links)
- Advertiser details (Page likes, categories, etc.)
- Multi-platform targeting info
- Automatic key-rotation & retries
- Downloadable as CSV, Excel, JSON, or HTML
Tags
facebook ads scraper, facebook ad library scraper, ad library api, facebook ads finder, spy tool scraper, dropshipping ads finder, facebook video ads downloader, competitor ad monitor, ad creative scraper, facebook market research, marketing automation, apify actor
Get Started Now
- Enter the Search Query (e.g.,
AI tools) - Select your target Country (e.g.,
US) - Choose the Ad Status (Active/Inactive/All)
- Set the Maximum Pages to scrape
- Click Start to run the scraper
- Export your data in JSON, CSV, or Excel format
- Click "Try for free" to test the actor
Related Actors
- Facebook Page Ads Scraper - Scrape ads from specific Facebook Pages.
- Facebook Page Search Scraper - Search and find Facebook Page IDs and info.
Built using Apify Platform | Optimized for Performance & Reliability