# Facebook Ads Library Scraper (Public, No Login) (`scrapemint/facebook-ads-library-scraper`) Actor

Pull live and inactive ads from Meta's public Ads Library by keyword or advertiser page. Each row carries library ID, advertiser, ad copy, creative URL, started date, platforms, country, ad type, and active status. JSON. Pay per ad row.

- **URL**: https://apify.com/scrapemint/facebook-ads-library-scraper.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** E-commerce, Social media, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 (Public, No Login)

Pull live and inactive ads from Meta's public Ads Library by keyword or by advertiser page. No cookies. No login. No app review or token rotation. Each row ships the library ID, advertiser, ad copy, creative URL, started date, platforms, country, ad type, and active status. Pay per ad row.

**Built for** competitive intel teams, media buyers, performance marketing agencies, brand monitoring, PR research, and political/issue analysts who need fast access to every ad an advertiser is running on Facebook, Instagram, Audience Network, and Messenger.

**Keywords this actor ranks for:** facebook ads library scraper, meta ads library api, instagram ads scraper, ad creative intelligence, competitor ad spy, ad creative database, facebook ad copy scraper, political ad scraper, ad transparency api, magicbrief alternative, bigspy alternative, adespresso alternative, adsparo alternative.

---

### Why this actor

| Other Ads Library scrapers | **This actor** |
|---|---|
| Need a Meta developer app and review | Zero auth, zero approval |
| Stop at 100 ads then hit a paywall | Configurable cap up to 2000 ads per query |
| Return raw page HTML | Library ID, advertiser, copy, creative, platforms, dates parsed |
| Charge per seat per month | Charge per ad row, no contract |
| Fail silently when the SPA reflows | Anchored on the public "Library ID:" label, not brittle class names |

---

### How it works

```mermaid
flowchart LR
    A[Keyword or page] --> B[Build Ads Library URL<br/>per country and ad type]
    B --> C[Open the public SPA<br/>no auth needed]
    C --> D[Scroll the result list<br/>respect maxAdsPerQuery]
    D --> E[Anchor on Library ID label<br/>walk up to ad card]
    E --> F[Parse advertiser, copy,<br/>platforms, creative, dates]
    F --> G[Push one row per ad]
    G --> H[(JSON CSV Excel API)]
````

The actor anchors extraction on the public "Library ID:" label that Meta renders on every ad card. That makes it resilient to the React class name churn that breaks most Ads Library scrapers within weeks.

***

### What you get per row

```mermaid
flowchart LR
    R[Ad row] --> R1[Identity<br/>libraryId snapshotUrl]
    R --> R2[Advertiser<br/>name pageId pageUrl]
    R --> R3[Creative<br/>adText ctaText landingUrl]
    R --> R4[Media<br/>creativeImageUrls creativeVideoUrls]
    R --> R5[Reach<br/>platforms country]
    R --> R6[Lifecycle<br/>startedAt lastSeenActiveAt isActive variations]
