# Apple App Store Scraper (`sian.agency/apple-app-store-scraper`) Actor

Scrape the Apple App Store into clean datasets — search apps by keyword or URL, or look up by ID for ratings, pricing, category, version, screenshots and customer reviews. Fast overview or full detail mode. Clean JSON/CSV, no code, no account.

- **URL**: https://apify.com/sian.agency/apple-app-store-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** E-commerce, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.63 / 1,000 app extracted (search)s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Apple App Store Scraper — Apps, Ratings, Pricing & Reviews 🍎

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Instagram AI Transcript](https://img.shields.io/badge/Store-Instagram%20AI%20Transcript-E4405F)](https://apify.com/sian.agency/instagram-ai-transcript-extractor?fpr=sian) [![Taobao Tmall Scraper](https://img.shields.io/badge/Store-Taobao%20Tmall%20Scraper-FF4F00)](https://apify.com/sian.agency/taobao-tmall-product-scraper?fpr=sian) [![Smart Idealista Scraper](https://img.shields.io/badge/Store-Smart%20Idealista%20Scraper-E60023)](https://apify.com/sian.agency/fastest-idealista-scarper?fpr=sian)

#### 🎉 Search the App Store or look up any app by ID — full metadata, ratings, pricing and customer reviews in one clean dataset
##### Built for ASO specialists, app marketers, competitor analysts and market researchers

---

### 📋 Overview

**Need App Store data without the hassle of building your own pipeline?** This actor turns the Apple App Store into clean, structured datasets — search by keyword, paste a search URL, or look up apps by ID. Every record comes back with ratings, pricing, category, version history, screenshots and (in detail mode) real customer reviews.

**Why teams choose this actor:**
- ✅ **Full app records, not snippets**: 40+ fields per app — ratings, pricing, category, version, size, languages, screenshots and more
- ⚡ **Fast overview mode**: each search result already carries the complete app object, so a single query returns dozens of full records
- 🎯 **Real customer reviews**: detail mode pulls reviews (rating, title, body, author, version, helpful votes) — up to ~500 per app
- 💰 **Transparent pay-per-result**: you're only charged once your input is validated — no charge for misconfigured runs
- 🌐 **Any storefront**: US, GB, DE, JP and every other Apple storefront, with the correct local pricing and language
- ✨ **No account, no API key, no code**: paste a keyword or ID and click Start

### ✨ Features

- 🔍 **Keyword search**: sweep a category or topic across the whole App Store
- 🔗 **Search-URL mode**: paste an `itunes.apple.com/search?...` URL and your filters are honored verbatim
- 🆔 **Lookup by ID**: feed numeric IDs or App Store URLs for precise, full-detail records
- 💬 **Customer reviews**: most-recent or most-helpful, multiple pages per app
- 📱 **Platform filter**: iPhone, iPad, Mac or Apple TV catalogs
- 🗂️ **Category & language filters**: narrow by genre ID or result language
- 🖼️ **Media included**: app icon, iPhone & iPad screenshots, deduplicated image set
- 📄 **Run report**: an HTML summary with a sample table for every run
- 📦 **Clean JSON & CSV**: ready for Sheets, BI tools, or your database

### 🎬 Quick Start

Pick a mode, give it a keyword or an app ID, and click **Start**. Results stream into the dataset and can be exported as JSON, CSV or Excel.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~apple-app-store-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"scrapeMode": "overview", "searchMode": "byKeyword", "terms": ["meditation"], "country": "US"}'
````

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Choose a mode

Pick **Overview** for fast App Store search, or **Detail** to look up specific apps by ID and pull customer reviews.

#### Step 2: Provide your input

Type keywords, paste a search URL, or paste app IDs / App Store URLs. Set your storefront country and result cap.

#### Step 3: Run and export

Click **Start**. Download your results as JSON, CSV or Excel, or pull them straight from the Apify API.

### 📊 Output Data

Each app record includes:

