# Google Play Store Scraper | 💵$0.5/1K (`webdata_labs/google-play-store-scraper-api`) Actor

\[💵 $0.50 / 1K] Search Google Play by keyword or paste package IDs and app URLs. Export complete Android app details, ratings, installs, and reviews.

- **URL**: https://apify.com/webdata\_labs/google-play-store-scraper-api.md
- **Developed by:** [WebData Labs](https://apify.com/webdata_labs) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.40 / 1,000 google play app or reviews

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

Turn [Google Play](https://play.google.com/store/apps) search results, app pages, and public reviews into structured data. Enter a keyword, Android package ID, or Google Play URL and export the results to JSON, CSV, Excel, or your own application.

**No scraping experience is required.** One input list accepts all supported query types and recognizes them automatically.

### 📱 What does Google Play Store Scraper do?

Google Play Store Scraper is a **Google Play data extractor and API** for:

- discovering Android apps by keyword;
- collecting complete app details by package ID or URL;
- comparing ratings, installs, pricing, and release activity;
- exporting newest, relevant, or rating-sorted app reviews;
- collecting reviews with a specific star rating.

Search results can be enriched with complete app data, so a single run can turn a market keyword such as `AI photo editor` into a competitor dataset with descriptions, installs, ratings, screenshots, monetization, and developer contacts.

### 🚀 Start with a ready-made task

Choose a workflow below, replace the example input if needed, and click **Start**. Each task is already configured for its use case.

| Ready-made task                                                                                                                                          | Best for                                         | Example input                                           |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------- |
| [🔎 Research AI apps on Google Play](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-ai-app-market-research)           | Market discovery and ASO research                | `AI assistant`, `AI photo editor`, `AI video generator` |
| [🏋️ Research fitness app competitors](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-fitness-app-competitor-research) | Comparing apps in a specific niche               | `fitness app`, `workout planner`, `calorie tracker`     |
| [🎯 Get app details by package ID](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-app-details-by-package-id)          | Tracking exact apps or competitors               | `com.spotify.music`                                     |
| [🆕 Export newest app reviews](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-newest-app-reviews)                     | Review monitoring and customer feedback          | Spotify reviews, newest first                           |
| [⭐ Export one-star Google Play reviews](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-one-star-reviews)             | Complaint analysis and product research          | Spotify one-star reviews                                |
| [💡 Research productivity app reviews](https://apify.com/webdata_labs/google-play-store-scraper-api/examples/google-play-productivity-app-reviews)       | Discovering customer pain points across a market | `productivity app`, `habit tracker`                     |

Saved tasks can be duplicated, edited, scheduled, called through the API, or connected to other apps.

### 💡 Why scrape Google Play?

#### Find competitors and validate app ideas

Search a keyword and compare the apps already competing for it. Use installs, ratings, review volume, pricing, release dates, and update frequency to assess a niche.

#### Improve ASO and positioning

Export titles, summaries, descriptions, categories, screenshots, and release notes. Compare how successful apps describe features and position themselves in Google Play search.

#### Discover customer pain points

Collect public reviews from one app or an entire search category. Filter for one-star reviews to find recurring complaints, missing features, pricing objections, and usability problems.

#### Monitor exact Android apps

Use package IDs or Google Play URLs to collect the same apps repeatedly. Apify Tasks can be scheduled for recurring app or review monitoring.

### 🛠️ How to scrape Google Play

1. Open the Actor's **Input** tab or choose a [ready-made task](#start-with-a-ready-made-task).
2. Add one or more keywords, package IDs, or Google Play app URLs to **What should we find?**
3. Choose **Apps and app details** or **User reviews**.
4. Set the country, language, and result limits.
5. Click **Start**.
6. Open the dataset and download it as JSON, CSV, Excel, XML, or another available format.

You can mix different query types in the same run:

```text
habit tracker
com.spotify.music
https://play.google.com/store/apps/details?id=com.netflix.mediaclient
````

The Actor treats `habit tracker` as a search keyword and the other two values as exact apps.

### 📦 What Google Play data can be extracted?

#### 📲 App data

| Data                                          | Description                                                         |
| --------------------------------------------- | ------------------------------------------------------------------- |
| `appId`, `title`, `url`                       | Package ID, app name, and Google Play URL                           |
| `summary`, `description`                      | Short and full store listing copy                                   |
| `developer`                                   | Developer name, ID, website, public email, and address              |
| `score`, `ratings`, `reviews`                 | Average rating and rating/review totals                             |
| `installs`                                    | Displayed install range plus minimum and estimated maximum installs |
| `price`, `currency`, `offersIAP`              | Price and monetization information                                  |
| `genre`, `categories`                         | Google Play category data                                           |
| `icon`, `headerImage`, `screenshots`, `video` | Store listing creatives                                             |
| `released`, `updated`, `version`              | Release and update information                                      |
| `recentChanges`                               | Current release notes                                               |

#### 💬 Review data

| Data                          | Description                                            |
| ----------------------------- | ------------------------------------------------------ |
| `reviewId`                    | Unique public review ID                                |
| `appId`, `appTitle`, `appUrl` | Parent app information included on every review        |
| `date`, `score`, `text`       | Review date, star rating, and text                     |
| `userName`, `userImage`       | Public reviewer profile information                    |
| `thumbsUp`                    | Helpful-vote count                                     |
| `appVersion`                  | App version associated with the review, when available |

### ⚙️ Input options

See the **Input** tab for the complete configuration form.

| Option                           | What it controls                                                   |
| -------------------------------- | ------------------------------------------------------------------ |
| **What should we find?**         | Keywords, package IDs, or Google Play URLs                         |
| **Results**                      | Apps/app details or individual reviews                             |
| **Apps per keyword (maximum)**   | Upper limit; Google Play may return fewer available search results |
| **Include complete app details** | Enriches search results with full store listing data               |
| **Country and language**         | Localized availability, prices, rankings, app data, and reviews    |
| **Maximum reviews per app**      | Maximum matching reviews exported for each app                     |
| **Review order**                 | Newest, most relevant, or rating order                             |
| **Only this star rating**        | Optional filter from one to five stars                             |

When a star filter is selected, the limit applies to **matching reviews**. For example, a limit of 500 with a one-star filter returns up to 500 one-star reviews, rather than filtering only the first 500 reviews.

### 📤 Output examples

You can download the dataset in formats such as JSON, HTML, CSV, XML, or Excel.

An app result:

```json
{
    "recordType": "app",
    "searchQuery": "music streaming",
    "appId": "com.spotify.music",
    "title": "Spotify: Music and Podcasts",
    "developer": "Spotify AB",
    "score": 4.3,
    "ratings": 35990944,
    "installs": "1,000,000,000+",
    "free": true,
    "offersIAP": true,
    "url": "https://play.google.com/store/apps/details?id=com.spotify.music"
}
```

A review result:

```json
{
    "recordType": "review",
    "appId": "com.spotify.music",
    "appTitle": "Spotify: Music and Podcasts",
    "reviewId": "review-id",
    "date": "2026-07-23T12:18:48.015Z",
    "score": 1,
    "text": "Public review text",
    "appVersion": "9.1.64.1676",
    "thumbsUp": 4
}
```

### 💵 How much does it cost to scrape Google Play?

Google Play Store Scraper uses transparent pay-per-result pricing.

- **$0.50 per 1,000 exported rows** on the Free and Bronze plans.
- One exported app or one exported review equals one result.
- Empty searches, retries, duplicates, and failed requests are not charged as results.
- Higher Apify plans receive lower per-result prices.

Examples at the Free-plan rate:

| Export            | Result charge |
| ----------------- | ------------: |
| 100 apps          |         $0.05 |
| 1,000 app details |         $0.50 |
| 10,000 reviews    |         $5.00 |

Apify platform usage is included in the displayed pay-per-result price. Use **Apps per keyword (maximum)**, **Maximum reviews per app**, and the run spending limit to control costs.

### 🔌 Run through the API

Open the Actor's **API** tab to generate code for JavaScript, Python, the Apify CLI, or a direct HTTP request.

Example input:

```json
{
    "queries": ["AI photo editor", "com.spotify.music"],
    "dataType": "apps",
    "maxAppsPerQuery": 25,
    "fullDetails": true,
    "country": "us",
    "language": "en"
}
```

Existing integrations can also use the legacy fields `mode`, `searchTerms`, `appIds`, and `maxResults`. New integrations should use the simpler `queries` and `dataType` fields.

### ✅ Tips for better results

- Use a two-letter country code such as `us`, `gb`, `de`, or `pl`.
- Use exact package IDs when monitoring known competitors.
- For broader discovery, use several related keywords. Google Play often exposes about 30 results for a keyword even when the requested maximum is higher.
- Keep **Include complete app details** enabled for research datasets.
- Disable full details when you only need fast keyword discovery.
- Use **Newest first** for recurring review monitoring.
- Use a one-star or two-star filter to focus on customer complaints.
- Schedule a saved task when you need fresh data every day or week.

### ❓ FAQ

#### Can I search by both keyword and package ID?

Yes. Keywords, package IDs, and Google Play URLs can be mixed in the same input list.

#### Can I collect reviews for apps discovered by a keyword?

Yes. Select **User reviews** and enter a market keyword. The Actor discovers matching apps first and then exports reviews for each app.

#### Why did a keyword return fewer apps than the maximum?

The field is an upper limit, not a guaranteed result count. Google Play decides how many search results are available and often returns about 30 for a keyword. Add several related keywords to broaden discovery; duplicates are removed automatically.

#### Does the review limit apply before or after the star filter?

After the filter. Requesting 500 one-star reviews returns up to 500 reviews with a one-star rating.

#### Can I schedule recurring Google Play exports?

Yes. Save or duplicate a Task and use Apify Schedules to run it daily, weekly, or at another interval. Results can then be sent through integrations or consumed through the API.

#### Why does app data differ between countries?

Google Play availability, pricing, rankings, descriptions, and reviews can be localized. Use the country and language fields that match your target market.

### ⚖️ Responsible use and support

This Actor extracts publicly visible Google Play information. Reviews may contain personal data that users chose to publish publicly. Personal data can be protected by GDPR and other regulations. Do not collect or process personal data without a legitimate purpose, and consult a legal professional if you are unsure.

If an app, country, or saved task stops working, create an issue in the Actor's **Issues** tab and include the public Google Play URL and Apify run ID. Never include API tokens or private credentials.

# Actor input Schema

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

Add search keywords, Android package IDs, or Google Play app URLs. You can mix all three in one run.

## `dataType` (type: `string`):

Export app listings and details, or individual user reviews.

## `maxAppsPerQuery` (type: `integer`):

Upper limit for each keyword. Google Play decides how many search results are available and often returns about 30, even when you request more. Use several related keywords for broader discovery. Package IDs and URLs resolve to one app each.

## `fullDetails` (type: `boolean`):

Adds description, installs, release data, screenshots, developer contacts, rating histogram, and more. Recommended.

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

Two-letter country code used for localized availability, pricing, rankings, and reviews.

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

Two-letter language code for localized app data and reviews.

## `maxReviewsPerApp` (type: `integer`):

Used only when Results is set to User reviews.

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

Choose which reviews are collected first.

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

Optional. Leave empty for all ratings, or enter 1–5.

## `requestThrottle` (type: `integer`):

Advanced reliability setting. The default is suitable for most runs.

## Actor input object example

```json
{
  "queries": [
    "habit tracker"
  ],
  "dataType": "apps",
  "maxAppsPerQuery": 10,
  "fullDetails": true,
  "country": "us",
  "language": "en",
  "maxReviewsPerApp": 50,
  "reviewSort": "newest",
  "requestThrottle": 5
}
```

# Actor output Schema

## `dataset` (type: `string`):

Dataset containing one row per app or review.

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

Export totals, keyword search coverage, and any input values that could not be processed.

# 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": [
        "habit tracker"
    ],
    "maxAppsPerQuery": 10,
    "country": "us",
    "language": "en",
    "maxReviewsPerApp": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("webdata_labs/google-play-store-scraper-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 = {
    "queries": ["habit tracker"],
    "maxAppsPerQuery": 10,
    "country": "us",
    "language": "en",
    "maxReviewsPerApp": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("webdata_labs/google-play-store-scraper-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 '{
  "queries": [
    "habit tracker"
  ],
  "maxAppsPerQuery": 10,
  "country": "us",
  "language": "en",
  "maxReviewsPerApp": 50
}' |
apify call webdata_labs/google-play-store-scraper-api --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Play Store Scraper | 💵$0.5/1K",
        "description": "[💵 $0.50 / 1K] Search Google Play by keyword or paste package IDs and app URLs. Export complete Android app details, ratings, installs, and reviews.",
        "version": "0.1",
        "x-build-id": "1KqykWC6OHLG4sks5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/webdata_labs~google-play-store-scraper-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-webdata_labs-google-play-store-scraper-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/webdata_labs~google-play-store-scraper-api/runs": {
            "post": {
                "operationId": "runs-sync-webdata_labs-google-play-store-scraper-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/webdata_labs~google-play-store-scraper-api/run-sync": {
            "post": {
                "operationId": "run-sync-webdata_labs-google-play-store-scraper-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",
                "properties": {
                    "queries": {
                        "title": "What should we find?",
                        "type": "array",
                        "description": "Add search keywords, Android package IDs, or Google Play app URLs. You can mix all three in one run.",
                        "default": [
                            "habit tracker"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "dataType": {
                        "title": "Results",
                        "enum": [
                            "apps",
                            "reviews"
                        ],
                        "type": "string",
                        "description": "Export app listings and details, or individual user reviews.",
                        "default": "apps"
                    },
                    "maxAppsPerQuery": {
                        "title": "Apps per keyword (maximum)",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Upper limit for each keyword. Google Play decides how many search results are available and often returns about 30, even when you request more. Use several related keywords for broader discovery. Package IDs and URLs resolve to one app each.",
                        "default": 20
                    },
                    "fullDetails": {
                        "title": "Include complete app details",
                        "type": "boolean",
                        "description": "Adds description, installs, release data, screenshots, developer contacts, rating histogram, and more. Recommended.",
                        "default": true
                    },
                    "country": {
                        "title": "Google Play country",
                        "minLength": 2,
                        "maxLength": 2,
                        "type": "string",
                        "description": "Two-letter country code used for localized availability, pricing, rankings, and reviews.",
                        "default": "us"
                    },
                    "language": {
                        "title": "Language",
                        "minLength": 2,
                        "maxLength": 8,
                        "type": "string",
                        "description": "Two-letter language code for localized app data and reviews.",
                        "default": "en"
                    },
                    "maxReviewsPerApp": {
                        "title": "Maximum reviews per app",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Used only when Results is set to User reviews.",
                        "default": 50
                    },
                    "reviewSort": {
                        "title": "Review order",
                        "enum": [
                            "newest",
                            "relevant",
                            "rating"
                        ],
                        "type": "string",
                        "description": "Choose which reviews are collected first.",
                        "default": "newest"
                    },
                    "reviewScore": {
                        "title": "Only this star rating",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Optional. Leave empty for all ratings, or enter 1–5."
                    },
                    "requestThrottle": {
                        "title": "Maximum requests per second",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Advanced reliability setting. The default is suitable for most runs.",
                        "default": 5
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