```

Pipe straight into a creative swipe file, an offer benchmarking sheet, or a spend tracker.

***

### Quick start

**Spy on a category by keyword**

```json
{
  "queries": ["meal kit", "smart mattress"],
  "countries": ["US"],
  "maxAdsPerQuery": 200
}
```

**Pull every ad a competitor is running**

```json
{
  "pageUrls": [
    "https://www.facebook.com/Nike",
    "https://www.facebook.com/Stripe"
  ],
  "countries": ["US", "GB"],
  "maxAdsPerQuery": 500
}
```

**Track political and issue ads**

```json
{
  "queries": ["election 2026"],
  "adType": "POLITICAL_AND_ISSUE_ADS",
  "countries": ["US"],
  "maxAdsPerQuery": 300
}
```

***

### Sample output

```json
{
  "libraryId": "857432109876543",
  "snapshotUrl": "https://www.facebook.com/ads/library/?id=857432109876543",
  "advertiserName": "Nike",
  "advertiserPageId": "15087023444",
  "advertiserPageUrl": "https://www.facebook.com/Nike",
  "adText": "Just Do It. Lace up the new Pegasus 41 and run further than yesterday. Free shipping for members.",
  "ctaText": "Shop Now",
  "landingUrl": "https://www.nike.com/w/pegasus-41",
  "creativeImageUrls": [
    "https://scontent.fbcdn.net/v/t39.../pegasus41_hero.jpg"
  ],
  "creativeVideoUrls": [],
  "platforms": ["Facebook", "Instagram"],
  "startedAt": "Apr 12, 2026",
  "lastSeenActiveAt": null,
  "isActive": true,
  "variations": 14,
  "country": "US",
  "adType": "ALL",
  "activeStatusFilter": "all",
  "searchQuery": null,
  "searchPageId": "15087023444",
  "scrapedAt": "2026-05-10T07:30:00.000Z"
}
```

***

### Who uses this

| Role | Use case |
|---|---|
| Performance marketer | Build a creative swipe file from competitor ads in your category |
| Media buyer | Track which formats and CTAs a brand is running this quarter |
| Brand strategist | Watch positioning shifts in your category month over month |
| Agency | Source winning hooks for client campaigns |
| PR research | Monitor a brand's paid messaging during a crisis or launch |
| Political analyst | Pull funder, copy, and lifecycle data on issue ads |
| Investor | Read ad cadence as a leading signal of growth stage |

***

### Input reference

| Field | Type | What it does |
|---|---|---|
| `queries` | string\[] | Search keywords. One Ads Library search per query per country. |
| `pageUrls` | string\[] | Advertiser page URLs or numeric page IDs. Pulls every ad on each page. |
| `countries` | string\[] | ISO country codes. Default \['US']. |
| `adType` | string | ALL, POLITICAL\_AND\_ISSUE\_ADS, HOUSING\_ADS, EMPLOYMENT\_ADS, CREDIT\_ADS. |
| `activeStatus` | string | all, active, inactive. |
| `maxAdsPerQuery` | integer | Max rows collected per search before scrolling stops. Default 100. |
| `concurrency` | integer | Searches processed in parallel. Three is the safe default for Meta. |
| `proxyConfiguration` | object | Apify proxy. Residential is required at any meaningful volume. |

***

### API call

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/YOUR_USER~facebook-ads-library-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "queries": ["meal kit"],
    "countries": ["US"],
    "maxAdsPerQuery": 100
  }'
```

***

### Pricing

The first 20 ad rows per run are free so you can validate output before paying. After that, each ad row is charged. No surprise add on charges.

***

### FAQ

#### Do I need a Meta developer account or app review?

No. The actor only touches Meta's public Ads Library surface. The official Meta Ad Library API requires app review, an access token, and rate-limits new accounts hard. This actor sidesteps all of that.

#### What ad types are supported?

The full Ads Library surface: ALL (commercial), POLITICAL\_AND\_ISSUE\_ADS, HOUSING\_ADS, EMPLOYMENT\_ADS, and CREDIT\_ADS. Political ads carry funder and spend-range fields; commercial ads carry copy, creative, platforms, and lifecycle fields.

#### Can I get spend or impressions data?

Spend ranges and impression ranges are only published by Meta for political and issue ads. For commercial ads, the public surface ships ad copy, creative, runtime, platforms, and variation count, but no spend.

#### Can I track a brand over time?

Yes. Schedule weekly runs against the same advertiser pages. Diff the libraryId set against the prior run to detect new and stopped ads.

#### Why not use the official Ad Library API?

The official API requires app review, a Meta developer account in good standing, ID verification, and is rate-limited per token. New accounts often wait weeks for approval. This actor returns the same public data without any of that overhead.

#### How do I find an advertiser's page ID?

Open the brand's Facebook page and copy the URL. The actor accepts both the slug form (facebook.com/Nike) and the numeric form (facebook.com/15087023444).

#### Is scraping the Ads Library allowed?

This actor reads HTML any anonymous web visitor can see. Meta publishes the Ads Library specifically as a transparency tool. Respect Meta's terms and rate limit sensibly. Do not redistribute personal data you have no lawful basis to process.

***

### Related actors

- **Facebook Marketplace Deal Finder** — pull live Marketplace listings with price, location, and seller
- **Threads Intelligence** — pull public Threads posts and creator metrics
- **TripAdvisor Scraper** — pull hotel, restaurant, and attraction listings with reviews
- **E-commerce Scraper Pro** — pull product listings across major shop platforms
- **Lead Enrichment Pipeline** — multi source enrichment for a list of company domains

