Facebook Ads Scraper - $0.2 per 1000 avatar

Facebook Ads Scraper - $0.2 per 1000

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Facebook Ads Scraper - $0.2 per 1000

Facebook Ads Scraper - $0.2 per 1000

Scrape facebook ads for dirt cheap. $0.2 per 1000 ads. Actively maintained. 99% Uptime

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Supreme Scraper

Supreme Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Collect structured ad records from the Meta Ad Library — keyword searches, competitor page feeds, or individual ad URLs. Export creatives, spend estimates, platform targeting, and optional EU transparency data without building your own scraper.

Why use this scraper?

The Meta Ad Library is the official source for ads running on Facebook, Instagram, Messenger, and the Audience Network. Browsing it manually does not scale when you need hundreds of ads across multiple brands or search queries.

This actor accepts Ad Library search URLs, Facebook Page URLs, and direct ad links in a single input list. Filters you set in the browser (country, keyword, ad type, media type) are preserved from search URLs. For page URLs, you control date range, active status, country, and sort order from the actor input.

Best for: competitive intelligence, creative research, political/advocacy monitoring, agency reporting, and scheduled tracking of competitor ad activity.

  1. Open Meta Ad Library and run your search (keyword, advertiser, country, ad status, etc.).
  2. Copy the full URL from the address bar.
  3. Paste it into the URLs input field.
  4. Set Total number of records required (minimum 10) or leave limits blank to collect everything the search returns.
  5. Optionally enable Scrape ad details for EU reach and extended transparency fields.
  6. Run the actor and export the dataset as JSON, CSV, or Excel.

Search filters live in the URL. Any option you pick on the Ad Library page — q, country, active_status, ad_type, media_type, and others — is applied automatically.

Quick start — Ads from Facebook Pages

  1. Collect one or more public Facebook Page URLs (e.g. https://www.facebook.com/ZapierApp).
  2. Add them to the URLs input (use Bulk edit for long lists).
  3. Configure Search filters for page URLs:
    • Date range — all time, last 24 hours, 7/14/30 days
    • Filter ads by active status — all, active, or inactive
    • Sort ads by — impressions (high to low) or most recent
    • Filter ads by country — 2-letter ISO code (US, IN, …) or ALL
  4. Set Limit per input URL if you only need a subset from each page.
  5. Run the actor.

You can mix Ad Library search URLs and Page URLs in the same run.

Input options

InputDescription
URLsAd Library search URLs, Facebook Page URLs, or direct ad URLs (/ads/library/?id=…).
Scrape ad detailsFetches extended transparency data (e.g. EU reach). Adds extra requests and increases run time and memory use.
Limit per input URLCap ads collected per URL. Actual count may exceed the limit by up to ~30 due to pagination batching.
Total number of records requiredGlobal cap across all URLs. Minimum value: 10. Leave empty when using per-URL limits only.
Date rangeApplies only to Page URL inputs.
Filter ads by active statusApplies only to Page URL inputs.
Sort ads byApplies only to Page URL inputs.
Filter ads by countryApplies only to Page URL inputs.
Custom proxyOptional Apify proxy country override. Residential proxies are used by default.

Memory tip: Provide at least one input URL per 512 MB of actor memory. Example: 4 URLs need 2 GB RAM minimum. Enabling Scrape ad details requires substantially more memory per URL.

Output fields

Each dataset record represents one ad. Fields depend on what Meta exposes for that ad type and region.

Identifiers & status

  • ad_archive_id, ad_library_url, collation_id, collation_count
  • is_active, is_profile_page, entity_type, archive_types, categories

Advertiser

  • page_id, page_name, advertiser, state_media_run_label

Timing & spend

  • start_date, end_date, start_date_formatted, end_date_formatted
  • currency, spend, reach_estimate, impressions_with_index

Delivery

  • publisher_platform, political_countries, gated_type
  • is_aaa_eligible, aaa_info (when details are scraped)

Creative snapshot (snapshot object)

  • Ad copy, headlines, captions, CTA text and type
  • Image and video assets, display format, link URL
  • Page profile picture, categories, Instagram actor details
  • Body HTML and link description

Run metadata

  • url — input URL that surfaced this ad
  • position — result index within the source
  • ads_count — collated ads in the same group
  • runTag — optional run label from input

Extended transparency (when Scrape ad details is enabled)

  • EU transparency fields merged into aaa_info
  • Additional reach and demographic breakdowns where available

Example output

{
"ad_archive_id": "1234567890123456",
"ad_library_url": "https://www.facebook.com/ads/library/?id=1234567890123456",
"page_id": "1234567890",
"page_name": "Example Brand",
"is_active": true,
"start_date": 1717200000,
"end_date": 0,
"start_date_formatted": "2024-06-01 00:00:00",
"end_date_formatted": "1970-01-01 00:00:00",
"publisher_platform": ["facebook", "instagram"],
"currency": "USD",
"spend": {"lower_bound": 100, "upper_bound": 499},
"reach_estimate": {"lower_bound": 10000, "upper_bound": 49999},
"snapshot": {
"title": "Try it free today",
"body": {"markup": {"__html": "<p>Automate your workflow in minutes.</p>"}},
"cta_text": "Learn More",
"display_format": "IMAGE",
"images": [{"original_image_url": "https://..."}],
"link_url": "https://example.com"
},
"url": "https://www.facebook.com/ads/library/?active_status=all&country=US&q=example",
"position": 1
}

Scraping individual ads

Paste a direct Ad Library URL that includes an ad ID:

https://www.facebook.com/ads/library/?id=1234567890123456

These are processed separately from search and page feeds — useful when you already know the ad you need.

Monitoring competitor ads on a schedule

  1. Add competitor Page URLs to the URLs input.
  2. Set Date range to Last 7 days (or your preferred window).
  3. Set Filter ads by active status to Active.
  4. Schedule the actor to run weekly or daily.

Each run returns only ads that match the configured window and status filters.

API access

Results land in an Apify dataset. Pull them programmatically via the Apify API or export from the run's Storage tab. Use dataset endpoints to feed BI tools, spreadsheets, or alerting pipelines.

Pricing

Usage is billed through Apify platform credits based on compute and data volume. Historical runs average roughly $0.20 per 1,000 ads scraped; actual cost varies with memory, Scrape ad details, and proxy usage.

This actor reads only publicly available Ad Library data — the same information Meta publishes for transparency. It does not access private accounts or non-public user data.

Your results may still contain personal or sensitive information depending on the ads you target. You are responsible for complying with applicable laws (including GDPR where relevant) and Meta's terms of service. Consult legal counsel if you are unsure whether your use case is permitted.

  • Contact Info Finder — find verified contact details for advertisers you discover through ad research.

Integrations

Connect this actor to other platforms with Make or any workflow tool that supports Apify webhooks and dataset APIs.


Last updated: 2026-07-11

Keywords: meta ad library scraper, facebook ads scraper, competitor ad tracking, ad transparency data, instagram ads scraper