# Google Maps Photos Leads Scraper (`paduchak/google-maps-photos-leads-scraper`) Actor

Collect public Google Maps business photos and metadata for brand monitoring, local audits, visual datasets, and competitor research.

- **URL**: https://apify.com/paduchak/google-maps-photos-leads-scraper.md
- **Developed by:** [Dmytro Paduchak](https://apify.com/paduchak) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Google Maps Photos Scraper

Collect publicly visible photo URLs from Google Maps places and export them as structured Apify Dataset records.

This Actor is a separate companion to the Google Maps Business Actor. It reuses the same public Google Maps place discovery and page navigation approach, but saves one output item per public photo. You can start it from Google Maps place URLs, search queries, or dataset items produced by the business Actor.

No Google Maps API key is required.

### Input

Provide at least one source:

```json
{
  "searchQuery": "coffee shops in London",
  "placeUrls": [
    "https://www.google.com/maps/place/Example+Coffee/..."
  ],
  "datasetItems": [
    {
      "businessName": "Example Coffee",
      "googleMapsUrl": "https://www.google.com/maps/place/Example+Coffee/...",
      "sourceQuery": "coffee shops in London"
    }
  ],
  "sourceDatasetId": "optional-business-actor-dataset-id",
  "maxResults": 5,
  "maxPhotosPerPlace": 10,
  "language": "en",
  "country": "uk",
  "apifyProxy": true,
  "apifyProxyGroups": ["RESIDENTIAL"],
  "proxySessionRetries": 1,
  "adaptiveThrottle": true
}
````

| Field | Type | Default | Description |
|---|---|---|---|
| `searchQuery` | `string` | - | Single Google Maps search query. |
| `searchQueries` | `string[]` | `[]` | Multiple search queries. |
| `placeUrls` / `googleMapsUrls` | `string[]` | `[]` | Direct Google Maps place URLs. |
| `startUrls` | `string[]` or `{ url }[]` | `[]` | Apify-style URL input. |
| `datasetItems` | `object[]` | `[]` | Items from the Google Maps Business Actor. Each item should include `googleMapsUrl`, `placeUrl`, or `url`. |
| `sourceDatasetId` | `string` | - | Dataset ID or name to read business Actor items from. |
| `maxResults` | `number` | `5` | Maximum unique places to process across all sources. |
| `maxPhotosPerPlace` | `number` | `10` | Maximum public photo records to save per place. |
| `language` | `string` | `"en"` | Google Maps interface language. |
| `country` | `string` | - | Optional country hint, such as `uk`, `us`, `de`, or `fr`. |
| `apifyProxy` | `boolean` | auto | Enable Apify Proxy. |
| `apifyProxyGroups` | `string[]` | `[]` | Proxy pools: `RESIDENTIAL`, `DATACENTER`, `SERP`. |
| `proxyCountries` | `string[]` | `[]` | Route Apify Proxy through specific ISO 2-letter countries. |
| `proxyUrls` | `string[]` | `[]` | Custom proxy URLs. These override Apify Proxy. |
| `proxySessionRetries` | `number` | `1` | Retry browser sessions after blocking, empty results, or navigation failures. |
| `adaptiveThrottle` | `boolean` | `true` | Slow down automatically when Google Maps loads slowly or shows blocking signals. |

### Output

Each result is one photo record. The Actor preserves original place fields from dataset input when provided, enriches missing place fields from the Google Maps page when visible, and appends photo-specific fields.

```json
{
  "businessName": "Example Coffee",
  "category": "Coffee shop",
  "rating": 4.6,
  "reviewCount": 321,
  "address": "10 Example Street, London",
  "phone": "+44 1234 567890",
  "website": "https://example.com/",
  "googleMapsUrl": "https://www.google.com/maps/place/Example+Coffee/...",
  "latitude": 51.5072,
  "longitude": -0.1276,
  "placeId": "0x487...",
  "sourceQuery": "coffee shops in London",
  "photoUrl": "https://lh3.googleusercontent.com/...",
  "photoIndex": 1,
  "photoAuthor": "Visible contributor name",
  "photoCaption": "Visible caption or nearby label",
  "photoSource": "google_maps_photos_panel",
  "photoPageUrl": "https://www.google.com/maps/place/Example+Coffee/...",
  "scrapedAt": "2026-05-13T12:00:00.000Z"
}
```

Some optional fields, such as `photoAuthor`, `photoCaption`, or `photoPageUrl`, may be missing when Google Maps does not expose them in the public UI.

### How It Works

The Actor accepts direct places immediately. For search queries, it opens public Google Maps search results, scrolls the result list, and collects place URLs. For business Actor dataset input, it keeps the original business fields and uses the stored Google Maps URL.

For each place, it opens the public place page, extracts visible business metadata, opens the photos panel when available, scrolls through public photos, normalizes Google-hosted image URLs, and saves unique photo records.

Deduplication uses:

- Google Maps place ID when available
- Normalized Google Maps place URL
- Normalized public photo URL

### Reliability Notes

Google Maps can show captcha or automated-traffic blocking, especially on repeated runs, high result counts, or datacenter IPs. The Actor detects common blocking pages and retries with fresh proxy sessions when configured.

The Actor metadata requests a 3600 second default timeout, but an individual run or task can still be started with a shorter timeout such as 300 seconds. For short runs, keep `maxResults`, `maxPhotosPerPlace`, and `proxySessionRetries` low. The scraper stops early with partial results when it detects that the Apify timeout is close.

For larger runs:

- Enable Apify Proxy, preferably a residential pool
- Keep `maxResults` and `maxPhotosPerPlace` moderate
- Use focused search queries
- Increase `proxySessionRetries` and `maxThrottleDelayMs` if Google Maps loads slowly
- Review output quality before scaling

### Legal Disclaimer

This Actor is intended for academic, educational, and research purposes only. Users are responsible for ensuring that their use complies with Google's [Terms of Service](https://policies.google.com/terms), [Google Maps Terms](https://www.google.com/help/terms_maps/), and applicable local laws regarding data privacy and scraping.

Automated access to Google services may be restricted. We do not encourage or condone use that violates the rights of others or a service provider's terms.

# Actor input Schema

## `searchQuery` (type: `string`):

Single Google Maps search query, for example: coffee shops in London.

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

Optional list of Google Maps search queries. The Actor discovers places from each query before collecting photos.

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

Direct Google Maps place URLs to process.

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

Alternative Apify-style URL input. Each item can be a URL string or an object with a url property.

## `datasetItems` (type: `array`):

Items exported from the Google Maps Business Actor. Each item should include googleMapsUrl, placeUrl, or url.

## `sourceDatasetId` (type: `string`):

Optional dataset ID or name containing records from the Google Maps Business Actor. The Actor reads items from this dataset and preserves their place fields.

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

Maximum number of unique places to process across all sources.

## `maxPhotosPerPlace` (type: `integer`):

Maximum number of public photos to save per place.

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

Google interface language passed as the hl URL parameter and browser locale.

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

Optional country hint passed as the gl URL parameter, for example uk, us, de, fr.

## `apifyProxy` (type: `boolean`):

Enable Apify Proxy for more reliable scraping.

## `apifyProxyGroups` (type: `array`):

Proxy pools: RESIDENTIAL, DATACENTER, SERP.

## `proxyCountries` (type: `array`):

Route through specific countries using ISO 2-letter country codes.

## `proxyUrls` (type: `array`):

Custom proxy URLs. If provided, these override Apify Proxy.

## `proxySessionRetries` (type: `integer`):

How many times to retry the browser scrape with a fresh proxy session after blocking, empty results, or navigation failures.

## `adaptiveThrottle` (type: `boolean`):

Automatically increases delays when Google Maps loads slowly, returns sparse results, or shows blocking signals.

## `baseThrottleDelayMs` (type: `integer`):

Starting delay before place and photo actions. The adaptive throttle can increase from this value.

## `maxThrottleDelayMs` (type: `integer`):

Upper limit for adaptive delays.

## `slowLoadThresholdMs` (type: `integer`):

Load duration that causes adaptive throttling to slow down future actions.

## Actor input object example

```json
{
  "searchQuery": "coffee shops in London",
  "searchQueries": [],
  "placeUrls": [],
  "startUrls": [],
  "datasetItems": [],
  "maxResults": 5,
  "maxPhotosPerPlace": 10,
  "language": "en",
  "apifyProxy": true,
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ],
  "proxyCountries": [],
  "proxyUrls": [],
  "proxySessionRetries": 1,
  "adaptiveThrottle": true,
  "baseThrottleDelayMs": 250,
  "maxThrottleDelayMs": 10000,
  "slowLoadThresholdMs": 12000
}
```

# Actor output Schema

## `photos` (type: `string`):

Public photo records scraped from Google Maps places.

# 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 = {
    "searchQuery": "coffee shops in London",
    "searchQueries": [],
    "placeUrls": [],
    "startUrls": [],
    "datasetItems": [],
    "apifyProxyGroups": [
        "RESIDENTIAL"
    ],
    "proxyCountries": [],
    "proxyUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("paduchak/google-maps-photos-leads-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 = {
    "searchQuery": "coffee shops in London",
    "searchQueries": [],
    "placeUrls": [],
    "startUrls": [],
    "datasetItems": [],
    "apifyProxyGroups": ["RESIDENTIAL"],
    "proxyCountries": [],
    "proxyUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("paduchak/google-maps-photos-leads-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 '{
  "searchQuery": "coffee shops in London",
  "searchQueries": [],
  "placeUrls": [],
  "startUrls": [],
  "datasetItems": [],
  "apifyProxyGroups": [
    "RESIDENTIAL"
  ],
  "proxyCountries": [],
  "proxyUrls": []
}' |
apify call paduchak/google-maps-photos-leads-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Photos Leads Scraper",
        "description": "Collect public Google Maps business photos and metadata for brand monitoring, local audits, visual datasets, and competitor research.",
        "version": "0.0",
        "x-build-id": "qswozhGeVehAhUz4X"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/paduchak~google-maps-photos-leads-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-paduchak-google-maps-photos-leads-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/paduchak~google-maps-photos-leads-scraper/runs": {
            "post": {
                "operationId": "runs-sync-paduchak-google-maps-photos-leads-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/paduchak~google-maps-photos-leads-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-paduchak-google-maps-photos-leads-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": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Single Google Maps search query, for example: coffee shops in London."
                    },
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "Optional list of Google Maps search queries. The Actor discovers places from each query before collecting photos.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "placeUrls": {
                        "title": "Google Maps Place URLs",
                        "type": "array",
                        "description": "Direct Google Maps place URLs to process.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Alternative Apify-style URL input. Each item can be a URL string or an object with a url property.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "datasetItems": {
                        "title": "Dataset Items",
                        "type": "array",
                        "description": "Items exported from the Google Maps Business Actor. Each item should include googleMapsUrl, placeUrl, or url.",
                        "items": {
                            "type": "object"
                        }
                    },
                    "sourceDatasetId": {
                        "title": "Source Dataset ID",
                        "type": "string",
                        "description": "Optional dataset ID or name containing records from the Google Maps Business Actor. The Actor reads items from this dataset and preserves their place fields."
                    },
                    "maxResults": {
                        "title": "Maximum Places",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of unique places to process across all sources.",
                        "default": 5
                    },
                    "maxPhotosPerPlace": {
                        "title": "Maximum Photos Per Place",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of public photos to save per place.",
                        "default": 10
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Google interface language passed as the hl URL parameter and browser locale.",
                        "default": "en"
                    },
                    "country": {
                        "title": "Country",
                        "type": "string",
                        "description": "Optional country hint passed as the gl URL parameter, for example uk, us, de, fr."
                    },
                    "apifyProxy": {
                        "title": "Enable Apify Proxy",
                        "type": "boolean",
                        "description": "Enable Apify Proxy for more reliable scraping.",
                        "default": true
                    },
                    "apifyProxyGroups": {
                        "title": "Apify Proxy Groups",
                        "type": "array",
                        "description": "Proxy pools: RESIDENTIAL, DATACENTER, SERP.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "RESIDENTIAL",
                                "DATACENTER",
                                "SERP"
                            ]
                        },
                        "default": [
                            "RESIDENTIAL"
                        ]
                    },
                    "proxyCountries": {
                        "title": "Proxy Countries",
                        "type": "array",
                        "description": "Route through specific countries using ISO 2-letter country codes.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "proxyUrls": {
                        "title": "Custom Proxy URLs",
                        "type": "array",
                        "description": "Custom proxy URLs. If provided, these override Apify Proxy.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "proxySessionRetries": {
                        "title": "Proxy Session Retries",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "How many times to retry the browser scrape with a fresh proxy session after blocking, empty results, or navigation failures.",
                        "default": 1
                    },
                    "adaptiveThrottle": {
                        "title": "Adaptive Throttle",
                        "type": "boolean",
                        "description": "Automatically increases delays when Google Maps loads slowly, returns sparse results, or shows blocking signals.",
                        "default": true
                    },
                    "baseThrottleDelayMs": {
                        "title": "Base Throttle Delay (ms)",
                        "minimum": 0,
                        "maximum": 60000,
                        "type": "integer",
                        "description": "Starting delay before place and photo actions. The adaptive throttle can increase from this value.",
                        "default": 250
                    },
                    "maxThrottleDelayMs": {
                        "title": "Max Throttle Delay (ms)",
                        "minimum": 0,
                        "maximum": 120000,
                        "type": "integer",
                        "description": "Upper limit for adaptive delays.",
                        "default": 10000
                    },
                    "slowLoadThresholdMs": {
                        "title": "Slow Load Threshold (ms)",
                        "minimum": 1000,
                        "maximum": 120000,
                        "type": "integer",
                        "description": "Load duration that causes adaptive throttling to slow down future actions.",
                        "default": 12000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
