Facebook Ads Scraper avatar

Facebook Ads Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Facebook Ads Scraper

Facebook Ads Scraper

Facebook Ads Scraper is a powerful Apify Actor that tracks competitor advertisements across Facebook and Instagram using the Meta Ads Library. This Actor extracts ad creatives, copy, CTAs, offers, and longevity signals, giving you comprehensive insights into what your competitors are advertising.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

HappiTap

HappiTap

Maintained by Community

Actor stats

1

Bookmarked

20

Total users

9

Monthly active users

23 days ago

Last modified

Share

Monitor and extract Facebook and Instagram ads from the Meta Ads Library.

Facebook Ads Scraper is a powerful Apify Actor that tracks competitor advertisements across Facebook and Instagram using the Meta Ads Library. This Actor extracts ad creatives, copy, CTAs, offers, and longevity signals, giving you comprehensive insights into what your competitors are advertising.

Simply provide brand names, keywords, or domains, and the Actor will search the Meta Ads Library to find matching ads. The Actor automatically extracts and normalizes offer information, detects marketing angles, and calculates longevity scores to help you identify winning creatives.

Visit the Meta Ads Library to see the data source this Actor monitors.

Why use Facebook Ads Scraper?

Business Use Cases

  • Performance Marketers: Track competitor ad launches, identify successful offers, and discover new creative angles on Facebook and Instagram
  • Agencies: Monitor client competitors, track domain-based campaigns, and generate competitive intelligence reports
  • DTC Founders: Research offers and angles in your category, identify long-running successful creatives, and detect ad fatigue signals
  • Growth Teams: Monitor competitor strategies, analyze CTA patterns, and benchmark creative performance

Platform Advantages

This Actor leverages the Apify platform to provide:

  • Automated Monitoring: Schedule runs to track competitors continuously
  • API Access: Integrate competitor data into your workflows via REST API
  • Proxy Rotation: Built-in residential proxy support to avoid blocks from Meta
  • Scalable Infrastructure: Handle large-scale monitoring without infrastructure management
  • Data Export: Download results in JSON, CSV, Excel, or HTML formats
  • Webhook Integration: Get notified when new ads are detected
  • Integration Ready: Connect to Zapier, Make, or custom workflows

What can Facebook Ads Scraper extract?

The Actor extracts comprehensive data from the Meta Ads Library:

Data FieldDescriptionExample
Ad CreativeImage or video URLhttps://...
Ad CopyFull text of the advertisement"Get 20% off today!"
HeadlineAd headline text"Special Sale"
CTACall-to-action (normalized)shop_now, learn_more
Landing PageDestination URLhttps://brand.com/sale
AdvertiserBrand/advertiser name"Nike"
Offer TypeDetected offer classificationdiscount_percent, free_shipping
Offer DetailsStructured offer data{percentOff: 20}
Longevity ScoreDays active score (0-100)85
Marketing AnglesDetected angles["scarcity", "urgency"]
Geo TargetsTargeted countries["US", "GB"]
StatusAd statusactive, inactive
First/Last SeenMonitoring timestamps2024-01-15T10:00:00Z

How to scrape Facebook ads

