# Google Maps Place Detail — Photos & Popular Times (No API Key) (`romy/google-maps-place-detail-photos-popular-times-no-api-key`) Actor

Extract full place details from any Google Maps URL — hours, popular times, photos, amenities & ordering links. No API key, no browser.

- **URL**: https://apify.com/romy/google-maps-place-detail-photos-popular-times-no-api-key.md
- **Developed by:** [Romy](https://apify.com/romy) (community)
- **Categories:** Automation, Developer tools, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 place 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.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

<div align="center">

## Google Maps Place Detail Scraper

**The deepest Google Maps place data available — popular times, full photo galleries, ordering links, amenities & more. From any URL, in seconds.**

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-brightgreen?logo=apify)](https://apify.com/RomySaputraSihananda/google-maps-place-detail-scraper)
[![Pay Per Event](https://img.shields.io/badge/Pricing-Pay%20Per%20Event-blue)](https://apify.com/pricing)
[![$2 per 1,000 places](https://img.shields.io/badge/%242%20per-1%2C000%20places-orange)](#pricing)

</div>

---

### What it does

This actor extracts **the full detail view of any Google Maps place** — the same data you see when you tap a place in the Google Maps mobile app — using Google's internal Android gRPC API directly. No browser, no API key, no login required.

Paste any Google Maps URL and get back structured data that's hard to get anywhere else: **7-day × 24-hour popular times**, full photo galleries (200+ photos), GoFood/GrabFood/ShopeeFood ordering URLs, 40+ amenity attributes, menu items, and live busyness.

> **Need to find places by keyword first?** Use [Google Maps Place Scraper](https://apify.com/RomySaputraSihananda/google-maps-place-scraper) to search and discover places, then pipe results here for the full detail view.

---

### Use cases

| Use Case | How |
|----------|-----|
| **Competitor research** | Scrape hours, amenities, and popular times for every competitor in your city |
| **Lead enrichment** | Add phone, website, and address to a list of business names or URLs |
| **Restaurant/hotel directories** | Build a database of menus, photos, and ordering links |
| **Market research** | Extract popular times data to understand foot traffic patterns |
| **Delivery app aggregation** | Collect GoFood/GrabFood/ShopeeFood ordering URLs for any business |

---

### Quick start

1. Open the actor on [Apify Console](https://apify.com/RomySaputraSihananda/google-maps-place-detail-scraper) and click **Try for free**
2. Paste one or more Google Maps place URLs into the **URLs** field
3. Click **Start** — results appear in seconds
4. Export as **JSON, CSV, Excel, or XML** from the Dataset tab

---

### Input

Three input formats are accepted — mix and match freely in a single run:

#### 1. Google Maps URLs (recommended)
Copy directly from your browser after opening any place on Google Maps.

```json
{
  "urls": [
    "https://www.google.com/maps/place/Giyanti+Coffee+Roastery/@-6.1952,106.8302,17z/data=!3m1!4b1!4m6!3m5!1s0x2e69f4151ceb7767:0x79ac645c2aef736f!8m2!3d-6.1952!4d106.8302!16s%2Fg%2F12vqtc6zk",
    "https://www.google.com/maps/place/RS+Pondok+Indah+-+Bintaro+Jaya/@-6.2710959,106.6917807,15z/data=!4m6!3m5!1s0x2e69faf2843a31c3:0xb02d6a1a5860823b!8m2!3d-6.2714566!4d106.6970665!16s%2Fg%2F11c7wbqpgh"
  ],
  "maxPhotos": 20,
  "includePopularTimes": true
}
````

#### 2. Structured places (from google-maps-place-scraper)

Pipe the output of Place Scraper directly here for batch enrichment.

```json
{
  "places": [
    {
      "place_id": "0x2e69f4151ceb7767:0x79ac645c2aef736f",
      "name": "Giyanti Coffee Roastery",
      "place_path": "/g/12vqtc6zk"
    }
  ]
}
```

#### 3. Raw feature IDs

```json
{
  "featureIds": [
    "0x2e69f4151ceb7767:0x79ac645c2aef736f",
    "0x2e69fb81d3659859:0x83a7983ca17aa370"
  ]
}
```

#### Input fields

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `urls` | `string[]` | — | Google Maps place URLs |
| `places` | `object[]` | — | `{place_id, name?, place_path?}` — from Place Scraper output |
| `featureIds` | `string[]` | — | Raw `0xHIGH:0xLOW` feature IDs |
| `maxPhotos` | `integer` | `20` | Max photos per place (0 = skip, max 500) |
| `includePopularTimes` | `boolean` | `true` | Include 7-day × 24-hour busyness data |

At least one of `urls`, `places`, or `featureIds` is required.

***

### Output

One JSON object per place pushed to the dataset.

**Example — RS Pondok Indah - Bintaro Jaya:**

```json
{
  "name": "RS Pondok Indah - Bintaro Jaya",
  "feature_id": "0x2e69faf2843a31c3:0xb02d6a1a5860823b",
  "category": "General hospital",
  "full_address": "CBD Emerald, Jl. Boulevard Bintaro Jaya No.1, Parigi, Pondok Aren, South Tangerang City, Banten 15227",
  "neighborhood": "Parigi, Pondok Aren",
  "timezone": "Asia/Jakarta",
  "plus_code": "PMHW+CR Parigi, South Tangerang City, Banten",
  "phone": "+62 21 2960 5555",
  "website": "https://rspondokindah.co.id",
  "hours": {
    "Monday": "Open 24 hours",
    "Tuesday": "Open 24 hours",
    "Wednesday": "Open 24 hours",
    "Thursday": "Open 24 hours",
    "Friday": "Open 24 hours",
    "Saturday": "Open 24 hours",
    "Sunday": "Open 24 hours"
  },
  "popular_times": {
    "days": [
      {
        "day": "Mon",
        "hours": [
          { "hour": 6,  "busyness": 20, "label": "Not too busy" },
          { "hour": 9,  "busyness": 65, "label": "Usually a bit busy" },
          { "hour": 12, "busyness": 80, "label": "Usually as busy as it gets" }
        ]
      }
    ],
    "live_busyness": 42
  },
  "amenities": [
    "On-site services available",
    "Has toilet",
    "Accepts credit cards",
    "Accepts NFC mobile payments",
    "Has nursing room",
    "Paid parking lot",
    "Drive-through"
  ],
  "photos": [
    {
      "url": "https://gz0.googleusercontent.com/gps-cs-s/...",
      "url_thumb": "https://gz0.googleusercontent.com/...",
      "caption": "Suasana kamar rawat inap",
      "timestamp_ms": 1639353600000
    }
  ],
  "photos_total": 201,
  "place_path": "/g/11c7wbqpgh",
  "maps_url": "https://www.google.com/maps/place/RS+Pondok+Indah+-+Bintaro+Jaya/..."
}
```

<details>
<summary><strong>All output fields</strong></summary>

| Field | Description |
|-------|-------------|
| `name` | Place name |
| `feature_id` | Internal Google Maps hex ID (`0xHIGH:0xLOW`) |
| `category` | Primary category (e.g. `Cafe`, `General hospital`) |
| `full_address` | Full formatted address string |
| `neighborhood` | Neighborhood / subdistrict |
| `address_parts` | Address split into components array |
| `place_path` | Knowledge Graph path (e.g. `/g/12vqtc6zk`) |
| `timezone` | IANA timezone (e.g. `Asia/Jakarta`) |
| `plus_code` | Plus Code open location code |
| `phone` | Phone number |
| `website` | Website URL |
| `description` | Editorial description |
| `time_spent` | Typical visit duration (e.g. `"People typically spend 1–3 hours here"`) |
| `hours` | Weekly schedule `{ Monday: "9 AM–10 PM", ... }` |
| `popular_times` | 7-day × 24-hour busyness histogram + live busyness |
| `amenities` | List of attribute strings (40+ possible, e.g. Wi-Fi, parking, payment methods) |
| `photos` | Array of `{ url, url_thumb, caption?, timestamp_ms }` |
| `photos_total` | Total photo count available on Google Maps |
| `menu_items` | Menu item names (restaurants and cafes) |
| `ordering` | `{ domain, url }` — GoFood/GrabFood/ShopeeFood ordering link |
| `cta` | Call-to-action links (booking, reservations, etc.) |
| `maps_url` | Direct Google Maps URL |

Fields are omitted when Google has no data for that place.

</details>

***

### Pricing

**Pay Per Event** — you only pay per place scraped. No subscription, no minimum spend.

| Event | Price |
|-------|-------|
| Actor start | $0.05 (one-time per run) |
| Per place scraped | $0.002 |

| Scenario | Places | Cost |
|----------|--------|------|
| Quick lookup | 10 | ~$0.07 |
| Small batch | 100 | ~$0.25 |
| Large batch | 1,000 | ~$2.05 |
| Full campaign | 10,000 | ~$20.05 |

> **Good value?** Competing Google Maps scrapers charge $1.50–$2.50 per 1,000 places and return less data (no popular times, no ordering links, no full photo galleries). This actor returns the deepest available place data at $2.00 per 1,000 places.

***

### Tips

- **Getting the URL** — open any place on Google Maps in your browser and copy the URL from the address bar. Works for any country and place type.
- **Use with Place Scraper** — search by keyword using [Google Maps Place Scraper](https://apify.com/RomySaputraSihananda/google-maps-place-scraper), then feed the output directly into the `places` field here.
- **Skip photos for speed** — set `maxPhotos: 0` to skip photo fetching and cut run time roughly in half.
- **Get all photos** — set `maxPhotos: 200` (or higher) to retrieve every available photo for a place.
- **Popular times availability** — only places with enough visitor data have this. Some places (hospitals, government offices, 24-hour spots) may not have it.

***

### FAQ

**How is this different from Google Places API?**
The official Places API doesn't expose popular times, full photo galleries, GoFood/GrabFood ordering links, or menu items. This actor calls Google's internal Android gRPC endpoint — the same source the mobile app uses — and returns all of it at a fraction of the Places API cost.

**Does it need a browser, API key, or login?**
No. It uses the Android Maps internal API with the public key embedded in the Maps app — no browser, no OAuth, no account.

**What URL format is accepted?**
Any URL starting with `https://www.google.com/maps/place/`. Copy it directly from your browser — no editing needed. Short URLs (`goo.gl/maps/...`) are not supported; open them in your browser first to get the full URL.

**Why is a field missing?**
Google only returns data that exists for a place. Small or unclaimed businesses often have no phone, hours, or description. Popular times require enough visitor data to generate.

**Can I get reviews too?**
Reviews are not included in this actor. Use [Google Maps Reviews Scraper](https://apify.com/RomySaputraSihananda/google-maps-reviews-scraper) to paginate all reviews for specific places.

**Will it get blocked?**
The actor uses authentic Android app credentials and behaves like a real mobile client. No proxy is required for normal usage volumes.

**Issues or feature requests?**
Open a ticket in the **Issues** tab.

# Actor input Schema

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

Google Maps place URLs. The actor extracts the place ID automatically from the URL.

## `places` (type: `array`):

Array of place objects from google-maps-place-scraper output. Each must have 'place\_id'. Optional: 'name', 'place\_path'.

## `featureIds` (type: `array`):

Raw Google Maps feature IDs in '0xHIGH:0xLOW' format.

## `maxPhotos` (type: `integer`):

Maximum number of full-size photo URLs to fetch per place (0 = skip photos).

## `includePopularTimes` (type: `boolean`):

Include 7-day x 24-hour busyness histogram and live busyness.

## Actor input object example

```json
{
  "urls": [
    "https://www.google.com/maps/place/Giyanti+Coffee+Roastery/@-6.1952,106.8302,17z/data=!3m1!4b1!4m6!3m5!1s0x2e69f4151ceb7767:0x79ac645c2aef736f!8m2!3d-6.1952!4d106.8302!16s%2Fg%2F12vqtc6zk"
  ],
  "places": [],
  "featureIds": [],
  "maxPhotos": 20,
  "includePopularTimes": true
}
```

# 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 = {
    "urls": [
        "https://www.google.com/maps/place/Giyanti+Coffee+Roastery/@-6.1952,106.8302,17z/data=!3m1!4b1!4m6!3m5!1s0x2e69f4151ceb7767:0x79ac645c2aef736f!8m2!3d-6.1952!4d106.8302!16s%2Fg%2F12vqtc6zk"
    ],
    "places": [],
    "featureIds": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("romy/google-maps-place-detail-photos-popular-times-no-api-key").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 = {
    "urls": ["https://www.google.com/maps/place/Giyanti+Coffee+Roastery/@-6.1952,106.8302,17z/data=!3m1!4b1!4m6!3m5!1s0x2e69f4151ceb7767:0x79ac645c2aef736f!8m2!3d-6.1952!4d106.8302!16s%2Fg%2F12vqtc6zk"],
    "places": [],
    "featureIds": [],
}

# Run the Actor and wait for it to finish
run = client.actor("romy/google-maps-place-detail-photos-popular-times-no-api-key").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 '{
  "urls": [
    "https://www.google.com/maps/place/Giyanti+Coffee+Roastery/@-6.1952,106.8302,17z/data=!3m1!4b1!4m6!3m5!1s0x2e69f4151ceb7767:0x79ac645c2aef736f!8m2!3d-6.1952!4d106.8302!16s%2Fg%2F12vqtc6zk"
  ],
  "places": [],
  "featureIds": []
}' |
apify call romy/google-maps-place-detail-photos-popular-times-no-api-key --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=romy/google-maps-place-detail-photos-popular-times-no-api-key",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Maps Place Detail — Photos & Popular Times (No API Key)",
        "description": "Extract full place details from any Google Maps URL — hours, popular times, photos, amenities & ordering links. No API key, no browser.",
        "version": "0.0",
        "x-build-id": "1Kz1Fy9S9tbyuhkyW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/romy~google-maps-place-detail-photos-popular-times-no-api-key/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-romy-google-maps-place-detail-photos-popular-times-no-api-key",
                "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/romy~google-maps-place-detail-photos-popular-times-no-api-key/runs": {
            "post": {
                "operationId": "runs-sync-romy-google-maps-place-detail-photos-popular-times-no-api-key",
                "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/romy~google-maps-place-detail-photos-popular-times-no-api-key/run-sync": {
            "post": {
                "operationId": "run-sync-romy-google-maps-place-detail-photos-popular-times-no-api-key",
                "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": {
                    "urls": {
                        "title": "Google Maps URLs",
                        "type": "array",
                        "description": "Google Maps place URLs. The actor extracts the place ID automatically from the URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "places": {
                        "title": "Places (structured)",
                        "type": "array",
                        "description": "Array of place objects from google-maps-place-scraper output. Each must have 'place_id'. Optional: 'name', 'place_path'."
                    },
                    "featureIds": {
                        "title": "Feature IDs",
                        "type": "array",
                        "description": "Raw Google Maps feature IDs in '0xHIGH:0xLOW' format.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPhotos": {
                        "title": "Max Photos",
                        "minimum": 0,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of full-size photo URLs to fetch per place (0 = skip photos).",
                        "default": 20
                    },
                    "includePopularTimes": {
                        "title": "Include Popular Times",
                        "type": "boolean",
                        "description": "Include 7-day x 24-hour busyness histogram and live busyness.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
