# Reddit Ads Scraper (`scraperforge/reddit-ads-scraper`) Actor

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

## Pricing

from $3.99 / 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.

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

## 🟠 Reddit Ads Scraper

**Turn the public Reddit Ads library into clean, structured, export-ready data.** This Actor collects real ads running on Reddit — headlines, body copy, creative media, advertisers, budgets, objectives, placements and more — and streams every result straight into your output table in real time.

Perfect for **competitor research**, **ad inspiration**, **creative swipe files**, **market analysis**, and **agency reporting**. No Reddit account, no API keys, no setup.

---

### 📑 Table of Contents

- [Why choose this Actor?](#-why-choose-this-actor)
- [Key features](#-key-features)
- [Input](#-input)
- [Output](#-output)
- [How to use (Apify Console)](#-how-to-use-apify-console)
- [Use via API](#-use-via-api)
- [Smart proxy handling](#-smart-proxy-handling)
- [Best use cases](#-best-use-cases)
- [Pricing](#-pricing)
- [Frequently asked questions](#-frequently-asked-questions)
- [Support & feedback](#-support--feedback)

---

### 💎 Why choose this Actor?

| | |
|---|---|
| ⚡ **Zero setup** | Type a keyword, press **Start**. That's it. |
| 📊 **Real-time results** | Every ad lands in the output table the instant it's collected — no waiting for the run to finish. |
| 🛡️ **Self-healing network** | Starts direct, auto-upgrades to datacenter → residential proxies if Reddit throttles. You never touch a setting. |
| 🎯 **Powerful filters** | Slice by industry, budget tier, ad format, placement and campaign objective. |
| 🧱 **Robust by design** | Retries with exponential backoff, graceful degradation, partial results always saved. |
| 🗂️ **Organised output** | Three ready-made table views: Ad Overview, Creative & Content, Advertiser Profile. |

---

### ✨ Key features

- 🔎 **Bulk keyword search** — queue many keywords in a single run.
- 🏭 **Industry filter** — 16 industries, from Tech to Real Estate to Gaming.
- 💵 **Budget filter** — Low / Medium / High spend tiers.
- 🎨 **Format filter** — Image, Video, Carousel, Free-form / Text.
- 📍 **Placement filter** — Feed or Conversation.
- 🎯 **Objective filter** — Awareness, Conversions, App Installs, Traffic, Video Views.
- 🖼️ **Full creative capture** — media URLs, destination URLs, display URLs, call-to-action buttons.
- 👤 **Advertiser details** — profile name, profile ID, avatar.
- 📥 **Live dataset writes** — a crash mid-run never loses collected data.

---

### 📥 Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `queries` | array of strings | No | Keywords to search. Add several for bulk runs. Leave empty to pull the **whole** public gallery. |
| `industry` | string (enum) | No | Keep only ads from one industry. |
| `budgetCategory` | string (enum) | No | Keep only `LOW` / `MEDIUM` / `HIGH` budget ads. |
| `postType` | string (enum) | No | Keep only `IMAGE` / `VIDEO` / `CAROUSEL` / `FREE_FORM` ads. |
| `placements` | string (enum) | No | Keep only `FEED` or `CONVERSATION` ads. |
| `objectiveType` | string (enum) | No | Keep only ads with a given campaign objective. |
| `maxItems` | integer | No | Max ads per keyword (1–30, default 30). |
| `proxyConfiguration` | object | No | Optional proxy. Defaults to **no proxy** — the Actor self-escalates if needed. |

#### Example input

```json
{
  "queries": ["ai", "crypto"],
  "industry": "TECH_B2C",
  "budgetCategory": "HIGH",
  "postType": "VIDEO",
  "maxItems": 30,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

***

### 📤 Output

Each ad is one dataset row. Example:

```json
{
  "id": "5f6eb24cc504b6d04b6e121a701c03b4",
  "budget_category": "MEDIUM",
  "industry": "TECH_B2C",
  "placements": ["FEED", "COMMENTS_PAGE"],
  "objective": "CONVERSIONS",
  "created_at": "2024-02-27T19:25:25+00:00",
  "headline": "As Seen on Shark Tank",
  "body": "",
  "post_url": "https://www.reddit.com/user/RIPDebt/comments/1b1ki15/as_seen_on_shark_tank/",
  "type": "IMAGE",
  "thumbnail_url": "https://a.thumbs.redditmedia.com/MpMEvF...jpg",
  "profile_id": "t2_td6ozens",
  "profile_name": "u_RIPDebt",
  "profile_image_url": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_0.png",
  "content": [
    {
      "media_url": "https://external-preview.redd.it/vaHsih...jpg",
      "destination_url": "https://changed.test-app.link/pkHAhbWqxHb",
      "display_url": "changed.test-app.link",
      "call_to_action": "Learn More"
    }
  ]
}
```

| Field | Description |
|-------|-------------|
| `id` | Stable unique ad identifier. |
| `budget_category` | Spend tier — `LOW` / `MEDIUM` / `HIGH`. |
| `industry` | Advertiser's industry. |
| `placements` | Where the ad runs — `FEED`, `COMMENTS_PAGE`, … |
| `objective` | Campaign objective — `CONVERSIONS`, `CLICKS`, `IMPRESSIONS`, … |
| `created_at` | ISO timestamp the ad post was created. |
| `headline` | Ad headline / title. |
| `body` | Ad body text (may be empty for image/video ads). |
| `post_url` | Link to the underlying Reddit post. |
| `type` | Creative format — `IMAGE` / `VIDEO` / `CAROUSEL` / `TEXT`. |
| `thumbnail_url` | Thumbnail image of the creative. |
| `profile_id` | Advertiser's Reddit profile ID. |
| `profile_name` | Advertiser's Reddit username. |
| `profile_image_url` | Advertiser's avatar. |
| `content` | List of creative slides — `media_url`, `destination_url`, `display_url`, `call_to_action`. |

#### 🗂️ Output table views

The Output tab ships with three pre-built sections so you can scan results by topic:

- **🗂️ Ad Overview** — id, headline, format, industry, budget, objective, placements, date, post link.
- **🎨 Creative & Content** — headline, body copy, thumbnail and full creative content.
- **👤 Advertiser Profile** — advertiser name, profile ID, avatar and post link.

Export any view to **JSON, CSV, Excel, HTML or XML** with one click.

***

### 🚀 How to use (Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Open **Reddit Ads Scraper**.
3. Add one or more **search keywords** (or leave empty for the whole gallery).
4. *(Optional)* Pick filters — industry, budget, format, placement, objective.
5. Click **Start** ▶️.
6. Watch ads appear in the **Output** tab **in real time**.
7. When the run finishes, **export** to JSON / CSV / Excel.

***

### 🤖 Use via API

Run the Actor and get results in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "queries": ["ai"],
       "maxItems": 30,
       "proxyConfiguration": { "useApifyProxy": false }
     }'
```

Or start asynchronously and poll for the result:

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"queries":["crypto"],"maxItems":30}'
```

***

### 🛡️ Smart proxy handling

You do **not** need to configure anything — the Actor manages connectivity for you:

1. 🌐 **Direct connection** first (no proxy, fastest, no proxy cost).
2. 🏢 **Datacenter proxy** if Reddit throttles the direct connection.
3. 🏠 **Residential proxy** if the datacenter connection is still throttled — then locked in for the rest of the run, with up to **3 retries**.

Every connection upgrade is logged clearly so you always know what's happening. Advanced users can still pre-select a proxy in the **proxyConfiguration** field.

***

### 🎯 Best use cases

- 🕵️ **Competitor ad intelligence** — see what rivals are promoting on Reddit.
- 💡 **Creative inspiration** — build a swipe file of high-performing headlines and hooks.
- 📈 **Market research** — spot trends by industry, budget and objective.
- 🧾 **Agency reporting** — export structured ad data for client decks.
- 🤖 **AI / LLM pipelines** — feed real ad copy into models for analysis or generation.

***

### 💲 Pricing

This Actor uses the **Pay-Per-Event (PPE)** model:

| Event | What it covers |
|-------|----------------|
| 🟢 **Actor start** | A small fixed fee each time a run starts. |
| 📦 **Result item** | A fee per ad written to your dataset. |

You only pay for the ads you actually collect. There are no monthly rental fees. The exact per-event prices are shown on the Actor's Store page before you run it.

***

### ❓ Frequently asked questions

**How many ads can I get?**
Reddit's public ad gallery exposes roughly **30 ads** to anonymous visitors. A keyword returns the subset that matches, and the Actor tops up from the gallery so you always receive as many ads as Reddit currently exposes.

**Do I need a Reddit account or API key?**
No. The Actor only uses data that is already public in Reddit's ad inspiration gallery.

**Why did I get fewer ads than `maxItems`?**
That is a Reddit limit, not a scraper error — the public gallery simply does not expose more than ~30 ads at a time.

**Do I have to set up a proxy?**
No. The Actor runs without a proxy by default and automatically upgrades the connection only if Reddit throttles it.

**Is bulk input supported?**
Yes — add multiple keywords in the `queries` field to run several searches in one go. Results are de-duplicated across keywords.

**What if a search fails?**
The Actor retries with backoff and escalating proxies. If one keyword still fails, the run continues with the others and keeps every ad already collected.

***

### 📨 Support & feedback

Found a bug, need an extra field, or want a custom workflow? We're happy to help.

📧 **scrapier.io@gmail.com**

> ⚖️ **Legal note:** This Actor collects only publicly available data from Reddit's ad inspiration library. You are responsible for using the data in line with Reddit's Terms of Service and applicable laws (GDPR, CCPA, etc.).

# Actor input Schema

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

📋 Add one or more keywords to search the Reddit Ads library (e.g. `ai`, `crypto`, `fitness`). ✨ Use **Add item** to queue several searches in a single run. 💡 Leave this empty to pull the **entire** public ad catalog.

## `industry` (type: `string`):

📊 Keep only ads from a specific industry. Choose **Any industry** to skip this filter.

## `budgetCategory` (type: `string`):

💸 Keep only ads in a given spend tier. Choose **Any budget** to skip this filter.

## `postType` (type: `string`):

🖼️ Keep only a specific creative format. Choose **Any format** to skip this filter.

## `placements` (type: `string`):

📰 Keep only ads shown in a specific placement. Choose **Any placement** to skip this filter.

## `objectiveType` (type: `string`):

🚀 Keep only ads running toward a specific marketing objective. Choose **Any objective** to skip this filter.

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

📦 How many ads to collect for each keyword. ℹ️ Reddit's public ad gallery exposes roughly **30 ads** to anonymous visitors, so this is capped at 30 — the Actor always returns as many as the gallery currently holds.

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

🛡️ Optional. The Actor runs **without a proxy by default** and automatically upgrades to a **datacenter** proxy, then a **residential** proxy, if Reddit throttles the connection. ⚙️ Power users can pre-select a proxy here.

## Actor input object example

```json
{
  "queries": [
    "ai"
  ],
  "industry": "",
  "budgetCategory": "",
  "postType": "",
  "placements": "",
  "objectiveType": "",
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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": [
        "ai"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperforge/reddit-ads-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": ["ai"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scraperforge/reddit-ads-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": [
    "ai"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scraperforge/reddit-ads-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Reddit Ads Scraper",
        "description": null,
        "version": "0.1",
        "x-build-id": "N8YnhrUCfeOURNGdD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraperforge~reddit-ads-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraperforge-reddit-ads-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/scraperforge~reddit-ads-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraperforge-reddit-ads-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/scraperforge~reddit-ads-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraperforge-reddit-ads-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 (bulk supported)",
                        "type": "array",
                        "description": "📋 Add one or more keywords to search the Reddit Ads library (e.g. `ai`, `crypto`, `fitness`). ✨ Use **Add item** to queue several searches in a single run. 💡 Leave this empty to pull the **entire** public ad catalog.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "industry": {
                        "title": "🏭 Industry filter",
                        "enum": [
                            "",
                            "TECH_B2C",
                            "TECH_B2B",
                            "EDUCATION",
                            "ENTERTAINMENT",
                            "HEALTH_AND_BEAUTY",
                            "GAMING",
                            "EMPLOYMENT",
                            "RETAIL_AND_ECOMMERCE",
                            "AUTO",
                            "FINANCIAL_SERVICES",
                            "TRAVEL",
                            "REAL_ESTATE",
                            "GAMBLING_AND_FANTASY_SPORTS",
                            "POLITICS_AND_GOVERNMENT",
                            "CONSUMER_PACKAGED_GOODS",
                            "OTHER"
                        ],
                        "type": "string",
                        "description": "📊 Keep only ads from a specific industry. Choose **Any industry** to skip this filter.",
                        "default": ""
                    },
                    "budgetCategory": {
                        "title": "💵 Budget filter",
                        "enum": [
                            "",
                            "LOW",
                            "MEDIUM",
                            "HIGH"
                        ],
                        "type": "string",
                        "description": "💸 Keep only ads in a given spend tier. Choose **Any budget** to skip this filter.",
                        "default": ""
                    },
                    "postType": {
                        "title": "🎨 Ad format filter",
                        "enum": [
                            "",
                            "IMAGE",
                            "VIDEO",
                            "CAROUSEL",
                            "FREE_FORM"
                        ],
                        "type": "string",
                        "description": "🖼️ Keep only a specific creative format. Choose **Any format** to skip this filter.",
                        "default": ""
                    },
                    "placements": {
                        "title": "📍 Placement filter",
                        "enum": [
                            "",
                            "FEED",
                            "CONVERSATION"
                        ],
                        "type": "string",
                        "description": "📰 Keep only ads shown in a specific placement. Choose **Any placement** to skip this filter.",
                        "default": ""
                    },
                    "objectiveType": {
                        "title": "🎯 Campaign objective filter",
                        "enum": [
                            "",
                            "AWARENESS",
                            "CONVERSIONS",
                            "APP_INSTALLS",
                            "TRAFFIC",
                            "VIDEO_VIEWABLE_IMPRESSIONS"
                        ],
                        "type": "string",
                        "description": "🚀 Keep only ads running toward a specific marketing objective. Choose **Any objective** to skip this filter.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "🔢 Max ads per keyword",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "📦 How many ads to collect for each keyword. ℹ️ Reddit's public ad gallery exposes roughly **30 ads** to anonymous visitors, so this is capped at 30 — the Actor always returns as many as the gallery currently holds.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "🌐 Proxy configuration",
                        "type": "object",
                        "description": "🛡️ Optional. The Actor runs **without a proxy by default** and automatically upgrades to a **datacenter** proxy, then a **residential** proxy, if Reddit throttles the connection. ⚙️ Power users can pre-select a proxy here.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
