# SaaS Integration Directory Monitor (`junipr/saas-integration-directory-monitor`) Actor

Monitor public integration/app directories for added, removed, or changed integrations.

- **URL**: https://apify.com/junipr/saas-integration-directory-monitor.md
- **Developed by:** [junipr](https://apify.com/junipr) (community)
- **Categories:** Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.50 / 1,000 target checkeds

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## SaaS Integration Directory Monitor

Compare public SaaS integration directories and produce structured rows for added, removed, recategorized, unavailable, or materially changed listings.

### What It Monitors

- New and removed integrations.
- Availability or listing status changes.
- Category changes.
- Listing and documentation URL changes.
- Name, vendor, and description changes.

The parser accepts JSON arrays and common wrappers such as `integrations`, `apps`, `items`, `results`, and `data`. It can also extract named links from public HTML directories and resolve relative links against the source URL.

### Input

Use `targets` for multiple directories, or provide direct single-directory fields at the top level.

| Field | Purpose |
| --- | --- |
| `targets` | Capped previous/current directory comparisons. |
| `vendor` | Vendor or ecosystem represented by a direct comparison. |
| `sourceUrl` / `urls` | Public current-directory URLs. Retrieval occurs only when `fetchUrls` is true and current content is absent. |
| `previousSnapshot` / `currentSnapshot` | Directory JSON or HTML. |
| `previousIntegrations` / `currentIntegrations` | Structured listing records. |
| `records` | Pre-paired records containing old and new listing values. |
| `html` | Current HTML when `currentSnapshot` is omitted. |
| `includeUnchanged` | Include listings whose supported fields did not change. |
| `includeReport` | Write results, summary, and Markdown report records. |
| `maxTargets` | Directory cap, from 1 through 50. |
| `maxIntegrationsPerTarget` | Listing cap per side, from 1 through 10,000. |
| `maxItems` | Dataset row cap. |
| `maxTextBytes` | Snapshot size cap, up to 2,000,000 bytes. |

```json
{
  "sourceId": "commerce-integrations",
  "vendor": "Acme Commerce",
  "previousIntegrations": [
    { "id": "slack", "name": "Slack", "categories": ["Messaging"], "status": "available" }
  ],
  "currentIntegrations": [
    { "id": "slack", "name": "Slack", "categories": ["Messaging", "AI"], "status": "available" },
    { "id": "teams", "name": "Microsoft Teams", "categories": ["Messaging"], "status": "available" }
  ],
  "maxItems": 25,
  "includeReport": true
}
````

### Dataset Rows

Each row identifies one listing change or source diagnostic. Important fields include:

- `integrationKey`, `integrationName`, and `vendor`.
- `changeType`, `oldStatus`, and `newStatus`.
- `oldCategories`, `newCategories`, `oldIntegrationUrl`, and `newIntegrationUrl`.
- `oldDocsUrl`, `newDocsUrl`, `oldDescription`, and `newDescription`.
- `sourceId`, `sourceUrl`, `sourceType`, `severity`, `score`, `checkedAt`, and `recommendation`.
- `diagnosticCode` and `sourceError` for blocked retrieval or an empty directory parse.

Change types are `added`, `removed`, `status-changed`, `category-changed`, `url-changed`, `details-changed`, and `unchanged`.

### Stored Artifacts

- Dataset: one row per listing change, unchanged listing, or diagnostic that passes configured filters and caps.
- `SAAS_INTEGRATION_DIRECTORY_MONITOR_RESULTS.json`: emitted rows.
- `SAAS_INTEGRATION_DIRECTORY_MONITOR_SUMMARY.json`: listing counts by change type, diagnostics, and charge-limit status.
- `SAAS_INTEGRATION_DIRECTORY_MONITOR_REPORT.md`: readable directory change digest.

### Usage Charges

The actor uses pay per event. Platform usage is included in these event prices.

| Event | Price | When charged |
| --- | ---: | --- |
| `actor-start` | $0.02000 | Once before paid work starts. |
| `target-checked` | $0.00650 | Before each directory target is processed. |
| `snapshot-compared` | $0.00650 | Before a successfully prepared directory pair is compared. |
| `change-detected` | $0.01300 | Before each changed listing row is emitted. |
| `digest-generated` | $0.05000 | Before JSON result and summary records are written. |
| `executive-report-generated` | $0.10000 | Before the Markdown report is written. |

If Apify reports that a charge was limited or only partly accepted, the actor stops before the corresponding paid output. Set `includeReport` to false when KVS report artifacts are not needed.

### Public Tasks

Five capped task inputs cover new integrations, removed integrations, category moves, listing updates, and a directory digest. The task inputs use concrete listing records and bounded row counts.

### Retrieval Safety

- Only `http` and `https` URLs are accepted.
- Credentials in URLs and redirects are rejected.
- Loopback, link-local, and private network destinations are blocked unless `allowPrivateUrls` is explicitly enabled for controlled testing.
- Response length, retained snapshot bytes, target count, listing count, and request duration are bounded.
- Fetch failures and empty parses produce explicit diagnostic rows. The actor does not invent listings or categories.

### Limitations

- JavaScript-only directories must expose JSON or server-rendered links; the actor does not run a browser.
- HTML extraction requires named links and cannot recover metadata that is absent from the markup.
- Scheduling and baseline retention are managed by the caller. Pass prior directory content into each comparison.
- Authenticated partner directories and credentialed endpoints are not supported.

# Actor input Schema

## `targets` (type: `array`):

Capped previous/current comparisons.

## `sourceId` (type: `string`):

Stable identifier for a direct single-target comparison.

## `title` (type: `string`):

Human-readable direct target name.

## `sourceUrl` (type: `string`):

Public current-state URL fetched only when enabled.

## `urls` (type: `array`):

Public URLs converted into capped fetch targets.

## `previousSnapshot` (type: `string`):

Previous JSON, HTML, or text snapshot.

## `currentSnapshot` (type: `string`):

Current JSON, HTML, or text snapshot.

## `records` (type: `array`):

Records that already contain previous/current comparison fields.

## `fetchUrls` (type: `boolean`):

Fetch sourceUrl only when the current snapshot is omitted.

## `fetchTimeoutMs` (type: `integer`):

Per-request timeout in milliseconds.

## `allowPrivateUrls` (type: `boolean`):

Permit private or loopback hosts only for controlled testing.

## `maxTargets` (type: `integer`):

Maximum comparisons in one run.

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

Maximum billable dataset rows emitted by one run.

## `maxIntegrationsPerTarget` (type: `integer`):

Maximum records read from each side of one target.

## `maxTextBytes` (type: `integer`):

Maximum bytes retained for each snapshot.

## `includeUnchanged` (type: `boolean`):

Include records with no comparable changes.

## `includeReport` (type: `boolean`):

Write results, summary, and Markdown report artifacts.

## `dryRun` (type: `boolean`):

Validate input without paid output.

## `debug` (type: `boolean`):

Enable debug logging.

## `vendor` (type: `string`):

Vendor or ecosystem represented by a direct comparison.

## `previousIntegrations` (type: `array`):

Previous integration listing records.

## `currentIntegrations` (type: `array`):

Current integration listing records.

## `html` (type: `string`):

Current public directory HTML used when currentSnapshot is omitted.

## Actor input object example

```json
{
  "targets": [],
  "sourceId": "",
  "title": "",
  "sourceUrl": "",
  "urls": [],
  "previousSnapshot": "",
  "currentSnapshot": "",
  "records": [],
  "fetchUrls": false,
  "fetchTimeoutMs": 10000,
  "allowPrivateUrls": false,
  "maxTargets": 1,
  "maxItems": 100,
  "maxIntegrationsPerTarget": 1000,
  "maxTextBytes": 250000,
  "includeUnchanged": false,
  "includeReport": true,
  "dryRun": false,
  "debug": false,
  "vendor": "",
  "previousIntegrations": [],
  "currentIntegrations": [],
  "html": ""
}
```

# Actor output Schema

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

Compare public integration directory listings from JSON, HTML, or records.

## `artifact1` (type: `string`):

SAAS\_INTEGRATION\_DIRECTORY\_MONITOR\_RESULTS.json

## `artifact2` (type: `string`):

SAAS\_INTEGRATION\_DIRECTORY\_MONITOR\_SUMMARY.json

## `artifact3` (type: `string`):

SAAS\_INTEGRATION\_DIRECTORY\_MONITOR\_REPORT.md

# 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("junipr/saas-integration-directory-monitor").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("junipr/saas-integration-directory-monitor").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 junipr/saas-integration-directory-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=junipr/saas-integration-directory-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SaaS Integration Directory Monitor",
        "description": "Monitor public integration/app directories for added, removed, or changed integrations.",
        "version": "1.0",
        "x-build-id": "rLEvJDcZnuRZHeH5n"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/junipr~saas-integration-directory-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-junipr-saas-integration-directory-monitor",
                "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/junipr~saas-integration-directory-monitor/runs": {
            "post": {
                "operationId": "runs-sync-junipr-saas-integration-directory-monitor",
                "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/junipr~saas-integration-directory-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-junipr-saas-integration-directory-monitor",
                "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": {
                    "targets": {
                        "title": "Integrations targets",
                        "type": "array",
                        "description": "Capped previous/current comparisons.",
                        "items": {
                            "type": "object"
                        },
                        "default": []
                    },
                    "sourceId": {
                        "title": "Source ID",
                        "type": "string",
                        "description": "Stable identifier for a direct single-target comparison.",
                        "default": ""
                    },
                    "title": {
                        "title": "Target title",
                        "type": "string",
                        "description": "Human-readable direct target name.",
                        "default": ""
                    },
                    "sourceUrl": {
                        "title": "Current source URL",
                        "type": "string",
                        "description": "Public current-state URL fetched only when enabled.",
                        "default": ""
                    },
                    "urls": {
                        "title": "Current source URLs",
                        "type": "array",
                        "description": "Public URLs converted into capped fetch targets.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "previousSnapshot": {
                        "title": "Previous snapshot",
                        "type": "string",
                        "description": "Previous JSON, HTML, or text snapshot.",
                        "default": ""
                    },
                    "currentSnapshot": {
                        "title": "Current snapshot",
                        "type": "string",
                        "description": "Current JSON, HTML, or text snapshot.",
                        "default": ""
                    },
                    "records": {
                        "title": "Structured change records",
                        "type": "array",
                        "description": "Records that already contain previous/current comparison fields.",
                        "items": {
                            "type": "object"
                        },
                        "default": []
                    },
                    "fetchUrls": {
                        "title": "Fetch current URLs",
                        "type": "boolean",
                        "description": "Fetch sourceUrl only when the current snapshot is omitted.",
                        "default": false
                    },
                    "fetchTimeoutMs": {
                        "title": "Fetch timeout",
                        "minimum": 1000,
                        "maximum": 30000,
                        "type": "integer",
                        "description": "Per-request timeout in milliseconds.",
                        "default": 10000
                    },
                    "allowPrivateUrls": {
                        "title": "Allow private URLs",
                        "type": "boolean",
                        "description": "Permit private or loopback hosts only for controlled testing.",
                        "default": false
                    },
                    "maxTargets": {
                        "title": "Max targets",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum comparisons in one run.",
                        "default": 1
                    },
                    "maxItems": {
                        "title": "Max output rows",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum billable dataset rows emitted by one run.",
                        "default": 100
                    },
                    "maxIntegrationsPerTarget": {
                        "title": "Max integrations",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum records read from each side of one target.",
                        "default": 1000
                    },
                    "maxTextBytes": {
                        "title": "Max snapshot bytes",
                        "minimum": 1000,
                        "maximum": 2000000,
                        "type": "integer",
                        "description": "Maximum bytes retained for each snapshot.",
                        "default": 250000
                    },
                    "includeUnchanged": {
                        "title": "Include unchanged rows",
                        "type": "boolean",
                        "description": "Include records with no comparable changes.",
                        "default": false
                    },
                    "includeReport": {
                        "title": "Include report artifacts",
                        "type": "boolean",
                        "description": "Write results, summary, and Markdown report artifacts.",
                        "default": true
                    },
                    "dryRun": {
                        "title": "Dry run",
                        "type": "boolean",
                        "description": "Validate input without paid output.",
                        "default": false
                    },
                    "debug": {
                        "title": "Debug logs",
                        "type": "boolean",
                        "description": "Enable debug logging.",
                        "default": false
                    },
                    "vendor": {
                        "title": "Directory vendor",
                        "type": "string",
                        "description": "Vendor or ecosystem represented by a direct comparison.",
                        "default": ""
                    },
                    "previousIntegrations": {
                        "title": "Previous integrations",
                        "type": "array",
                        "description": "Previous integration listing records.",
                        "items": {
                            "type": "object"
                        },
                        "default": []
                    },
                    "currentIntegrations": {
                        "title": "Current integrations",
                        "type": "array",
                        "description": "Current integration listing records.",
                        "items": {
                            "type": "object"
                        },
                        "default": []
                    },
                    "html": {
                        "title": "Current directory HTML",
                        "type": "string",
                        "description": "Current public directory HTML used when currentSnapshot is omitted.",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
