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

A production-ready Apify Actor that extracts ad data from the Meta (Facebook) Ads Library with advanced bot-detection bypass, deep data extraction via GraphQL, and human-behaviour simulation.

Bypasses bot detection — advanced fingerprint evasion, TLS randomisation, and geo-aligned browser profiles.

- **URL**: https://apify.com/nocodeventure/ads-library-scraper-for-facebook-meta.md
- **Developed by:** [No-Code Venture](https://apify.com/nocodeventure) (community)
- **Categories:** Social media, Automation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.25 / 1,000 single results

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Meta Ads Library Scraper

A production-ready Apify Actor that extracts ad data from the [Meta (Facebook) Ads Library](https://www.facebook.com/ads/library) with advanced bot-detection bypass, deep data extraction via GraphQL, and human-behaviour simulation.

---

### Features

- **Bypasses bot detection** — advanced fingerprint evasion, TLS randomisation, and geo-aligned browser profiles keep the scraper undetected
- **Deep data extraction** — captures Facebook's internal API responses for richer, more complete ad data than DOM scraping alone
- **Behaves like a real user** — randomised scrolling, mouse movement, and timing patterns avoid triggering rate limits
- **Optional proxy** — Apify residential or datacenter proxy when you need geo-specific egress or to recover from HTTP 403
- **Infinite-scroll handling** — automatically loads more ads as you scroll
- **Flexible output** — basic, detailed, or full ad data formats

---

### Input

Provide **either** `startUrls` (direct Ads Library URLs) **or** a `searchQuery` (and optional filters). Defaults below match `INPUT_SCHEMA.json`.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | — | Optional. List of `https://www.facebook.com/ads/library/...` URLs; when set, `searchQuery` and filter fields are ignored |
| `searchQuery` | string | `Nike` | Search term (e.g. company name, keyword). Ignored when `startUrls` is provided |
| `country` | string | `ALL` | Country code for ad targeting (e.g. `US`, `IT`, `GB`) |
| `adType` | string | `ALL` | Ad type filter: `ALL`, `POLITICAL_AND_ISSUE_ADS`, `HOUSING_ADS`, `EMPLOYMENT_ADS`, `CREDIT_ADS` |
| `maxAds` | integer | `5` | Maximum number of ads to scrape (1–10 000) |
| `includeInactive` | boolean | `false` | Include inactive (ended) ads |
| `proxyConfiguration` | object | Apify proxy **off** (`useApifyProxy: false`) | Optional. Turn on Apify Proxy and e.g. `apifyProxyGroups: ["RESIDENTIAL"]` if you see HTTP 403 or need geo-specific egress |
| `outputFormat` | string | `detailed` | Output format: `basic`, `detailed`, or `full` |
| `delayBetweenRequests` | integer | `3000` | Delay between scroll iterations in ms (1 000–10 000) |
| `pageId` | string | — | Optional Facebook Page ID to scope the search |
| `enableGraphQLInterception` | boolean | `true` | Intercept Meta's GraphQL API for richer ad data. **Must be `true` to populate `platforms`** — disabling this leaves `platforms` as `null` on every record |
| `fetchAdDetails` | boolean | `true` | Open the details panel per ad (richer fields; slower, ~1–3 s extra per ad) |
| `debugScreenshots` | boolean | `false` | Save debug screenshots to the key-value store when no ads are found |

---

### Output

Each item in the default dataset represents one ad and includes:

- `adId` — Facebook Library ID
- `pageName` — advertiser page name
- `adContent` — ad body text
- `startDate` / `endDate` — ad flight dates
- `impressions` / `spend` / `reach` — performance ranges
- `platforms` — Facebook, Instagram, Messenger, Audience Network, Threads (requires `enableGraphQLInterception: true`)
- `adCreative` — image/video URLs
- `landingPageUrl` / `ctaText` — call-to-action
- `isActive` — whether the ad is currently running
- `source` — `graphql_interception` or `dom_extraction`

---

### Pricing Model — Pay Per Event

This Actor uses the **Pay Per Event** pricing model. You are charged for the specific operations performed during a run, not a flat rental fee. Prices are set in [Apify Console](https://console.apify.com) and are not listed here. Event names and triggers are documented in [`docs/PPE_BILLING_EVENTS.md`](docs/PPE_BILLING_EVENTS.md).

#### What is charged automatically

Apify charges these events without any action required from you:

| Event | When |
|---|---|
| Actor start | Once per run |
| Dataset item | Once per ad record saved |

#### What is charged in code

| Event | When | Frequency |
|---|---|---|
| Residential proxy (run fee) | `proxyConfiguration` uses a proxy group (e.g. `RESIDENTIAL`) | Once per run |
| Datacenter proxy (run fee) | Apify Proxy without groups, or custom `proxyUrls` | Once per run |
| Proxy record surcharge | Any proxy is enabled for the run | Once per ad record saved |
| GraphQL record surcharge | `enableGraphQLInterception` is `true` | Once per ad record saved |
| Ad details fetch | `fetchAdDetails` is `true` and details are returned for an ad | Per successful details fetch |
| Debug screenshot | `debugScreenshots` is `true` and a screenshot is saved | Per screenshot saved |
| Memory surcharge | Run is allocated more than 2 GB RAM | 1 event per GB above 2 GB baseline, once per run |

#### Memory surcharge examples

| Memory | Memory surcharge events |
|---|---|
| 2 GB | 0 |
| 3 GB | 1 |
| 4 GB | 2 |
| 8 GB | 6 |
| 16 GB | 14 |

Runs of this Actor on Apify use **at least 2 GB** RAM (`actor.json`).

#### Spending limits

You can set a maximum cost per run in Apify Console. The Actor respects this limit:
- If the limit is reached during startup charges, the run exits gracefully before scraping begins.
- If the limit is reached mid-scrape, the current batch is completed and the run exits — all data already collected is preserved.

#### Proxy

**Default:** Apify Proxy is **off** in the input schema — many runs work without it.

If Meta returns **HTTP 403** or you need traffic from a specific region, enable **Apify Proxy** and use a **RESIDENTIAL** group (`apifyProxyGroups: ["RESIDENTIAL"]`) in `proxyConfiguration`.

---

### Memory Requirements

This Actor runs a full browser session. **`actor.json` sets `minMemoryMbytes` to 2048**, so Apify runs use **at least 2 GB (2048 MB)** of RAM; you cannot allocate below that for this Actor. Increase memory in Apify Console for very large `maxAds` or if you see out-of-memory warnings.

- **Minimum and default:** 2 GB (2048 MB) — `minMemoryMbytes` / `defaultRunOptions.memoryMbytes` in `actor.json`
- **Maximum (Actor cap):** 32 GB

# Actor input Schema

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

List of Facebook Ad Library URLs to scrape directly. When provided, the Search Query and other filter fields are ignored. Each URL should point to https://www.facebook.com/ads/library/...
## `searchQuery` (type: `string`):

Search term for ads (e.g., company name, keyword). Ignored when Start URLs are provided.
## `country` (type: `string`):

Country code for ad targeting (e.g., US, IT, GB)
## `adType` (type: `string`):

Type of ads to search
## `maxAds` (type: `integer`):

Maximum number of ads to scrape. Leave at the default or set a high value to scrape as many as available.
## `includeInactive` (type: `boolean`):

Include ads that are no longer active
## `proxyConfiguration` (type: `object`):

Apify RESIDENTIAL proxy is enabled by default. Meta reliably blocks requests without a residential proxy.
## `outputFormat` (type: `string`):

Format for the output data
## `delayBetweenRequests` (type: `integer`):

Delay between requests to avoid rate limiting
## `pageId` (type: `string`):

Specific Facebook Page ID to search ads for
## `enableGraphQLInterception` (type: `boolean`):

Intercept GraphQL requests for more comprehensive data (2025 feature)
## `fetchAdDetails` (type: `boolean`):

Click 'See ad details' for each scraped ad to extract the full details panel: advertiser and payer names, page handle and follower counts, page category and verification status, landing page URL, and (for EU-targeted ads) age/gender/location targeting and reach by demographics. Produces much richer output but takes longer — roughly 1-3 extra seconds per ad.
## `debugScreenshots` (type: `boolean`):

Save screenshots to key-value store when no ads are found, to help diagnose bot-detection or page-load issues.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.facebook.com/ads/library/?q=Nike&country=US&ad_type=all&active_status=all"
    }
  ],
  "searchQuery": "Nike",
  "country": "US",
  "adType": "ALL",
  "maxAds": 5,
  "includeInactive": false,
  "proxyConfiguration": {
    "useApifyProxy": false,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "outputFormat": "detailed",
  "delayBetweenRequests": 3000,
  "pageId": "123456789",
  "enableGraphQLInterception": true,
  "fetchAdDetails": true,
  "debugScreenshots": 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nocodeventure/ads-library-scraper-for-facebook-meta").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("nocodeventure/ads-library-scraper-for-facebook-meta").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 '{}' |
apify call nocodeventure/ads-library-scraper-for-facebook-meta --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ads Library Scraper for Facebook Meta",
        "description": "A production-ready Apify Actor that extracts ad data from the Meta (Facebook) Ads Library with advanced bot-detection bypass, deep data extraction via GraphQL, and human-behaviour simulation.\n\nBypasses bot detection — advanced fingerprint evasion, TLS randomisation, and geo-aligned browser profiles.",
        "version": "0.0",
        "x-build-id": "KPQpSchWzjWfNYK2q"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nocodeventure~ads-library-scraper-for-facebook-meta/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nocodeventure-ads-library-scraper-for-facebook-meta",
                "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/nocodeventure~ads-library-scraper-for-facebook-meta/runs": {
            "post": {
                "operationId": "runs-sync-nocodeventure-ads-library-scraper-for-facebook-meta",
                "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/nocodeventure~ads-library-scraper-for-facebook-meta/run-sync": {
            "post": {
                "operationId": "run-sync-nocodeventure-ads-library-scraper-for-facebook-meta",
                "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": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of Facebook Ad Library URLs to scrape directly. When provided, the Search Query and other filter fields are ignored. Each URL should point to https://www.facebook.com/ads/library/...",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search term for ads (e.g., company name, keyword). Ignored when Start URLs are provided.",
                        "default": "Nike"
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Country code for ad targeting (e.g., US, IT, GB)",
                        "default": "ALL"
                    },
                    "adType": {
                        "title": "Ad Type",
                        "enum": [
                            "ALL",
                            "POLITICAL_AND_ISSUE_ADS",
                            "HOUSING_ADS",
                            "EMPLOYMENT_ADS",
                            "CREDIT_ADS"
                        ],
                        "type": "string",
                        "description": "Type of ads to search",
                        "default": "ALL"
                    },
                    "maxAds": {
                        "title": "Maximum Ads",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of ads to scrape. Leave at the default or set a high value to scrape as many as available.",
                        "default": 5
                    },
                    "includeInactive": {
                        "title": "Include Inactive Ads",
                        "type": "boolean",
                        "description": "Include ads that are no longer active",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify RESIDENTIAL proxy is enabled by default. Meta reliably blocks requests without a residential proxy.",
                        "default": {
                            "useApifyProxy": false,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    },
                    "outputFormat": {
                        "title": "Output Format",
                        "enum": [
                            "basic",
                            "detailed",
                            "full"
                        ],
                        "type": "string",
                        "description": "Format for the output data",
                        "default": "detailed"
                    },
                    "delayBetweenRequests": {
                        "title": "Delay Between Requests (ms)",
                        "minimum": 1000,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Delay between requests to avoid rate limiting",
                        "default": 3000
                    },
                    "pageId": {
                        "title": "Page ID (Optional)",
                        "type": "string",
                        "description": "Specific Facebook Page ID to search ads for"
                    },
                    "enableGraphQLInterception": {
                        "title": "Enable GraphQL Interception",
                        "type": "boolean",
                        "description": "Intercept GraphQL requests for more comprehensive data (2025 feature)",
                        "default": true
                    },
                    "fetchAdDetails": {
                        "title": "Fetch Ad Details",
                        "type": "boolean",
                        "description": "Click 'See ad details' for each scraped ad to extract the full details panel: advertiser and payer names, page handle and follower counts, page category and verification status, landing page URL, and (for EU-targeted ads) age/gender/location targeting and reach by demographics. Produces much richer output but takes longer — roughly 1-3 extra seconds per ad.",
                        "default": true
                    },
                    "debugScreenshots": {
                        "title": "Debug Screenshots",
                        "type": "boolean",
                        "description": "Save screenshots to key-value store when no ads are found, to help diagnose bot-detection or page-load issues.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
