Facebook Ads Library Scraper avatar

Facebook Ads Library Scraper

Pricing

from $0.50 / 1,000 ads

Go to Apify Store
Facebook Ads Library Scraper

Facebook Ads Library Scraper

Scrape ads from facebook ads library search results and facebook pages. Cost: $0.5 per 1K ads

Pricing

from $0.50 / 1,000 ads

Rating

0.0

(0)

Developer

Caleb David

Caleb David

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

Facebook Ads Library Scraper extracts ads from Meta Ad Library (Facebook Ads Library) by keyword and delivers clean, structured data as JSON, CSV, Excel, XML or RSS. Type a keyword, pick a country, run the Actor, and download every matching creative — copy, images, videos, CTAs, Page details and the platforms the ad ran on.

The easiest way to try it: enter one search keyword (for example shoes), keep the defaults (United States, active ads, 500 results), and click Start. Results appear in the Output tab while the run is still going.

Meta Ad Library lists ads currently running across Facebook, Instagram, Audience Network, Messenger and Threads, plus ads about social issues, elections or politics. This scraper turns those public listings into a dataset you can filter, join and automate against.

What can this Facebook Ads Scraper do?

  • 🔎 Search Meta Ad Library by keyword — run as many keywords as you like; each one is searched separately and paginated until your limits are hit.
  • 🌍 Filter by country — target a single market (US, GB, IN, DE, …) or search all countries.
  • 🚦 Active, inactive or all ads — collect live campaigns, stopped ads, or both.
  • 🗳️ Ad type — all ads, or only ads about social issues, elections or politics.
  • 📅 Optional start-date window — restrict results to ads that started after and/or before a given day.
  • 🔢 Control volume and cost — cap the run with max_result and cap each keyword with max_result_per_search.
  • 🖼️ Full creative snapshot — Page name and profile, body text, title, CTA, destination URL, images, videos and cards as Meta exposes them.

All of this runs on the Apify platform, so you also get scheduling, monitoring, API access, webhooks, and integrations with tools like Zapier, Make, Google Sheets and Slack.

What data can you extract from Facebook Ad Library?

Every result is one Ad Library listing. The nested snapshot object is the creative itself.

FieldDescription
ad_archive_idUnique Ad Library archive ID
ad_idMeta ad ID, when exposed
collation_id / collation_countGroups variants of the same campaign
page_id / page_nameAdvertiser Facebook Page
page_is_deletedWhether the Page has been removed
is_activeWhether the ad is still running
categoriesAd Library categories (e.g. EMPLOYMENT, UNKNOWN)
gated_type / hide_data_statusEligibility and hidden-data flags
is_aaa_eligibleAdvertiser transparency (AAA) eligibility
contains_digital_created_mediaDigitally created / AI media flag
contains_sensitive_contentSensitive-content flag
start_date / end_dateUnix timestamps (seconds)
publisher_platformSurfaces the ad ran on (FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER, THREADS, …)
targeted_or_reached_countriesCountries, when Ad Library exposes them
reach_estimate / spend / currencyReach and spend, when Ad Library exposes them
impressions_with_indexImpression text / index, when available
regional_regulation_dataRegional compliance flags
snapshotFull creative: body, title, CTA, link, images, videos, Page profile

Spend, reach and impressions are included when Meta publishes them for that ad. Many commercial ads leave those fields empty; political and EU-transparency listings are more likely to include them.

How to scrape Facebook Ad Library — step by step

  1. Step 1 | Add search keywords — one or more phrases, e.g. shoes, car insurance.
  2. Step 2 | Filter ads — choose a country, active/inactive status, ad type, and optional start dates.
  3. Step 3 | Set result limits — max_result for the whole run, max_result_per_search per keyword (default 500 each).
  4. Click Start and watch ads stream into the Output tab.
  5. Download the dataset as JSON, CSV or Excel, or pull it via the Apify API.

Input example

{
"keywords": ["sales"],
"country": "US",
"active_status": "active",
"ad_type": "all",
"max_result": 100,
"max_result_per_search": 100
}

Input fields

FieldDefaultDescription
keywords—Required. Keywords or phrases to search for in Meta Ad Library.
countryUSISO country code (US, GB, IN, …) or ALL.
active_statusactiveactive, inactive or all.
ad_typeallall or political_and_issue_ads.
start_date_min—Optional. Only ads that started on or after this date.
start_date_max—Optional. Only ads that started on or before this date.
max_result500Maximum ads stored for the whole run.
max_result_per_search500Maximum ads stored for each keyword.

The run stops when either limit is reached. If you search three keywords with max_result_per_search: 100 and max_result: 250, you get at most 100 ads per keyword and 250 ads in total.

Output example