| Field | Description |
|---|---|
| `appTitle` | App display name |
| `id` | Apple App Store numeric ID |
| `url` | Public App Store listing URL |
| `developer` / `artist_id` | Developer name and ID |
| `bundle_id` | App bundle identifier |
| `category` / `genres` / `genre_ids` | App Store categories |
| `price` / `price_formatted` / `currency` / `is_free` | Pricing in the storefront currency |
| `rating` / `rating_count` | Average rating and total ratings |
| `rating_current_version` / `rating_count_current_version` | Current-version ratings |
| `version` / `release_date` / `current_version_release_date` | Version and release dates |
| `release_notes` | What's new in the current version |
| `size_bytes` / `size_mb` / `min_os` | Download size and minimum OS |
| `content_rating` / `advisories` / `languages` | Age rating, advisories, supported languages |
| `description` | Full App Store description |
| `artwork_url` / `screenshots` / `ipad_screenshots` / `images` | App icon and screenshots |
| `reviews` / `review_count` | Customer reviews (detail mode) |

### 💡 Use Cases

- **App Store Optimization (ASO)**: track keyword rankings, categories and ratings over time
- **Competitor analysis**: monitor rivals' versions, pricing, ratings and review sentiment
- **Market & category research**: size up a vertical by pulling every top app in a genre
- **Review mining**: collect customer reviews for sentiment analysis and feature requests
- **Pricing intelligence**: compare prices across storefronts and competitors
- **Lead generation**: build lists of developers and apps in a niche

### ❓ FAQ

**Q: Do I need an Apple account or API key?**
A: No. Just provide a keyword or app ID and click Start.

**Q: Which storefronts are supported?**
A: All Apple storefronts — set the 2-letter `country` code (US, GB, DE, JP, …) for local pricing and language.

**Q: How many reviews can I get per app?**
A: Up to roughly 500 (about 10 pages of 50), sorted most-recent or most-helpful.

