# Meta Ads Library Scraper (Pay per Event) (`eiv/meta-ads-library-scraper`) Actor

Scrape Meta Ad Library by keyword or Facebook page URL. Get ad text, CTA, headlines, platforms, languages, targeting, reach data, and delivery dates. Supports all countries, languages, and filters. Works with any Ad Library search URL. Lightning fast, structured JSON output.

- **URL**: https://apify.com/eiv/meta-ads-library-scraper.md
- **Developed by:** [Eimantas V](https://apify.com/eiv) (community)
- **Categories:** Social media, Lead generation, E-commerce
- **Stats:** 37 total users, 23 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Meta Ads Library Scraper

Apify Actor that scrapes the [Meta Ad Library](https://www.facebook.com/ads/library/). Search by keyword, paste Facebook page URLs, or use Ad Library URLs with filters — get structured ad data back.

### What data you get

- **Ad text** — full ad copy (multiple creative variations if applicable)
- **CTA captions & headlines** — call-to-action text and link preview titles
- **Publisher platforms** — facebook, instagram, messenger, audience_network, threads
- **Languages** — detected ad languages
- **Dates & status** — creation date, delivery start/stop dates, active or inactive
- **Targeting** — target ages, gender, locations (UK & EU ads)
- **Reach breakdown** — age/country/gender reach data (UK & EU ads)
- **Impressions** — impression count ranges (political/issue ads only)
- **Ad snapshot URL** — direct link to view the ad in the Ad Library
- **Advertiser info** — page name, page ID, page URL

### Input

#### Search Queries / Keywords

Search across all ads by keyword. Keywords are matched against ad text, images, and CTA buttons.

````

Loop Earplugs
Nike running shoes
AG1 supplement

```

You can also paste full **Ad Library URLs** here — all filters from the URL are preserved:
```

https://www.facebook.com/ads/library/?active\_status=active\&ad\_type=all\&country=US\&q=Loop+Earplugs
https://www.facebook.com/ads/library/?active\_status=active\&content\_languages\[0]=en\&publisher\_platforms\[0]=instagram\&publisher\_platforms\[1]=facebook\&view\_all\_page\_id=15087023444\&media\_type=image

```

Supported URL parameters: `q`, `view_all_page_id`, `content_languages[N]`, `publisher_platforms[N]`, `media_type`, `active_status`, `country`, `search_type`.

#### Page URLs (max 10)

Facebook page URLs to scrape all ads from. The page ID is automatically resolved from the page HTML.

```

https://www.facebook.com/nike
https://www.facebook.com/SHEIN/
https://www.facebook.com/profile.php?id=123456789

````

You can provide up to 10 page URLs (API limit for `search_page_ids`).

#### Filter parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| Max Results | integer | 50 | Maximum number of ads to return (across all inputs combined) |
| Only Total Count | boolean | false | Return only the count of matching ads — no ad data fetched |
| Keyword Match Type | select | Unordered | `KEYWORD_UNORDERED` treats each word independently and finds ads containing all words in any order. `KEYWORD_EXACT_PHRASE` matches the exact phrase — separate multiple phrases with commas to match all of them |
| Delivery Date From | string | — | Only return ads delivered after this date (inclusive). Format: `YYYY-MM-DD` |
| Delivery Date To | string | — | Only return ads delivered before this date (inclusive). Format: `YYYY-MM-DD` |
| Publisher Platforms | multi-select | (all) | Filter by platform: Facebook, Instagram, Audience Network, Messenger, WhatsApp, Oculus, Threads |
| Active Status | select | ALL | `ALL`, `ACTIVE`, or `INACTIVE`. Overridden if already set in an Ad Library URL |
| Countries | multi-select | US | Countries where ads were delivered. 250+ supported |
| Languages | multi-select | (all) | Filter by language: English, Spanish, French, etc. (80+ languages) |
| Proxy Configuration | object | disabled | Optional proxy configuration |

#### Example input

```json
{
    "searchQueries": [
        "Loop Earplugs"
    ],
    "pageUrls": [
        "https://www.facebook.com/nike",
        "https://www.facebook.com/SHEIN/"
    ],
    "maxResults": 100,
    "activeStatus": "ACTIVE",
    "countries": ["US"],
    "searchType": "KEYWORD_UNORDERED"
}
````

### Output

Each ad is pushed as a separate item to the default dataset:

```json
{
    "adId": "1926905081295969",
    "adArchiveId": "1926905081295969",
    "adCreationTime": "2026-03-28",
    "advertiserName": "AG1 by Athletic Greens",
    "advertiserPageId": "130735813680498",
    "advertiserPageUrl": "https://www.facebook.com/130735813680498",
    "adText": "AG1 is the daily supplement trusted by thousands. One scoop covers your bases with 75 vitamins, minerals and whole food sourced nutrients.",
    "ctaCaption": "drinkag1.com",
    "headline": "AG1 Supplement by Athletic Greens",
    "description": "Try AG1 and get a free Welcome Kit with your first order.",
    "publisherPlatforms": [
        "facebook",
        "instagram",
        "audience_network",
        "messenger"
    ],
    "languages": [
        "en"
    ],
    "startDate": "2026-03-29",
    "endDate": "",
    "isActive": true,
    "impressions": null,
    "snapshotUrl": "https://www.facebook.com/ads/library/?id=1926905081295969",
    "ageCountryGenderReachBreakdown": [
        {
            "country": "US",
            "age_gender_breakdowns": [
                {
                    "age_range": "25-34",
                    "male": 1200,
                    "female": 980
                },
                {
                    "age_range": "35-44",
                    "male": 850,
                    "female": 720
                }
            ]
        }
    ],
    "bylines": "",
    "targetAges": ["25", "65"],
    "targetGender": "All",
    "targetLocations": [
        {
            "name": "United States",
            "num_obfuscated": 0,
            "type": "countries",
            "excluded": false
        }
    ],
    "euTotalReach": null,
    "beneficiaryPayers": null,
    "scrapedAt": "2026-04-08T11:15:36.400Z"
}
```

#### Output fields

| Field | Type | Description |
|-------|------|-------------|
| `adId` | string | Unique ad identifier (Library ID) |
| `adArchiveId` | string | Same as adId |
| `adCreationTime` | string | Date the ad was created |
| `advertiserName` | string | Name of the Facebook page running the ad |
| `advertiserPageId` | string | Numeric page ID |
| `advertiserPageUrl` | string | Link to the advertiser's Facebook page |
| `adText` | string | Full ad creative body text (multiple variations joined with newlines) |
| `ctaCaption` | string | CTA link caption (e.g. domain name) |
| `headline` | string | Link preview headline |
| `description` | string | Link preview description |
| `publisherPlatforms` | string\[] | Platforms the ad runs on (facebook, instagram, messenger, audience\_network, threads) |
| `languages` | string\[] | Detected ad languages (ISO 639-1 codes) |
| `startDate` | string | Delivery start date |
| `endDate` | string | Delivery end date (empty if still active) |
| `isActive` | boolean | Whether the ad is currently running |
| `impressions` | object/null | Impression count range (`{lowerBound, upperBound}`). **Only available for political/issue ads.** Returns `null` for commercial ads |
| `snapshotUrl` | string | Link to view the ad in the Ad Library |
| `ageCountryGenderReachBreakdown` | array/null | Reach by age, country, and gender. Available for UK & EU ads and political ads in Brazil |
| `targetAges` | string\[] | Targeted age range. Available for UK & EU ads |
| `targetGender` | string | Targeted gender (`Women`, `Men`, or `All`). Available for UK & EU ads |
| `targetLocations` | array/null | Targeted locations with inclusion/exclusion. Available for UK & EU ads |
| `bylines` | string | "Paid for by" disclosure. Available for political/issue ads only |
| `euTotalReach` | number/null | Estimated reach across the EU. Available for EU ads only |
| `beneficiaryPayers` | array/null | Beneficiary and payer info. Available for EU ads only |
| `scrapedAt` | string | ISO timestamp when the data was collected |

# Actor input Schema

## `searchQueries` (type: `array`):

Enter search keywords (e.g. 'Loop Earplugs', 'Nike') or full Ad Library URLs with filters. Keywords are searched in ad text, images, and CTA buttons.

## `pageUrls` (type: `array`):

Facebook page URLs to scrape all ads from (max 10). The page ID is automatically resolved.

## `maxResults` (type: `integer`):

Maximum number of ads to return (across all URLs combined).

## `onlyTotalCount` (type: `boolean`):

If enabled, only the total number of matching ads is returned — no ad data is fetched. Useful for estimating result size before a full scrape.

## `searchType` (type: `string`):

How to match search keywords. 'Unordered' finds ads containing all words in any order. 'Exact phrase' only matches the exact phrase — separate multiple phrases with commas.

## `adDeliveryDateMin` (type: `string`):

Only return ads delivered after this date (inclusive). Format: YYYY-MM-DD

## `adDeliveryDateMax` (type: `string`):

Only return ads delivered before this date (inclusive). Format: YYYY-MM-DD

## `publisherPlatforms` (type: `array`):

Filter ads by the Meta platform(s) they appear on. Leave empty for all platforms.

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

Filter ads by their delivery status. Only applied when not already specified in the Ad Library URL.

## `countries` (type: `array`):

Filter by countries where ads were delivered. Select one or more.

## `languages` (type: `array`):

Filter ads by language. Leave empty for all languages.

## `proxyConfig` (type: `object`):

Optional proxy configuration.

## Actor input object example

```json
{
  "searchQueries": [
    "Loop Earplugs"
  ],
  "pageUrls": [
    "https://facebook.com/Nike"
  ],
  "maxResults": 50,
  "onlyTotalCount": false,
  "searchType": "KEYWORD_UNORDERED",
  "publisherPlatforms": [],
  "activeStatus": "ALL",
  "countries": [
    "US"
  ],
  "languages": [],
  "proxyConfig": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

Ad data in the default dataset

# 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 = {
    "searchQueries": [
        "Loop Earplugs"
    ],
    "pageUrls": [
        "https://facebook.com/Nike"
    ],
    "proxyConfig": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("eiv/meta-ads-library-scraper").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 = {
    "searchQueries": ["Loop Earplugs"],
    "pageUrls": ["https://facebook.com/Nike"],
    "proxyConfig": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("eiv/meta-ads-library-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "Loop Earplugs"
  ],
  "pageUrls": [
    "https://facebook.com/Nike"
  ],
  "proxyConfig": {
    "useApifyProxy": false
  }
}' |
apify call eiv/meta-ads-library-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=eiv/meta-ads-library-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Meta Ads Library Scraper (Pay per Event)",
        "description": "Scrape Meta Ad Library by keyword or Facebook page URL. Get ad text, CTA, headlines, platforms, languages, targeting, reach data, and delivery dates. Supports all countries, languages, and filters. Works with any Ad Library search URL. Lightning fast, structured JSON output.",
        "version": "0.0",
        "x-build-id": "tMgZeki4FzIptHDS2"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/eiv~meta-ads-library-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-eiv-meta-ads-library-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/eiv~meta-ads-library-scraper/runs": {
            "post": {
                "operationId": "runs-sync-eiv-meta-ads-library-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/eiv~meta-ads-library-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-eiv-meta-ads-library-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries / Keywords",
                        "type": "array",
                        "description": "Enter search keywords (e.g. 'Loop Earplugs', 'Nike') or full Ad Library URLs with filters. Keywords are searched in ad text, images, and CTA buttons.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pageUrls": {
                        "title": "Page URLs",
                        "maxItems": 10,
                        "type": "array",
                        "description": "Facebook page URLs to scrape all ads from (max 10). The page ID is automatically resolved.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of ads to return (across all URLs combined).",
                        "default": 50
                    },
                    "onlyTotalCount": {
                        "title": "Only Total Count",
                        "type": "boolean",
                        "description": "If enabled, only the total number of matching ads is returned — no ad data is fetched. Useful for estimating result size before a full scrape.",
                        "default": false
                    },
                    "searchType": {
                        "title": "Keyword Match Type",
                        "enum": [
                            "KEYWORD_UNORDERED",
                            "KEYWORD_EXACT_PHRASE"
                        ],
                        "type": "string",
                        "description": "How to match search keywords. 'Unordered' finds ads containing all words in any order. 'Exact phrase' only matches the exact phrase — separate multiple phrases with commas.",
                        "default": "KEYWORD_UNORDERED"
                    },
                    "adDeliveryDateMin": {
                        "title": "Delivery Date From",
                        "type": "string",
                        "description": "Only return ads delivered after this date (inclusive). Format: YYYY-MM-DD"
                    },
                    "adDeliveryDateMax": {
                        "title": "Delivery Date To",
                        "type": "string",
                        "description": "Only return ads delivered before this date (inclusive). Format: YYYY-MM-DD"
                    },
                    "publisherPlatforms": {
                        "title": "Publisher Platforms",
                        "type": "array",
                        "description": "Filter ads by the Meta platform(s) they appear on. Leave empty for all platforms.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FACEBOOK",
                                "INSTAGRAM",
                                "AUDIENCE_NETWORK",
                                "MESSENGER",
                                "WHATSAPP",
                                "OCULUS",
                                "THREADS"
                            ],
                            "enumTitles": [
                                "Facebook",
                                "Instagram",
                                "Audience Network",
                                "Messenger",
                                "WhatsApp",
                                "Oculus",
                                "Threads"
                            ]
                        },
                        "default": []
                    },
                    "activeStatus": {
                        "title": "Active Status",
                        "enum": [
                            "ALL",
                            "ACTIVE",
                            "INACTIVE"
                        ],
                        "type": "string",
                        "description": "Filter ads by their delivery status. Only applied when not already specified in the Ad Library URL.",
                        "default": "ALL"
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "Filter by countries where ads were delivered. Select one or more.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "US",
                                "GB",
                                "CA",
                                "AU",
                                "DE",
                                "FR",
                                "ES",
                                "IT",
                                "NL",
                                "BR",
                                "IN",
                                "JP",
                                "KR",
                                "MX",
                                "PL",
                                "SE",
                                "NO",
                                "DK",
                                "FI",
                                "AT",
                                "BE",
                                "CH",
                                "IE",
                                "NZ",
                                "PT",
                                "IL",
                                "AE",
                                "SA",
                                "SG",
                                "HK",
                                "TW",
                                "PH",
                                "TH",
                                "ID",
                                "MY",
                                "VN",
                                "AR",
                                "CL",
                                "CO",
                                "PE",
                                "ZA",
                                "NG",
                                "EG",
                                "KE",
                                "GH",
                                "TR",
                                "RU",
                                "UA",
                                "CZ",
                                "RO",
                                "HU",
                                "BG",
                                "HR",
                                "RS",
                                "SK",
                                "SI",
                                "LT",
                                "LV",
                                "EE",
                                "IS",
                                "LU",
                                "MT",
                                "CY",
                                "GE",
                                "AZ",
                                "KZ",
                                "UZ",
                                "PK",
                                "BD",
                                "LK",
                                "NP",
                                "KH",
                                "MM",
                                "JO",
                                "KW",
                                "LB",
                                "QA",
                                "BH",
                                "OM",
                                "IQ",
                                "DZ",
                                "MA",
                                "TN",
                                "LY",
                                "SN",
                                "CM",
                                "CI",
                                "GN",
                                "ML",
                                "BF",
                                "TG",
                                "BJ",
                                "NE",
                                "GA",
                                "CG",
                                "CD",
                                "AO",
                                "MZ",
                                "ET",
                                "TZ",
                                "UG",
                                "RW",
                                "ZM",
                                "ZW",
                                "BW",
                                "NA",
                                "MW",
                                "MG",
                                "MU",
                                "SC",
                                "DJ",
                                "ER",
                                "SO",
                                "SS",
                                "CF",
                                "TD",
                                "BI",
                                "SL",
                                "LR",
                                "GQ",
                                "ST",
                                "CV",
                                "GW",
                                "KM",
                                "MR",
                                "GM",
                                "GD",
                                "LC",
                                "VC",
                                "KN",
                                "DM",
                                "AG",
                                "BB",
                                "BS",
                                "JM",
                                "TT",
                                "GY",
                                "SR",
                                "BZ",
                                "HN",
                                "GT",
                                "SV",
                                "NI",
                                "CR",
                                "PA",
                                "DO",
                                "HT",
                                "PR",
                                "EC",
                                "BO",
                                "PY",
                                "UY",
                                "VE",
                                "PF",
                                "NC",
                                "FJ",
                                "PG",
                                "SB",
                                "VU",
                                "WS",
                                "TO",
                                "KI",
                                "MH",
                                "FM",
                                "PW",
                                "TV",
                                "NR",
                                "TL",
                                "BN",
                                "MO",
                                "MN",
                                "BT",
                                "LA",
                                "MV",
                                "AF",
                                "TJ",
                                "KG",
                                "TM",
                                "YE",
                                "PS",
                                "BA",
                                "MK",
                                "AL",
                                "ME",
                                "MD",
                                "BY",
                                "AM",
                                "AD",
                                "MC",
                                "LI",
                                "SM",
                                "VA",
                                "GI",
                                "FO",
                                "GL",
                                "AX",
                                "JE",
                                "GG",
                                "IM",
                                "BM",
                                "KY",
                                "VG",
                                "VI",
                                "TC",
                                "AI",
                                "MS",
                                "AW",
                                "CW",
                                "SX",
                                "BQ",
                                "MQ",
                                "GP",
                                "GF",
                                "RE",
                                "YT",
                                "PM",
                                "BL",
                                "MF",
                                "SH",
                                "FK",
                                "GS",
                                "BV",
                                "HM",
                                "IO",
                                "CX",
                                "CC",
                                "CK",
                                "NU",
                                "NF",
                                "PN",
                                "TK",
                                "UM",
                                "WF",
                                "EH",
                                "SJ",
                                "AQ",
                                "AN",
                                "XK",
                                "SY",
                                "AS",
                                "GU",
                                "MP"
                            ]
                        },
                        "default": [
                            "US"
                        ]
                    },
                    "languages": {
                        "title": "Languages",
                        "type": "array",
                        "description": "Filter ads by language. Leave empty for all languages.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "English",
                                "Spanish",
                                "French",
                                "German",
                                "Portuguese",
                                "Italian",
                                "Dutch",
                                "Russian",
                                "Japanese",
                                "Korean",
                                "Chinese (Mandarin)",
                                "Chinese (Cantonese)",
                                "Arabic",
                                "Hindi",
                                "Bengali",
                                "Turkish",
                                "Polish",
                                "Ukrainian",
                                "Romanian",
                                "Czech",
                                "Swedish",
                                "Norwegian",
                                "Danish",
                                "Finnish",
                                "Greek",
                                "Hungarian",
                                "Thai",
                                "Vietnamese",
                                "Indonesian",
                                "Malay",
                                "Filipino",
                                "Hebrew",
                                "Persian",
                                "Urdu",
                                "Swahili",
                                "Tamil",
                                "Telugu",
                                "Marathi",
                                "Gujarati",
                                "Kannada",
                                "Malayalam",
                                "Punjabi",
                                "Burmese",
                                "Khmer",
                                "Lao",
                                "Amharic",
                                "Somali",
                                "Hausa",
                                "Yoruba",
                                "Igbo",
                                "Zulu",
                                "Afrikaans",
                                "Croatian",
                                "Serbian",
                                "Bosnian",
                                "Slovak",
                                "Slovenian",
                                "Lithuanian",
                                "Latvian",
                                "Estonian",
                                "Bulgarian",
                                "Albanian",
                                "Macedonian",
                                "Montenegrin",
                                "Georgian",
                                "Armenian",
                                "Azerbaijani",
                                "Kazakh",
                                "Uzbek",
                                "Kyrgyz",
                                "Turkmen",
                                "Tajik",
                                "Mongolian",
                                "Nepali",
                                "Sinhala",
                                "Catalan",
                                "Galician",
                                "Basque",
                                "Welsh",
                                "Irish",
                                "Icelandic",
                                "Maltese",
                                "Luxembourgish",
                                "Malagasy"
                            ],
                            "enumTitles": [
                                "English",
                                "Spanish",
                                "French",
                                "German",
                                "Portuguese",
                                "Italian",
                                "Dutch",
                                "Russian",
                                "Japanese",
                                "Korean",
                                "Chinese (Mandarin)",
                                "Chinese (Cantonese)",
                                "Arabic",
                                "Hindi",
                                "Bengali",
                                "Turkish",
                                "Polish",
                                "Ukrainian",
                                "Romanian",
                                "Czech",
                                "Swedish",
                                "Norwegian",
                                "Danish",
                                "Finnish",
                                "Greek",
                                "Hungarian",
                                "Thai",
                                "Vietnamese",
                                "Indonesian",
                                "Malay",
                                "Filipino",
                                "Hebrew",
                                "Persian",
                                "Urdu",
                                "Swahili",
                                "Tamil",
                                "Telugu",
                                "Marathi",
                                "Gujarati",
                                "Kannada",
                                "Malayalam",
                                "Punjabi",
                                "Burmese",
                                "Khmer",
                                "Lao",
                                "Amharic",
                                "Somali",
                                "Hausa",
                                "Yoruba",
                                "Igbo",
                                "Zulu",
                                "Afrikaans",
                                "Croatian",
                                "Serbian",
                                "Bosnian",
                                "Slovak",
                                "Slovenian",
                                "Lithuanian",
                                "Latvian",
                                "Estonian",
                                "Bulgarian",
                                "Albanian",
                                "Macedonian",
                                "Montenegrin",
                                "Georgian",
                                "Armenian",
                                "Azerbaijani",
                                "Kazakh",
                                "Uzbek",
                                "Kyrgyz",
                                "Turkmen",
                                "Tajik",
                                "Mongolian",
                                "Nepali",
                                "Sinhala",
                                "Catalan",
                                "Galician",
                                "Basque",
                                "Welsh",
                                "Irish",
                                "Icelandic",
                                "Maltese",
                                "Luxembourgish",
                                "Malagasy"
                            ]
                        },
                        "default": []
                    },
                    "proxyConfig": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy configuration."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
