# Facebook Ad Library Scraper 📢 \[No Login] Ads & Creatives (`scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives`) Actor

Extract ads and creatives from Meta Facebook Ad Library without login or API keys. Get ad copy, video and image URLs, landing page URLs, CTA buttons, start dates, platforms, spend, impressions and competitor analytics across any country. Fast, clean & reliable.

- **URL**: https://apify.com/scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 ad creative extracteds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📢 Facebook Ad Library Scraper: Spy on Meta Ads, Creatives, Copy & CTAs (No Login)

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-orange?style=for-the-badge\&logo=apify)](https://apify.com)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-Yes-green.svg?style=for-the-badge)](https://apify.com)
[![Pricing](https://img.shields.io/badge/Pricing-%245%20%2F%201k%20Ads-blue?style=for-the-badge)](https://apify.com)
[![No Login Required](https://img.shields.io/badge/Auth-No%20Login%20%2F%20No%20Cookies-success?style=for-the-badge)](https://apify.com)
[![Format](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-purple?style=for-the-badge)](https://apify.com)

> **The ultimate Facebook Ad Library Scraper on Apify.** Extract 100% genuine Facebook ads, Instagram ads, high-resolution creatives, video MP4 URLs, carousel slides, ad copy, headlines, call-to-action (CTA) buttons, landing page URLs, and advertiser metadata from the **Meta Ad Library** — without logging in, without API tokens, and without cookies.

***

### 📌 Table of Contents

- [Why You Need This Meta Ad Library Scraper](#-why-you-need-this-meta-ad-library-scraper)
- [Feature Comparison: Why We Are #1](#-feature-comparison-why-we-are-1)
- [Key Features & Capabilities](#-key-features--capabilities)
- [Powerful Search Modes](#-powerful-search-modes)
- [Use Cases & Growth Applications](#-use-cases--growth-applications)
- [Input Parameters](#-input-parameters)
- [Output Data Fields](#-output-data-fields)
- [Real Sample Output (JSON)](#-real-sample-output-json)
- [Transparent Pricing & Free Trial](#-transparent-pricing--free-trial)
- [How to Use in 3 Simple Steps](#-how-to-use-in-3-simple-steps)
- [Integration & Export Options](#-integration--export-options)
- [Frequently Asked Questions (FAQ)](#-frequently-asked-questions-faq)
- [Legal & Compliance](#-legal--compliance)

***

### 🔍 Why You Need This Meta Ad Library Scraper

Are you spending hours manually clicking through the **Facebook Ad Library** to reverse-engineer competitor campaigns? Finding winning creatives, studying converting ad copy, and tracking active dropshipping products shouldn't require tedious copy-pasting or risking your personal Facebook account.

**Facebook Ad Library Scraper** is a high-speed, enterprise-grade cloud scraping tool that automates **Meta Ads extraction** at scale. Whether you are tracking a single brand's official page, monitoring an entire industry with multiple keywords, or downloading creative video assets for creative strategy, this actor pulls clean, structured ad intelligence straight into **JSON, CSV, or Excel**.

#### What you can scrape in seconds:

- 🖼️ **Full Creatives:** High-res original images and direct HD/SD MP4 video download links.
- 🎠 **Complete Carousel Ads:** Every individual card with its own image, video, headline, body text, and direct CTA link.
- ✍️ **Ad Copy & Text:** Complete primary text, headlines, descriptions, and emojis.
- 🎯 **Conversion CTAs & Funnels:** Exact button labels (`Shop Now`, `Sign Up`, `Learn More`, `Book Now`) and destination landing page URLs with UTM parameters.
- 🏢 **Advertiser Insights:** Page name, numeric Page ID, verified profile avatar, and total page likes.
- 📅 **Lifespan & Reach:** Ad start date, end date, active/inactive status, publisher platforms (Facebook, Instagram, Messenger, Audience Network, Threads, WhatsApp), and estimated spend/impressions (where available).
- 🧠 **Built-in AI Competitive Insights:** Optional automated distribution analysis of top formats and dominant CTAs.

***

### 🚀 Feature Comparison: Why We Are #1

| Feature | This Actor | Other Store Scrapers | Manual Ad Library Browsing | Official Meta Graph API |
|---|---|---|---|---|
| **Pricing Model** | **$0.02 start + $5 / 1k ads** | $15 – $40 / 1k or $0.50/min | Free (Days of manual work) | Enterprise approval required |
| **No Facebook Login / Cookies** | ✅ **100% Anonymous** | ❌ Needs cookies (account ban risk) | ⚠️ Manual session | ❌ Heavy OAuth token restrictions |
| **Full Carousel Card Extraction** | ✅ **All cards + media** | ⚠️ Usually only 1st card | ⚠️ Manual click-through | ⚠️ Limited card nesting |
| **Direct MP4 Video Download Links** | ✅ **HD & SD direct URLs** | ❌ Watermarked or thumbnail only | ❌ Blobs / protected stream | ❌ Expiring signed URLs |
| **Multi-Query Support (`OR` syntax)** | ✅ **e.g. Nike OR Adidas** | ❌ 1 query per run | ❌ 1 search at a time | ❌ Complex multi-request batching |
| **Numeric Page ID Search** | ✅ **Direct `view_all_page_id`** | ❌ Keyword only | ✅ | ⚠️ App review required |
| **Direct Ad Library URLs** | ✅ **Paste custom filter URLs** | ❌ Basic search only | ✅ | ❌ |
| **Residential Proxy Integration** | ✅ **Built-in auto-rotation** | ⚠️ Often blocked by Meta | ❌ Captchas & IP blocks | ❌ Strict IP rate limits |
| **Export Options** | ✅ **JSON, CSV, Excel, XML, API**| ⚠️ JSON only | ❌ Screenshots only | ⚠️ Developer-only JSON |

***

### ✨ Key Features & Capabilities

#### 1. 100% No-Login & Zero-Ban Safety

You never need to log in to Facebook, link an ad account, or provide personal session cookies. This actor connects directly to Meta's public Ad Library index using browser-stealth routing, completely protecting your personal and business accounts from checkpoints or bans.

#### 2. Deep Creative Asset Extraction (Images, HD Videos & Carousels)

Unlike surface-level scrapers that only grab low-res previews:

- **Images:** Extracts the uncompressed `original_image_url`.
- **Videos:** Captures direct `.mp4` progressive video streaming URLs that you can download directly or stream in your own apps.
- **Carousel Ads:** Extracts the complete `cards` array containing every single product tile with its individual title, description, creative asset, and landing link.

#### 3. Competitor Funnel Tracking & Destination URLs

See exactly where your competitors are sending traffic. Get full landing page URLs including tracking parameters (`utm_source`, `utm_campaign`, `affiliate_id`), display domain links, and the specific Call To Action (`ctaText` and `ctaType`).

#### 4. Global Geographic Targeting

Filter ads by country code (`US`, `BR`, `GB`, `CA`, `AU`, `DE`, `FR`, `IN`, etc.) or scrape worldwide by selecting `ALL`.

#### 5. Multi-Brand Batching with Smart `OR` Search

Compare competitors effortlessly in a single run. Simply enter `Nike OR Adidas OR Under Armour` or `Shopify OR WooCommerce` to scrape active ads across multiple brands simultaneously without starting multiple runs.

***

### 🔎 Powerful Search Modes

The actor adapts automatically to whatever input you provide:

1. **Brand or Competitor Name (Page Search)**\
   *Input:* `Netflix` or `Gymshark`\
   *Result:* Finds the official verified advertiser page and extracts all their active and past ad campaigns.
2. **Niche Keyword Search (Ad Body & Copy)**\
   *Input:* `teeth whitening` or `dropshipping luxury watch` or `apartamento são paulo`\
   *Result:* Finds all ads from any advertiser whose ad creative or body copy contains the search term.
3. **Multi-Competitor Search (`OR` Syntax)**\
   *Input:* `Canva OR Adobe OR Figma`\
   *Result:* Scrapes all target competitors in a single, unified dataset.
4. **Direct Meta Ad Library URL**\
   *Input:* `https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=real%20estate`\
   *Result:* Preserves your exact advanced filters, date ranges, and sorting preferences from Meta's web interface.
5. **Direct Numeric Page ID**\
   *Input:* `216630021727132` (Netflix) or `193824160646270` (Vivo)\
   *Result:* Instantly pulls all ads run by that specific Facebook Page without keyword ambiguity.

***

### 🎯 Use Cases & Growth Applications

#### 🛍️ E-Commerce & Dropshipping Product Research

- Discover viral winning products before they saturate the market.
- Filter for ads that have been running continuously for 30+ days (long-running ads = profitable campaigns).
- Analyze competitor pricing, bundle offers, and discount hooks in ad copy.

#### 🎨 Creative Strategy & Ad Hook Inspiration

- Build a swipe file of high-converting video hooks, user-generated content (UGC) styles, and carousel layouts.
- Download ad videos directly in HD `.mp4` format for video editor storyboarding and creative benchmarking.
- Analyze which Call-to-Actions (CTAs) top brands test across different product lines.

#### 🏢 Media Buying & Digital Marketing Agencies

- Perform instant competitor audits for prospective clients during sales pitches.
- Monitor client competitor spend and creative fatigue in real time.
- Identify new ad formats (Reels format, carousel, static single-image) being adopted in any industry.

#### 🏠 Real Estate & High-Ticket Lead Generation

- Track local real estate brokers, developers, and agency lead generation funnels.
- Extract lead magnets, instant-form landing URLs, and WhatsApp direct links (`wa.me`).

#### 🤖 AI Training & Market Intelligence

- Gather thousands of genuine ad copy examples and headlines for fine-tuning marketing LLMs (GPT, Claude).
- Train computer vision models on commercial product images, visual overlays, and promotional badges.

***

### ⚙️ Input Parameters

Configure your scraping run with simple, intuitive settings:

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `searchQuery` | String | **Yes** | `"Nike"` | Brand name, keyword, Page ID, or direct Ad Library URL. Supports `OR` operator (e.g. `Nike OR Adidas`). |
| `country` | String | No | `"US"` | 2-letter ISO country code (`US`, `BR`, `GB`, `CA`, `DE`, `FR`, etc.) or `"ALL"` for worldwide ads. |
| `activeStatus` | String | No | `"active"` | Filter by ad activity: `"active"`, `"inactive"`, or `"all"`. |
| `adType` | String | No | `"all"` | Type of ads: `"all"` (commercial/e-commerce) or `"political_and_issue_ads"`. |
| `maxAds` | Integer | No | `50` | Maximum number of ads to extract (e.g., 50, 500, 1000, 5000+). |
| `startDateFrom` | String | No | `null` | Filter ads that started running after this date (`YYYY-MM-DD`). |
| `startDateTo` | String | No | `null` | Filter ads that started running before this date (`YYYY-MM-DD`). |
| `includeAiAnalysis` | Boolean | No | `false` | When enabled, generates a competitive intelligence summary of top CTAs, formats, and advertisers. |
| `proxyConfiguration` | Object | No | `RESIDENTIAL` | Apify proxy configuration (Apify Residential Proxy is recommended for high-volume runs). |

#### Example Input JSON

```json
{
  "searchQuery": "Netflix",
  "country": "BR",
  "activeStatus": "active",
  "adType": "all",
  "maxAds": 100,
  "includeAiAnalysis": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

***

### 📊 Output Data Fields

Every ad extracted is pushed directly to the Apify dataset with clean, normalized fields:

| Field Name | Type | Description | Example |
|---|---|---|---|
| `id` | String | Unique Meta Ad Library identifier | `"2977721915916476"` |
| `pageName` | String | Official advertiser Facebook page name | `"Netflix"` |
| `pageId` | String | Numeric Meta Page ID | `"216630021727132"` |
| `pageProfilePictureUrl` | String | Direct URL to advertiser's avatar icon | `"https://scontent...fbcdn.net/..."` |
| `pageLikeCount` | Integer | Total page follower/like count | `206936468` |
| `adContent` | String | Primary ad copy text, description, and hashtags | `"Planos a partir de R$ 20,90/mês..."` |
| `adFormat` | String | Format type: `carousel`, `video`, or `image` | `"carousel"` |
| `imageUrl` | String | Direct high-resolution primary image URL | `"https://scontent...fbcdn.net/..."` |
| `videoUrl` | String | Direct progressive MP4 video download link | `"https://video...fbcdn.net/...mp4"` |
| `landingUrl` | String | Target destination landing page with UTM tags | `"https://netflix.com/"` |
| `displayLink` | String | Simplified domain preview | `"netflix.com"` |
| `ctaText` | String | Human-readable button text | `"Sign up"` |
| `ctaType` | String | Meta CTA classification code | `"SIGN_UP"` |
| `country` | String | Country where the ad is active | `"BR"` |
| `startDate` | String | Date the ad started running (`YYYY-MM-DD`) | `"2026-08-21"` |
| `endDate` | String | Date the ad concluded (or current scrape date) | `"2026-09-18"` |
| `status` | String | Current campaign status | `"Active"` |
| `platforms` | String | Formatted list of placement networks | `"Facebook, Instagram, Messenger"` |
| `publisherPlatforms` | Array | Raw platform enum array | `["FACEBOOK", "INSTAGRAM"]` |
| `estimatedSpend` | String / Null | Estimated spend range (DSA / Political ads) | `null` |
| `impressions` | String / Null | Estimated impression range | `null` |
| `adLibraryUrl` | String | Clickable URL to view live in Meta Ad Library | `"https://www.facebook.com/ads/library/?id=..."` |
| `cards` | Array / Null | Array of carousel cards (each with title, body, img, vid, link) | `[ { "title": "...", "imageUrl": "..." } ]` |
| `scrapedAt` | String | UTC timestamp when the ad was scraped | `"2026-09-18T17:29:38.926499+00:00"` |

***

### 📦 Real Sample Output (JSON)

Below is an actual response generated by the scraper for a **Carousel Ad** and a **Video Ad**:

```json
[
  {
    "id": "2977721915916476",
    "pageName": "Netflix",
    "adContent": "Planos a partir de R$ 20,90/mês. Filmes, séries e eventos ao vivo. Sujeito a limitações. Saiba mais em netflix.com",
    "adFormat": "carousel",
    "imageUrl": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/781207015_1759346958741387_1703711014480913830_n.jpg?_nc_cat=101&ccb=1-7&_nc_sid=c53f8f",
    "videoUrl": null,
    "landingUrl": "https://netflix.com/",
    "displayLink": "netflix.com",
    "ctaText": "Sign up",
    "ctaType": "SIGN_UP",
    "country": "BR",
    "startDate": "2026-08-21",
    "endDate": "2026-09-18",
    "status": "Active",
    "platforms": "Facebook, Instagram, Audience Network, Messenger, Threads",
    "estimatedSpend": null,
    "impressions": null,
    "adLibraryId": "2977721915916476",
    "adLibraryUrl": "https://www.facebook.com/ads/library/?id=2977721915916476",
    "pageId": "216630021727132",
    "pageProfilePictureUrl": "https://scontent-iad3-2.xx.fbcdn.net/v/t39.35426-6/782906314_931548516662326_5034324911934832418_n.jpg",
    "pageLikeCount": 206936468,
    "publisherPlatforms": [
      "FACEBOOK",
      "INSTAGRAM",
      "AUDIENCE_NETWORK",
      "MESSENGER",
      "THREADS"
    ],
    "cards": [
      {
        "title": "Comece a assistir hoje mesmo",
        "body": "Planos a partir de R$ 20,90/mês. Filmes, séries e eventos ao vivo. Sujeito a limitações. Saiba mais em netflix.com",
        "linkUrl": "https://netflix.com/",
        "linkDescription": "Assista já. Assine a Netflix.",
        "imageUrl": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/781207015_1759346958741387_1703711014480913830_n.jpg",
        "videoUrl": null,
        "ctaText": "Sign Up",
        "ctaType": "SIGN_UP"
      },
      {
        "title": "Comece a assistir hoje mesmo",
        "body": "Planos a partir de R$ 20,90/mês. Filmes, séries e eventos ao vivo. Sujeito a limitações. Saiba mais em netflix.com",
        "linkUrl": "https://netflix.com/",
        "linkDescription": "Assista já. Assine a Netflix.",
        "imageUrl": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/782543330_1070205265730408_2274178542858985467_n.jpg",
        "videoUrl": null,
        "ctaText": "Sign Up",
        "ctaType": "SIGN_UP"
      }
    ],
    "scrapedAt": "2026-09-18T17:29:38.926499+00:00"
  },
  {
    "id": "2485688241913746",
    "pageName": "Netflix",
    "adContent": "Toph Beifong, a Bandida Cega.\n\nA 2ª temporada de Avatar: O Último Mestre do Ar está disponível.",
    "adFormat": "video",
    "imageUrl": null,
    "videoUrl": "https://video-iad6-1.xx.fbcdn.net/o1/v/t2/f2/m367/AQPfIAHxEfeVaefMohZel7dvJe67VvI7MTJ4sh6kZfMBa5unGfl7DzYVGWLJCG0Eioaej3V3JcdXl6-XlMGy1QACW8ueOEb9tBuu-jHDOQ.mp4?_nc_cat=107&_nc_sid=ef5aa3",
    "landingUrl": "https://www.netflix.com/",
    "displayLink": "www.netflix.com",
    "ctaText": "Sign up",
    "ctaType": "SIGN_UP",
    "country": "BR",
    "startDate": "2026-08-18",
    "endDate": "2026-09-18",
    "status": "Active",
    "platforms": "Facebook, Instagram, Audience Network, Messenger, Threads",
    "estimatedSpend": null,
    "impressions": null,
    "adLibraryId": "2485688241913746",
    "adLibraryUrl": "https://www.facebook.com/ads/library/?id=2485688241913746",
    "pageId": "216630021727132",
    "pageProfilePictureUrl": "https://scontent-iad3-1.xx.fbcdn.net/v/t39.35426-6/771694479_1937869017110915_8892660842966407922_n.jpg",
    "pageLikeCount": 206936468,
    "publisherPlatforms": [
      "FACEBOOK",
      "INSTAGRAM",
      "AUDIENCE_NETWORK",
      "MESSENGER",
      "THREADS"
    ],
    "cards": null,
    "scrapedAt": "2026-09-18T17:29:38.926561+00:00"
  }
]
```

***

### 💰 Transparent Pricing & Free Trial

We believe in 100% predictable, transparent pricing with **no hidden charges**:

| Operation | Price | Details |
|---|---|---|
| **Actor Start Fee** | **$0.02** | Minimal initialization fee per run |
| **Data Extraction** | **$5.00 / 1,000 Ads** | Only **$0.005 per ad extracted** |
| **Free Monthly Trial** | **$5.00 Credit** | Use Apify's free tier to scrape **up to 1,000 ads FREE** every month! |

> \[!TIP]
> **Pay-Per-Result Advantage:** Unlike compute-time billing where slow pages waste your budget, you only pay for actual ads extracted. If an advertiser only has 20 active ads, you only pay a few cents!

***

### 🛠️ How to Use in 3 Simple Steps

#### Step 1: Set Your Target Query

Enter the brand name (e.g. `Nike`), keyword (e.g. `skincare`), numeric Page ID, or paste a direct Meta Ad Library search URL.

#### Step 2: Choose Country & Limits

Select your target country (e.g. `US`, `BR`, `GB`, or `ALL`) and set your desired `maxAds` limit (e.g. `100`).

#### Step 3: Run & Download Data

Click **Start**. Within seconds, your dataset will populate. Download your data in **CSV, JSON, Excel, or XML** with a single click, or access it automatically via Apify's REST API and Webhooks.

***

### 🔗 Integration & Export Options

Connect this scraper directly into your marketing workflows:

- **Download:** Instant one-click export to CSV, JSON, Excel (XLSX), XML, or HTML table.
- **REST API:** Fetch dataset items programmatically using Apify’s official Python, JavaScript, or cURL client libraries.
- **No-Code Automations:** Push data directly to **Make (Integromat)**, **Zapier**, **Google Sheets**, or **Airtable**.
- **Webhooks:** Trigger automated notifications via Slack or Discord whenever a competitor launches a new campaign.

```bash
## Example cURL API Call
curl "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"searchQuery": "Gymshark", "country": "US", "maxAds": 50}'
```

***

### ❓ Frequently Asked Questions (FAQ)

##### Q: Do I need a Facebook account or Facebook access token?

**No.** This actor operates completely anonymously without any login, session cookies, or Meta developer tokens.

##### Q: Can I download the ad videos and images?

**Yes.** The output provides direct, permanent, high-resolution media URLs. Video ads contain progressive `.mp4` URLs that can be downloaded or played directly.

##### Q: Does it support Carousel Ads?

**Yes.** While other scrapers only capture the first slide, our scraper extracts the complete `cards` array with every individual card's image, video, headline, description, and link.

##### Q: How do I scrape ads from multiple competitors at once?

Use the `OR` syntax in the `searchQuery` field (e.g. `Nike OR Adidas OR Puma`). The actor will query each competitor and compile the results into a single dataset.

##### Q: Can I search using a direct Facebook Ad Library link?

**Yes.** If you configured custom filters directly inside facebook.com/ads/library, simply copy that full browser URL and paste it into the `searchQuery` field.

##### Q: Why are spend and impression metrics empty for some ads?

Meta only makes spend and impression estimates publicly visible for political ads, elections, social issues, and commercial ads subject to European Union (EU) Digital Services Act (DSA) disclosures. For standard commercial ads outside these jurisdictions, Meta does not publish spend figures.

***

### ⚖️ Legal & Compliance

This actor extracts only publicly available information displayed by Meta on the official [Meta Ad Library](https://www.facebook.com/ads/library/) in compliance with global transparency standards. It does not access private accounts, bypass authentication firewalls, or collect personal consumer data.

***

<div align="center">

**Ready to uncover high-converting competitor ads?**\
Click **Run Actor** above to start scraping Meta Ad Library campaigns now! 🚀

</div>

# Actor input Schema

## `searchQuery` (type: `string`):

Required. Advertiser/page name, keyword, Meta Ad Library URL, or numeric Page ID. Use OR for multiple advertisers (e.g. Nike OR Adidas).

## `country` (type: `string`):

ISO 2-letter country code (US, GB, DE, MX, BR...) or ALL.

## `adType` (type: `string`):

Filter by ad category: All Ads or Political/Issue Ads.

## `activeStatus` (type: `string`):

Filter by active state: active, inactive, or all.

## `startDateFrom` (type: `string`):

Keep ads that started running on or after this date (YYYY-MM-DD).

## `startDateTo` (type: `string`):

Keep ads that started running on or before this date (YYYY-MM-DD).

## `maxAds` (type: `integer`):

Max ads to extract (1–500). Use a small run first, then scale.

## `includeAiAnalysis` (type: `boolean`):

Generate strategic competitive intelligence summary of messaging, creative formats, and top CTAs.

## `proxyConfiguration` (type: `object`):

Start without proxy to minimize cost; add residential proxy if Meta blocks the run.

## Actor input object example

```json
{
  "searchQuery": "Nike",
  "country": "BR",
  "adType": "all",
  "activeStatus": "active",
  "maxAds": 50,
  "includeAiAnalysis": false
}
```

# Actor output Schema

## `results` (type: `string`):

Structured ad dataset containing ad copy, creative image/video URLs, landing pages, CTAs, platforms, dates, and spend metrics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "Nike"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchQuery": "Nike" }

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "Nike"
}' |
apify call scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapepilot/facebook-ad-library-scraper-no-login-ads-creatives"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/XqYdDujFXhP6ffeYG/builds/OqbTqZYmDHpM0Gb4d/openapi.json