Step-by-Step Tutorial

  1. Sign up for Apify (if you haven't already) - Create a free account at apify.com

  2. Open the Actor - Navigate to the Facebook Ads Scraper Actor page

  3. Configure Input - Click on the Input tab and set:

    • Search Mode: Choose advertiser, keyword, or domain mode
    • Queries: Enter brand names (e.g., "Nike"), keywords, or domains to search
    • Geographic Targets: Select country codes (e.g., US, GB)
  4. Run the Actor - Click "Start" to begin monitoring

  5. View Results - Once complete, check the Output tab for:

    • Overview of all ads
    • New ads detected
    • Offers and CTAs analysis
    • Longevity analysis
  6. Export Data - Download results in your preferred format (JSON, CSV, Excel)

How much does it cost?

This Actor uses a Pay-Per-Event (PPE) pricing model. You are charged based on the number of ads successfully scraped and extracted.

Cost: $1.50 per 1,000 ads scraped (example pricing - check Actor page for current rates)

This model offers several advantages:

  • Predictable Costs: You only pay for the data you receive.
  • No Surprises: Failed requests or retries do not incur additional costs.
  • Control: Use the maxResultsPerQuery input to set a hard limit on your spend.

Pricing Estimates

  • 100 Ads: ~$0.15
  • 1,000 Ads: ~$1.50
  • 10,000 Ads: ~$15.00

Note: Monthly platform subscription fees and proxy usage fees may still apply depending on your Apify plan. Residential proxies (recommended for Meta) are highly cost-effective with this specific Actor architecture.

Features

Smart Data Collection

  • Meta Ads Library API & Scraping: Uses a hybrid approach (official API + scraping) for maximum reliability
  • Automatic Retries: Handles network errors and temporary blocks
  • Proxy Support: Essential for avoiding rate limits and blocks from Facebook
  • Incremental State Tracking: Remembers ads from previous runs to identify new ones

Intelligence Features

  • Offer Extraction: Automatically detects discounts, free shipping, trials, etc.
  • Longevity Scoring: Calculates how long ads have been running to identify winners
  • CTA Normalization: Standardizes call-to-action button text

Input Options

Required Fields

  • Search Mode: Choose advertiser, keyword, or domain mode
  • Queries: Enter brand names, keywords, or domains to search
  • Max Results Per Query: 100-200 for most use cases
  • Geographic Targets: Country codes (e.g., ["US"], ["US", "GB"])
  • Date Range: 30 days for recent monitoring, 60-90 for broader research
  • Use Apify Proxy: Enable for production use (highly recommended)
  • Slow Mode: Enable to avoid blocks

Output

You can download the dataset extracted by Facebook Ads Scraper in various formats such as JSON, HTML, CSV, or Excel.

Output Example

{
"platform": "meta",
"adLibraryUrl": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=US&q=Nike",
"adId": "123456789",
"advertiserName": "Nike",
"advertiserId": "789012345",
"geoTargets": ["US"],
"language": "en",
"adCopy": "Just Do It. Get 20% off select styles. Limited time offer. Shop now!",
"headline": "Nike Sale - 20% Off",
"ctaRaw": "Shop Now",
"ctaNormalized": "shop_now",
"landingPageUrl": "https://www.nike.com/sale",
"creativeType": "image",
"creativeUrls": ["https://static.nike.com/a/images/..."],
"thumbnailUrl": "https://static.nike.com/a/images/...",
"firstSeenAt": "2024-01-15T10:00:00Z",
"lastSeenAt": "2024-01-20T10:00:00Z",
"platformStartDate": "2024-01-10",
"platformEndDate": null,
"status": "active",
"offerType": "discount_percent",
"offerDetails": {
"percentOff": 20
},
"offerParseConfidence": 0.8,
"angleTags": ["scarcity", "urgency"],
"angleConfidence": 0.7,
"daysActive": 5,
"longevityScore": 20,
"fingerprint": "meta:123456789",
"runId": "abc123xyz",
"scrapedAt": "2024-01-20T10:00:00Z",
"dataQuality": "full",
"isNew": true,
"notes": ""
}

Our Actor is ethical and only accesses public ad transparency data provided by Meta. The Meta Ads Library is specifically designed to provide transparency into advertising, and we do not extract any private user data.

The Actor:

  • ✅ Only accesses publicly available ad library data
  • ✅ Does not require login credentials
  • ✅ Does not bypass authentication
  • ✅ Respects platform rate limits

However, you should be aware that:

  • Ad library data may contain public information about advertisers
  • You should comply with Meta's terms of service
  • Use the data ethically and in compliance with applicable laws

FAQ

What if I get blocked?

Meta has strict anti-scraping measures. If you encounter blocks:

  1. Enable residential proxies (useApifyProxy: true, proxyGroups: ["RESIDENTIAL"])
  2. Enable slow mode (slowMode: true)
  3. Reduce concurrency (maxConcurrency: 1-2)
  4. Increase retries (maxRetries: 5)

Can I monitor ads in multiple countries?

Yes! Use the geo parameter to specify multiple country codes. Example: ["US", "GB", "CA", "AU"]

Support

  • Issues Tab: Report bugs or request features
  • Apify Support: Contact Apify support for platform issues