# Google Play Scraper — App Data, Reviews & ASO API (`logiover/google-play-data-api`) Actor

Unofficial Google Play API alternative. Scrape Play Store app data & reviews without login; export app data to CSV/JSON. No API key, no browser.

- **URL**: https://apify.com/logiover/google-play-data-api.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Developer tools, SEO tools
- **Stats:** 7 total users, 5 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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

## Google Play Scraper — App Data, Reviews & ASO API

An unofficial **Google Play Store scraper** and REST-style **Android app data API** in a single Apify actor. Extract Play Store app details, user reviews, ratings, top charts, ASO keyword suggestions, Android permissions and Google Play data-safety info — no Play Console account, no API key, no headless browser, just fast HTTP and clean JSON.

This Google Play data scraper is built for Android developers, ASO platforms, app intelligence tools, market researchers and AI agents who need structured Play Store data on demand. Ten endpoints (modes) share one input form, and every result is tagged with `_mode` so you can mix modes in a single dataset.

### What you get

Each mode returns documented, flat fields. Highlights across all 10 modes:

- **App details** — `appId`, `title`, `summary`, `description`, `descriptionHTML`, `icon`, `headerImage`, `screenshots[]`, `video`
- **Ratings** — `score` (float), `scoreText`, `ratings`, `reviews`, full 1–5 star `histogram`
- **Reach** — `installs` (display band), `minInstalls`, `maxInstalls`, `realInstalls`
- **Reviews** — `userName`, `score`, full review `text`, `date`, app `version`, helpful-votes, developer `replyText`/`replyDate`
- **Pricing** — `price`, `currency`, `free`, `priceText`, `offersIAP`, `IAPRange`
- **Metadata** — `version`, `recentChanges`, `released`, `updated`, `androidVersion`, `contentRating`, `genre`, `categories`
- **Developer** — `developer`, `developerId`, `developerEmail`, `developerWebsite`, `developerAddress`, `developerLegalName`
- **Compliance** — `privacyPolicy`, `adSupported`, permissions list, data-safety section
- **ASO suggestions** — ranked autocomplete search terms from Google Play
- **Universal** — `_mode` and `scrapedAt` (ISO 8601) on every item

Export everything as **CSV, JSON, Excel (XLSX)**, HTML, RSS or JSONLines. Four pre-built dataset views (Overview, App catalog, Reviews, App details) let you slice the data with no post-processing.

#### The 10 modes

| Mode | What it returns |
|---|---|
| `search` | Keyword search results (Play Store search bar) |
| `app` | Full details for one app or many (batch, 5× concurrency) |
| `reviews` | Up to 100,000+ reviews per app, auto-paginated |
| `list` | Top charts (free / paid / grossing) by category |
| `similar` | "Similar apps" for a given app |
| `developer` | Every app published by a developer |
| `suggest` | Autocomplete suggestions for ASO keyword research |
| `permissions` | Android permissions an app declares |
| `datasafety` | Google Play data-safety section |
| `categories` | Full list of Google Play category codes |

### Use cases

- **ASO & app store optimization** — track keyword rankings with `search`, mine long-tail keywords with `suggest`, monitor competitor metadata changes.
- **App market intelligence** — bulk-ingest `app` details, install bands, top charts by country, and rating histograms into dashboards.
- **Review monitoring & sentiment** — pull tens of thousands of reviews for your app or competitors, filter by star rating, alert on 1-star spikes.
- **Privacy & compliance research** — extract Android permissions and data-safety sections for GDPR/CCPA vendor reviews and MDM policy audits.
- **AI agents & RAG** — wrap the actor as a tool so an LLM can answer "top mindfulness apps in Germany?" or embed app descriptions + reviews.

### How to use

1. Open the actor and pick a **Mode**.
2. Fill the fields that mode needs (the input form shows which apply): an `appId` for app-targeted modes (e.g. `com.spotify.music`), a `query` for `search`/`suggest`, or a `devId` for `developer`.
3. Set `country` (e.g. `us`, `de`, `jp`) and `language` (e.g. `en`). The same app can differ per locale.
4. Optionally set `maxResults`. Run the actor and export results as CSV, JSON or Excel — or pull them via the Apify API.

Example — search for meditation apps:

```json
{
  "mode": "search",
  "query": "meditation",
  "country": "us",
  "language": "en",
  "maxResults": 50
}
````

Example — pull 5,000 newest reviews for an app:

```json
{
  "mode": "reviews",
  "appId": "com.spotify.music",
  "country": "us",
  "maxResults": 5000,
  "reviewSort": "NEWEST"
}
```

Call it from your stack via the Apify API (`run-sync-get-dataset-items`), the JavaScript/Python clients, or no-code tools like Make, n8n and Zapier.

### FAQ

#### Do I need a Google account or API key?

No. This is an unofficial scraper that reads data publicly visible on `play.google.com`, the same way a browser would. You only need an Apify account — no Play Console account, no OAuth, no API key.

#### How many reviews can I pull per app?

Reviews are auto-paginated, so you can pull anywhere from a handful to 100,000+ per app on popular titles. Use `reviewSort: NEWEST` and increase `maxResults`; the actor handles continuation tokens for you. Set `reviewScore: 1` to fetch only 1-star reviews for negative-sentiment monitoring.

#### How accurate are the rating and install numbers?

`score` is the floating-point average Google exposes and `scoreText` is the rounded display value. `histogram` gives exact 1–5 star counts. `minInstalls`/`maxInstalls` are Google's official install bands per country, and `realInstalls` is the closest available estimate.

#### Can I run several modes in one run?

Each run executes one mode. To combine modes, call the actor multiple times and join the datasets on `appId`. Every item carries a `_mode` field, so mixed datasets stay easy to filter.

#### Is this a Google Play API alternative?

Yes. It works as an unofficial Google Play API alternative, returning REST-style JSON for app details, reviews, ratings and top charts — without a Play Console account, OAuth or API key.

#### How do I export Google Play data to CSV or JSON?

Run any mode, then download the dataset as CSV, JSON, Excel (XLSX), HTML, RSS or JSONLines from the run's Storage tab, or pull it via the Apify API. Pre-built views let you export app data to CSV with no post-processing.

#### Can I scrape Google Play without an API or login?

Yes. This Play Store scraper reads publicly visible pages over plain HTTP, so you can scrape Google Play app data and reviews without login, without an API key, and without a headless browser.

### Support

Open an issue on the actor page for bugs, feature requests, or custom modifications. Responses typically within 24 hours.

### Changelog

#### 2026-06-15

- Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

#### 2026-06-07

- Docs: added coverage for using the actor as a Google Play API alternative, exporting Play Store data to CSV/JSON, and scraping Google Play app data without login.

#### 2026-06-05

- Reliability fix: results are no longer dropped by strict output validation — runs complete cleanly at high volume.
- Stability & performance hardening; fresh rebuild.

#### 2026-06-04

- Verified live & refreshed build — reliability/maintenance pass.

# Actor input Schema

## `mode` (type: `string`):

Which Google Play endpoint to call.

• **search** — keyword search (most common)
• **app** — full details for one or more app IDs
• **reviews** — user reviews with pagination
• **list** — top charts (free/paid/grossing) by category
• **similar** — apps similar to a given app
• **developer** — all apps by a developer
• **suggest** — autocomplete suggestions (great for ASO keyword research)
• **permissions** — Android permissions list (privacy/security audits)
• **datasafety** — Google Play data safety section
• **categories** — full list of Google Play category codes

## `appId` (type: `string`):

Single Google Play app ID — the value after `id=` in the Play Store URL. E.g. `com.spotify.music`. Used by **app**, **reviews**, **similar**, **permissions**, **datasafety** modes.

## `appIds` (type: `array`):

Array of app IDs for batch operations. Used by **app**, **reviews**, **permissions**, **datasafety** modes when you want multiple apps in one run. Adds to (or replaces) the single App ID field above.

## `query` (type: `string`):

Keyword to search for in **search** mode, or partial term for **suggest** mode autocomplete.

## `devId` (type: `string`):

Developer name as it appears on Google Play (URL-encoded). E.g. `Spotify+AB` or `Google+LLC`. Used by **developer** mode.

## `collection` (type: `string`):

Which top chart to fetch in **list** mode.

## `category` (type: `string`):

Optional category filter for **list** mode. Use the category code (e.g. `GAME`, `BUSINESS`, `EDUCATION`, `FINANCE`, `SOCIAL`). Run mode=categories first to see all available codes.

## `age` (type: `string`):

Age-band filter for game categories in **list** mode.

## `reviewSort` (type: `string`):

How reviews are ordered when fetched from Google Play.

## `reviewScore` (type: `integer`):

Optional: return only reviews with this exact star rating (1–5). Leave blank for all ratings.

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

Two-letter country code. Affects localized title, description, ratings, and which apps are returned. E.g. `us`, `gb`, `de`, `tr`, `jp`, `br`.

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

Two-letter language code. E.g. `en`, `tr`, `de`, `fr`, `pt`, `ja`.

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

Maximum results to return. For **reviews** mode, this is per-app. For **list/search/similar/developer** modes, this is overall. Note: some modes have hard caps from Google Play (typically 250).

## `fullDetail` (type: `boolean`):

For **search**, **list**, **similar**, **developer** modes: if enabled, each result is enriched with the full 47+ field app detail (slower, more expensive). Disable for quick lookups.

## `shortPermissions` (type: `boolean`):

For **permissions** mode: if enabled, returns a compact list of permission strings instead of the full permission objects.

## Actor input object example

```json
{
  "mode": "search",
  "appId": "com.spotify.music",
  "appIds": [],
  "query": "spotify",
  "devId": "Spotify AB",
  "collection": "TOP_FREE",
  "category": "GAME",
  "reviewSort": "NEWEST",
  "country": "us",
  "language": "en",
  "fullDetail": false,
  "shortPermissions": false
}
```

# Actor output Schema

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

Full results dataset. Switch between Overview, App catalog, Reviews, and App details views depending on which mode you ran.

# 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 = {
    "query": "whatsapp"
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/google-play-data-api").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 = { "query": "whatsapp" }

# Run the Actor and wait for it to finish
run = client.actor("logiover/google-play-data-api").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 '{
  "query": "whatsapp"
}' |
apify call logiover/google-play-data-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/google-play-data-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Play Scraper — App Data, Reviews & ASO API",
        "description": "Unofficial Google Play API alternative. Scrape Play Store app data & reviews without login; export app data to CSV/JSON. No API key, no browser.",
        "version": "1.0",
        "x-build-id": "O17ATdMeMgvu5DnkY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~google-play-data-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-google-play-data-api",
                "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/logiover~google-play-data-api/runs": {
            "post": {
                "operationId": "runs-sync-logiover-google-play-data-api",
                "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/logiover~google-play-data-api/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-google-play-data-api",
                "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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "app",
                            "reviews",
                            "list",
                            "similar",
                            "developer",
                            "suggest",
                            "permissions",
                            "datasafety",
                            "categories"
                        ],
                        "type": "string",
                        "description": "Which Google Play endpoint to call.\n\n• **search** — keyword search (most common)\n• **app** — full details for one or more app IDs\n• **reviews** — user reviews with pagination\n• **list** — top charts (free/paid/grossing) by category\n• **similar** — apps similar to a given app\n• **developer** — all apps by a developer\n• **suggest** — autocomplete suggestions (great for ASO keyword research)\n• **permissions** — Android permissions list (privacy/security audits)\n• **datasafety** — Google Play data safety section\n• **categories** — full list of Google Play category codes",
                        "default": "search"
                    },
                    "appId": {
                        "title": "App ID",
                        "type": "string",
                        "description": "Single Google Play app ID — the value after `id=` in the Play Store URL. E.g. `com.spotify.music`. Used by **app**, **reviews**, **similar**, **permissions**, **datasafety** modes."
                    },
                    "appIds": {
                        "title": "App IDs (batch)",
                        "type": "array",
                        "description": "Array of app IDs for batch operations. Used by **app**, **reviews**, **permissions**, **datasafety** modes when you want multiple apps in one run. Adds to (or replaces) the single App ID field above.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "query": {
                        "title": "Search query / keyword",
                        "type": "string",
                        "description": "Keyword to search for in **search** mode, or partial term for **suggest** mode autocomplete."
                    },
                    "devId": {
                        "title": "Developer ID",
                        "type": "string",
                        "description": "Developer name as it appears on Google Play (URL-encoded). E.g. `Spotify+AB` or `Google+LLC`. Used by **developer** mode."
                    },
                    "collection": {
                        "title": "Top-chart collection",
                        "enum": [
                            "TOP_FREE",
                            "TOP_PAID",
                            "TOP_GROSSING",
                            "NEW_FREE",
                            "NEW_PAID",
                            "TRENDING"
                        ],
                        "type": "string",
                        "description": "Which top chart to fetch in **list** mode.",
                        "default": "TOP_FREE"
                    },
                    "category": {
                        "title": "Category filter",
                        "type": "string",
                        "description": "Optional category filter for **list** mode. Use the category code (e.g. `GAME`, `BUSINESS`, `EDUCATION`, `FINANCE`, `SOCIAL`). Run mode=categories first to see all available codes."
                    },
                    "age": {
                        "title": "Age filter (games only)",
                        "enum": [
                            "FIVE_UNDER",
                            "SIX_EIGHT",
                            "NINE_UP"
                        ],
                        "type": "string",
                        "description": "Age-band filter for game categories in **list** mode."
                    },
                    "reviewSort": {
                        "title": "Review sort order",
                        "enum": [
                            "NEWEST",
                            "RATING",
                            "HELPFULNESS"
                        ],
                        "type": "string",
                        "description": "How reviews are ordered when fetched from Google Play.",
                        "default": "NEWEST"
                    },
                    "reviewScore": {
                        "title": "Filter by star rating",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Optional: return only reviews with this exact star rating (1–5). Leave blank for all ratings."
                    },
                    "country": {
                        "title": "Country (ISO 3166-1 alpha-2)",
                        "type": "string",
                        "description": "Two-letter country code. Affects localized title, description, ratings, and which apps are returned. E.g. `us`, `gb`, `de`, `tr`, `jp`, `br`.",
                        "default": "us"
                    },
                    "language": {
                        "title": "Language (BCP 47)",
                        "type": "string",
                        "description": "Two-letter language code. E.g. `en`, `tr`, `de`, `fr`, `pt`, `ja`.",
                        "default": "en"
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum results to return. For **reviews** mode, this is per-app. For **list/search/similar/developer** modes, this is overall. Note: some modes have hard caps from Google Play (typically 250)."
                    },
                    "fullDetail": {
                        "title": "Enrich results with full app details",
                        "type": "boolean",
                        "description": "For **search**, **list**, **similar**, **developer** modes: if enabled, each result is enriched with the full 47+ field app detail (slower, more expensive). Disable for quick lookups.",
                        "default": false
                    },
                    "shortPermissions": {
                        "title": "Short permissions output",
                        "type": "boolean",
                        "description": "For **permissions** mode: if enabled, returns a compact list of permission strings instead of the full permission objects.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
