# Snapchat Ads Gallery Scraper (`crawlerbros/snapchat-ads-gallery-scraper`) Actor

Scrape the official Snapchat Ads Library API - search ads by advertiser, browse sponsored content, and search creator campaigns.

- **URL**: https://apify.com/crawlerbros/snapchat-ads-gallery-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Snapchat Ads Gallery Scraper

Access Snapchat's official public Ads Library API to search for ads by advertiser name, browse all sponsored content, or find creator-sponsored posts by creator. Extracts ad creative metadata, impression data, targeting information, media download links, and sponsored content details — all from Snapchat's transparency-mandated open API with no login required.

### What It Does

Three scraping modes are available:

- **adSearch** — search ads by advertiser name with optional filters for EU country, date range, and ad status. Returns up to 10 ads per advertiser (API limit).
- **sponsoredContent** — browse all publicly disclosed sponsored and branded content with full pagination support (up to 10,000 records).
- **creatorSearch** — find sponsored content posts associated with a specific creator username or name.

No login, cookies, or browser automation required. Uses Snapchat's official open Ads Library API (`adsapi.snapchat.com/v1/ads_library`) which is publicly mandated under EU digital advertising transparency regulations.

### Input

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `mode` | select | No | `adSearch` | Scraping mode: `adSearch`, `sponsoredContent`, or `creatorSearch` |
| `payingAdvertiserName` | string | No | — | For `adSearch`: advertiser name to search (e.g., `nike`, `coca-cola`, `amazon`) |
| `countries` | string[] | No | all | EU country codes to filter by. Valid codes: `de`, `fr`, `it`, `es`, `pl`, `nl`, `be`, `se`, `at`, `pt`, `cz`, `ro`, `hu`, `dk`, `fi`, `sk`, `bg`, `hr`, `lt`, `lv`, `lu`, `si`, `ee`, `el`, `mt`, `ie`, `cy`. Note: `gb` (UK) is not supported by the Snapchat API. |
| `startDate` | string | No | — | Filter ads active from this date (ISO 8601, e.g., `2025-01-01T00:00:00.000Z`) |
| `endDate` | string | No | — | Filter ads active until this date (ISO 8601) |
| `status` | select | No | `ALL` | Ad status filter: `ACTIVE`, `PAUSED`, or `ALL` |
| `creatorName` | string | No | — | For `creatorSearch`: creator username or display name to search |
| `maxResults` | integer | No | `200` | Maximum records to return (1–10,000). Note: `adSearch` mode is capped at 10 by the API. |
| `proxyConfiguration` | object | No | null | Apify proxy configuration (optional) |

**Example input (ad search):**

