Meta Ads Library Scraper | 💵$1/1K
Pricing
from $0.40 / 1,000 meta ads
Meta Ads Library Scraper | 💵$1/1K
[💵 $1.00 / 1K] Paste a Meta Ads Library URL or search by keyword/Page ID. Export ads, optional reach/spend details, advertiser profiles, or count-only results.
Pricing
from $0.40 / 1,000 meta ads
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Meta Ads Library Scraper
Paste a Meta Ads Library URL and export public Facebook and Instagram ads, or search by filters from an API or AI agent.
Meta Ads Library Scraper returns clean ad rows with copy, creatives, CTAs, landing pages, advertiser identity, platforms, and delivery dates. Optional premium modes add public reach/spend disclosures, advertiser About profiles, or a fast total-count result. No Facebook login or Meta developer token is required.
✅ What you get / ❌ What this isn't
✅ You get:
- URL-first input that preserves Meta's complete filter state
- Keyword and Page-ID inputs for APIs, n8n, and AI agents
- Ad copy, headlines, CTAs, landing pages, images, videos, and carousel cards
- Optional per-ad reach, spend, impressions, and regulation data when Meta exposes it
- Optional advertiser verification, About text, owner/contact fields, admin countries, page history, and Instagram profile data
- Count-only monitoring without downloading ad rows
- Pure pay-per-event pricing with no Actor-start fee
❌ This is not:
- An Ads Manager or private-account scraper
- A source of audience or spend data Meta does not publish
- An AI creative-analysis product
- A guarantee that inactive commercial ads remain available forever
🔎 Why use this Meta Ads Library scraper?
Use a copied URL when you already configured a search in the Meta Ads Library. The URL carries country, status, category, media, platform, language, and future filters that a fixed form may not know about.
Use searchQueries or pageIds when an API, automation, or AI agent needs to construct the input. Both entry paths live in one Actor so scheduled monitoring and interactive research use the same output contract.
📊 What data do you get?
| Data | Main fields |
|---|---|
| Ad identity | libraryId, adUrl, collationId |
| Advertiser | pageId, pageName, pageUrl, pageCategories, pageLikeCount |
| Creative | bodyText, headline, description, ctaText, landingPageUrl |
| Media | imageUrls, videoUrls, videoThumbnailUrls, cards, creativeType |
| Delivery | isActive, startDate, endDate, publisherPlatforms |
| Transparency | adDetails.reachEstimate, spend, impressions, targetedCountries, regionalRegulationData |
| Advertiser profile | advertiserProfile.about, verification, confirmedOwner, address, adminCountries, pageHistory, Instagram fields |
| Provenance | sourceType, sourceValue, sourceUrl, countryCode, observedAt |
| Count mode | totalCount, countIsEstimate |
👥 Who is it for?
- Performance marketers tracking competitor ads and offers
- Creative strategists building swipe files
- Agencies monitoring client categories
- Lead-generation teams enriching advertiser Pages
- Researchers studying political, issue, employment, housing, credit, or EU ad transparency
- Developers and AI agents that need predictable JSON instead of browser work
⚙️ How to scrape Meta Ads Library
- Open Meta Ads Library and configure the filters you want.
- Copy the full browser URL into
startUrls. - Choose a result limit.
- Enable ad details, advertiser profiles, or count-only mode only when needed.
- Run the Actor and export the dataset as JSON, CSV, Excel, XML, or another Apify-supported format.
📥 Input
By URL
The copied URL is the primary input. Its filters are preserved. A fallback field changes the URL only when you explicitly supply that field.
{"startUrls": [{"url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=running+shoes&media_type=video"}],"maxResults": 100}
By filters - for API and AI agents
{"searchQueries": ["running shoes"],"countryCode": "US","activeStatus": "active","mediaType": "video","category": "all","sortBy": "recent","maxResults": 100}
For an exact advertiser:
{"pageIds": ["20409006880"],"countryCode": "US","activeStatus": "active","maxResults": 100,"includeAboutPage": true}
At least one entry mode is required: startUrls, searchQueries, or pageIds. Compatibility aliases are also accepted: url, urls, query, and pageId.
| Field | Purpose |
|---|---|
startUrls | Copied Meta Ads Library URLs |
searchQueries | Keywords or advertiser names |
pageIds | Numeric Facebook Page IDs |
countryCode, activeStatus, mediaType | Filters or explicit URL overrides |
dateFrom, dateTo | Inclusive date overrides in YYYY-MM-DD |
sortBy | Meta default, impressions, or recent |
category | All, political/issue, housing, employment, or credit ads |
isDetailsPerAd | Add the public per-ad transparency payload |
includeAboutPage | Add one public About profile per unique advertiser Page |
onlyTotal | Return one count row per input source, without ad rows |
maxResults | Total unique ad rows, up to 10,000 |
Reliability settings, retries, delays, and proxy rotation are managed by the Actor.
📤 Output
Ad row with optional premium fields:
{"resultType": "ad","libraryId": "266617227767457","pageId": "108824017345866","pageName": "Example Advertiser","bodyText": "Public ad copy","headline": "Public headline","landingPageUrl": "https://example.com/offer","publisherPlatforms": ["FACEBOOK", "INSTAGRAM"],"adDetails": {"reachEstimate": ">1M","spend": "$100K - $125K","currency": "USD","disclosureAvailable": true},"advertiserProfile": {"verification": "BLUE_VERIFIED","category": "Software","instagramUsername": "example","confirmedOwner": "Example Inc."},"observedAt": "2026-07-30T12:00:00.000Z"}
Count-only row:
{"resultType": "count","sourceType": "keyword","sourceValue": "shopify","totalCount": 10681,"countIsEstimate": true,"observedAt": "2026-07-30T12:00:00.000Z"}
💵 How much does it cost to scrape Meta Ads Library?
There is no start fee. Platform usage is included.
| Event | Free | Bronze | Silver | Gold, Platinum, Diamond |
|---|---|---|---|---|
ad-scraped per ad | $0.0010 | $0.0008 | $0.0006 | $0.0004 |
ad-details-scraped per available detail row | $0.0030 | $0.0024 | $0.0018 | $0.0012 |
advertiser-profile-scraped per unique Page profile | $0.0020 | $0.0016 | $0.0012 | $0.0008 |
total-count per input source | $0.0100 | $0.0100 | $0.0100 | $0.0100 |
On the Free plan:
- 100 base ad rows cost $0.10.
- 100 ads with per-ad details cost $0.40.
- The same 100 detailed ads from one advertiser plus one About profile cost $0.402.
- One count-only query costs $0.01.
Meta usually publishes reach and spend for regulated ad categories and EU transparency records, not ordinary commercial ads. When those disclosures are absent, adDetails.disclosureAvailable is false, the row explains why, and ad-details-scraped is not charged.
🔍 Example tasks
| Task | Job |
|---|---|
| Track Shopify Facebook ads | Exact advertiser Page ID |
| Find Facebook competitor ads | Competitor discovery |
| Export ecommerce Meta ad creatives | Ecommerce swipe file |
| Research SaaS ad copy | SaaS messaging research |
| Find AI tool ads | AI category research |
| Research real estate ads | Real-estate creative research |
| Research solar lead-generation ads | Lead-gen offer research |
| Research skincare creatives | Consumer creative research |
🤖 Use with AI agents via MCP
Install Apify MCP for Claude Code or Cursor and expose this Actor:
apify mcp install claude-code --tools webdata_labs/meta-ads-library-scraperapify mcp install cursor --tools webdata_labs/meta-ads-library-scraper
You can also configure the remote MCP server at https://mcp.apify.com and authenticate through OAuth. Then ask the agent: "Run webdata_labs/meta-ads-library-scraper for Nike ads in the US and return 20 results." Filter inputs are designed so the agent does not need to construct a Meta URL.
See the Apify MCP documentation.
🔁 Use this Actor in n8n
- Add the Apify community node. Self-hosted n8n uses
@apify/n8n-nodes-apify; n8n Cloud can install it from the node panel. - Add Run Actor and choose
webdata_labs/meta-ads-library-scraper. - Paste one of the JSON inputs above and enable Wait for finish.
- Add Get Dataset Items and map
defaultDatasetIdfrom the run result. - Send rows to Google Sheets, a database, Slack, or your AI workflow.
See the Apify n8n integration guide.
🔁 Ad intelligence across Meta, Google, LinkedIn, and TikTok
| Actor | Use it for |
|---|---|
| Google Ads Transparency Scraper | Google advertiser creatives and campaigns |
| LinkedIn Ads Library Scraper | B2B competitor ads |
| TikTok Creative Center Ad Intelligence | TikTok ads and creative trends |
| AI Ad Creative Intelligence API | Analyze creative patterns after collection |
| Website Contact Extractor | Enrich advertiser landing pages with public contacts |
⚠️ Limits and caveats
- The Actor extracts only public Meta Ads Library data.
- Reach, spend, demographics, and inactive history are not available for every category or country.
- Search totals are approximate and can change between runs.
- Creative CDN URLs can expire, so download media promptly if you need durable copies.
- Dynamic creative can contain many text and media variants; arrays preserve them.
- Meta can change public page structures and may temporarily throttle requests.
- Do not use the output for unlawful profiling, harassment, spam, or policy-violating automation.
❓ FAQ
Does it require a Facebook login or Meta developer token?
No. It uses public Meta Ads Library pages.
Does a URL override the fallback filters?
The URL wins by default. A fallback field overrides the corresponding URL parameter only when you explicitly supply it.
Can it return only the number of ads?
Yes. Set onlyTotal: true. The Actor returns one count row per URL, keyword, or Page ID and does not download ad rows.
Why are reach or spend empty on a commercial ad?
Meta does not publish those disclosures for most ordinary commercial ads. Select a regulated category or use EU transparency records when that data is required.
Is it legal to scrape the Meta Ads Library?
The Actor accesses public advertising-transparency data, but legality depends on your jurisdiction and use. Follow applicable laws, Meta's terms, data-protection rules, and your organization's policies. Obtain legal advice for regulated or high-risk use.
📝 Changelog
- 2026-07-30: URL-first input, explicit URL overrides, aliases, sorting and category filters, count-only mode, per-ad transparency details, advertiser About profiles, and premium event pricing.
- 2026-07-23: Initial public release with keyword, Page-ID, URL, date-range, and deep-pagination support.
🛠️ Support
Open an issue from the Actor page and include the run URL, non-secret input, expected result, and one affected query, Page ID, or public Ads Library URL.