# Actor input Schema

## `queries` (type: `array`):

Keywords to search across the Ads Library. Each query runs as one Ads Library search per country. Examples: 'smart mattress', 'meal kit', 'crm software'.

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

Pull every ad currently and recently run by these advertisers. Accepts full Facebook page URLs (e.g. 'https://www.facebook.com/Nike'), Ads Library deeplinks with view\_all\_page\_id, or raw numeric page IDs.

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

ISO country codes to scope each search to. The Ads Library is country-scoped at the request level. Default \['US'].

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

Filter by ad category. ALL covers commercial ads. POLITICAL\_AND\_ISSUE\_ADS surfaces the political archive with funder and spend ranges.

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

Whether to include only currently running ads, only inactive, or both.

## `maxAdsPerQuery` (type: `integer`):

Stop scrolling for a given query/page once this many ad rows have been collected. Higher numbers add latency, proxy cost, and detection risk.

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

Number of Ads Library searches processed in parallel. Three is a safe default given Meta anti-bot.

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

Apify proxy. Residential is required for the Ads Library at any meaningful volume.

## Actor input object example

```json
{
  "queries": [
    "meal kit",
    "smart mattress"
  ],
  "pageUrls": [],
  "countries": [
    "US"
  ],
  "adType": "ALL",
  "activeStatus": "all",
  "maxAdsPerQuery": 100,
  "concurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "queries": [
        "meal kit",
        "smart mattress"
    ],
    "pageUrls": [],
    "countries": [
        "US"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/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 = {
    "queries": [
        "meal kit",
        "smart mattress",
    ],
    "pageUrls": [],
    "countries": ["US"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/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 '{
  "queries": [
    "meal kit",
    "smart mattress"
  ],
  "pageUrls": [],
  "countries": [
    "US"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scrapemint/facebook-ads-library-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Ads Library Scraper (Public, No Login)",
        "description": "Pull live and inactive ads from Meta's public Ads Library by keyword or advertiser page. Each row carries library ID, advertiser, ad copy, creative URL, started date, platforms, country, ad type, and active status. JSON. Pay per ad row.",
        "version": "0.1",
        "x-build-id": "S82pC9oXni89MPw67"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapemint~facebook-ads-library-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapemint-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/scrapemint~facebook-ads-library-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapemint-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/scrapemint~facebook-ads-library-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapemint-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": {
                    "queries": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "Keywords to search across the Ads Library. Each query runs as one Ads Library search per country. Examples: 'smart mattress', 'meal kit', 'crm software'.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "pageUrls": {
                        "title": "Advertiser page URLs or IDs",
                        "type": "array",
                        "description": "Pull every ad currently and recently run by these advertisers. Accepts full Facebook page URLs (e.g. 'https://www.facebook.com/Nike'), Ads Library deeplinks with view_all_page_id, or raw numeric page IDs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "ISO country codes to scope each search to. The Ads Library is country-scoped at the request level. Default ['US'].",
                        "default": [
                            "US"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "adType": {
                        "title": "Ad type",
                        "enum": [
                            "ALL",
                            "POLITICAL_AND_ISSUE_ADS",
                            "HOUSING_ADS",
                            "EMPLOYMENT_ADS",
                            "CREDIT_ADS"
                        ],
                        "type": "string",
                        "description": "Filter by ad category. ALL covers commercial ads. POLITICAL_AND_ISSUE_ADS surfaces the political archive with funder and spend ranges.",
                        "default": "ALL"
                    },
                    "activeStatus": {
                        "title": "Active status",
                        "enum": [
                            "all",
                            "active",
                            "inactive"
                        ],
                        "type": "string",
                        "description": "Whether to include only currently running ads, only inactive, or both.",
                        "default": "all"
                    },
                    "maxAdsPerQuery": {
                        "title": "Max ads per query",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Stop scrolling for a given query/page once this many ad rows have been collected. Higher numbers add latency, proxy cost, and detection risk.",
                        "default": 100
                    },
                    "concurrency": {
                        "title": "Concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of Ads Library searches processed in parallel. Three is a safe default given Meta anti-bot.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy. Residential is required for the Ads Library at any meaningful volume.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
