# Google Maps Reviews Scraper (`mighty_monk/google-maps-reviews-scraper`) Actor

Scrape Google Maps place reviews by place URL or search query. Returns place metadata and individual reviews (author, rating, text, date, likes) for SMB review-velocity qualification and local lead gen.

- **URL**: https://apify.com/mighty\_monk/google-maps-reviews-scraper.md
- **Developed by:** [Harsh](https://apify.com/mighty_monk) (community)
- **Categories:** Lead generation, Travel
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 review scrapeds

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/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

## Google Maps Reviews Scraper

**Scrape Google Maps place reviews** by place URL or search query. Get **place metadata** (name, address, rating, review count) plus individual **reviews** (author, rating, text, date, likes) — ideal for **SMB review-velocity qualification** and local lead-gen stacks.

Pairs well with [Google Maps Business Leads](https://apify.com/mighty_monk/google-maps-business-leads) for listings; this Actor is **reviews-focused**.

Built with **TypeScript** and **Crawlee CheerioCrawler** (HTTP/HTML, no browser by default). Multi-strategy parsing (fixture cards, JSON-LD, embedded Maps payloads, meta tags, DOM review panels) with retries, rate limiting, and proxy support.

Run it on the [Apify platform](https://apify.com) for scheduling, API access, proxy rotation, monitoring, and dataset exports (JSON, CSV, Excel).

### What does Google Maps Reviews Scraper do?

- Accept **Google Maps place URLs** (preferred) and optional **search queries**
- Extract a **place** row: `placeId`, `name`, `address`, `rating`, `reviewCount`, `mapsUrl`, `scrapedAt`
- Extract **review** rows: `placeId`, `placeName`, `reviewId`, `author`, `rating`, `text`, `date`, `likes`, `scrapedAt`, `error`
- Cap volume with `maxReviewsPerPlace`
- Deduplicate reviews by `reviewId` (fallback: author + date + text)
- Export **REVIEWS.csv** and **SUMMARY.md** to the key-value store

### Why use Google Maps Reviews Scraper?

- **SMB qualification** — measure review velocity and recent sentiment before outreach
- **Local lead gen** — enrich Maps leads with social proof and complaint themes
- **Reputation research** — track star mix and likes on competitor reviews
- **Agency workflows** — schedule runs via API for multi-location clients

### How to use

1. Open the Actor in [Apify Console](https://console.apify.com)
2. Paste one or more **Google Maps place URLs** (and/or search queries)
3. Set **Max reviews per place**, delay, and proxy (residential if blocked)
4. Click **Start**
5. Download the **Dataset**, or **REVIEWS.csv** / **SUMMARY.md** from the key-value store

### Input

| Field                 | Type     | Default        | Description                                      |
| --------------------- | -------- | -------------- | ------------------------------------------------ |
| `placeUrls`           | string[] | sample place   | Google Maps place page URLs (preferred)          |
| `searchQueries`       | string[] | `[]`           | Optional Maps search queries to discover places  |
| `maxReviewsPerPlace`  | integer  | `50`           | Cap reviews collected per place                  |
| `maxConcurrency`      | integer  | `2`            | Parallel HTTP requests (keep low for Maps)       |
| `maxRequestRetries`   | integer  | `3`            | HTTP retry count                                 |
| `requestDelayMs`      | integer  | `1000`         | Delay + jitter before each request               |
| `language`            | string   | `en`           | Maps `hl` language code                          |
| `proxyConfiguration`  | object   | Apify Proxy on | Proxy settings                                   |

Example:

```json
{
    "placeUrls": [
        "https://www.google.com/maps/place/Joe%27s+Coffee/@30.2672,-97.7431,17z/data=!3m1!4b1!4m6!3m5!1s0x8644b50a0a0a0a0a:0x1111111111111111"
    ],
    "searchQueries": [],
    "maxReviewsPerPlace": 50,
    "maxConcurrency": 2,
    "maxRequestRetries": 3,
    "requestDelayMs": 1000,
    "language": "en",
    "proxyConfiguration": { "useApifyProxy": true }
}
````

See [`examples/input.json`](examples/input.json).

### Output

Dataset items use a `type` field:

#### Place record

```json
{
    "type": "place",
    "placeId": "ChIJfixture0001joescoffee",
    "name": "Joe's Coffee",
    "address": "123 Congress Ave, Austin, TX 78701, United States",
    "rating": 4.7,
    "reviewCount": 842,
    "mapsUrl": "https://www.google.com/maps/place/...",
    "scrapedAt": "2026-07-20T12:00:00.000Z",
    "error": null
}
```

#### Review record

```json
{
    "type": "review",
    "placeId": "ChIJfixture0001joescoffee",
    "placeName": "Joe's Coffee",
    "reviewId": "rev-fixture-001",
    "author": "Maya L.",
    "rating": 5,
    "text": "Best latte in downtown Austin. Friendly staff and quick wifi.",
    "date": "2 weeks ago",
    "likes": 12,
    "scrapedAt": "2026-07-20T12:00:00.000Z",
    "error": null
}
```

You can download the dataset in JSON, HTML, CSV, or Excel.

#### Data fields

| Field         | On type   | Description                          |
| ------------- | --------- | ------------------------------------ |
| `placeId`     | both      | Google place identifier              |
| `name`        | place     | Business / place name                |
| `placeName`   | review    | Parent place name                    |
| `address`     | place     | Formatted address                    |
| `rating`      | both      | Aggregate or review stars (0–5)      |
| `reviewCount` | place     | Total reviews shown on Maps          |
| `mapsUrl`     | place     | Place URL                            |
| `reviewId`    | review    | Stable review id when available      |
| `author`      | review    | Reviewer display name                |
| `text`        | review    | Review body                          |
| `date`        | review    | Relative or absolute date string     |
| `likes`       | review    | Likes / helpful votes                |
| `scrapedAt`   | both      | ISO scrape timestamp                 |
| `error`       | both      | Soft error when blocked or failed    |

### Pricing

**How much does it cost to scrape Google Maps reviews?**

Pay-per-event (PPE): **$0.002 per review** (primary dataset item charge on `apify-default-dataset-item`), plus a small actor-start fee. Place rows written to the dataset are also charged as dataset items. Use `maxReviewsPerPlace` to control cost.

Example: 500 reviews ≈ **$1.00** in result charges (plus start fee and any proxy compute).

### Tips

- Prefer **place URLs** from Google Maps (or from the business-leads Actor) for best reliability
- Keep **maxConcurrency** at 1–2 and raise `requestDelayMs` if you see captchas
- Use **Apify Proxy** (residential groups when needed) — Maps blocks many datacenter IPs
- For review-velocity scoring, sort/filter by `date` and count recent reviews per `placeId`
- Pair with Maps leads: scrape listings first, then feed `mapsUrl` values into `placeUrls`

### Limitations

- Google Maps is heavily protected. Datacenter IPs are frequently captcha’d; **use Apify Proxy**
- This Actor uses **Cheerio/HTTP** (fast, cheap). Highly interactive review panels may not load full infinite-scroll history in raw HTML; depth depends on what Maps returns in the page payload
- Review dates may be relative strings (`"2 weeks ago"`) as shown on Maps
- Respect Google Terms of Service, local laws, and do not use data for spam or prohibited purposes

### FAQ

**Why did I get zero reviews?**\
Likely a block/captcha or empty HTML payload. Check logs for “blocked”, enable residential proxy, lower concurrency, and increase `requestDelayMs`.

**Can I use only search queries?**\
Yes — set `searchQueries` and leave `placeUrls` empty. Places found on the search page are enqueued for review extraction.

**How are duplicates handled?**\
Reviews are deduplicated by `reviewId`, then by author + date + text snippet. Places are deduplicated by `placeId`.

**Does language matter?**\
Set `language` (`hl`) to bias Maps UI strings and some content locale.

### Changelog

#### 1.0.0

- Initial release: place URLs + search queries, multi-strategy review extractors, place + review dataset types, CSV/Markdown export, fixture unit tests, PPE-ready

### License

Apache-2.0

# Actor input Schema

## `placeUrls` (type: `array`):

Google Maps place page URLs to scrape reviews from (preferred). Example: https://www.google.com/maps/place/.... Each place is scraped up to maxReviewsPerPlace reviews.

## `searchQueries` (type: `array`):

Optional Google Maps search queries (e.g. "coffee shops in Austin TX"). Places found on the search page are enqueued for review scraping. Prefer placeUrls when you already have Maps links.

## `maxReviewsPerPlace` (type: `integer`):

Maximum number of reviews to collect for each place. Controls cost and run time.

## `maxConcurrency` (type: `integer`):

Maximum parallel HTTP requests. Keep low (1–3) for Google Maps to reduce blocks.

## `maxRequestRetries` (type: `integer`):

How many times to retry a failed HTTP request before recording an error.

## `requestDelayMs` (type: `integer`):

Base delay before each request (with small random jitter). Helps avoid rate limits and captchas.

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

Google Maps interface language code (hl parameter), e.g. en, es, de, fr.

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

Apify Proxy is strongly recommended for Google Maps. Residential proxies work best when datacenter IPs are blocked.

## Actor input object example

```json
{
  "placeUrls": [
    "https://www.google.com/maps/place/Joe%27s+Coffee/@30.2672,-97.7431,17z/data=!3m1!4b1!4m6!3m5!1s0x8644b50a0a0a0a0a:0x1111111111111111"
  ],
  "searchQueries": [],
  "maxReviewsPerPlace": 50,
  "maxConcurrency": 2,
  "maxRequestRetries": 3,
  "requestDelayMs": 1000,
  "language": "en",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `csv` (type: `string`):

No description

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

No description

# 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 = {
    "placeUrls": [
        "https://www.google.com/maps/place/Joe%27s+Coffee/@30.2672,-97.7431,17z/data=!3m1!4b1!4m6!3m5!1s0x8644b50a0a0a0a0a:0x1111111111111111"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("mighty_monk/google-maps-reviews-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 = { "placeUrls": ["https://www.google.com/maps/place/Joe%27s+Coffee/@30.2672,-97.7431,17z/data=!3m1!4b1!4m6!3m5!1s0x8644b50a0a0a0a0a:0x1111111111111111"] }

# Run the Actor and wait for it to finish
run = client.actor("mighty_monk/google-maps-reviews-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 '{
  "placeUrls": [
    "https://www.google.com/maps/place/Joe%27s+Coffee/@30.2672,-97.7431,17z/data=!3m1!4b1!4m6!3m5!1s0x8644b50a0a0a0a0a:0x1111111111111111"
  ]
}' |
apify call mighty_monk/google-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Reviews Scraper",
        "description": "Scrape Google Maps place reviews by place URL or search query. Returns place metadata and individual reviews (author, rating, text, date, likes) for SMB review-velocity qualification and local lead gen.",
        "version": "1.0",
        "x-build-id": "I8QEKyN4gcAGcvhzw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mighty_monk~google-maps-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mighty_monk-google-maps-reviews-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/mighty_monk~google-maps-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-mighty_monk-google-maps-reviews-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/mighty_monk~google-maps-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-mighty_monk-google-maps-reviews-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": {
                    "placeUrls": {
                        "title": "Google Maps place URLs",
                        "type": "array",
                        "description": "Google Maps place page URLs to scrape reviews from (preferred). Example: https://www.google.com/maps/place/.... Each place is scraped up to maxReviewsPerPlace reviews.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Optional Google Maps search queries (e.g. \"coffee shops in Austin TX\"). Places found on the search page are enqueued for review scraping. Prefer placeUrls when you already have Maps links.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxReviewsPerPlace": {
                        "title": "Max reviews per place",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of reviews to collect for each place. Controls cost and run time.",
                        "default": 50
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum parallel HTTP requests. Keep low (1–3) for Google Maps to reduce blocks.",
                        "default": 2
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many times to retry a failed HTTP request before recording an error.",
                        "default": 3
                    },
                    "requestDelayMs": {
                        "title": "Request delay (ms)",
                        "minimum": 0,
                        "maximum": 60000,
                        "type": "integer",
                        "description": "Base delay before each request (with small random jitter). Helps avoid rate limits and captchas.",
                        "default": 1000
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Google Maps interface language code (hl parameter), e.g. en, es, de, fr.",
                        "default": "en"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy is strongly recommended for Google Maps. Residential proxies work best when datacenter IPs are blocked.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