**Q: Is this legal?**
A: We only extract publicly available data. See the legal section below.

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data (for example, a reviewer's public display name). Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### 🛡️ Trademark Disclaimer

Apple, App Store, iPhone, iPad, Mac and Apple TV are trademarks of Apple Inc., registered in the U.S. and other countries. This actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Apple Inc.** It only accesses publicly available App Store data. All product names, logos and brands are the property of their respective owners.

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check the [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `scrapeMode` (type: `string`):

🧭 **CHOOSE YOUR DEPTH:**

- **Overview** — fast App Store search. Each result already carries the full app record (ratings, pricing, category, version, screenshots). Best for category sweeps & ASO keyword research.
- **Detail** — look up apps by ID for the complete record plus optional **customer reviews**. Best for deep competitor or review analysis.

## `searchMode` (type: `string`):

🎯 **HOW DO YOU WANT TO FIND APPS?**

- **By keyword** — type one or more search terms (overview, or detail-via-discovery).
- **By search URL** — paste an `itunes.apple.com/search?...` URL with your own filters.
- **By app ID** — paste numeric IDs or App Store URLs (detail mode only).

## `terms` (type: `array`):

🔍 **SEARCH KEYWORDS:** one or more App Store search terms (e.g. `meditation`, `habit tracker`, `budget`).

💡 **TIP:** Each keyword runs as its own search. Use the **Bulk edit** button to paste many, one per line.

## `searchUrls` (type: `array`):

🔗 **PASTE SEARCH URLs:** one or more `itunes.apple.com/search?...` URLs. Any filters in the query string (genre, country, limit, entity) are honored verbatim.

💡 **TIP:** Only used when **Input type = By search URL**.

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

🆔 **DETAIL LOOKUP:** numeric App Store IDs (e.g. `284882215`) or full `apps.apple.com/...id...` URLs. Each is looked up for the full record (and reviews if enabled).

💡 **TIP:** Only used when **Input type = By app ID** (detail mode).

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

🌐 **STOREFRONT:** 2-letter country code (e.g. `US`, `GB`, `DE`, `JP`). Controls language, pricing and which apps appear.

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

🔢 **RUN CAP:** maximum apps to extract.

🎁 **TIER LIMITS:**

- **FREE users:** up to 25 apps per run
- **PAID users:** unlimited

💡 Lower this to keep test runs cheap.

## `entity` (type: `string`):

📱 **PLATFORM FILTER:** which App Store catalog to search.

## `genreId` (type: `string`):

🗂️ **CATEGORY FILTER (optional):** numeric App Store genre ID to narrow results (e.g. `6013` = Health & Fitness, `6017` = Education).

## `lang` (type: `string`):

🈯 **LANGUAGE (optional):** result language code (e.g. `en_us`, `de_de`). Leave blank to use the storefront default.

## `includeReviews` (type: `boolean`):

💬 **REVIEWS (detail mode):** also pull customer reviews for each app (rating, title, body, author, version, helpful votes).

## `reviewPages` (type: `integer`):

📄 **REVIEW DEPTH:** number of review pages per app (≈50 reviews each, Apple caps at ~10 pages / ~500 reviews).

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

↕️ **REVIEW ORDER:** how to sort the reviews that are returned.

## Actor input object example

```json
{
  "scrapeMode": "overview",
  "searchMode": "byKeyword",
  "terms": [
    "meditation"
  ],
  "searchUrls": [],
  "appIds": [],
  "country": "US",
  "maxResults": 100,
  "entity": "software",
  "genreId": "",
  "lang": "",
  "includeReviews": false,
  "reviewPages": 2,
  "reviewSort": "mostrecent"
}
```

# Actor output Schema

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

Extracted App Store apps with ratings, pricing, category, version, screenshots and reviews.

## `scrapingSummary` (type: `string`):

HTML summary of the run — apps extracted, failures, duration and a sample table.

# 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 = {
    "scrapeMode": "overview",
    "searchMode": "byKeyword",
    "terms": [
        "meditation"
    ],
    "searchUrls": [],
    "appIds": [],
    "country": "US",
    "maxResults": 100,
    "entity": "software",
    "genreId": "",
    "lang": "",
    "reviewPages": 2,
    "reviewSort": "mostrecent"
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/apple-app-store-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 = {
    "scrapeMode": "overview",
    "searchMode": "byKeyword",
    "terms": ["meditation"],
    "searchUrls": [],
    "appIds": [],
    "country": "US",
    "maxResults": 100,
    "entity": "software",
    "genreId": "",
    "lang": "",
    "reviewPages": 2,
    "reviewSort": "mostrecent",
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/apple-app-store-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 '{
  "scrapeMode": "overview",
  "searchMode": "byKeyword",
  "terms": [
    "meditation"
  ],
  "searchUrls": [],
  "appIds": [],
  "country": "US",
  "maxResults": 100,
  "entity": "software",
  "genreId": "",
  "lang": "",
  "reviewPages": 2,
  "reviewSort": "mostrecent"
}' |
apify call sian.agency/apple-app-store-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Apple App Store Scraper",
        "description": "Scrape the Apple App Store into clean datasets — search apps by keyword or URL, or look up by ID for ratings, pricing, category, version, screenshots and customer reviews. Fast overview or full detail mode. Clean JSON/CSV, no code, no account.",
        "version": "1.0",
        "x-build-id": "hhMjwGQWLCyfVjDPu"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~apple-app-store-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-apple-app-store-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/sian.agency~apple-app-store-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-apple-app-store-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/sian.agency~apple-app-store-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-apple-app-store-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",
                "properties": {
                    "scrapeMode": {
                        "title": "🧭 Scrape mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "🧭 **CHOOSE YOUR DEPTH:**\n- **Overview** — fast App Store search. Each result already carries the full app record (ratings, pricing, category, version, screenshots). Best for category sweeps & ASO keyword research.\n- **Detail** — look up apps by ID for the complete record plus optional **customer reviews**. Best for deep competitor or review analysis.",
                        "default": "overview"
                    },
                    "searchMode": {
                        "title": "🎯 Input type",
                        "enum": [
                            "byKeyword",
                            "bySearchUrl",
                            "byAppId"
                        ],
                        "type": "string",
                        "description": "🎯 **HOW DO YOU WANT TO FIND APPS?**\n- **By keyword** — type one or more search terms (overview, or detail-via-discovery).\n- **By search URL** — paste an `itunes.apple.com/search?...` URL with your own filters.\n- **By app ID** — paste numeric IDs or App Store URLs (detail mode only).",
                        "default": "byKeyword"
                    },
                    "terms": {
                        "title": "🔍 Keywords",
                        "type": "array",
                        "description": "🔍 **SEARCH KEYWORDS:** one or more App Store search terms (e.g. `meditation`, `habit tracker`, `budget`).\n\n💡 **TIP:** Each keyword runs as its own search. Use the **Bulk edit** button to paste many, one per line.",
                        "default": [
                            "meditation"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchUrls": {
                        "title": "🔗 Search URLs",
                        "type": "array",
                        "description": "🔗 **PASTE SEARCH URLs:** one or more `itunes.apple.com/search?...` URLs. Any filters in the query string (genre, country, limit, entity) are honored verbatim.\n\n💡 **TIP:** Only used when **Input type = By search URL**.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "appIds": {
                        "title": "🆔 App IDs or App Store URLs",
                        "type": "array",
                        "description": "🆔 **DETAIL LOOKUP:** numeric App Store IDs (e.g. `284882215`) or full `apps.apple.com/...id...` URLs. Each is looked up for the full record (and reviews if enabled).\n\n💡 **TIP:** Only used when **Input type = By app ID** (detail mode).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "🌐 Storefront country",
                        "type": "string",
                        "description": "🌐 **STOREFRONT:** 2-letter country code (e.g. `US`, `GB`, `DE`, `JP`). Controls language, pricing and which apps appear.",
                        "default": "US"
                    },
                    "maxResults": {
                        "title": "🔢 Max apps per run",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **RUN CAP:** maximum apps to extract.\n\n🎁 **TIER LIMITS:**\n- **FREE users:** up to 25 apps per run\n- **PAID users:** unlimited\n\n💡 Lower this to keep test runs cheap.",
                        "default": 100
                    },
                    "entity": {
                        "title": "📱 Platform",
                        "enum": [
                            "software",
                            "iPadSoftware",
                            "macSoftware",
                            "tvSoftware"
                        ],
                        "type": "string",
                        "description": "📱 **PLATFORM FILTER:** which App Store catalog to search.",
                        "default": "software"
                    },
                    "genreId": {
                        "title": "🗂️ Category (genre) ID",
                        "type": "string",
                        "description": "🗂️ **CATEGORY FILTER (optional):** numeric App Store genre ID to narrow results (e.g. `6013` = Health & Fitness, `6017` = Education).",
                        "default": ""
                    },
                    "lang": {
                        "title": "🈯 Result language",
                        "type": "string",
                        "description": "🈯 **LANGUAGE (optional):** result language code (e.g. `en_us`, `de_de`). Leave blank to use the storefront default.",
                        "default": ""
                    },
                    "includeReviews": {
                        "title": "💬 Include customer reviews",
                        "type": "boolean",
                        "description": "💬 **REVIEWS (detail mode):** also pull customer reviews for each app (rating, title, body, author, version, helpful votes).",
                        "default": false
                    },
                    "reviewPages": {
                        "title": "📄 Review pages per app",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "📄 **REVIEW DEPTH:** number of review pages per app (≈50 reviews each, Apple caps at ~10 pages / ~500 reviews).",
                        "default": 2
                    },
                    "reviewSort": {
                        "title": "↕️ Review sort",
                        "enum": [
                            "mostrecent",
                            "mosthelpful"
                        ],
                        "type": "string",
                        "description": "↕️ **REVIEW ORDER:** how to sort the reviews that are returned.",
                        "default": "mostrecent"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
