# Brand & News Monitor 📰 (Google News alerts to Slack & API) (`tagadanar/brand-news-monitor`) Actor

Google Alerts as an API: brand and competitor mentions from Google News, GDELT and Hacker News as structured JSON, deduplicated so you only ever pay for new mentions, with a Slack digest built in. $8 per 1,000 mentions, no subscription.

- **URL**: https://apify.com/tagadanar/brand-news-monitor.md
- **Developed by:** [Tagada Data](https://apify.com/tagadanar) (community)
- **Categories:** News, Automation, AI
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.60 / 1,000 mention founds

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

## Brand & News Mention Monitor: Google Alerts as an API

Google Alerts, except it outputs structured data you can actually use. Give it a brand name or a few keywords and it returns every recent mention across Google News, GDELT's global news index and Hacker News as clean JSON rows, deduplicated and dated. Turn on monitor mode and it remembers what it already reported, so a daily schedule only pushes new mentions and can post them straight to a Slack channel. Brand24 and Mention start at $199 to $599 a month for this. Here you pay $0.008 per mention actually found, nothing when there is nothing to report.

Built for **PR and comms teams, founders tracking their own startup, and anyone doing competitive intel** on a shoestring budget.

### Coverage, stated honestly

This actor covers **news and Hacker News**, not social media. There is no Instagram, TikTok or X (Twitter) mention feed here, and there won't be: Reddit is deliberately left out too, since scraping it is under active litigation as of 2026. If a brand's mentions live mostly in social chatter, this is not the tool. If they live in press, blogs, trade publications and developer discussion, which is where most B2B and tech brand mentions actually surface, this covers it well and does it for a fraction of the SaaS price.

### What you get

Each mention is one flat record:

| Field | What it is |
|---|---|
| `source` | `google_news`, `gdelt` or `hacker_news` |
| `url` | Link to the article or story |
| `title` | Headline or story title |
| `snippet` | Short excerpt when the source provides one, else null |
| `publishedAt` | ISO date the article/story went up |
| `domain` | Publisher domain |
| `language` | Article language |
| `matchedKeyword` | Which of your keywords/competitors matched |
| `isCompetitor` | true if matched against a `competitors` term rather than a `keywords` term |
| `points` | Hacker News points, null for other sources |
| `isNew` | true when in monitor mode this mention wasn't reported in a previous run |
| `retrievedAt` | When this actor fetched it |

### Quick start

```json
{
    "keywords": ["Apify"],
    "language": "en",
    "country": "US",
    "maxAgeDays": 7
}
````

Watch your own brand plus a couple of rivals, and only alert when there's something new:

```json
{
    "keywords": ["Acme Robotics"],
    "competitors": ["Rival Corp", "OtherCo"],
    "language": "en",
    "country": "US",
    "maxAgeDays": 3,
    "monitorMode": true,
    "webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"
}
```

Schedule that one daily in the Apify Console (Tasks -> Schedules) and each run posts a Slack digest of only the mentions that showed up since the last run.

### Inputs worth knowing about

- `keywords`: brands or terms to watch. Required, at least one.
- `competitors`: same search, tagged `isCompetitor: true` on output so you can filter your own coverage from theirs.
- `language` / `country`: drive the Google News edition searched.
- `useGoogleNews`, `useGdelt`, `useHackerNews`: turn any source off if you don't need it.
- `maxAgeDays`: drop anything older than this (also sets how far back GDELT looks).
- `strictMatch`: require the keyword as a whole word or phrase in the title. Turn this on for short or ambiguous names, a brand called Mistral otherwise picks up every story about the Mediterranean wind, and Orange picks up fruit.
- `maxResults`: hard cap on mentions per run.
- `monitorMode` + `webhookUrl`: remembers previous runs and reports (and charges for) only new mentions, with an optional Slack/webhook digest.

### Why not just Google Alerts

Google Alerts emails you headlines with no structure, no dedup, no competitor tagging, no webhook, and no way to pull the data into a spreadsheet, a CRM or an AI agent. This actor gives you the same coverage as a paid brand-monitoring tool as a clean dataset (JSON, CSV, Excel, or via the API), with GDELT and Hacker News added on top (global newswire and tech-community coverage Google Alerts doesn't index), and MCP support for AI agents.

### Pricing

Pay per event, no subscription:

| Event | Price | When |
|---|---|---|
| Mention found | **$0.008** | Per unique mention pushed to the dataset (in monitor mode: new mentions only) |
| Digest sent | **$0.03** | Only when monitor mode actually posts a webhook/Slack digest |

The dedup is where the money is. Say a daily sweep finds 40 mentions of your brand on day one, then about 5 genuinely new ones a day: you pay for 40 once, then 5 a day (about $2.40 in the first month). A plain per-result news scraper re-charges you the same 40 articles on every scheduled run, so a cheaper unit price ends up costing more by week two.

Platform usage is included in the per-mention price, so there is no subscription, no minimum and no usage line on your bill. No proxy setup is needed; if Google News ever blocks a request, the actor retries through Apify's datacenter proxy on its own.

### FAQ

**How do I get a Slack alert when my company is in the news?** Set `monitorMode: true`, paste a Slack incoming-webhook URL into `webhookUrl`, and schedule the actor to run daily (or hourly) as an Apify Task. The first run reports everything found; every run after that reports, and charges for, only what's new.

**Is there a free brand monitoring option here?** Runs cost nothing beyond the mentions actually delivered (misses are free), and Apify's free tier covers a small daily schedule outright. There's no seat price like Brand24 or Mention charge.

**Does this cover Twitter/X, Instagram or TikTok?** No, on purpose. This actor covers news and developer/tech community discussion (Hacker News). Reddit is left out too, deliberately, for legal reasons. If social coverage is the priority, this isn't the right tool.

**How far back does it look?** `maxAgeDays` controls it, up to 90 days. GDELT and Hacker News both search their own recent windows; anything older than `maxAgeDays` is filtered out regardless of source.

**What counts as a match?** By default, a loose case-insensitive match against the article or story title. Turn on `strictMatch` for whole-word/phrase matching if your brand name is a common word.

**Where does the data come from?** Google News' public RSS search, the GDELT Project's public news index, and the Hacker News (Algolia) search API. All three are public indexes; results are headlines and links, not the full article text, so you always click through to read and act on the source.

**Is it reliable?** Google News RSS is read directly (it's a tiny XML feed); if it ever gets blocked, the actor retries through a proxy on its own. GDELT hard rate-limits itself, so it's treated as a secondary source and a rate-limited query is simply skipped for that run rather than failing the whole thing.

**Can I use it with AI agents?** Yes, via REST API and **MCP**.

***

### Something missing?

If you need an extra field, another source, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More monitors and data Actors are on [my profile](https://apify.com/tagadanar).

*Keywords: Google News monitoring, Google Alerts API, Google Alerts alternative, brand monitoring, media monitoring, news alerts, Brand24 alternative, Mention alternative, PR monitoring tool, competitor tracking, startup mentions tracker, Hacker News monitor, GDELT scraper, Slack news alerts, press mention tracker, media monitoring API, MCP.*

# Actor input Schema

## `keywords` (type: `array`):

Brands, product names or search terms to monitor, e.g. <code>Apify</code>. Each one is checked against every source below.

## `competitors` (type: `array`):

Also monitored like the keywords above, but tagged <code>isCompetitor: true</code> on the output so you can filter your own mentions from competitor mentions.

## `language` (type: `string`):

Language for Google News results.

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

Country edition for Google News results.

## `useGoogleNews` (type: `boolean`):

Search Google News (major and local news outlets, press releases).

## `useGdelt` (type: `boolean`):

Search the GDELT global news index, a broader secondary net over online news worldwide.

## `useHackerNews` (type: `boolean`):

Search Hacker News stories and comments discussion, useful for developer tools, tech products and startups.

## `maxAgeDays` (type: `integer`):

Drop anything older than this. Also sets the GDELT lookback window.

## `strictMatch` (type: `boolean`):

Require the keyword as a whole word or phrase in the title, instead of a loose substring match. Turn this on for short or ambiguous brand names (e.g. <code>Mistral</code> also being a wind, or <code>Orange</code> also being a fruit) to cut unrelated noise.

## `maxResults` (type: `integer`):

Stop after this many mentions across all keywords and sources.

## `monitorMode` (type: `boolean`):

Remember what previous runs already reported and return only <b>new</b> mentions. Schedule this actor daily (as a Task, so it keeps its own memory) for a live alert feed, charged for new mentions only.

## `webhookUrl` (type: `string`):

Optional. A Slack incoming-webhook URL (or any endpoint accepting a JSON <code>{"text": ...}</code> body) that receives a digest of the new mentions. Pairs with monitor mode and a daily schedule.

## Actor input object example

```json
{
  "keywords": [
    "Apify"
  ],
  "competitors": [],
  "language": "en",
  "country": "US",
  "useGoogleNews": true,
  "useGdelt": true,
  "useHackerNews": true,
  "maxAgeDays": 7,
  "strictMatch": false,
  "maxResults": 50,
  "monitorMode": false
}
```

# Actor output Schema

## `mentions` (type: `string`):

One item per mention in the default dataset.

# 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 = {
    "keywords": [
        "Apify"
    ],
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("tagadanar/brand-news-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 = {
    "keywords": ["Apify"],
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("tagadanar/brand-news-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 '{
  "keywords": [
    "Apify"
  ],
  "maxResults": 50
}' |
apify call tagadanar/brand-news-monitor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Brand & News Monitor 📰 (Google News alerts to Slack & API)",
        "description": "Google Alerts as an API: brand and competitor mentions from Google News, GDELT and Hacker News as structured JSON, deduplicated so you only ever pay for new mentions, with a Slack digest built in. $8 per 1,000 mentions, no subscription.",
        "version": "0.1",
        "x-build-id": "bqgX5QYALlu4YO0dB"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tagadanar~brand-news-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tagadanar-brand-news-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/tagadanar~brand-news-monitor/runs": {
            "post": {
                "operationId": "runs-sync-tagadanar-brand-news-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/tagadanar~brand-news-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-tagadanar-brand-news-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",
                "required": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords / brand names",
                        "type": "array",
                        "description": "Brands, product names or search terms to monitor, e.g. <code>Apify</code>. Each one is checked against every source below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "competitors": {
                        "title": "Competitor names (optional)",
                        "type": "array",
                        "description": "Also monitored like the keywords above, but tagged <code>isCompetitor: true</code> on the output so you can filter your own mentions from competitor mentions.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en",
                            "fr",
                            "de",
                            "es"
                        ],
                        "type": "string",
                        "description": "Language for Google News results.",
                        "default": "en"
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "US",
                            "GB",
                            "FR",
                            "DE",
                            "ES",
                            "CA"
                        ],
                        "type": "string",
                        "description": "Country edition for Google News results.",
                        "default": "US"
                    },
                    "useGoogleNews": {
                        "title": "Use Google News",
                        "type": "boolean",
                        "description": "Search Google News (major and local news outlets, press releases).",
                        "default": true
                    },
                    "useGdelt": {
                        "title": "Use GDELT",
                        "type": "boolean",
                        "description": "Search the GDELT global news index, a broader secondary net over online news worldwide.",
                        "default": true
                    },
                    "useHackerNews": {
                        "title": "Use Hacker News",
                        "type": "boolean",
                        "description": "Search Hacker News stories and comments discussion, useful for developer tools, tech products and startups.",
                        "default": true
                    },
                    "maxAgeDays": {
                        "title": "Only mentions from the last N days",
                        "minimum": 1,
                        "maximum": 90,
                        "type": "integer",
                        "description": "Drop anything older than this. Also sets the GDELT lookback window.",
                        "default": 7
                    },
                    "strictMatch": {
                        "title": "Strict match (whole word / phrase)",
                        "type": "boolean",
                        "description": "Require the keyword as a whole word or phrase in the title, instead of a loose substring match. Turn this on for short or ambiguous brand names (e.g. <code>Mistral</code> also being a wind, or <code>Orange</code> also being a fruit) to cut unrelated noise.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max mentions",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many mentions across all keywords and sources.",
                        "default": 200
                    },
                    "monitorMode": {
                        "title": "Monitor mode (new mentions only)",
                        "type": "boolean",
                        "description": "Remember what previous runs already reported and return only <b>new</b> mentions. Schedule this actor daily (as a Task, so it keeps its own memory) for a live alert feed, charged for new mentions only.",
                        "default": false
                    },
                    "webhookUrl": {
                        "title": "Slack / webhook URL",
                        "type": "string",
                        "description": "Optional. A Slack incoming-webhook URL (or any endpoint accepting a JSON <code>{\"text\": ...}</code> body) that receives a digest of the new mentions. Pairs with monitor mode and a daily schedule."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
