# Mahally Price Monitor: مراقبة أسعار محلي (Saudi) (`getascraper/mahally-price-monitor`) Actor

Scheduled price and stock change monitor for Mahally (محلي), Saudi Arabia's local-store marketplace. Alerts on price drops, new listings, and back-in-stock items by keyword or store.

- **URL**: https://apify.com/getascraper/mahally-price-monitor.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (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 $0.53 / 1,000 price changes

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## 💰 Mahally Price Monitor: مراقبة أسعار محلي (Saudi Arabia)

<table width="100%">
<tr>
<td colspan="2" style="padding:14px 18px;background:#E7F6EF;border-top:3px solid #0E9F6E;border-left:1px solid #D6D3D1;border-right:1px solid #D6D3D1;border-radius:8px 8px 0 0">
<span style="font-size:16px;font-weight:700;color:#1C1917">Track only the Mahally prices that actually moved.</span> <span style="font-size:15px;color:#57534E">Scheduled change alerts for محلي, Saudi Arabia's local-store marketplace: price drops, new listings, and back-in-stock items by keyword or store.</span>
</td>
</tr>
<tr>
<td colspan="2" style="padding:10px 14px;background:#0B7A54;border-left:1px solid #D6D3D1;border-right:1px solid #D6D3D1">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">MAHALLY SUITE</span>
<span style="color:#C7EBDD;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Two tools for محلي: one full catalog export, one change monitor</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border-left:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;vertical-align:top;width:50%;background:#FFFFFF;border-radius:0 0 0 8px">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-snZ8W7iacqQ7BqT9v-UBWHvIiYYd-images_%2813%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px"> &nbsp;<a href="https://apify.com/getascraper/mahally-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Mahally&nbsp;Scraper</a></span><br>
<span style="color:#57534E;font-size:11px">Full catalog: products, stores, specials, categories</span>
</td>
<td style="padding:10px 12px;border-left:1px solid #D6D3D1;border-right:1px solid #D6D3D1;border-bottom:1px solid #D6D3D1;vertical-align:top;width:50%;background:#E7F6EF;border-radius:0 0 8px 0">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-snZ8W7iacqQ7BqT9v-UBWHvIiYYd-images_%2813%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px"> &nbsp;<a href="https://apify.com/getascraper/mahally-price-monitor" style="color:#0B7A54;text-decoration:none;font-weight:700;font-size:13px">Mahally&nbsp;Price&nbsp;Monitor</a></span><br>
<span style="color:#0B7A54;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
</tr>
</table>

**Know the moment a Mahally price drops, before the deal is gone.** This Actor watches product prices and stock on محلي (Mahally), Saudi Arabia's marketplace for local Salla stores, and returns only what changed since your last check. It catches price drops, new listings, and back in stock items, and it is built for scheduling. Point it at a search term or a store once, then let it run as your own مراقبة أسعار محلي. No manual refreshing, no full re-download every time, just the products that moved.

### 🔍 What does Mahally Price Monitor do?

Give it Arabic or English search keywords, or Mahally store IDs to watch every product from one seller. On each scheduled run, it checks the marketplace and returns only products whose price or stock status changed since the previous run, not a full re-dump of every listing. It tracks the current price, sale price, list price, discount percentage, and in-stock status for every product. Product names come back in both Arabic and English, so nothing gets lost when you export the results.

### 💡 Why use it?

"I am a reseller sourcing discounted goods in Saudi Arabia, so that I know the moment a price on my watchlist drops low enough to flip."

"I am a brand manager whose products sell through Mahally stores, so that I can confirm my prices match what was agreed and catch unauthorized discounting."

"I am an analyst tracking competitor pricing across local Saudi stores, so that I can report on discount trends without checking dozens of stores by hand."

"I am a deal-hunting shopper, so that I get alerted the moment items on my list go on sale instead of refreshing the page myself."

### 🚀 How to use it

1. Add search keywords in Arabic or English, or paste Mahally store IDs to watch every product from a store.
2. Keep "only emit changed items" turned on so every run returns just what moved.
3. Set a schedule in Apify Console (Schedules tab) for daily or hourly checks.
4. Connect the output to Google Sheets, Slack, or a dashboard through Apify integrations, or download it directly.

### ⚙️ Input

| Field | Type | Required | Description |
|---|---|---|---|
| `searchTerms` | array of text | No | Arabic or English keywords to track on Mahally, e.g. قهوة or coffee. |
| `storeIds` | array of text | No | Mahally store IDs to monitor all products from. Find the ID in a store URL: mahally.com/ar/stores/id/. |
| `onlyChanged` | boolean | No | When enabled, only rows whose price or stock changed since the last run are returned. |
| `maxPagesPerQuery` | integer | No | Maximum number of result pages fetched per search term or store. |
| `hitsPerQuery` | integer | No | Number of products fetched per result page. |
| `maxItems` | integer | No | Maximum number of product rows returned in total. 0 means unlimited. |
| `proxyConfiguration` | object | No | Proxy settings. The default works well since the data comes from a public product listing, not a page behind heavy protection. |

