Facebook Competitor Ads Scraper
Pricing
from $5.00 / 1,000 results
Facebook Competitor Ads Scraper
Scrape all ad campaigns from any brand's Facebook page. Extract video URLs, image links, and copy to reverse-engineer successful competitor marketing.
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
Share
Facebook Page Ads - Page Ad Library Scraper
Scrape all ads from a specific Facebook Page using the Ad Library. Extract ad creatives, copy, targeting platforms, and page info. 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
- Page-Specific Scrapes - Target any public Facebook Page by entering its unique Page ID.
- 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 Benchmarking | Scrape all ads from a direct competitor's page to evaluate their creative strategies. | Extract active creatives, copy styles, and CTAs. |
| Creative Research | Analyze the exact ads and offers of industry leaders. | Model successful ad styles and formats for your brand. |
| Ad Spend Tracking | Monitor political or issue advertiser pages to see their estimated spend. | Review spend ranges and total impressions per page. |
| Offer Monitoring | Detect when a page launches new seasonal discount codes or promotional links. | Stay ahead of competitor promotional events. |
| Marketing Automation | Sync advertiser ads directly with a media-buying dashboard. | Automate creative analysis and competitor monitoring. |
Quick Start
1. Basic - Simple Page Ads Search
{"pageId": "603588909508573","country": "US","maxPages": 1}
2. Advanced - Pagination & Active Status Filter
{"pageId": "603588909508573","country": "GB","activeStatus": "ACTIVE","maxPages": 5}
Input Parameters
| Parameter | Type | Required | Description | Default | Example |
|---|---|---|---|---|---|
pageId | String | Yes | The Facebook Page ID to extract ads from | - | "603588909508573", "102484795092789" |
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_page_ads","input_page_id": "603588909508573","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_page_ads |
input_page_id | String | The exact input Page ID queried by the user |
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 page search 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: How can I find a Facebook Page ID?
- You can copy it directly from the Facebook Page URL or run the Facebook Page Search Scraper to search pages by name.
- Q: Does this scraper require Facebook account credentials?
- No. It uses public API endpoints via RapidAPI and rotates access keys automatically, requiring no login or cookies on your part.
- Q: Can I scrape inactive historical ads?
- Yes, as long as they are stored in the Facebook Ad Library and you set the
activeStatusfilter toALLorINACTIVE.
- Yes, as long as they are stored in the Facebook Ad Library and you set the
- Q: Why does country filtering matter for page ads?
- Facebook Ad Library displays page ads within regional parameters. Selecting the correct country context ensures you get the exact ads running for that country.
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| "No Page ID provided" | Empty or missing pageId | Enter a valid numerical Page ID in the input schema |
| No ads found | The page is not running ads in the selected country, or the Page ID is incorrect | Verify the Page ID using the Facebook Page Search Scraper, or change the target country |
| 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?
- Page-specific Facebook Ad extraction
- 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 page ads scraper, facebook ad library scraper, competitor spy tool, facebook advertiser page scraper, spy tool scraper, dropshipping competitor monitor, facebook video ads downloader, ad creative scraper, facebook competitor research, apify actor
Get Started Now
- Enter the Facebook Page ID (e.g.,
603588909508573) - 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 Ads Search Scraper - Search ads across the entire Ad Library by keyword.
- Facebook Page Search Scraper - Search and find Facebook Page IDs and info.
Built using Apify Platform | Optimized for Performance & Reliability


