# Magnit, Metro, M.Video, Dixy, Globus, Kuper Scraper (`isolovyev/ru-retail-chains-scraper`) Actor

Scrape 8 Russian retail chains in one schema: price, old price, brand, rating, store. Grocery, electronics and furniture compared side by side.

- **URL**: https://apify.com/isolovyev/ru-retail-chains-scraper.md
- **Developed by:** [Ivan Solovyev](https://apify.com/isolovyev) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 🏪 Russian Retail Chains Scraper: 8 chains in one schema

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#EEF2FF;border:1px solid #C7D2FE;border-top:4px solid #4F46E5;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1E1B4B;line-height:1.3">Eight Russian retail chains, one schema, one comparable table.</span><br>
<span style="font-size:15px;color:#4B5563;line-height:1.6">Search products across Kuper, Magnit, M.Video, Metro, Dixy, Globus and more, and get every chain back in the same fields, so prices line up in one table without manual reconciliation. The store stays on every row, because in Russian retail the same product costs different amounts in different physical stores.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">🏪 Eight chains</span><br>
<span style="font-size:12px;color:#57534E">Kuper, Magnit, M.Video, Metro, RBT.ru, Dixy, Globus and Askona in one run</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">🧾 Unified schema</span><br>
<span style="font-size:12px;color:#57534E">Identical fields for every chain, so all rows stack into a single table</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">📍 Price per store</span><br>
<span style="font-size:12px;color:#57534E">Every row keeps its store, and Russian retail prices really differ by store</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">🛡️ Partial-safe</span><br>
<span style="font-size:12px;color:#57534E">One chain down and the run still returns the others, with the gap recorded</span>
</td>
</tr>
</table>

Built for price monitoring, assortment tracking and shelf analysis on the Russian market, where the
big marketplaces are only part of the picture and a large share of sales sits with grocery and
electronics chains.

### What it covers

| Chain | Segment | What you get |
|---|---|---|
| **Kuper** | delivery service fronting many grocery chains | product, price, availability, **per store** |
| **Magnit** | grocery network | product, price, promo flags |
| **M.Video** | electronics retailer | product, price, brand, rating |
| **Metro** | wholesale, per warehouse store | product, price, **prices differ by store** |
| **RBT.ru** | electronics retailer | product, price, rating, **per city** |
| **Dixy** | grocery network | product, price, promo badges |
| **Globus** | hypermarket chain | product, price, barcode |
| **Askona** | mattresses and furniture | product, price, rating, reviews |

### Why per store matters

In Russian retail the same product carries **different prices in different physical stores**.
A number without a store attached is not comparable. This Actor keeps the store on every row,
and for Kuper you can pass several store IDs to compare one product across locations.

### Input

| Field | Description |
|---|---|
| `queries` | Search terms. Each term is run against every selected chain |
| `platforms` | Which chains to query. Defaults to all eight |
| `maxItemsPerQuery` | Upper bound per query and chain |
| `kuperStoreIds` | Optional Kuper store IDs. Leave empty for the default Moscow store |
| `metroStoreId` | Metro warehouse store. Prices differ between stores |
| `rbtRegionId` | City for RBT.ru. Leave empty for the default region |
| `minPrice` / `maxPrice` | Optional price filters |
| `proxyConfiguration` | Residential proxy, country RU. Russian retail serves its catalogue to Russian addresses |

### Output

One row per product, same fields for every chain:

`platform`, `query`, `productId`, `title`, `price`, `oldPrice`, `currency`, `url`, `brand`,
`inStock`, `rating`, `storeId`, `storeName`, `scrapedAt`.

Chains that host third-party sellers additionally fill `sellerName`, `sellerInn`, `sellerOgrn`.

### Quick start

```json
{
  "queries": ["молоко", "кофе"],
  "platforms": ["kuper", "magnit", "globus"],
  "maxItemsPerQuery": 50
}
````

Compare one product across several physical stores:

```json
{
  "queries": ["молоко Простоквашино"],
  "platforms": ["kuper"],
  "kuperStoreIds": ["983", "1024"],
  "maxItemsPerQuery": 30
}
```

### Graceful degradation

If one chain does not answer, the run still finishes and returns everything the other chains
gave. The failure is recorded in `sourceErrors` on the emitted rows, and the run log names the
chains that returned nothing, so a partial result is never mistaken for a complete one.

### Scope notes

- Metro and RBT.ru return per store and per city results, and those really differ. Pass the
  store or region explicitly when you compare prices, otherwise you get the default location.
- Globus serves one price list across stores, so a per store breakdown is not available there.

### Tips

- Chains paginate differently, so `maxItemsPerQuery` caps the run rather than guaranteeing an
  exact count. Compare row counts per chain rather than expecting them to match.
- Broad terms return broad results. For price tracking of specific goods, use the full product
  name as it appears on the shelf label.
- Billed per result plus platform usage. Current price is shown in the Pricing section.

### RU / На русском

Актор ищет товары по российским розничным сетям и приводит выдачу к единой схеме, чтобы цены
разных сетей сравнивались в одной таблице. Сейчас подключены восемь сетей: Купер, Магнит, М.Видео, Метро, RBT.ru,
Дикси, Глобус и Askona.

Важная особенность российской розницы: **цена одного и того же товара различается от магазина
к магазину**. Поэтому магазин проставляется в каждой строке, а для Купера можно передать
несколько магазинов и сравнить один товар между точками.

Сбой одной сети не отменяет прогон: остальные отдают данные, а несобранное видно в поле
`sourceErrors` и в журнале прогона.

***

### 🔗 Все наши акторы для данных по России, Казахстану и СНГ

<span style="font-size:14px;color:#4B5563">Одна линейка для маркетплейсов, розничных сетей, госзакупок и проверки контрагентов - соседний актор открывается одним кликом по карточке.</span>

<table width="100%">
<tr>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-top:3px solid #4F46E5;border-radius:10px 0 0 10px;vertical-align:top">
<a href="https://apify.com/isolovyev/marketplace-seller-leads" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🛍️ Лиды продавцов маркетплейсов</span><br>
<span style="font-size:11px;color:#57534E">продавцы WB / Ozon / Яндекс.Маркет / Kaspi с ИНН и ОГРН</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/zakupki-tender-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">📄 Тендеры 44-ФЗ / 223-ФЗ</span><br>
<span style="font-size:11px;color:#57534E">госзакупки, нацрежим, реестр российского ПО</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-counterparty-check" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🔍 Проверка контрагента по ИНН</span><br>
<span style="font-size:11px;color:#57534E">5 источников, скоринг риска</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;border-radius:0 10px 10px 0;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-software-registry-check" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🏛️ Реестр российского ПО</span><br>
<span style="font-size:11px;color:#57534E">проверка по ИНН + досье заявителя</span>
</a>
</td>
</tr>
<tr>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-top:3px solid #4F46E5;border-radius:10px 0 0 10px;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-marketplaces-price-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">📈 Цены на маркетплейсах</span><br>
<span style="font-size:11px;color:#57534E">WB / Ozon / Яндекс.Маркет / Avito, трекинг цены</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/kaspi-price-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🇰🇿 Цены и позиции на Kaspi.kz</span><br>
<span style="font-size:11px;color:#57534E">Казахстан, позиция в выдаче и цена</span>
</a>
</td>
<td style="padding:14px 12px;width:25%;background:#EEF2FF;border:1px solid #C7D2FE;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<span style="font-size:13px;font-weight:800;color:#1E1B4B">🏪 Розничные сети РФ</span><br>
<span style="font-size:11px;color:#57534E">Магнит, Метро, М.Видео, Дикси, Глобус, Купер в единой схеме</span><br>
<span style="font-size:10px;font-weight:800;color:#4F46E5;letter-spacing:0.5px">● ВЫ ЗДЕСЬ</span>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;border-radius:0 10px 10px 0;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-retail-chains-extended" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🛒 Ашан: цены и остатки</span><br>
<span style="font-size:11px;color:#57534E">цена, старая цена, остаток в штуках, рейтинг</span>
</a>
</td>
</tr>
</table>

# Actor input Schema

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

Product search terms. Each term is run against every selected chain, so the results can be compared side by side.

## `platforms` (type: `array`):

Which retail chains to query. Metro prices are per warehouse store, RBT.ru results depend on the selected city.

## `maxItemsPerQuery` (type: `integer`):

Upper bound on items collected per query and chain. Chains paginate differently, so this caps the run rather than guaranteeing an exact count.

## `kuperStoreIds` (type: `array`):

Prices differ between physical stores. Leave empty to use the first store returned for Moscow, or pass store IDs to compare the same product across locations.

## `minPrice` (type: `integer`):

Drop items priced below this value.

## `maxPrice` (type: `integer`):

Drop items priced above this value.

## `proxyConfiguration` (type: `object`):

Apify Residential proxy with country RU. Russian retail sites serve their catalogue to Russian addresses.

## `metroStoreId` (type: `integer`):

Metro prices differ between stores. Defaults to store 10.

## `rbtRegionId` (type: `integer`):

City for RBT.ru. Leave empty for the default region.

## Actor input object example

```json
{
  "queries": [
    "молоко",
    "чайник"
  ],
  "platforms": [
    "magnit"
  ],
  "maxItemsPerQuery": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  },
  "metroStoreId": 10
}
```

# 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": [
        "молоко"
    ],
    "platforms": [
        "magnit"
    ],
    "maxItemsPerQuery": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "RU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("isolovyev/ru-retail-chains-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 = {
    "queries": ["молоко"],
    "platforms": ["magnit"],
    "maxItemsPerQuery": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "RU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("isolovyev/ru-retail-chains-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 '{
  "queries": [
    "молоко"
  ],
  "platforms": [
    "magnit"
  ],
  "maxItemsPerQuery": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}' |
apify call isolovyev/ru-retail-chains-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Magnit, Metro, M.Video, Dixy, Globus, Kuper Scraper",
        "description": "Scrape 8 Russian retail chains in one schema: price, old price, brand, rating, store. Grocery, electronics and furniture compared side by side.",
        "version": "0.1",
        "x-build-id": "nOMcBj33heLRoWgZe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/isolovyev~ru-retail-chains-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-isolovyev-ru-retail-chains-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/isolovyev~ru-retail-chains-scraper/runs": {
            "post": {
                "operationId": "runs-sync-isolovyev-ru-retail-chains-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/isolovyev~ru-retail-chains-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-isolovyev-ru-retail-chains-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": {
                    "queries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Product search terms. Each term is run against every selected chain, so the results can be compared side by side.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "platforms": {
                        "title": "Chains",
                        "type": "array",
                        "description": "Which retail chains to query. Metro prices are per warehouse store, RBT.ru results depend on the selected city.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "kuper",
                                "magnit",
                                "mvideo",
                                "metro",
                                "rbt",
                                "dixy",
                                "globus",
                                "askona"
                            ],
                            "enumTitles": [
                                "Kuper (delivery, many chains)",
                                "Magnit (grocery)",
                                "M.Video (electronics)",
                                "Metro (wholesale, per store)",
                                "RBT.ru (electronics)",
                                "Dixy (grocery)",
                                "Globus (hypermarket)",
                                "Askona (mattresses, furniture)"
                            ]
                        },
                        "default": [
                            "kuper",
                            "magnit",
                            "mvideo",
                            "metro",
                            "rbt",
                            "dixy",
                            "globus",
                            "askona"
                        ]
                    },
                    "maxItemsPerQuery": {
                        "title": "Max items per query",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Upper bound on items collected per query and chain. Chains paginate differently, so this caps the run rather than guaranteeing an exact count.",
                        "default": 50
                    },
                    "kuperStoreIds": {
                        "title": "Kuper store IDs (optional)",
                        "type": "array",
                        "description": "Prices differ between physical stores. Leave empty to use the first store returned for Moscow, or pass store IDs to compare the same product across locations.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "minPrice": {
                        "title": "Min price",
                        "type": "integer",
                        "description": "Drop items priced below this value."
                    },
                    "maxPrice": {
                        "title": "Max price",
                        "type": "integer",
                        "description": "Drop items priced above this value."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Residential proxy with country RU. Russian retail sites serve their catalogue to Russian addresses.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "RU"
                        }
                    },
                    "metroStoreId": {
                        "title": "Metro store ID",
                        "type": "integer",
                        "description": "Metro prices differ between stores. Defaults to store 10.",
                        "default": 10
                    },
                    "rbtRegionId": {
                        "title": "RBT.ru region ID",
                        "type": "integer",
                        "description": "City for RBT.ru. Leave empty for the default region."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