{
"ad_archive_id": "1362231122048270",
"collation_count": 1,
"collation_id": "2760005514344344",
"is_active": true,
"page_id": "109857343883986",
"page_is_deleted": false,
"snapshot": {
"branded_content": null,
"page_id": "109857343883986",
"page_is_deleted": false,
"page_profile_uri": "https://www.facebook.com/3WAutolife/",
"root_reshared_post": null,
"byline": null,
"disclaimer_label": null,
"page_name": "3W Auto Accessory",
"page_profile_picture_url": "https://scontent-ham3-1.xx.fbcdn.net/v/t39.35426-6/605564752_1521802282243626_1248339309452516148_n.jpg?stp=dst-jpg_s60x60_tt6&_nc_cat=100&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=Xf5VcbQ2rywQ7kNvwEcvzQK&_nc_oc=AdqLbTnxHs7_qT0SvfMpUQClygYLjdH_ewBSXTxZZ0uQ3bGvsjHRM5dwx0TpuglTTAU&_nc_zt=14&_nc_ht=scontent-ham3-1.xx&_nc_gid=tkUMTXv4JzCUbRHa3Kq1Uw&_nc_ss=7b289&oh=00_AQOLSR7b8rxChkUYkCN6NEUBMy7JgR-z-7sGEIY2CvBq-w&oe=6ADD6777",
"event": null,
"caption": "3wliners.com",
"cta_text": "Shop now",
"cards": [],
"body": {
"text": "Big Sales!🎉 Get 30% OFF sitewide!\nCODE:3WFB30\n3W Floor Mats-Fit like a glove🧤\n🚙Custom design according to your car model.\nTailored-fit edge-to-edge coverage.\n✅Easy to Clean and Install\n✅TPE Material -non-toxic and odorless\n✅All Seasons & Durability\n✅Custom fit design-maximum coverage&protection"
},
"cta_type": "SHOP_NOW",
"display_format": "VIDEO",
"link_description": "Search your vehicle model",
"link_url": "https://3wliners.com/",
"images": [],
"page_categories": ["Brand"],
"page_like_count": 35781,
"title": "CODE:3WFB30",
"videos": [
{
"video_hd_url": "https://z-p3-video-ham3-1.xx.fbcdn.net/o1/v/t2/f2/m366/AQOEsTQXijI9t25RZkQxk4ndhRGlEfjuWyugpObslmkoHxB4dlI8tTMC7zqZ_GWR2QZrhbdLQY6p7kX5GlK-ayZgJJbeGfYqLELvtEv19uiS0g.mp4?_nc_cat=101&_nc_sid=b66105&_nc_ht=z-p3-video-ham3-1.xx.fbcdn.net&_nc_ohc=XLQaO0uB1oIQ7kNvwGaGDDb&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5WSV9VU0VDQVNFX1BST0RVQ1RfVFlQRS4uQzMuNzIwLmRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHAiLCJ4cHZfYXNzZXRfaWQiOjQyMjcyOTE2NDA4MTU5ODIsImFzc2V0X2FnZV9kYXlzIjozMDEsInZpX3VzZWNhc2VfaWQiOjEwNzk5LCJkdXJhdGlvbl9zIjoxNiwidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&vs=d2c591d1f523f6ec&_nc_vs=HBksFQIYRWZiX2VwaGVtZXJhbC8yQjQ5QUZERjkzNkMxREFFRjlBREM5RTkwRDRCNUE5MF9tdF8xX3ZpZGVvX2Rhc2hpbml0Lm1wNBUAAsgBEgAVAhhAZmJfcGVybWFuZW50LzA4NEU2REQyNkREQzYyREJGM0NDQUE3NzQzODEyRDlGX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbcheeJ4ayCDxUCKAJDMywXQDCqfvnbItEYGWRhc2hfaDI2NC1iYXNpYy1nZW4yXzcyMHARAHUAZd6oAQA&_nc_gid=tkUMTXv4JzCUbRHa3Kq1Uw&_nc_ss=7b289&_nc_zt=28&oh=00_AQNsEKHbX7Uzl_LJbgb9hmfhGbRo_bq5QFe_PKuyOT01VQ&oe=6ADD5EE7",
"video_preview_image_url": "https://scontent-ham3-1.xx.fbcdn.net/v/t39.35426-6/603774647_1514746879822525_982348648797405365_n.jpg?_nc_cat=111&ccb=1-7&_nc_sid=c53f8f&_nc_ohc=_nXpEycnH9oQ7kNvwGQLPRU&_nc_oc=AdqTH9ZWuq584QgSM-HzyJn2RJJZKh1ADlfudqSKr2HHae96rXndFPSPrVNvSX4svAc&_nc_zt=14&_nc_ht=scontent-ham3-1.xx&_nc_gid=tkUMTXv4JzCUbRHa3Kq1Uw&_nc_ss=7b289&oh=00_AQPsCRjF77U5U8WHemhGSZjLKjUz8Ri_ivMGQWjnQMjfMg&oe=6ADD57BB",
"video_sd_url": "https://z-p3-video-ham3-1.xx.fbcdn.net/o1/v/t2/f2/m412/AQMi3nouDsZ-ZIkid7B4zPeDBBgrcpXPSOYudTm4BxqTzqjsNC6DumB_HwsCLISUUH22vQ-X4sTBV9U069LGZit2AaTwZkji0nwdaexu6w.mp4?_nc_cat=111&_nc_sid=ef5aa3&_nc_ht=z-p3-video-ham3-1.xx.fbcdn.net&_nc_ohc=F9Hw3sRTTSoQ7kNvwGX1JPJ&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5WSV9VU0VDQVNFX1BST0RVQ1RfVFlQRS4uQzMuMzYwLnN2ZV9zZCIsInhwdl9hc3NldF9pZCI6NDIyNzI5MTY0MDgxNTk4MiwiYXNzZXRfYWdlX2RheXMiOjMwMSwidmlfdXNlY2FzZV9pZCI6MTA3OTksImR1cmF0aW9uX3MiOjE2LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&_nc_gid=tkUMTXv4JzCUbRHa3Kq1Uw&_nc_ss=7b289&_nc_zt=28&oh=00_AQPogS6al8WdzZO442HLj5z6FVyBsOZ7UcpOArJiKbrNqA&oe=6ADD4C37",
"watermarked_video_hd_url": null,
"watermarked_video_sd_url": null
}
],
"is_reshared": false,
"extra_links": [],
"extra_texts": [],
"extra_images": [],
"extra_videos": [],
"country_iso_code": null,
"brazil_tax_id": null,
"additional_info": null,
"ec_certificates": []
},
"has_user_reported": false,
"report_count": null,
"menu_items": [],
"state_media_run_label": null,
"page_name": "3W Auto Accessory",
"impressions_with_index": {
"impressions_text": null,
"impressions_index": -1
},
"gated_type": "ELIGIBLE",
"categories": ["UNKNOWN"],
"is_aaa_eligible": false,
"contains_digital_created_media": false,
"reach_estimate": null,
"currency": "",
"spend": null,
"end_date": 1792479600,
"publisher_platform": [
"FACEBOOK",
"INSTAGRAM",
"AUDIENCE_NETWORK",
"MESSENGER",
"THREADS"
],
"start_date": 1766476800,
"contains_sensitive_content": false,
"total_active_time": null,
"regional_regulation_data": {
"finserv": {
"is_deemed_finserv": false,
"is_limited_delivery": false
},
"tw_anti_scam": {
"is_limited_delivery": false
}
},
"hide_data_status": "NONE",
"fev_info": null,
"ad_id": null,
"targeted_or_reached_countries": []
}

