# Google Maps Places Scraper (`fetch_cat/google-maps-places-scraper`) Actor

Scrape public Google Maps place search results and place details for local leads, competitors, and points of interest.

- **URL**: https://apify.com/fetch\_cat/google-maps-places-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Lead generation, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.23 / 1,000 item extracteds

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

## Google Maps Places Scraper

Google Maps Places Scraper exports public place search results from Google Maps into a structured Apify dataset. Use it to collect local business leads, competitor lists, travel points of interest, branch locations, and other public place records from search queries or Google Maps URLs.

### What does Google Maps Places Scraper do?

This actor opens Google Maps search pages, collects visible place result links, removes duplicates, and saves clean rows that are ready for enrichment, CRM upload, analysis, or review. It is designed for practical lead generation and market research workflows where you need place names, Maps URLs, coordinates parsed from Maps links, ranks, and timestamps.

Typical use cases include:

- Build lists of restaurants, cafes, hotels, dentists, gyms, plumbers, agencies, or other local businesses.
- Compare local competitors by query and city.
- Collect points of interest for travel, real estate, logistics, and mapping projects.
- Create seed lists for sales outreach or manual research.
- Monitor which places appear for a specific keyword in a target location.
- Export Google Maps search URLs into a repeatable dataset.

### Who is it for?

Google Maps Places Scraper is useful for:

- Sales teams building local lead lists.
- Marketing agencies researching local competitors.
- Data teams creating business-location datasets.
- Travel and hospitality researchers mapping points of interest.
- Real-estate analysts studying nearby amenities.
- Operations teams checking branch and franchise visibility.
- Developers who need a simple Google Maps extraction actor in automated pipelines.

### Input settings

You can start the scraper with search queries, locations, direct Google Maps URLs, or a mix of both.

#### Search queries

Use `queries` for the type of place you want to find. Examples:

- `restaurants`
- `coffee shops`
- `dentists`
- `plumbers`
- `electric vehicle charging stations`
- `boutique hotels`

#### Locations

Use `locations` to combine each query with a city, region, or other location. For example, query `restaurants` with location `New York` becomes a Maps search for restaurants in New York.

#### Start URLs

Use `startUrls` when you already have Google Maps search URLs or place URLs. This is helpful when you want exact control over the Maps page being opened.

#### Maximum results

Use `maxResultsPerQuery` to limit how many place rows are saved per query or URL. A small value is best for testing; larger values are better for production exports.

#### Localization

Use `language` and `countryCode` to request a localized Google Maps interface, such as English results in the US or German results in Germany.

#### Proxy configuration

Use `proxyConfiguration` to control proxy access. The default input runs without Apify Proxy. Enable Apify Proxy only if direct access is blocked for your run environment or workload.

### Example input

```json
{
  "queries": ["restaurants", "coffee shops"],
  "locations": ["New York", "Brooklyn"],
  "maxResultsPerQuery": 10,
  "language": "en",
  "countryCode": "US",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

### Output fields

Each result is saved as one dataset item. Depending on what is available on the Maps page, fields may include:

- `searchQuery` - query or URL that produced the row.
- `rank` - result position within that query.
- `placeId` - Google Maps place identifier when available.
- `title` - public place name.
- `category` - visible category when available.
- `address` - visible address when available.
- `neighborhood`, `city`, `state`, `country`, `postalCode` - location components when available.
- `latitude` and `longitude` - coordinates parsed from the Maps URL when available.
- `rating` - public rating when available.
- `reviewCount` - number of public reviews when available.
- `priceLevel` - visible price level when available.
- `phone` - public phone number when available.
- `website` - public website URL when available.
- `googleMapsUrl` - Google Maps URL for the place.
- `openingHours` - opening-hours summary when available.
- `popularTimesSummary` - popular-times summary when available.
- `scrapedAt` - ISO timestamp when the item was saved.

### Example output item

```json
{
  "searchQuery": "restaurants in New York",
  "rank": 1,
  "placeId": "example-place-id",
  "title": "Example Restaurant",
  "category": "Restaurant",
  "address": "123 Example St, New York, NY",
  "latitude": 40.7128,
  "longitude": -74.006,
  "rating": 4.5,
  "reviewCount": 1200,
  "phone": "+1 555-0100",
  "website": "https://example.com",
  "googleMapsUrl": "https://www.google.com/maps/place/Example",
  "scrapedAt": "2026-07-12T12:00:00.000Z"
}
```

### Pricing

This actor uses pay-per-event pricing. A small start event is charged when a run begins, and the primary item event is charged for each Google Maps place saved to the dataset.

| Event | Price |
| --- | ---: |
| Start | $0.005 per run |
| Item extracted | FREE $0.00043569 / BRONZE $0.00037886 / SILVER $0.00029551 / GOLD $0.00022732 / PLATINUM $0.00015155 / DIAMOND $0.00010608 per item |

The exact price shown to your account can depend on your Apify plan tier, so check the Pricing tab on the actor page before running large jobs.

To control cost:

- Start with a low `maxResultsPerQuery` value.
- Test one query and one location first.
- Increase limits only after confirming the output is what you need.
- Avoid duplicate queries and duplicate start URLs.

### How to use the dataset

After the run finishes, open the Dataset tab in Apify Console. You can download results as JSON, CSV, Excel, XML, RSS, or HTML table. You can also access the dataset through the Apify API or connect it to downstream tools such as Google Sheets, Make, Zapier, webhooks, or your own database.

### API usage

You can run this actor from Apify Console, CLI, or API. Replace `fetch_cat/google-maps-places-scraper` with the exact actor ID shown on the actor page if needed.

#### Node.js

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const input = {
  queries: ['restaurants'],
  locations: ['New York'],
  maxResultsPerQuery: 10,
  language: 'en',
  countryCode: 'US',
  proxyConfiguration: { useApifyProxy: false },
};

const run = await client.actor('fetch_cat/google-maps-places-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Python

```python
from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])

