Facebook Ads Library Scraper
Pricing
from $0.50 / 1,000 ads
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
Maintained by CommunityActor 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_resultand cap each keyword withmax_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.
| Field | Description |
|---|---|
ad_archive_id | Unique Ad Library archive ID |
ad_id | Meta ad ID, when exposed |
collation_id / collation_count | Groups variants of the same campaign |
page_id / page_name | Advertiser Facebook Page |
page_is_deleted | Whether the Page has been removed |
is_active | Whether the ad is still running |
categories | Ad Library categories (e.g. EMPLOYMENT, UNKNOWN) |
gated_type / hide_data_status | Eligibility and hidden-data flags |
is_aaa_eligible | Advertiser transparency (AAA) eligibility |
contains_digital_created_media | Digitally created / AI media flag |
contains_sensitive_content | Sensitive-content flag |
start_date / end_date | Unix timestamps (seconds) |
publisher_platform | Surfaces the ad ran on (FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER, THREADS, …) |
targeted_or_reached_countries | Countries, when Ad Library exposes them |
reach_estimate / spend / currency | Reach and spend, when Ad Library exposes them |
impressions_with_index | Impression text / index, when available |
regional_regulation_data | Regional compliance flags |
snapshot | Full 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
- Step 1 | Add search keywords — one or more phrases, e.g.
shoes,car insurance. - Step 2 | Filter ads — choose a country, active/inactive status, ad type, and optional start dates.
- Step 3 | Set result limits —
max_resultfor the whole run,max_result_per_searchper keyword (default500each). - Click Start and watch ads stream into the Output tab.
- 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
| Field | Default | Description |
|---|---|---|
keywords | — | Required. Keywords or phrases to search for in Meta Ad Library. |
country | US | ISO country code (US, GB, IN, …) or ALL. |
active_status | active | active, inactive or all. |
ad_type | all | all 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_result | 500 | Maximum ads stored for the whole run. |
max_result_per_search | 500 | Maximum 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"andcountry: "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_resultis the hard ceiling for the run;max_result_per_searchstops a noisy keyword from eating the whole budget. - Political ads are a separate type — set
ad_typetopolitical_and_issue_adswhen you only want social-issue, election or political listings. - Dates are Unix timestamps in the output — convert
start_date/end_datewith a spreadsheet formula ornew 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.
Is scraping Facebook Ad Library legal?
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.
Related Facebook scrapers
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