The dataset Output tab includes ready-made tables: an Ads view (page, archive ID, status, dates, platforms) and an Overview with Page ID and collation ID as well.

Tips for efficient runs

  • Start with active ads in one country — active_status: "active" and country: "US" is the fastest way to see live creatives.
  • Use specific keywords — brand names and product phrases return tighter sets than generic terms like sale.
  • Cap costs with both limits — max_result is the hard ceiling for the run; max_result_per_search stops a noisy keyword from eating the whole budget.
  • Political ads are a separate type — set ad_type to political_and_issue_ads when you only want social-issue, election or political listings.
  • Dates are Unix timestamps in the output — convert start_date / end_date with a spreadsheet formula or new Date(start_date * 1000) in JavaScript.
  • Resume-safe — if a run is interrupted, restart it; already processed keywords keep their progress.

Frequently asked questions

Do I need a Facebook account or API key?

No. The Actor searches public Meta Ad Library listings. You do not need a Facebook login, ads manager access or a Meta developer token.

This Actor only collects ads that Meta already publishes in Ad Library. It does not log into private accounts or extract private user data such as emails or messages. Results can still contain personal data that advertisers chose to show in an ad. Personal data is protected by the GDPR in the EU and by other rules worldwide — only scrape it if you have a legitimate reason. If you are unsure, talk to a lawyer. See Apify’s guide on the legality of web scraping.

How much will scraping Facebook ads cost?

The Actor charges $0.50 per 1,000 ads — you pay for ads actually delivered to your dataset. See the Pricing tab for current rates. Keep spending predictable with max_result and max_result_per_search.

Can I scrape ads from a specific Facebook Page URL?

Not in this version. Search by keyword (brand name, product, offer). Page name, Page ID and profile URL are still present on every result, so you can filter the dataset down to a given advertiser after the run.

How do I export the data?

Every run stores results in an Apify dataset. Download them as JSON, CSV, Excel, XML or RSS from the Storage tab, or use the Apify API to stream results into your pipeline, database or spreadsheet.

Can I schedule recurring scrapes?

Yes. Apify lets you schedule runs (hourly, daily, weekly) and trigger them via API or webhooks — useful for monitoring competitors or a niche over time.

How do I run this Facebook Ads Scraper via API?

Start a run with the Apify API, then read items from the default dataset. You can also wire the Actor into Make, Zapier, Google Sheets or Slack from the Integrations tab.

For other public Facebook data, browse the Apify Store for page, post, comment and group scrapers. This Actor is focused on Meta Ad Library ads by keyword.

Integrations

Use Make, Zapier or the Apify API to send new ads into Sheets, Slack, a warehouse or your own enrichment pipeline as soon as a run finishes.

Your feedback

If something is missing, a filter is wrong, or you found a bug, open an issue on the Actor’s Issues tab in Apify Console.

Last updated: 2026-10-20

Keywords: facebook ads scraper, meta ads scraper, facebook ads library scraper, facebook ad library scraper, scrape facebook ads, meta ad library