run = client.actor('fetch_cat/google-maps-places-scraper').call(run_input={
    'queries': ['restaurants'],
    'locations': ['New York'],
    'maxResultsPerQuery': 10,
    'language': 'en',
    'countryCode': 'US',
    'proxyConfiguration': {'useApifyProxy': False},
})

items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

#### cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-maps-places-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "queries": ["restaurants"],
    "locations": ["New York"],
    "maxResultsPerQuery": 10,
    "language": "en",
    "countryCode": "US",
    "proxyConfiguration": { "useApifyProxy": false }
  }'
```

### MCP server

You can use this actor with the Apify MCP server to let AI tools run Google Maps searches and read datasets.

1. Create or copy your Apify API token from Apify Console.
2. Install or configure the Apify MCP server in your MCP-compatible client.
3. Add your `APIFY_TOKEN` to the MCP server environment.
4. Ask your client to run `fetch_cat/google-maps-places-scraper` with a query, location, and result limit.
5. Inspect the returned dataset items or export them from Apify Console.

Claude CLI add command:

```bash
claude mcp add apify -- npx -y @apify/actors-mcp-server --actors fetch_cat/google-maps-places-scraper
```

Example JSON config block:

```json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": ["-y", "@apify/actors-mcp-server", "--actors", "fetch_cat/google-maps-places-scraper"],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}
```

Example prompt for an MCP client:

```text
Run fetch_cat/google-maps-places-scraper for coffee shops in Austin with maxResultsPerQuery 10 and summarize the titles and Google Maps URLs.
```

### Tips for better results

- Use specific search queries such as `emergency plumbers` instead of only `businesses`.
- Combine each query with a location for more relevant results.
- Keep test runs small while tuning queries.
- Use direct Google Maps URLs when you need to reproduce a specific search page.
- Review the first dataset rows before scaling to many locations.
- If a run returns zero rows, retry with a simpler query or a direct Maps URL.

### Limitations

Google Maps pages can vary by region, language, account state, and anti-bot protections. Some fields may not be visible in every result list, so the actor saves unavailable values as empty. The actor focuses on public place rows visible from Maps search pages and does not bypass login-only or private data.

### Legality and responsible use

This actor is intended for scraping publicly available information from Google Maps pages. You are responsible for making sure your use case complies with applicable laws, Google terms, privacy rules, and Apify platform rules. Do not use scraped data for spam, harassment, discrimination, or unlawful profiling. If you store or process personal data, make sure you have a lawful basis and honor deletion or opt-out requests where required.

### Troubleshooting

#### The run returned zero items

Try a simpler query, a smaller result limit, a direct Google Maps search URL, or enabling proxy access if direct access is blocked.

#### Some fields are empty

Google Maps does not expose every field in every search result. Empty fields mean the value was not visible or could not be parsed from the current page.

#### The actor is slow

Google Maps is a dynamic website. Keep limits moderate and split very large jobs into smaller batches.

#### Results differ from my browser

Maps results can differ by region, language, country, personalization, and timing. Use `language`, `countryCode`, and precise locations for more predictable results.

### Support

When contacting support, include the run ID or run URL, the input JSON, the expected output, the actual output, and a reproducible public URL (for example, a Google Maps URL) or search query. This helps us reproduce the problem quickly.

### FAQ

#### Can I scrape multiple cities in one run?

Yes. Add multiple values to `locations`. The actor combines each query with each location.

#### Can I use only Google Maps URLs?

Yes. Put search or place URLs in `startUrls`. You can also combine URLs with query-based searches.

#### Does the actor need a proxy?

Not always. The default input disables Apify Proxy. Enable it only when your workload needs it.

#### Can I export CSV?

Yes. Open the run dataset and choose CSV, Excel, JSON, or another supported export format.

#### Does it collect private data?

No. It is designed for public information visible on Google Maps pages.

### Related actors

You may also find these Apify actors useful:

- [Google Maps Reviews Scraper](https://apify.com/fetch_cat/google-maps-reviews-scraper) for review-focused exports.
- [Google Maps Photos Scraper](https://apify.com/fetch_cat/google-maps-photos-scraper) for image-oriented workflows.
- [Google Search Results Scraper](https://apify.com/fetch_cat/google-search-results-scraper) for general search result monitoring.
- [Google Shopping Results Scraper](https://apify.com/fetch_cat/google-shopping-results-scraper) for product search data.

### Development

```bash
npm install
npm run build
timeout 120 apify run
```

# Actor input Schema

## `queries` (type: `array`):

Google Maps searches, for example restaurants, dentists, or plumbers.

## `locations` (type: `array`):

Optional locations combined with each query.

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

Optional Google Maps search or place URLs.

## `maxResultsPerQuery` (type: `integer`):

Maximum number of place rows to save for each query.

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

Preferred Google Maps interface language, for example en or de.

## `countryCode` (type: `string`):

Optional two-letter country code such as US, GB, DE.

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

Proxy settings. Leave Apify Proxy disabled to run directly; enable residential proxy only if direct Google Maps access is blocked.

## Actor input object example

```json
{
  "queries": [
    "restaurants"
  ],
  "locations": [
    "New York"
  ],
  "startUrls": [],
  "maxResultsPerQuery": 3,
  "language": "en",
  "countryCode": "US",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "queries": [
        "restaurants"
    ],
    "locations": [
        "New York"
    ],
    "startUrls": [],
    "maxResultsPerQuery": 3,
    "language": "en",
    "countryCode": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/google-maps-places-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 = {
    "queries": ["restaurants"],
    "locations": ["New York"],
    "startUrls": [],
    "maxResultsPerQuery": 3,
    "language": "en",
    "countryCode": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/google-maps-places-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 '{
  "queries": [
    "restaurants"
  ],
  "locations": [
    "New York"
  ],
  "startUrls": [],
  "maxResultsPerQuery": 3,
  "language": "en",
  "countryCode": "US"
}' |
apify call fetch_cat/google-maps-places-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Places Scraper",
        "description": "Scrape public Google Maps place search results and place details for local leads, competitors, and points of interest.",
        "version": "0.1",
        "x-build-id": "v5JSqXum39y6SDXkK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~google-maps-places-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-google-maps-places-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/fetch_cat~google-maps-places-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-google-maps-places-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/fetch_cat~google-maps-places-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-google-maps-places-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",
                "required": [
                    "queries"
                ],
                "properties": {
                    "queries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Google Maps searches, for example restaurants, dentists, or plumbers.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "locations": {
                        "title": "Locations",
                        "type": "array",
                        "description": "Optional locations combined with each query.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Google Maps URLs",
                        "type": "array",
                        "description": "Optional Google Maps search or place URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResultsPerQuery": {
                        "title": "Maximum places per query",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Maximum number of place rows to save for each query.",
                        "default": 10
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Preferred Google Maps interface language, for example en or de.",
                        "default": "en"
                    },
                    "countryCode": {
                        "title": "Country code",
                        "type": "string",
                        "description": "Optional two-letter country code such as US, GB, DE."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Leave Apify Proxy disabled to run directly; enable residential proxy only if direct Google Maps access is blocked.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
