# ZoomInfo Company & Contacts Scraper — Leads | No Login (`bovi/zoominfo-scraper`) Actor

Scrape public ZoomInfo company profiles into rich JSON: firmographics, executives, competitors, technologies, news, funding — PLUS one lead record per person (name, title, LinkedIn, location, email pattern, masked email/phone). Paste URLs, get companies + contacts. No login, no API key.

- **URL**: https://apify.com/bovi/zoominfo-scraper.md
- **Developed by:** [Vitalii Bondarev](https://apify.com/bovi) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.90 / 1,000 company records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## ZoomInfo Company & Contacts Scraper

Turn public ZoomInfo company profile pages into rich, structured JSON — **company
firmographics PLUS the people / leads** ZoomInfo surfaces on those pages. Paste one
or more company profile URLs and get back, in a single dataset:

1. **One rich company record** per URL — firmographics enriched with nested arrays:
   executives, recently-hired people, competitors, technologies, scoops, news,
   funding rounds, acquisitions, department headcounts, and buyer-intent topics.
2. **One flat lead record per person** found on the company page (executives +
   recently-hired) — name, title, department, LinkedIn URL, location, and contact
   data (email pattern, masked current email/phone, full historical emails).

This actor scrapes the **public, logged-out** ZoomInfo company pages
(`/c/<slug>/<id>`) and person pages (`/p/<slug>/<id>`). It does not log in and does
not use ZoomInfo's paid API. It returns exactly what ZoomInfo renders to logged-out
visitors — current emails/phones are returned **masked** (as ZoomInfo masks them,
e.g. `h***@zoominfo.com`), while the company **email pattern** is derived from the
public historical addresses ZoomInfo shows in full.

### ⚖️ Legal & ToS notice — read before you run

This tool collects the publicly visible, logged-out information ZoomInfo exposes
(including the public people roster on company pages). You are responsible for your
own use of the output. ZoomInfo's Terms of Service and applicable data-protection
laws (GDPR / CCPA / etc.) govern what you may collect and how you may use it —
especially person-level data. Scrape responsibly, respect rate limits, and ensure
you have a lawful basis for processing any personal data in the output. If you need
verified / unmasked contact data, use ZoomInfo's official paid API.

### Output — record types

Every dataset item carries a `record_type` field: `"company"` or `"person"`. The
**Companies** and **Contacts / Leads** dataset views split them for you.

#### Company record (`record_type: "company"`)

| Field | Example |
|---|---|
| `company_name` / `short_name` / `also_known_as` | `ZoomInfo Technologies LLC` / aliases list |
| `website` / `logo` | `www.zoominfo.com` |
| `hq_location` + `hq_street`/`hq_city`/`hq_state`/`hq_country`/`hq_zip` | structured address |
| `industry` | `Customer Engagement Platforms, Software` |
| `revenue_band` / `revenue_usd_thousands` | `$1.3 Billion` / `1254000` |
| `employee_band` / `employee_count` | `1K - 5K` / `3180` |
| `founded_year` | `2000` |
| `naics` / `sic` | `54,541` / `73,737` |
| `is_public` / `stock_ticker` | `Public` / `NASDAQ: GTM` |
| `phone` / `fax` | `(866) 904-9666` / `(617) 507-8187` |
| `linkedin_url` / `twitter_url` / `facebook_url` / `instagram_url` | company socials |
| `total_funding` | `2382555` |
| `description` / `summary` | public text |
| `employees_likely_to_engage` | engagement counter |
| **`executives[]`** | `{person_id, full_name, first_name, last_name, title, profile_url, org_chart_tier, likely_to_engage_email/phone}` |
| **`recently_hired[]`** | `{person_id, full_name, title, profile_url, job_start_date, likely_to_engage_*}` |
| **`competitors[]`** | `{company_id, name, website, revenue, employee_count, founded_year, is_public, ceo_name, ceo_profile_url}` |
| **`technologies[]`** | `{name, vendor, relationship: used\|owned, market_share?, companies_using?}` |
| **`scoops[]`** | `{description, date, types[], topics[], link}` (open roles, leadership moves, signals) |
| **`news[]`** | `{title, url, date, domain, snippet}` |
| **`fundings[]`** | `{date, amount, amount_value, round, investors[]}` |
| **`acquisitions[]`** | `{company_id, name, date}` |
| **`departments[]`** | `{level, count}` (C-Level / VP / Director / Manager / …) |
| **`intents[]`** | `{topic, signal_score, signals_number}` (buyer-intent) |
| `executive_count` / `recently_hired_count` / `contacts_scraped` | counts |
| `top_executives_url` / `profile_url` / `scraped_at` | provenance |

#### Person / lead record (`record_type: "person"`)

Emitted when **Include contacts** is on (default). One row per person fetched from
the company page roster.

| Field | Example |
|---|---|
| `full_name` / `first_name` / `last_name` | `Henry Schuck` |
| `title` / `job_function` / `department` / `management_level` | `Founder & CEO` / `Executive` / `C-Suite` / `C-Level` |
| `linkedin_url` | `https://www.linkedin.com/in/hschuck` |
| `email` | **masked** current email, e.g. `h***@zoominfo.com` |
| `email_pattern` | derived, e.g. `{first}.{last}@zoominfo.com` |
| `past_emails[]` | **full** historical addresses ZoomInfo exposes publicly |
| `phone` / `mobile` | **masked**, e.g. `(360) ***-****` |
| `company_phone` | full, `(866) 904-9666` |
| `city` / `state` / `metro_area` / `country` / `postal_code` / `street` | person location |
| `education` / `biography` / `current_job_duration` | profile detail |
| `company_id` / `company_name` / `company_website` | employer linkage |
| `profile_url` / `scraped_at` | provenance |

> **About emails & phones (important, honest):** logged out, ZoomInfo **masks** the
> current email and phone (`h***@…`, `(360) ***-****`). What it exposes in full is
> a list of **historical** addresses (`past_emails`) — from which this actor derives
> the company's `email_pattern` (e.g. `{first}.{last}@company.com`). That pattern,
> plus the person's name + LinkedIn, is what makes these usable B2B leads. We only
> emit a pattern on the person's **current** employer domain; if we can't confirm
> it, `email_pattern` is `null` rather than a guess on a stale domain.

### Input

| Field | Description |
|---|---|
| **Company profile URLs** | Public profile URLs `https://www.zoominfo.com/c/<slug>/<id>`. |
| **Include contacts / leads** | Default on. Also fetch person pages and emit lead rows. |
| **Max contacts per company** | Ceiling on person pages per company (default 25). |
| **Max companies** | Safety ceiling on company records. |
| **Proxy exit country** | Two-letter exit country (default `us`). |

**How to find profile URLs:** search the web for `site:zoominfo.com/c <company name>`
— the first result is usually the company's public profile. Copy that URL in.

```json
{
  "companyUrls": [
    "https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"
  ],
  "includeContacts": true,
  "maxContactsPerCompany": 25,
  "maxItems": 100
}
````

### How it works

ZoomInfo uses enterprise-grade protection. This actor
routes every request through a **managed proxy** fully baked into the actor —
**you never supply a proxy, API key, or login**. All transport cost is included in
the per-record price.

Parsing is anchored on the page's structured server-rendered data (the Angular SSR
`ng-state` blob and JSON-LD), **not** on fragile CSS class names — so it keeps
working across ZoomInfo's frequent front-end rebuilds. The first request to a cold
domain runs a full unlock cycle (can take 60–120 s); requests retry with backoff so
the warm cache then serves fast.

### Pricing

Pay-per-result with **two separate events**:

- **`company-record`** — charged once per company record delivered.
- **`contact-record`** — charged once per person / lead record delivered.

Failed or blocked URLs are skipped and not charged. Turn **Include contacts** off to
get company records only.

### Limitations

- Input is **profile URLs** (the reliable public path). Logged-out company-name
  search does not return query-specific results without authenticating, which this
  actor never does.
- Revenue / employee figures are the **bands** ZoomInfo publishes (e.g. `1K - 5K`).
- Current emails and direct phones are **masked** by ZoomInfo logged out; the actor
  returns them as-is (masked) plus the derived `email_pattern` and full
  `past_emails`. It does not unmask paywalled data.
- The contact roster is the set of people ZoomInfo surfaces on the public company
  page (executives + recently-hired), not ZoomInfo's full employee database.

# Actor input Schema

## `companyUrls` (type: `array`):

Public ZoomInfo company profile URLs to scrape, in the form https://www.zoominfo.com/c/<slug>/<id>. Each URL yields one rich company record (firmographics + executives, competitors, technologies, news, funding, etc.) plus — when 'Include contacts' is on — one lead record per person found. Find URLs via a web search like 'site:zoominfo.com/c <company name>'.

## `includeContacts` (type: `boolean`):

When on (default), the actor also fetches the person profiles surfaced on each company page (executives + recently-hired) and emits one flat lead record per person — with title, department, LinkedIn URL, location, and contact data (current email/phone are masked by ZoomInfo; historical emails are returned in full and used to derive the company email pattern). Each contact is a separate person-record charge.

## `maxContactsPerCompany` (type: `integer`):

Safety ceiling on how many person profiles to fetch per company (each is an extra managed-access request). Ignored when 'Include contacts' is off.

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

Maximum number of company records to return across all URLs. Acts as a safety ceiling on cost.

## `country` (type: `string`):

Two-letter country code for the managed-access exit (default 'us'). Most ZoomInfo pages render best from a US exit.

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

Optional. This actor routes through a managed-access layer that handles ZoomInfo reliably, so no proxy is required. The field is shown for compatibility and is otherwise ignored.

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"
  ],
  "includeContacts": true,
  "maxContactsPerCompany": 25,
  "maxItems": 100,
  "country": "us"
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing Zoominfo Scraper records (company\_name, website, hq\_location, industry, revenue\_band, employee\_band, founded\_year, stock\_ticker, phone, linkedin\_url, naics, sic, is\_public, executive\_count, contacts\_scraped, profile\_url, scraped\_at, full\_name).

# 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 = {
    "companyUrls": [
        "https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("bovi/zoominfo-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 = { "companyUrls": ["https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"] }

# Run the Actor and wait for it to finish
run = client.actor("bovi/zoominfo-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 '{
  "companyUrls": [
    "https://www.zoominfo.com/c/zoominfo-technologies-llc/344589814"
  ]
}' |
apify call bovi/zoominfo-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "ZoomInfo Company & Contacts Scraper — Leads | No Login",
        "description": "Scrape public ZoomInfo company profiles into rich JSON: firmographics, executives, competitors, technologies, news, funding — PLUS one lead record per person (name, title, LinkedIn, location, email pattern, masked email/phone). Paste URLs, get companies + contacts. No login, no API key.",
        "version": "0.1",
        "x-build-id": "xBrGEv75VNfwKXJC3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/bovi~zoominfo-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-bovi-zoominfo-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/bovi~zoominfo-scraper/runs": {
            "post": {
                "operationId": "runs-sync-bovi-zoominfo-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/bovi~zoominfo-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-bovi-zoominfo-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": {
                    "companyUrls": {
                        "title": "Company profile URLs",
                        "type": "array",
                        "description": "Public ZoomInfo company profile URLs to scrape, in the form https://www.zoominfo.com/c/<slug>/<id>. Each URL yields one rich company record (firmographics + executives, competitors, technologies, news, funding, etc.) plus — when 'Include contacts' is on — one lead record per person found. Find URLs via a web search like 'site:zoominfo.com/c <company name>'.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeContacts": {
                        "title": "Include contacts / leads",
                        "type": "boolean",
                        "description": "When on (default), the actor also fetches the person profiles surfaced on each company page (executives + recently-hired) and emits one flat lead record per person — with title, department, LinkedIn URL, location, and contact data (current email/phone are masked by ZoomInfo; historical emails are returned in full and used to derive the company email pattern). Each contact is a separate person-record charge.",
                        "default": true
                    },
                    "maxContactsPerCompany": {
                        "title": "Max contacts per company",
                        "minimum": 0,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Safety ceiling on how many person profiles to fetch per company (each is an extra managed-access request). Ignored when 'Include contacts' is off.",
                        "default": 25
                    },
                    "maxItems": {
                        "title": "Max companies",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of company records to return across all URLs. Acts as a safety ceiling on cost.",
                        "default": 100
                    },
                    "country": {
                        "title": "Managed-access exit country",
                        "type": "string",
                        "description": "Two-letter country code for the managed-access exit (default 'us'). Most ZoomInfo pages render best from a US exit.",
                        "default": "us"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional. This actor routes through a managed-access layer that handles ZoomInfo reliably, so no proxy is required. The field is shown for compatibility and is otherwise ignored."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
