# Facebook Ads Transcript Scraper — Video Hooks & CTAs (`steadyfetch/facebook-ads-transcript-scraper`) Actor

Transcribe Facebook & Instagram video ads in bulk: full transcript, first-3s hook, CTA & metadata as one JSON row per ad. Chain after any Ad Library scraper (dataset ID or URLs). Any video length. Charged only when a transcript is delivered — expired links & music-only ads cost $0.

- **URL**: https://apify.com/steadyfetch/facebook-ads-transcript-scraper.md
- **Developed by:** [Steadyfetch Team](https://apify.com/steadyfetch) (community)
- **Categories:** AI, Social media, Videos
- **Stats:** 3 total users, 2 monthly users, 90.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.00 / 1,000 video ad transcripts

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

Turn Facebook and Instagram ad videos into **structured transcripts** — full text, the **first-3-seconds hook**, CTA, and ad metadata in one JSON row per ad. Chain this Facebook ad transcript extractor straight after any [Ad Library](https://www.facebook.com/ads/library/) scraper run, any video length, in bulk. **You are charged only when a transcript is delivered** — expired links, music-only creatives, and image ads cost $0.

| You give it | You get back |
|---|---|
| Ad video URLs (`video_hd_url` from any scraper) | `transcript` — full speech-to-text, any length |
| …or your scraper run's **dataset ID** (one-click chaining) | `hook3s` — what's said in the first 3 seconds |
| …or pasted dataset rows (any scraper's shape) | `ctaText`, `pageName`, `adArchiveId`, `language`, `durationSeconds`, timestamped `segments` |

### Why this Facebook ads transcript scraper?

- **Charged only on delivery.** A transcript either lands in your dataset or the row is free. Expired URL → free row that says so. Music-only ad → free row that says so. No "it ran and charged me but returned nothing."
- **Any video length.** VSL-length creatives (7+ minutes) transcribe fine — long videos add a small per-minute surcharge instead of failing or being silently cut at 2 minutes.
- **Bulk, not one-at-a-time.** Feed it your whole Ad Library scrape — hundreds of ads in one run, processed concurrently.
- **Hook + CTA as data.** The first-3s hook is the line media buyers actually study; you get it as its own field, plus full segment timestamps for anything deeper.
- **Works with any scraper's output.** The input deep-scans your dataset rows for the video URL and ad metadata — no field mapping, no glue code.

### How to transcribe Facebook ads (no code)

1. Run any Facebook Ad Library scraper (e.g. the ones you already use) with video ads in scope.
2. Open this actor, paste your run's **dataset ID** (or use Apify's *Connect Actor* integration to chain it automatically).
3. Click **Start**. Each video ad comes back as one JSON row: transcript + hook + CTA + metadata.
4. Export as JSON/CSV, or read it via API.

Prefer URLs? Paste `video_hd_url` / `video_sd_url` values into **videoUrls** directly.

![Facebook ads transcript scraper input form](https://raw.githubusercontent.com/steadyfetch/n8n-templates/master/assets/facebook-ads-transcript-scraper-input.png?v=2)

### Why do Facebook ad video URLs expire?

Facebook's video CDN (`video.*.fbcdn.net`) signs every URL with an expiry — typically a few hours to a few days (the `oe=` parameter is a hex timestamp). **Transcribe soon after scraping**: a dataset from last week will have dead links. Expired rows come back as uncharged `unavailable_expired` so you can re-scrape and re-run just those. This actor intentionally does **not** accept Ad Library *page* links (`facebook.com/ads/library/?id=…`) — Meta blocks server-side page reads, and we'd rather say that plainly than sell you a half-working re-resolver.

### Output example

```json
{
  "status": "transcribed",
  "charged": true,
  "pageName": "Native",
  "adArchiveId": "1318059422847122",
  "hook3s": "Look, women are always right. My girlfriend told me to get the Native deodorant.",
  "ctaText": "Shop Now",
  "ctaType": "SHOP_NOW",
  "transcript": "Look, women are always right. My girlfriend told me to get the Native deodorant...",
  "language": "English",
  "durationSeconds": 32.8,
  "segments": [{ "start": 0, "end": 2.1, "text": "Look, women are always right." }],
  "chargeEvents": { "transcript": 1, "surchargeMinutes": 0 }
}
````

Every field is always present (explicit `null` over silent omission). Non-delivered rows carry `status` + `statusReason` instead — `unavailable_expired`, `no_audio` (music-only creative), `image_skipped` (image ads ship their metadata free), `no_creative_found`, or `failed_*` (also listed in the run's `ERRORS` record).

**[See a live sample dataset →](https://api.apify.com/v2/datasets/79hMkGYDnmPi3z9fd/items?clean=true\&format=json)** — real ads from a real run: three transcripts (one in Spanish) and one expired-URL row delivered honest and uncharged.

![Facebook ad transcripts output table — hooks, language, duration, charged flag](https://raw.githubusercontent.com/steadyfetch/n8n-templates/master/assets/facebook-ad-transcripts-output-table.png?v=2)

### How much does it cost to transcribe Facebook ads?

**One result = one ad's full transcript payload** (transcript + hook + CTA + metadata + segments). The first 3 minutes of each video are included; longer videos add a small per-started-minute surcharge. No start fee, no subscription, no third-party API key to buy.

| Job | Approx. cost |
|---|---|
| 50 competitor video ads | ≈ $1.00 |
| 500 ads (a serious creative teardown) | ≈ $10 |
| Apify free plan ($5 credit) | ≈ **250 ad transcripts** |

Platform usage (compute + transfer) is billed separately by Apify — measured **~$0.10 per 1,000 ads on average (up to ~$0.60 for long videos)** — we state the real range instead of calling it "tiny" so your bill never surprises you.

### Use it via API, MCP, and integrations

- **API**: standard Apify run API — `POST .../acts/steadyfetch~facebook-ads-transcript-scraper/runs` with `{ "datasetId": "..." }`. Python/Node clients work as with any actor.
- **MCP**: works from Claude, Cursor, and any MCP client through Apify's MCP server — ask for "facebook ad transcripts" with a dataset ID or URLs.
- **n8n**: **[free ready-made template →](https://github.com/steadyfetch/n8n-templates)** — scrape ads → transcribe hooks & CTAs → pipe to Sheets, 3-minute setup, no community nodes needed (the workflow people sell as a paid template, free).
- **Make / Zapier**: call it as a regular Apify actor step right after your scraper node — same two HTTP calls as the n8n template.
- **Chain it after any Ads Library scraper** on this store — the big ones output `snapshot.videos[].video_hd_url`, which is exactly what the deep-scan looks for.

### FAQ

**Is it legal to transcribe Facebook ads?** The Ad Library is public by design (ad transparency), and US courts have held that logged-out scraping of public Meta data does not breach Meta's terms (Meta v. Bright Data, 2024). The ad-spy industry (Foreplay, Atria, AdSpy) operates on this data openly. As always, how you use the data is on you.

**What happens on a failed download?** Up to 3 attempts, then an uncharged `failed_download` row plus an entry in the run's `ERRORS` record. You pay $0 for anything that didn't deliver.

**Music-only ads?** Speech-recognition models hallucinate filler ("Thank you.") on music. We detect that and return an honest, uncharged `no_audio` row instead of selling you a fake transcript.

**Image ads?** v1 transcribes video ads. Image rows pass through free with their CTA/page metadata, clearly marked `image_skipped`.

**Languages?** Whisper-class multilingual ASR — Spanish, German, Arabic, and ~90 more transcribe out of the box; the detected `language` ships on every row.

**Why not scrape the Ad Library here too?** Single-purpose by design: your scraper (whichever you like) finds the ads; this actor turns them into transcript data, reliably. One job, done honestly.

### Feedback & support

Found an issue? Open it on the **Issues tab** — we respond within one business day. Feature requests welcome: TikTok ad transcripts are next on the roadmap.

# Actor input Schema

## `videoUrls` (type: `array`):

Facebook video CDN links (video.\*.fbcdn.net) — the video\_hd\_url / video\_sd\_url field from any Ad Library scraper result. Note: fbcdn URLs expire within hours-to-days, so transcribe soon after scraping.

## `datasetId` (type: `string`):

The default dataset ID of a finished ad-library scraper run. With Apify's 'Connect actor' integration this is filled automatically — the cleanest way to chain.

## `datasetItems` (type: `array`):

Paste rows from your ad-library scraper run. The actor deep-scans each row for the ad video URL + metadata (CTA, page name, ad archive ID) — works with any scraper's output shape. The prefilled demo row shows the honesty contract: it returns an uncharged image\_skipped row — replace it with your own rows or video URLs.

## `maxAds` (type: `integer`):

Safety cap on how many ads to transcribe in one run.

## Actor input object example

```json
{
  "datasetItems": [
    {
      "_demo": "Replace me with rows from your ad-library scraper run (or use videoUrls / datasetId). This demo image-ad row returns one FREE row showing the per-row status contract.",
      "ad_archive_id": "1318059422847100",
      "page_name": "Demo Advertiser",
      "snapshot": {
        "cta_text": "Shop Now",
        "images": [
          {
            "original_image_url": "https://scontent.xx.fbcdn.net/v/demo.jpg"
          }
        ]
      }
    }
  ],
  "maxAds": 1000
}
```

# Actor output Schema

## `transcripts` (type: `string`):

One row per ad: transcript, first-3s hook, CTA, advertiser, duration, and a status (transcribed / no\_audio / unavailable\_expired / image\_skipped / …). Only 'transcribed' rows are charged.

## `summary` (type: `string`):

Delivered count, uncharged misses, failures, and the honest status message.

## `errors` (type: `string`):

Present only when downloads/ASR failed after all retries: video URL and reason.

# 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 = {
    "datasetItems": [
        {
            "_demo": "Replace me with rows from your ad-library scraper run (or use videoUrls / datasetId). This demo image-ad row returns one FREE row showing the per-row status contract.",
            "ad_archive_id": "1318059422847100",
            "page_name": "Demo Advertiser",
            "snapshot": {
                "cta_text": "Shop Now",
                "images": [
                    {
                        "original_image_url": "https://scontent.xx.fbcdn.net/v/demo.jpg"
                    }
                ]
            }
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("steadyfetch/facebook-ads-transcript-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 = { "datasetItems": [{
            "_demo": "Replace me with rows from your ad-library scraper run (or use videoUrls / datasetId). This demo image-ad row returns one FREE row showing the per-row status contract.",
            "ad_archive_id": "1318059422847100",
            "page_name": "Demo Advertiser",
            "snapshot": {
                "cta_text": "Shop Now",
                "images": [{ "original_image_url": "https://scontent.xx.fbcdn.net/v/demo.jpg" }],
            },
        }] }

# Run the Actor and wait for it to finish
run = client.actor("steadyfetch/facebook-ads-transcript-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 '{
  "datasetItems": [
    {
      "_demo": "Replace me with rows from your ad-library scraper run (or use videoUrls / datasetId). This demo image-ad row returns one FREE row showing the per-row status contract.",
      "ad_archive_id": "1318059422847100",
      "page_name": "Demo Advertiser",
      "snapshot": {
        "cta_text": "Shop Now",
        "images": [
          {
            "original_image_url": "https://scontent.xx.fbcdn.net/v/demo.jpg"
          }
        ]
      }
    }
  ]
}' |
apify call steadyfetch/facebook-ads-transcript-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Facebook Ads Transcript Scraper — Video Hooks & CTAs",
        "description": "Transcribe Facebook & Instagram video ads in bulk: full transcript, first-3s hook, CTA & metadata as one JSON row per ad. Chain after any Ad Library scraper (dataset ID or URLs). Any video length. Charged only when a transcript is delivered — expired links & music-only ads cost $0.",
        "version": "1.0",
        "x-build-id": "XZoygYjeFoj1PgXmY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/steadyfetch~facebook-ads-transcript-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-steadyfetch-facebook-ads-transcript-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/steadyfetch~facebook-ads-transcript-scraper/runs": {
            "post": {
                "operationId": "runs-sync-steadyfetch-facebook-ads-transcript-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/steadyfetch~facebook-ads-transcript-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-steadyfetch-facebook-ads-transcript-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": {
                    "videoUrls": {
                        "title": "Ad video URLs",
                        "type": "array",
                        "description": "Facebook video CDN links (video.*.fbcdn.net) — the video_hd_url / video_sd_url field from any Ad Library scraper result. Note: fbcdn URLs expire within hours-to-days, so transcribe soon after scraping.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "datasetId": {
                        "title": "Dataset ID (chain a scraper run)",
                        "type": "string",
                        "description": "The default dataset ID of a finished ad-library scraper run. With Apify's 'Connect actor' integration this is filled automatically — the cleanest way to chain."
                    },
                    "datasetItems": {
                        "title": "Dataset items (paste rows)",
                        "type": "array",
                        "description": "Paste rows from your ad-library scraper run. The actor deep-scans each row for the ad video URL + metadata (CTA, page name, ad archive ID) — works with any scraper's output shape. The prefilled demo row shows the honesty contract: it returns an uncharged image_skipped row — replace it with your own rows or video URLs."
                    },
                    "maxAds": {
                        "title": "Max ads to process",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Safety cap on how many ads to transcribe in one run.",
                        "default": 1000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