```json
{
  "mode": "adSearch",
  "payingAdvertiserName": "nike",
  "countries": ["fr", "de"],
  "startDate": "2025-01-01T00:00:00.000Z",
  "status": "ACTIVE",
  "maxResults": 10
}
````

**Example input (browse sponsored content):**

```json
{
  "mode": "sponsoredContent",
  "maxResults": 500
}
```

**Example input (creator search):**

```json
{
  "mode": "creatorSearch",
  "creatorName": "beauty",
  "maxResults": 100
}
```

### Output

One record per ad or sponsored content item pushed to the Apify dataset. The `recordType` field identifies which mode produced the record.

#### Ad record (`recordType: "ad"` — adSearch mode)

| Field | Type | Description |
|-------|------|-------------|
| `adId` | string | Unique ad identifier |
| `adName` | string | Internal ad name set by the advertiser |
| `adAccountName` | string | Advertiser account name |
| `payingAdvertiserName` | string | Paying entity name as disclosed in the library |
| `profileName` | string | Public profile name shown in the ad |
| `profileLogoUrl` | string | Advertiser logo CDN URL |
| `headline` | string | Ad headline text |
| `adType` | string | Ad format type (e.g., `SNAP_AD`) |
| `adRenderType` | string | Ad render type identifier |
| `creativeType` | string | Creative type (e.g., `VIDEO`, `IMAGE`) |
| `callToAction` | string | Call-to-action button label (e.g., `SHOP_NOW`, `LEARN_MORE`) |
| `topSnapMediaType` | string | Top snap media type |
| `topSnapCropPosition` | string | Crop position for top snap media |
| `mediaDownloadUrl` | string | Direct CDN URL to download the ad creative (video or image) |
| `webViewProperties` | object | Web view destination properties |
| `languages` | string\[] | Languages the ad targets |
| `startDate` | string | Ad start date |
| `status` | string | Current status: `ACTIVE` or `PAUSED` |
| `reviewStatus` | string | Ad review status |
| `rejectionReasons` | string\[] | Rejection reason codes if ad was rejected |
| `impressionsTotal` | integer | Total impression count across all regions |
| `impressionsMap` | object | Per-country impression breakdown (country code → count) |
| `targetingV2` | object | Raw targeting parameters from the API |
| `stickers` | object | Sticker data if present |
| `dpaPreview` | object | Dynamic product ad preview data if present |
| `recordType` | string | Always `"ad"` for this mode |
| `scrapedAt` | string | Scrape timestamp (ISO 8601 UTC) |

#### Sponsored content record (`recordType: "sponsoredContent"` — sponsoredContent / creatorSearch modes)

| Field | Type | Description |
|-------|------|-------------|
| `contentType` | string | Content type (e.g., `SPOTLIGHT`) |
| `contentUrl` | string | Direct URL to the sponsored content post |
| `thumbnailUrl` | string | Content thumbnail CDN URL |
| `creatorName` | string | Creator username who posted the content |
| `creatorUrl` | string | Creator profile URL (`snapchat.com/add/{username}`) |
| `sponsorName` | string | Brand or sponsor display name |
| `sponsorUrl` | string | Sponsor profile URL |
| `recordType` | string | Always `"sponsoredContent"` for this mode |
| `scrapedAt` | string | Scrape timestamp (ISO 8601 UTC) |

**Example ad record output:**

```json
{
  "adId": "123456789",
  "adName": "Nike Summer 2025 FR",
  "adAccountName": "Nike Europe",
  "payingAdvertiserName": "Nike",
  "profileName": "Nike",
  "profileLogoUrl": "https://cf-st.sc-cdn.net/...",
  "headline": "Just Do It",
  "adType": "SNAP_AD",
  "adRenderType": "STANDARD",
  "creativeType": "VIDEO",
  "callToAction": "SHOP_NOW",
  "mediaDownloadUrl": "https://creative.snapchat.com/...",
  "languages": ["fr"],
  "startDate": "2025-06-01",
  "status": "ACTIVE",
  "reviewStatus": "APPROVED",
  "impressionsTotal": 1500000,
  "impressionsMap": {"fr": 900000, "de": 600000},
  "recordType": "ad",
  "scrapedAt": "2026-06-28T10:00:00.000000+00:00"
}
```

**Example sponsored content record output:**

```json
{
  "contentType": "SPOTLIGHT",
  "contentUrl": "https://www.snapchat.com/spotlight/W7_EDlXWTBiXAEEniNoMPwAAYeWVyZGt1ZHVzAZ6jJBbTAZ6jJBa7AAAAAQ",
  "thumbnailUrl": "https://cf-st.sc-cdn.net/o/64pAgd2mdHnAgKzdFa1an.256.IRZXSOY",
  "creatorName": "beauty_creator",
  "creatorUrl": "https://www.snapchat.com/add/beauty_creator",
  "sponsorName": "Sephora",
  "sponsorUrl": "https://www.snapchat.com/add/sephora",
  "recordType": "sponsoredContent",
  "scrapedAt": "2026-06-28T10:00:00.000000+00:00"
}
```

### FAQ

**Is this official Snapchat data?**
Yes. The actor uses Snapchat's official Ads Library API (`adsapi.snapchat.com/v1/ads_library`), publicly available without authentication under EU digital advertising transparency mandates (DSA). No scraping of private pages is involved.

**Why does adSearch return only up to 10 ads?**
The Snapchat Ads Library API enforces a hard limit of 10 results per advertiser search request and does not support pagination in this endpoint. This is a platform constraint, not an actor limitation. Use `sponsoredContent` or `creatorSearch` mode if you need larger volumes.

**Which countries are supported?**
EU member states only: `de`, `fr`, `it`, `es`, `pl`, `nl`, `be`, `se`, `at`, `pt`, `cz`, `ro`, `hu`, `dk`, `fi`, `sk`, `bg`, `hr`, `lt`, `lv`, `lu`, `si`, `ee`, `el`, `mt`, `ie`, `cy`. The UK (`gb`) is not currently supported by Snapchat's API and will return a 400 error if included.

**Can I download the actual ad video?**
Yes — the `mediaDownloadUrl` field in ad records contains a direct CDN link to the ad creative (video or image file) that can be downloaded directly.

**What does `impressionsMap` contain?**
A JSON object mapping each EU country code to its impression count for that ad. For example: `{"fr": 900000, "de": 600000}` means 900,000 impressions in France and 600,000 in Germany.

**What is the difference between `sponsoredContent` and `creatorSearch` mode?**
`sponsoredContent` browses the full public library of all sponsored posts with pagination — useful for bulk collection. `creatorSearch` searches for sponsored content by a specific creator name and returns the first page of matching results. Both produce the same `sponsoredContent` output format.

**How much data can I collect with `sponsoredContent` mode?**
The Snapchat API returns up to 200 items per page, and the actor follows pagination links automatically. You can set `maxResults` up to 10,000 to collect large volumes of sponsored content records.

### Other Snapchat Scrapers

Explore the full Snapchat scraper suite on Apify:

| Actor | Description |
|-------|-------------|
| [Snapchat Profile Scraper](https://apify.com/crawlerbros/snapchat-profile-scraper) | Full profile metadata, highlights, lenses, and spotlight data |
| [Snapchat Hashtag Scraper](https://apify.com/crawlerbros/snapchat-hashtag-scraper) | Spotlight videos by hashtag or topic with AI metadata |
| [Snapchat User Stories Scraper](https://apify.com/crawlerbros/snapchat-user-stories-scraper) | Curated highlights and active story snaps |
| [Snapchat Spotlight Video Downloader](https://apify.com/crawlerbros/snapchat-spotlight-video-downloader) | Download Spotlight videos with AI metadata, transcripts, and comments |
| [Snapchat Search Scraper](https://apify.com/crawlerbros/snapchat-search-scraper) | Search across videos, lenses, users, places, and shows |
| [Snapchat Lens Scraper](https://apify.com/crawlerbros/snapchat-lens-scraper) | AR lens metadata, trending lenses, and creator info |
| [Snapchat Publisher Scraper](https://apify.com/crawlerbros/snapchat-publisher-scraper) | Discover publisher pages, shows, episodes, and spotlights |
| [Snapchat Ads Gallery Scraper](https://apify.com/crawlerbros/snapchat-ads-gallery-scraper) | EU/UK ad transparency library — ads and sponsored content |
| [Snapchat Spotlight Comments Scraper](https://apify.com/crawlerbros/snapchat-spotlight-comments-scraper) | Comment threads from Spotlight videos |
| [Snapchat Topic Scraper](https://apify.com/crawlerbros/snapchat-topic-scraper) | Spotlight videos by topic with related tags |
| [Snapchat Snapcode Scraper](https://apify.com/crawlerbros/snapchat-snapcode-scraper) | Download Snapcode images (SVG/PNG) for any username |
| [Snapchat Snap Map Scraper](https://apify.com/crawlerbros/snapchat-snap-map-scraper) | Public Snap Map places and their latest snaps |
| [Snapchat Discover Scraper](https://apify.com/crawlerbros/snapchat-discover-scraper) | Shows and stories from Snapchat's Discover feed |

# Actor input Schema

## `mode` (type: `string`):

Select the scraping mode: adSearch to search ads by advertiser, sponsoredContent to browse all sponsored content, or creatorSearch to search by creator.

## `payingAdvertiserName` (type: `string`):

For adSearch mode: advertiser name to search. Examples: nike, coca-cola, amazon

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

EU country codes to filter ads by. Leave empty for all regions. Valid codes: de, fr, it, es, pl, nl, be, se, at, pt, cz, ro, hu, dk, fi, sk, bg, hr, lt, lv, lu, si, ee, el, mt, ie, cy. Note: UK (gb) is not supported by the API.

## `startDate` (type: `string`):

Filter ads active from this date (ISO 8601 or YYYY-MM-DD). Leave empty for no start-date filter.

## `endDate` (type: `string`):

Filter ads active up to this date (ISO 8601 or YYYY-MM-DD). Leave empty for no end-date filter.

## `status` (type: `string`):

Filter ads by their current status.

## `creatorName` (type: `string`):

For creatorSearch mode: creator username or name to search sponsored content

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

Maximum number of records to return. Note: adSearch mode returns up to 10 results per advertiser (API limit).

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

Optional proxy configuration for requests.

## Actor input object example

```json
{
  "mode": "adSearch",
  "payingAdvertiserName": "nike",
  "countries": [],
  "status": "ALL",
  "creatorName": "beauty",
  "maxResults": 200
}
```

# 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 = {
    "mode": "adSearch",
    "payingAdvertiserName": "nike",
    "countries": [],
    "status": "ALL",
    "creatorName": "beauty"
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/snapchat-ads-gallery-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 = {
    "mode": "adSearch",
    "payingAdvertiserName": "nike",
    "countries": [],
    "status": "ALL",
    "creatorName": "beauty",
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/snapchat-ads-gallery-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 '{
  "mode": "adSearch",
  "payingAdvertiserName": "nike",
  "countries": [],
  "status": "ALL",
  "creatorName": "beauty"
}' |
apify call crawlerbros/snapchat-ads-gallery-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Snapchat Ads Gallery Scraper",
        "description": "Scrape the official Snapchat Ads Library API - search ads by advertiser, browse sponsored content, and search creator campaigns.",
        "version": "0.1",
        "x-build-id": "lX8nbFjOKWSQqDaBc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~snapchat-ads-gallery-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-snapchat-ads-gallery-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/crawlerbros~snapchat-ads-gallery-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-snapchat-ads-gallery-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/crawlerbros~snapchat-ads-gallery-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-snapchat-ads-gallery-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": {
                    "mode": {
                        "title": "Scraping Mode",
                        "enum": [
                            "adSearch",
                            "sponsoredContent",
                            "creatorSearch"
                        ],
                        "type": "string",
                        "description": "Select the scraping mode: adSearch to search ads by advertiser, sponsoredContent to browse all sponsored content, or creatorSearch to search by creator.",
                        "default": "adSearch"
                    },
                    "payingAdvertiserName": {
                        "title": "Advertiser Name",
                        "type": "string",
                        "description": "For adSearch mode: advertiser name to search. Examples: nike, coca-cola, amazon"
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "EU country codes to filter ads by. Leave empty for all regions. Valid codes: de, fr, it, es, pl, nl, be, se, at, pt, cz, ro, hu, dk, fi, sk, bg, hr, lt, lv, lu, si, ee, el, mt, ie, cy. Note: UK (gb) is not supported by the API.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startDate": {
                        "title": "Start Date",
                        "type": "string",
                        "description": "Filter ads active from this date (ISO 8601 or YYYY-MM-DD). Leave empty for no start-date filter."
                    },
                    "endDate": {
                        "title": "End Date",
                        "type": "string",
                        "description": "Filter ads active up to this date (ISO 8601 or YYYY-MM-DD). Leave empty for no end-date filter."
                    },
                    "status": {
                        "title": "Ad Status",
                        "enum": [
                            "ACTIVE",
                            "PAUSED",
                            "ALL"
                        ],
                        "type": "string",
                        "description": "Filter ads by their current status.",
                        "default": "ALL"
                    },
                    "creatorName": {
                        "title": "Creator Name",
                        "type": "string",
                        "description": "For creatorSearch mode: creator username or name to search sponsored content"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of records to return. Note: adSearch mode returns up to 10 results per advertiser (API limit).",
                        "default": 200
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Optional proxy configuration for requests."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