### 📦 Output

Each row is one product, with pricing, discount, store details, and change history. Download as JSON, CSV, or Excel.

```json
[
  {
    "query": "قهوة",
    "queryType": "searchTerm",
    "productId": "48213590",
    "name": "عرض قهوة مختصة",
    "nameEn": "Specialty Coffee Bundle",
    "price": 108,
    "salePrice": 108,
    "regularPrice": 140,
    "discountPercentage": 22.86,
    "hasSpecialPrice": true,
    "inStock": true,
    "status": "available",
    "storeId": "1642664758",
    "storeName": "متجر القهوة السعودي",
    "storeRating": 4.6,
    "city": "جدة",
    "categories": ["أطعمة ومشروبات", "قهوة"],
    "brandNameAr": "بن العرب",
    "brandNameEn": "Bunn Al Arab",
    "imageUrl": "https://cdn.mahally.com/products/48213590.jpg",
    "rating": 4.8,
    "storeUrl": "https://mahally.com/ar/stores/1642664758/",
    "createdAt": 1743552000000,
    "updatedAt": 1751500800000,
    "changeType": "PRICE_DROP",
    "oldPrice": 140,
    "priceDelta": -32,
    "priceDeltaPct": -22.86,
    "oldInStock": true,
    "isChanged": true,
    "scrapedAt": "2026-07-06T00:02:24.004Z"
  }
]
````

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `query` | string | The search keyword or store ID that produced this row. |
| `queryType` | string | Whether the row came from a search term or a store ID. |
| `productId` | string | Mahally product ID. |
| `name` | string | Product name in Arabic. |
| `nameEn` | string | Product name in English. |
| `price` | number | Current price shown to buyers. |
| `salePrice` | number | Sale price when a discount is active. |
| `regularPrice` | number | Original list price before any discount. |
| `discountPercentage` | number | Discount percentage off the list price. |
| `hasSpecialPrice` | boolean | Whether a discount is currently active. |
| `inStock` | boolean | Whether the product is currently available to buy. |
| `status` | string | Raw availability status from the store. |
| `storeId` | string | Mahally store ID selling this product. |
| `storeName` | string | Store name. |
| `storeRating` | number | Average customer rating of the store. |
| `city` | string | City where the store is based. |
| `categories` | array of text | Product category path. |
| `brandNameAr` | string | Product brand name in Arabic. |
| `brandNameEn` | string | Product brand name in English. |
| `imageUrl` | string | Main product image URL. |
| `rating` | number | Average customer rating of the product. |
| `storeUrl` | string | Link to the store page on Mahally. |
| `createdAt` | number | Timestamp of when the product was first listed. |
| `updatedAt` | number | Timestamp of the product's last update on Mahally. |
| `changeType` | string | Type of change detected, such as a price drop or back in stock. |
| `oldPrice` | number | Price recorded on the previous run. |
| `priceDelta` | number | Difference between current and previous price. |
| `priceDeltaPct` | number | Percentage change between current and previous price. |
| `oldInStock` | boolean | Stock status recorded on the previous run. |
| `isChanged` | boolean | Whether this row changed since the last run. |
| `scrapedAt` | string | Timestamp of when the row was collected. |

### 💰 Pricing

Pricing is pay per result. You only pay for the rows the Actor actually returns, so an empty run where nothing changed costs nothing. There are no subscriptions and no minimum spend. Schedule it daily or hourly and only pay for genuine price movement.

### ⭐ Enjoying Mahally Price Monitor?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#E7F6EF;border:1px solid #E7F6EF;border-left:5px solid #0B7A54;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Catching a Mahally price drop the moment it happens, instead of refreshing store pages by hand?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other resellers and brand managers find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0B7A54;border:1px solid #E7F6EF;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/mahally-price-monitor/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips

- On your first run, turn off "only emit changed items" once to capture a full baseline of current prices before switching it back on.
- To watch a single store, copy the numeric ID from its Mahally URL and add it under store IDs.
- Pair this Actor with Apify Schedules to build a running price history without touching a spreadsheet.
- Search in Arabic or English, whichever matches how you already think about the product.

### ❓ FAQ

##### كيف أراقب تغيّر الأسعار في محلي؟

Add your keywords or store IDs, keep "only emit changed items" on, and set a daily schedule in Apify Console. You will only see rows when a price or stock status actually moves.

##### هل يعمل البحث بالعربي والانجليزي معا؟

Yes. Search keywords can be entered in Arabic or English, and every product name is returned in both languages.

##### Does it get blocked?

No. The Actor reads Mahally's own public store and product listings, the same data shown to any visitor browsing the site.

##### How fresh is the data?

Every run reads live prices and stock status directly from Mahally at the moment it executes. Freshness depends on how often you schedule runs.

##### Do I need a Mahally account?

No. The Actor reads only public product and store listings. No login or account required.

##### Is it legal to monitor Mahally prices?

This Actor collects publicly available product and pricing data that Mahally already displays on its own pages. You are responsible for following Mahally's terms of service and any applicable data-protection laws in your jurisdiction.

### 🔗 Other actors

- [Mahally Scraper: كاشطة محلي (Products, Stores & Specials)](https://apify.com/getascraper/mahally-scraper) ↗ - exports the full Mahally product and store catalog in one run.
- [Falabella Price Monitor: Alerta de Precios (Chile, Peru, Colombia)](https://apify.com/getascraper/falabella-price-monitor) ↗ - tracks price and stock changes on Falabella across three countries.
- [Trendyol Price Monitor: Fiyat Takibi (Türkiye)](https://apify.com/getascraper/trendyol-price-monitor) ↗ - watches Trendyol listings for price drops and back-in-stock changes.
- [eMAG Price Monitor: Monitorizare Prețuri eMAG (Romania)](https://apify.com/getascraper/emag-price-monitor) ↗ - alerts on eMAG price and stock movement in Romania.
- [Kaspi Product Scraper: Kaspi Магазин (Казахстан)](https://apify.com/getascraper/kaspi-product-scraper) ↗ - exports products, prices, and sellers from Kaspi.kz.

# Actor input Schema

## `searchTerms` (type: `array`):

Arabic or English keywords to track on Mahally, e.g. قهوة or coffee

## `storeIds` (type: `array`):

Mahally store IDs to monitor all products from (find in a store URL: mahally.com/ar/stores/<id>/).

## `onlyChanged` (type: `boolean`):

When enabled, only rows whose price or stock status changed since the last run are emitted.

## `maxPagesPerQuery` (type: `integer`):

Maximum number of Algolia result pages to fetch per search term or store.

## `hitsPerQuery` (type: `integer`):

Number of products to fetch per result page.

## `maxItems` (type: `integer`):

Maximum number of product rows to emit in total (0 = unlimited).

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

Datacenter proxy is the default and works well (the data comes from a public API, not the anti-bot-protected website).

## Actor input object example

```json
{
  "onlyChanged": true,
  "maxPagesPerQuery": 5,
  "hitsPerQuery": 50,
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "onlyChanged": true,
    "maxPagesPerQuery": 5,
    "hitsPerQuery": 50,
    "maxItems": 0,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/mahally-price-monitor").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 = {
    "onlyChanged": True,
    "maxPagesPerQuery": 5,
    "hitsPerQuery": 50,
    "maxItems": 0,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/mahally-price-monitor").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 '{
  "onlyChanged": true,
  "maxPagesPerQuery": 5,
  "hitsPerQuery": 50,
  "maxItems": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/mahally-price-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/mahally-price-monitor",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mahally Price Monitor: مراقبة أسعار محلي (Saudi)",
        "description": "Scheduled price and stock change monitor for Mahally (محلي), Saudi Arabia's local-store marketplace. Alerts on price drops, new listings, and back-in-stock items by keyword or store.",
        "version": "0.1",
        "x-build-id": "Sg8BZSeLrz4jhHymD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~mahally-price-monitor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-mahally-price-monitor",
                "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/getascraper~mahally-price-monitor/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-mahally-price-monitor",
                "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/getascraper~mahally-price-monitor/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-mahally-price-monitor",
                "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": {
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Arabic or English keywords to track on Mahally, e.g. قهوة or coffee",
                        "items": {
                            "type": "string"
                        }
                    },
                    "storeIds": {
                        "title": "Store IDs",
                        "type": "array",
                        "description": "Mahally store IDs to monitor all products from (find in a store URL: mahally.com/ar/stores/<id>/).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "onlyChanged": {
                        "title": "Only emit changed items",
                        "type": "boolean",
                        "description": "When enabled, only rows whose price or stock status changed since the last run are emitted.",
                        "default": true
                    },
                    "maxPagesPerQuery": {
                        "title": "Max pages per query",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of Algolia result pages to fetch per search term or store.",
                        "default": 5
                    },
                    "hitsPerQuery": {
                        "title": "Products per page",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Number of products to fetch per result page.",
                        "default": 50
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of product rows to emit in total (0 = unlimited).",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Datacenter proxy is the default and works well (the data comes from a public API, not the anti-bot-protected website).",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
