# Meta/Facebook Ads Library Scraper (`alwaysprimedev/facebook-ads-library-scraper`) Actor

Scrape ads, creatives, advertisers, and landing pages from the Facebook (Meta) Ad Library by keyword or advertiser — fast, structured JSON.

- **URL**: https://apify.com/alwaysprimedev/facebook-ads-library-scraper.md
- **Developed by:** [Always Prime](https://apify.com/alwaysprimedev) (community)
- **Categories:** Lead generation, SEO tools, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 ads

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 📢 Facebook Ads Library Scraper

⚡️ Pull **live and past ads** from the Facebook (Meta) Ad Library — by keyword or by advertiser — and get clean, structured JSON in seconds. Ad copy, creative images & videos, landing-page URLs, advertiser details, platforms, and run dates. No login, no manual scrolling, no copy-paste.

![Apify](https://img.shields.io/badge/Apify-Actor-00b388) ![Python](https://img.shields.io/badge/Made%20with-Python-3776AB) ![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-blue)

### 🚀 Why this scraper

- 🎯 **Two ways to search** — by **keyword/brand** (`coffee`, `Nike`) or by **advertiser page** to grab a competitor's *entire* ad portfolio.
- 🖼️ **Full creatives** — every image and video URL, plus headline, body text, call-to-action, and the **landing-page link** each ad points to.
- 🌍 **Any country** — scope results to US, GB, DE, IN, BR, or any market the Ad Library covers.
- ⚡️ **Fast & cheap** — a lightweight data path means low cost per ad and quick runs, even for thousands of ads.
- 🔁 **Daily-refresh friendly** — the `since` filter keeps incremental runs tiny so you only pull new ads.
- 📦 **Ready-to-use exports** — JSON, CSV, and Excel, or pull straight from the Apify API.

### 🏁 Quick start

1. Click **Try for free**.
2. Type a **search term** (e.g. `coffee`) or an **advertiser page ID**, and pick a **country**.
3. Hit **Start** ▶️.
4. Download your ads as **JSON / CSV / Excel** when the run finishes. 🎉

### ⚙️ Input

| Field | Description |
| --- | --- |
| **Search terms** | Keywords or brand names to look up. One search per term. |
| **Advertiser page IDs** | Page IDs to pull *every* ad from a specific advertiser — great for competitor monitoring. |
| **Start URLs** | Paste Ad Library URLs straight from your browser; their filters are applied automatically. |
| **Country** | Two-letter country code (US, GB, DE, …). The library is region-scoped. |
| **Ad category** | All ads, or one of Meta's special categories (political, housing, employment, credit, financial). |
| **Active status** | Active only, inactive only, or both. |
| **Media type** | All media, images, memes, videos, or none. |
| **Keyword match** | Match any words, or exact phrase. |
| **Only ads started on/after** | Optional date — keep only newer ads (ideal for daily refresh). |
| **Max ads** | Overall cap for the run (0 = unlimited). |
| **Max ads per search / advertiser** | Per-search cap so a budget spreads evenly across many advertisers. |
| **Concurrency** | How many searches to run in parallel. |

### 📤 Sample output

```json
{
  "url": "https://www.facebook.com/ads/library/?id=845039281462123",
  "id": "845039281462123",
  "scraped_at": "2026-06-09T17:53:53.178494+00:00",
  "is_active": true,
  "page_id": "20531316728",
  "page_name": "Nike",
  "page_url": "https://www.facebook.com/nike/",
  "page_profile_picture_url": "https://scontent.xx.fbcdn.net/v/nike_logo.jpg",
  "page_likes": 39000000,
  "page_categories": ["Sportswear store"],
  "page_is_deleted": false,
  "display_format": "VIDEO",
  "ad_text": "Engineered for your fastest mile yet. Meet the new Pegasus. 🏃",
  "title": "Nike Pegasus 41",
  "caption": "nike.com",
  "link_url": "https://www.nike.com/launch/pegasus-41",
  "link_description": "Free shipping for members.",
  "cta_text": "Shop Now",
  "cta_type": "SHOP_NOW",
  "publisher_platforms": ["FACEBOOK", "INSTAGRAM", "MESSENGER"],
  "start_date": "2026-05-01T07:00:00+00:00",
  "end_date": null,
  "total_active_time": null,
  "categories": ["UNKNOWN"],
  "collation_count": 4,
  "currency": null,
  "spend": null,
  "impressions": null,
  "reach_estimate": null,
  "byline": null,
  "disclaimer": null,
  "countries": ["US"],
  "images": ["https://scontent.xx.fbcdn.net/v/pegasus_thumb.jpg"],
  "videos": ["https://video.xx.fbcdn.net/v/pegasus_ad_hd.mp4"],
  "cards_count": 0
}
````

### 💡 Use cases

| Who | What they use it for |
| --- | --- |
| 🛒 **Performance marketers & media buyers** | Spy on competitors' live creatives, offers, and hooks; model winning ad copy before you spend. |
| 🏢 **Agencies** | Build competitive ad audits and pitch decks from real, current advertiser activity. |
| 📈 **DTC & e-commerce brands** | Track rivals' promos, launch timing, and the exact landing pages they drive to. |
| 🔬 **Market & trend researchers** | Monitor category-wide ad volume and messaging shifts over time. |
| 🤖 **AI / ML teams** | Collect ad-copy and creative datasets for generation, classification, and trend models. |

### 🧪 Tips & tricks

- 🔎 **Grab a whole competitor** — paste their Page ID into **Advertiser page IDs** to export every ad they're running.
- 🌐 **Compare markets** — run the same brand across several countries to see how messaging changes by region.
- 🗓️ **Schedule it** — pair the `since` filter with Apify Schedules for a daily feed of *new* competitor ads only.
- 🎬 **Save the creatives** — `images` and `videos` hold direct media URLs you can download for swipe files.
- ⚖️ **Spot cloaking** — ads where the displayed link and real landing page disagree are flagged with `_suspicious`.

### ❓ FAQ

**Do I need a Facebook account or API token?**
No. Just enter what you want and click Start.

**Which ads are covered?**
Everything in the public Meta Ad Library for the country you pick — commercial ads as well as the political/issue, housing, employment, credit, and financial categories.

**Why are `spend`, `impressions`, and `byline` empty on most ads?**
Meta only publishes spend/reach/funding data for **political & issue ads**. For regular commercial ads those fields are blank by design — everything else (copy, creatives, landing page, dates, platforms) is fully populated.

**How is pricing calculated?**
Pay per result — you're billed only for the ads actually saved to your dataset. No subscription, no minimum.

**Can I get a competitor's full ad history?**
Yes — search by their Advertiser page ID and set **Max ads** to 0 for unlimited.

**What formats can I export?**
JSON, CSV, and Excel from the Console, or pull programmatically via the Apify API.

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords or brand names to search the Facebook Ad Library for, e.g. "coffee" or "Nike". One search runs per term. Leave empty if you are using Advertiser page IDs or Start URLs instead.

## `pageIds` (type: `array`):

Facebook Page IDs whose entire ad portfolio you want to pull (e.g. 101265672868155). This returns every ad a specific advertiser is running — ideal for competitor monitoring. Find the ID in the page's Ad Library URL (view\_all\_page\_id=...).

## `startUrls` (type: `array`):

Paste full Facebook Ad Library search URLs straight from your browser. All filters in the URL (query, country, ad type, active status, media type, advertiser page) are honoured automatically.

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

Two-letter ISO country code to search ads in, e.g. US, GB, DE, IN, BR. The Ad Library is region-scoped, so this changes which ads are returned.

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

Which ad category to return. "All ads" covers regular commercial ads; the other options are the special transparency categories Facebook tracks separately.

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

Whether to return ads that are currently running, ads that have stopped, or both.

## `mediaType` (type: `string`):

Restrict results to a creative format. "All media" returns everything.

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

How to match the search terms. "Match any words" is broad; "Exact phrase" only returns ads containing the exact phrase.

## `since` (type: `string`):

Optional ISO 8601 date (e.g. 2025-01-01) — only ads whose start date is on or after this are kept. Leave empty to fetch all ads regardless of start date. Use this for fast daily refresh runs.

## `maxItems` (type: `integer`):

Maximum number of ads to save across the whole run. Set to 0 for unlimited (use with care — large advertisers can have thousands of ads).

## `maxAdsPerSearch` (type: `integer`):

Maximum ads to save for each individual search term or advertiser page. 0 means no per-search limit (only the overall Max ads applies). Useful to spread a budget evenly across many advertisers.

## `concurrency` (type: `integer`):

How many search terms / advertisers to crawl in parallel. The default is fine for almost everyone; raise it only for very large multi-advertiser runs.

## Actor input object example

```json
{
  "searchTerms": [
    "coffee"
  ],
  "pageIds": [],
  "startUrls": [],
  "country": "US",
  "adType": "ALL",
  "activeStatus": "active",
  "mediaType": "all",
  "searchType": "keyword_unordered",
  "maxItems": 50,
  "concurrency": 5
}
```

# Actor output Schema

## `ads` (type: `string`):

No description

## `adsCsv` (type: `string`):

No description

## `adsXlsx` (type: `string`):

No description

## `consoleView` (type: `string`):

No description

# 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 = {
    "searchTerms": [
        "coffee"
    ],
    "pageIds": [],
    "startUrls": [],
    "country": "US",
    "since": "",
    "maxItems": 50,
    "maxAdsPerSearch": 0,
    "concurrency": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("alwaysprimedev/facebook-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 = {
    "searchTerms": ["coffee"],
    "pageIds": [],
    "startUrls": [],
    "country": "US",
    "since": "",
    "maxItems": 50,
    "maxAdsPerSearch": 0,
    "concurrency": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("alwaysprimedev/facebook-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 '{
  "searchTerms": [
    "coffee"
  ],
  "pageIds": [],
  "startUrls": [],
  "country": "US",
  "since": "",
  "maxItems": 50,
  "maxAdsPerSearch": 0,
  "concurrency": 5
}' |
apify call alwaysprimedev/facebook-ads-library-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Meta/Facebook Ads Library Scraper",
        "description": "Scrape ads, creatives, advertisers, and landing pages from the Facebook (Meta) Ad Library by keyword or advertiser — fast, structured JSON.",
        "version": "0.1",
        "x-build-id": "20WFudX5qWPFsJZQ4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alwaysprimedev~facebook-ads-library-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alwaysprimedev-facebook-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/alwaysprimedev~facebook-ads-library-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alwaysprimedev-facebook-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/alwaysprimedev~facebook-ads-library-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alwaysprimedev-facebook-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": {
                    "searchTerms": {
                        "title": "Search terms (keywords)",
                        "type": "array",
                        "description": "Keywords or brand names to search the Facebook Ad Library for, e.g. \"coffee\" or \"Nike\". One search runs per term. Leave empty if you are using Advertiser page IDs or Start URLs instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pageIds": {
                        "title": "Advertiser page IDs",
                        "type": "array",
                        "description": "Facebook Page IDs whose entire ad portfolio you want to pull (e.g. 101265672868155). This returns every ad a specific advertiser is running — ideal for competitor monitoring. Find the ID in the page's Ad Library URL (view_all_page_id=...).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Start URLs (paste from the Ad Library)",
                        "type": "array",
                        "description": "Paste full Facebook Ad Library search URLs straight from your browser. All filters in the URL (query, country, ad type, active status, media type, advertiser page) are honoured automatically.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Two-letter ISO country code to search ads in, e.g. US, GB, DE, IN, BR. The Ad Library is region-scoped, so this changes which ads are returned."
                    },
                    "adType": {
                        "title": "Ad category",
                        "enum": [
                            "ALL",
                            "POLITICAL_AND_ISSUE_ADS",
                            "HOUSING_ADS",
                            "EMPLOYMENT_ADS",
                            "CREDIT_ADS",
                            "FINANCIAL_PRODUCTS_AND_SERVICES_ADS"
                        ],
                        "type": "string",
                        "description": "Which ad category to return. \"All ads\" covers regular commercial ads; the other options are the special transparency categories Facebook tracks separately.",
                        "default": "ALL"
                    },
                    "activeStatus": {
                        "title": "Active status",
                        "enum": [
                            "active",
                            "inactive",
                            "all"
                        ],
                        "type": "string",
                        "description": "Whether to return ads that are currently running, ads that have stopped, or both.",
                        "default": "active"
                    },
                    "mediaType": {
                        "title": "Media type",
                        "enum": [
                            "all",
                            "image",
                            "meme",
                            "video",
                            "none"
                        ],
                        "type": "string",
                        "description": "Restrict results to a creative format. \"All media\" returns everything.",
                        "default": "all"
                    },
                    "searchType": {
                        "title": "Keyword match",
                        "enum": [
                            "keyword_unordered",
                            "keyword_exact_phrase"
                        ],
                        "type": "string",
                        "description": "How to match the search terms. \"Match any words\" is broad; \"Exact phrase\" only returns ads containing the exact phrase.",
                        "default": "keyword_unordered"
                    },
                    "since": {
                        "title": "Only ads started on/after (optional)",
                        "type": "string",
                        "description": "Optional ISO 8601 date (e.g. 2025-01-01) — only ads whose start date is on or after this are kept. Leave empty to fetch all ads regardless of start date. Use this for fast daily refresh runs."
                    },
                    "maxItems": {
                        "title": "Max ads",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of ads to save across the whole run. Set to 0 for unlimited (use with care — large advertisers can have thousands of ads)."
                    },
                    "maxAdsPerSearch": {
                        "title": "Max ads per search term / advertiser",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum ads to save for each individual search term or advertiser page. 0 means no per-search limit (only the overall Max ads applies). Useful to spread a budget evenly across many advertisers."
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 25,
                        "type": "integer",
                        "description": "How many search terms / advertisers to crawl in parallel. The default is fine for almost everyone; raise it only for very large multi-advertiser runs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
