# Google Play Reviews Scraper — Any Country, Filters, No API Key (`datascoutlab/googleplay-reviews-scraper`) Actor

Get Google Play reviews for any Android app in any country — with developer replies, thumbs-up counts and install stats. Filter by stars & keywords to pull only critical reviews for competitor research, ASO and sentiment analysis. No API key, no login. Clean rows for Sheets, LLMs & AI agents.

- **URL**: https://apify.com/datascoutlab/googleplay-reviews-scraper.md
- **Developed by:** [Anton DataScout](https://apify.com/datascoutlab) (community)
- **Categories:** AI, Developer tools, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 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 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/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

## Google Play Reviews Scraper

Extract Google Play reviews for any Android app, in any country, with developer replies and thumbs-up counts — no API key required.

Point this scraper at any app on the Google Play Store and get back clean, structured reviews: the star rating, title, full text, author, app version, date, and the number of thumbs-up each review received. Because Google Play exposes **deep review history**, you can pull thousands of reviews per app — not the ~500-review ceiling you hit on the Apple App Store. You also get two signals the App Store simply does not have: the **developer's reply** to each review (text and date) and **thumbs-up counts** that tell you which complaints real users agree with. Filter by star rating and keyword so your dataset holds only the reviews you plan to analyze, and pay only for those.

Running cross-platform analysis? Pair this with our [App Store Reviews Scraper](https://apify.com/datascoutlab/appstore-reviews-scraper) to cover both iOS and Android from the same review-intelligence workflow.

| You give it | You get back |
| --- | --- |
| A Google Play URL or package name (e.g. `com.openai.chatgpt`) | Structured review rows: rating, title, text, author, version, date, thumbs-up |
| Country storefronts (`us`, `gb`, `de`, `br`, `in`, …) | Reviews pulled separately per storefront, with the country on every row |
| Star-rating range + optional keyword | Only the reviews that pass your filters — critical reviews, crash reports, refund mentions |
| Max reviews per app | Deep review history, thousands per app, capped where you want it |

### What does the Google Play Reviews Scraper do?

It collects public reviews from the Google Play Store for any Android app you specify. Give it a package name (`com.instagram.android`) or a full Play Store URL and it fetches the app's reviews through a residential proxy, paginating through Google's deep review history until it reaches your requested limit. Each review is normalized into a flat JSON row that carries the app context (name, developer, overall rating, total ratings, install count) alongside the review itself, so a single dataset is enough to report on. You can scrape multiple apps and multiple country storefronts in one run, filter by star rating and keyword, and choose whether reviews come back newest-first, by rating, or by helpfulness. No Google account, no API key, no login.

### Who is it for?

| Audience | What they pull |
| --- | --- |
| **ASO specialists** | Rating drivers per app version and per country to steer store listings and updates |
| **Product managers** | Feature requests and recurring complaints straight from competitors' review streams |
| **Indie developers** | Their own app's reviews across every market, monitored without building an integration |
| **Competitor researchers** | Critical (1–3 star) reviews of rival apps, ranked by thumbs-up, to find real pain points |
| **AI / data teams** | Clean, schema-stable review rows to feed LLMs for theme clustering and sentiment analysis |

### Why use this scraper?

- **Deep review history.** Google Play serves thousands of reviews per app. The scraper paginates through them so you are not stuck with only the most recent handful.
- **Developer replies included.** Every row can carry the developer's reply text and date — see which complaints competitors respond to and which they ignore (that gap is your opportunity).
- **Thumbs-up as a resonance signal.** Each review's thumbs-up count shows which complaints other users actually agree with, so you can prioritize the issues that matter most.
- **Any country, any language.** Scrape any Play Store storefront and set the review language, so region-specific problems surface instead of being averaged away.
- **No API key, no login.** Works out of the box through a residential proxy — nothing to authenticate, no quota to manage.

### What data can you extract?

Each review is returned as one structured row:

```json
{
    "appId": "com.openai.chatgpt",
    "appName": "ChatGPT",
    "developer": "OpenAI",
    "country": "de",
    "reviewId": "gp:AOqpTO...",
    "rating": 2,
    "title": "",
    "text": "App keeps logging me out after the last update…",
    "author": "M. Weber",
    "appVersion": "1.2026.190",
    "date": "2026-07-20T18:45:39.000Z",
    "thumbsUp": 41,
    "replyText": "Thanks for the report — a fix ships this week.",
    "replyDate": "2026-07-21T09:12:00.000Z",
    "appOverallRating": 4.6,
    "appTotalRatings": 1200345,
    "appInstalls": "500,000,000+"
}
````

| Field | Description |
| --- | --- |
| `appId` | Package name of the app (e.g. `com.openai.chatgpt`) |
| `appName` | App title as shown on the Play Store |
| `developer` | Developer / publisher name |
| `country` | Storefront the review was collected from |
| `reviewId` | Google's unique review identifier |
| `rating` | Star rating, 1–5 |
| `title` | Review title (often empty on Google Play) |
| `text` | Full review body |
| `author` | Reviewer's display name |
| `appVersion` | App version the review was written against |
| `date` | Review timestamp (ISO 8601) |
| `thumbsUp` | Number of users who marked the review helpful |
| `replyText` | Developer's reply text, if any |
| `replyDate` | Timestamp of the developer's reply |
| `appOverallRating` | App's current overall star rating |
| `appTotalRatings` | Total number of ratings the app has |
| `appInstalls` | Install count band (e.g. `500,000,000+`) |
| `ratingHistogram` | Full star distribution — count of 1★/2★/3★/4★/5★ ratings |

### How to scrape Google Play reviews

1. Add the apps you want under **Apps** — paste a Play Store URL (`https://play.google.com/store/apps/details?id=com.openai.chatgpt`) or just the package name (`com.openai.chatgpt`). You can mix both and list several apps.
2. Set the **country storefronts** to scrape (`us`, `gb`, `de`, `br`, `in`, …). Each country is fetched separately and tagged on every row.
3. Choose **Max reviews per app per country** — this caps how deep the scraper paginates.
4. Optionally narrow the results with the **star-rating range**, a **keyword**, and a **sort order**, then run the Actor.
5. Download the dataset as JSON, CSV, or Excel, or pull it from the Apify API.

### How much does it cost to scrape Google Play reviews

You are billed per review that lands in your dataset. Because the filters run before anything is stored, you only pay for reviews that pass them — set the star-rating range or a keyword and you are not charged for the noise you filtered out. Use **Max reviews per app per country** to put a hard ceiling on the volume (and cost) of any run. Scraping runs on Apify's platform, so the usual platform compute and proxy charges apply on top of the per-review cost.

### How to monitor Google Play reviews for your app

Set **Sort by** to *Newest first*, add your own app and the country storefronts you care about, and schedule the Actor to run daily on Apify. Each run returns the latest reviews with their ratings and any developer replies, so you can pipe fresh 1-star reviews into Slack, email, or a spreadsheet and react before a rating dip snowballs. Add a keyword filter like `crash` or `refund` to alert only on the issues you care about most.

### How to do competitor research with Google Play reviews

Point the scraper at a competitor's app and set the **max rating to ★★★ 3** to collect only critical reviews — an instant pain-point dataset. Sort by **Most helpful** (or sort by newest and rank by `thumbsUp` afterward) to see which complaints the most users agree with. Because the developer's reply is captured on each row, you can also spot which problems the competitor is actively firefighting versus quietly ignoring — the ignored, high-thumbs-up complaints are the clearest gaps to build against.

### How to export Google Play reviews to CSV or Google Sheets

Every run produces a dataset you can export directly as **CSV**, **Excel**, **JSON**, **XML**, or an **HTML table** from the Apify console — one click, no reformatting. For Google Sheets, export the CSV and import it, or pull the dataset live through the Apify API / dataset URL so a sheet refreshes itself. The output is a flat table with one review per row, so it drops straight into Sheets, Excel, a BI tool, or a database without any reshaping.

### Google Play Reviews API alternative

Google Play has no official public API for reading app reviews unless you own the app (via the Play Developer Reporting / Reply-to-Reviews APIs, which only cover your own listings). This scraper is the practical alternative for reviews of *any* app: no API key, no OAuth, no per-app ownership requirement. You get the same core fields you would expect from an API — rating, text, author, version, date, developer reply — as clean JSON, with deep history and cross-country coverage that the official tooling does not offer for apps you do not control.

### Is it legal to scrape Google Play reviews?

This Actor collects only publicly available information — reviews anyone can read on the Google Play Store without logging in. It does not access private data, bypass authentication, or log into any account. That said, you are responsible for how you use the data: review Google's Terms of Service, respect intellectual-property rights, and comply with privacy regulations such as GDPR and CCPA when you store or process personal data (for example, reviewer display names). If in doubt, consult a legal professional for your specific use case.

### Input configuration

| Field | Type | Description |
| --- | --- | --- |
| `appIds` | array (required) | Play Store URLs or package names to scrape. Mix freely. |
| `countries` | array | ISO country codes of storefronts to scrape (`us`, `gb`, `de`, …). Each is scraped separately. Default `us`. |
| `maxReviewsPerApp` | integer | Upper limit of reviews per app per country. Google Play exposes deep history — up to thousands. Default `100`, max `10000`. |
| `minRating` | select | Keep reviews rated at least this many stars (1–5). Default `1`. |
| `maxRating` | select | Keep reviews rated at most this many stars (1–5). Set to `3` for critical-reviews only. Default `5`. |
| `keyword` | string | Keep only reviews mentioning this word or phrase in the title or text (case-insensitive). Leave empty to collect everything. |
| `language` | string | Review language (ISO 639-1), e.g. `en`, `de`, `ja`. Default `en`. |
| `sort` | select | Collection order: `newest`, `rating`, or `helpfulness`. Default `newest`. |

### FAQ

**How many reviews can I get per app?**
Google Play exposes deep review history — thousands per app — unlike Apple's ~500-review cap. The scraper paginates through that history up to your **Max reviews per app per country** limit (up to 10,000).

**Do the filters affect billing?**
Yes, in your favor. Filtering by star rating and keyword happens before anything is stored, so you are only billed for reviews that pass your filters and land in the dataset.

**Do I need a Google account or API key?**
No. There is no login, no API key, and no quota. The scraper works out of the box through a residential proxy.

**Are developer replies always included?**
Developer replies are captured whenever they exist on the review. Many reviews have no reply, in which case `replyText` and `replyDate` are `null` — the scraper returns whatever Google Play publicly shows.

### Integrations

Connect the Actor to the tools you already use through Apify integrations:

- **Google Play reviews → Google Sheets** — auto-append each run's reviews for ASO tracking and collaborative analysis.
- **Google Play reviews → Slack / Discord** — get alerted the instant a new critical review appears.
- **Google Play reviews → Make / Zapier** — push reviews into a CRM, support tickets, or an alert workflow.
- **Google Play reviews → BigQuery / Snowflake** — warehouse reviews via Airbyte for large-scale sentiment and theme analysis.
- **Scheduled runs & webhooks** — run daily to monitor rating drivers and developer replies, or POST results on completion.

### Use with AI agents via MCP

The output is flat, HTML-free JSON with a stable schema, which makes it easy to wire into LLM pipelines and autonomous agents. Run the Actor from any MCP-compatible client or agent framework through the Apify API, then feed the review rows straight into a model for theme clustering, sentiment scoring, or automated competitor summaries — no pagination or parsing logic on your side.

### Related scrapers

- [App Store Reviews Scraper](https://apify.com/datascoutlab/appstore-reviews-scraper) — the iOS counterpart; pair the two for full cross-platform review coverage.
- [YouTube Outlier Finder](https://apify.com/datascoutlab/youtube-outlier-finder) — surface breakout videos on small and new channels before a topic goes mainstream.
- [Google Trends Scraper](https://apify.com/datascoutlab/google-trends-reliable) — reliable interest-over-time data for any search term.
- [Telegram Channel Scraper](https://apify.com/datascoutlab/telegram-channels-scraper) — messages, views, and keyword search across public Telegram channels.

### Disclaimer

This Actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Google**. Google Play is a trademark of Google LLC. The scraper collects only publicly available data. You are responsible for using it in compliance with Google's Terms of Service, applicable intellectual-property rights, and privacy regulations such as GDPR and CCPA.

### SEO Keywords

google play reviews scraper, google play scraper, scrape google play reviews, android app reviews scraper, google play store reviews, play store review scraper, extract google play reviews, google play reviews api, google play reviews api alternative, download google play reviews, google play reviews csv, app reviews scraper, android review scraper, competitor app reviews, aso review analysis, app sentiment analysis, developer replies scraper, google play reviews export, scrape play store by country, google play data extraction

# Actor input Schema

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

Paste Google Play URLs (e.g. `https://play.google.com/store/apps/details?id=com.openai.chatgpt`) or package names (e.g. `com.openai.chatgpt`). Mix freely.

## `countries` (type: `array`):

ISO country codes of Play Store storefronts — e.g. `us`, `gb`, `de`, `br`, `in`. Each country is scraped separately.

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

Upper limit of reviews collected per app per country. Google Play exposes deep history — thousands per app. You are billed per review collected.

## `minRating` (type: `string`):

Keep reviews rated at least this many stars.

## `maxRating` (type: `string`):

Keep reviews rated at most this many stars. Tip: set to ★★★ 3 to collect only critical reviews — instant competitor pain-point research.

## `keyword` (type: `string`):

Only keep reviews mentioning this word or phrase in the title or text (case-insensitive). Examples: `subscription`, `crash`, `ads`, `refund`. Leave empty to collect everything.

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

Review language (ISO 639-1), e.g. `en`, `de`, `ja`.

## `sort` (type: `string`):

Order of collection. Newest = monitoring; Helpfulness = the reviews users actually see first.

## Actor input object example

```json
{
  "appIds": [
    "https://play.google.com/store/apps/details?id=com.openai.chatgpt"
  ],
  "countries": [
    "us"
  ],
  "maxReviewsPerApp": 100,
  "minRating": "1",
  "maxRating": "5",
  "language": "en",
  "sort": "newest"
}
```

# 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 = {
    "appIds": [
        "https://play.google.com/store/apps/details?id=com.openai.chatgpt"
    ],
    "countries": [
        "us"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("datascoutlab/googleplay-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "appIds": ["https://play.google.com/store/apps/details?id=com.openai.chatgpt"],
    "countries": ["us"],
}

# Run the Actor and wait for it to finish
run = client.actor("datascoutlab/googleplay-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "appIds": [
    "https://play.google.com/store/apps/details?id=com.openai.chatgpt"
  ],
  "countries": [
    "us"
  ]
}' |
apify call datascoutlab/googleplay-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Play Reviews Scraper — Any Country, Filters, No API Key",
        "description": "Get Google Play reviews for any Android app in any country — with developer replies, thumbs-up counts and install stats. Filter by stars & keywords to pull only critical reviews for competitor research, ASO and sentiment analysis. No API key, no login. Clean rows for Sheets, LLMs & AI agents.",
        "version": "1.0",
        "x-build-id": "1wc3nPwg77ivf6OcY"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/datascoutlab~googleplay-reviews-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-datascoutlab-googleplay-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/datascoutlab~googleplay-reviews-scraper/runs": {
            "post": {
                "operationId": "runs-sync-datascoutlab-googleplay-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/datascoutlab~googleplay-reviews-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-datascoutlab-googleplay-reviews-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "appIds"
                ],
                "properties": {
                    "appIds": {
                        "title": "Apps",
                        "type": "array",
                        "description": "Paste Google Play URLs (e.g. `https://play.google.com/store/apps/details?id=com.openai.chatgpt`) or package names (e.g. `com.openai.chatgpt`). Mix freely.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "countries": {
                        "title": "Country storefronts",
                        "type": "array",
                        "description": "ISO country codes of Play Store storefronts — e.g. `us`, `gb`, `de`, `br`, `in`. Each country is scraped separately.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxReviewsPerApp": {
                        "title": "Max reviews per app per country",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Upper limit of reviews collected per app per country. Google Play exposes deep history — thousands per app. You are billed per review collected.",
                        "default": 100
                    },
                    "minRating": {
                        "title": "Min rating",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Keep reviews rated at least this many stars.",
                        "default": "1"
                    },
                    "maxRating": {
                        "title": "Max rating",
                        "enum": [
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ],
                        "type": "string",
                        "description": "Keep reviews rated at most this many stars. Tip: set to ★★★ 3 to collect only critical reviews — instant competitor pain-point research.",
                        "default": "5"
                    },
                    "keyword": {
                        "title": "Keyword filter",
                        "type": "string",
                        "description": "Only keep reviews mentioning this word or phrase in the title or text (case-insensitive). Examples: `subscription`, `crash`, `ads`, `refund`. Leave empty to collect everything."
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Review language (ISO 639-1), e.g. `en`, `de`, `ja`.",
                        "default": "en"
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "newest",
                            "rating",
                            "helpfulness"
                        ],
                        "type": "string",
                        "description": "Order of collection. Newest = monitoring; Helpfulness = the reviews users actually see first.",
                        "default": "newest"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
