Meta/Facebook Ads Scraper
Pricing
from $0.50 / 1,000 results
Meta/Facebook Ads Scraper
Scrape public Facebook and Instagram ads from Meta Ad Library by keyword or by pasting an Ad Library search URL. Filter by country, status, category, format, platform, and date, and optionally enrich each ad with full details. No Facebook login or Meta API key required.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Share
Meta Ads Scraper extracts public Facebook and Instagram ads from Meta Ad Library by keyword or Ad Library URL, with rich filters and optional per-ad detail enrichment.
Use it as a Meta Ad Library scraper when you need structured Facebook and Instagram ad data inside Apify datasets. Enter a keyword or advertiser name, or paste a Meta Ad Library search URL and the Actor reads the filters from it automatically.
It is designed for marketers, agencies, researchers, data teams, and AI builders who need repeatable Meta ads data without maintaining custom scraping infrastructure. Turn on enrichment to attach full details to every returned ad.
What is Meta Ad Library?
Meta Ad Library is Meta's public ad transparency database. It lists ads running across Facebook, Instagram, Messenger, and the Audience Network, including the advertiser page, media, and active status. You can browse it at https://www.facebook.com/ads/library/ without a Facebook login.
What data can I extract with Meta Ads Scraper?
Meta Ads Scraper extracts the following data from Meta Ad Library:
- Ad identity - Ad archive IDs, page IDs, advertiser references, and dataset records for each returned ad.
- Advertiser and page data - Facebook page IDs, matching advertiser pages, and page-level records returned by page search and page browsing modes.
- Ad creative and performance - Ad status, start and end dates, publisher platforms, currency, spend and reach estimates, and the creative snapshot (body, title, call to action, images, and videos).
- Enriched ad details - When enrichment is enabled, each ad row also includes the full ad-details payload for that ad.
You can collect all of this without an API key, rate limits, or code.
How can I use Meta Ad Library data?
- Competitor ad research - Monitor competitor creatives, messages, offers, landing pages, and advertiser activity across Meta platforms.
- Market research - Track how brands position products, which categories are active, and how campaign messaging changes by country or season.
- Ad intelligence - Build datasets for creative analysis, copywriting research, campaign monitoring, and paid social reporting.
- Lead generation - Find active advertisers and pages that are currently investing in Meta ads.
- AI and analytics workflows - Export structured ad data to train classifiers, enrich internal dashboards, or feed automated research agents.
How to scrape Meta Ad Library
Step 1: Choose your input
Enter the Meta Ad Library search terms, IDs, or filters supported by this Actor.
Step 2: Set filters and limits
Adjust country, status, date, platform, page size, and max item settings to control the dataset and cost.
Step 3: Run the Actor
Start the run in Apify Console or call it through the Apify API.
Step 4: Export your data
Download results in JSON, CSV, Excel, XML, or HTML, or consume them through the Apify Dataset API.
Meta Ads Scraper features
- Search, browse, and enrich - Search ads by keyword or Ad Library URL, browse every ad from an advertiser Page, find advertiser Pages by name, and optionally enrich each ad with full details.
- Apify-ready datasets - Results are saved to the default Apify dataset and can be downloaded as JSON, CSV, Excel, XML, or HTML.
- Country and content filters - Filter by country, ad status, ad type, media type, date range, language, publisher platform, and page IDs.
- Pagination and limits - Use page size, cursors, and max item limits to control run size and cost.
- Automation support - Run manually, schedule recurring runs, call the Actor through the Apify API, or trigger workflows with webhooks.
Built for reliable runs at scale: requests use proxy rotation, automatic retries, and pagination handling so large Meta Ad Library scrapes finish without manual babysitting.
Input
Configure the run on the Actor's Input tab. Set the fields for your chosen mode, then start the run.
Search by keyword
Enter a keyword or advertiser name, then narrow results with optional filters.
| Field | Type | Required | Description |
|---|---|---|---|
q | string | No | Keyword, phrase, or advertiser name to search for in the Meta Ad Library. |
country | string | No | ISO 3166-1 alpha-2 country code to target, e.g. US, IN, GB. |
active_status | string | No | Return all ads, or only currently active or inactive ones. |
ad_type | string | No | Limit results to a specific ad category, such as political and issue ads. |
search_type | string | No | How to match your search query: keywords in any order, or the exact phrase. |
media_type | string | No | Limit results to a creative format: images, videos, or memes. |
publisher_platforms | array | No | Only include ads shown on the selected Meta platforms. |
date_min | string | No | Only include ads active on or after this date (YYYY-MM-DD). |
date_max | string | No | Only include ads active on or before this date (YYYY-MM-DD). |
maxItems | integer | No | Maximum number of results to return. Set 0 for no limit. |
enrichAdDetails | boolean | No | Fetch full details for every returned ad (one extra request per ad — slower and billed as an ad-details enrichment). Leave off for fast, lightweight runs. |
Start from an Ad Library URL
Paste a Meta Ad Library search URL and its filters are applied automatically.
| Field | Type | Required | Description |
|---|---|---|---|
startUrl | string | No | Optional shortcut: paste a Meta Ad Library search URL (https://www.facebook.com/ads/library/?...) and its filters (query, country, ad type, media type, and more) are read from it automatically. Anything you set below overrides the URL. |
maxItems | integer | No | Maximum number of results to return. Set 0 for no limit. |
enrichAdDetails | boolean | No | Fetch full details for every returned ad (one extra request per ad — slower and billed as an ad-details enrichment). Leave off for fast, lightweight runs. |
Example input
{"q": "running shoes","country": "US","active_status": "all","maxItems": 50,"enrichAdDetails": false}
Output
Download results as JSON, CSV, Excel, XML, or HTML, or pull them from the Apify Dataset API.
📦 Ad identity
| Field | Type | Description |
|---|---|---|
ad_archive_id | string,number,boolean,object,array,null | Unique ID of the ad in the Meta Ad Library. |
page_id | string,number,boolean,object,array,null | Numeric ID of the advertiser's Facebook Page. |
page_name | string,number,boolean,object,array,null | Name of the advertiser's Facebook Page. |
📊 Ad status and performance
| Field | Type | Description |
|---|---|---|
is_active | string,number,boolean,object,array,null | Whether the ad is currently running. |
start_date | string,number,boolean,object,array,null | Unix timestamp when the ad started running. |
end_date | string,number,boolean,object,array,null | Unix timestamp when the ad stopped running (0 if still active). |
publisher_platform | string,number,boolean,object,array,null | Meta platforms the ad ran on (Facebook, Instagram, etc.). |
spend | string,number,boolean,object,array,null | Estimated spend range for the ad, when available. |
reach_estimate | string,number,boolean,object,array,null | Estimated audience reach for the ad, when available. |
🔍 Creative and enrichment
| Field | Type | Description |
|---|---|---|
snapshot | string,number,boolean,object,array,null | Ad creative: body text, title, call to action, images, videos, and link. |
details | string,number,boolean,object,array,null | Full ad details, present only when 'Enrich with ad details' is enabled. |
Example output
{"ad_archive_id": "123456789012345","page_id": "102988293558","page_name": "Nike","is_active": true,"start_date": 1704067200,"publisher_platform": ["FACEBOOK","INSTAGRAM"]}
How much does it cost to scrape Meta Ad Library?
This Actor uses Apify pay-per-result pricing. You are charged for successful dataset results according to the Actor pricing shown on the Apify Pricing tab. Single-result modes return one dataset item, while search and page modes can return many items.
Apify's free plan includes monthly credits, which may cover small test runs and up to the free result allowance configured for the Actor.
Use the max item limit before large runs so you can control spend while testing keywords, countries, and advertiser pages.
How does Meta Ads Scraper compare to other Meta Ad Library scrapers?
| Tool | Price / 1K | Fields | Key difference |
|---|---|---|---|
| Meta Ads Scraper (this Actor) | Apify pay-per-result | Ads, advertiser, status, dates, platforms, creative, optional details | Search by keyword or Ad Library URL and optionally enrich every ad with full details, without a Facebook login or developer API key. |
| Official Meta Ad Library API | Free but access-gated | Focused on political and issue ads | Requires a Meta developer account, identity verification, and approved access, and centers on authenticated political ad data. |
- Best when you want structured Meta ad data from a keyword or a pasted Ad Library URL.
- Choose the official API only if you specifically need Meta's verified political ad dataset.
Meta Ads Scraper FAQ
Can I start from a Meta Ad Library URL?
Yes. Paste a Meta Ad Library search URL into Start URL and the Actor reads the query and filters from it. Anything you set in the form overrides the URL.
What does 'Enrich with ad details' do?
When enabled, the Actor makes one extra request per ad to fetch its full details and attaches them to the ad row. Leave it off for faster, cheaper runs.
Can I export Meta Ads data to CSV or Excel?
Yes. Apify datasets can be downloaded as JSON, CSV, Excel, XML, HTML, or accessed through the Dataset API.
Do I need a Meta API key?
No. You configure the Actor input in Apify and run it without providing a Meta developer API key.
Can I schedule recurring Meta Ads monitoring?
Yes. Use Apify schedules to run the Actor hourly, daily, weekly, or at any custom interval supported by Apify.
How do I control run cost?
Set maxItems for search and page browsing runs, keep page_size conservative while testing, and expand limits after you confirm the input returns the data you need.
Can I integrate Meta Ads Scraper with other apps?
Yes. Meta Ads Scraper works with Apify integrations and can send results to common automation, spreadsheet, database, and AI workflows.
- Make, Zapier, and n8n - Send ad results into campaign monitoring, CRM, enrichment, or reporting workflows.
- Google Sheets and Airtable - Keep competitor ad libraries and advertiser lists in shared tables.
- Slack and email - Notify your team when scheduled monitoring runs finish.
- Apify API and webhooks - Trigger runs from code and react to completed datasets automatically.
- Apify MCP Server - Let AI agents query fresh Meta Ads data through Apify.
Can I use Meta Ads Scraper with the Apify API?
Yes. Meta Ads Scraper can be run programmatically with the Apify API. You can also schedule recurring runs, trigger runs with webhooks, and export data through the Dataset API.
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_API_TOKEN")run = client.actor("thenetaji/meta-ads-scraper").call(run_input={"q": "running shoes","country": "US","active_status": "all","maxItems": 50,"enrichAdDetails": false})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Node.js
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_APIFY_API_TOKEN" });const run = await client.actor("thenetaji/meta-ads-scraper").call({"q": "running shoes","country": "US","active_status": "all","maxItems": 50,"enrichAdDetails": false});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Can I use Meta Ads Scraper through an MCP server?
Yes. AI agents can call this Actor through the Apify MCP server. Point your MCP client at the Apify MCP server (https://mcp.apify.com) and enable the Actor as a tool so agents can pull fresh Meta Ad Library data on demand.
Is it legal to scrape Meta Ad Library?
This Actor extracts publicly available information from Meta Ad Library pages and related public ad transparency data. It does not require a Facebook login and should not be used to collect private user data. Your results may still contain personal data or regulated advertising information, so make sure your use case complies with GDPR, other privacy laws, Meta terms, and your own legal obligations. If you are unsure, consult a qualified lawyer.
Your feedback
Use the Issues tab on the Actor page for bug reports, missing fields, and feature requests.
You might also like
- Instagram Scraper - Scrape Instagram profiles, posts, comments, hashtags, and places.
- Facebook Posts Scraper - Extract public Facebook posts and engagement data.
- Google Search Results Scraper - Collect organic and paid Google search result data.
Last updated: 2026-07-02
Keywords: Meta Ads Scraper, Meta Ad Library scraper, Facebook Ads Library scraper, Meta ads API alternative, scrape Meta ads, Facebook ad intelligence