# Mahally Scraper محلي: Products, Stores & Specials (`getascraper/mahally-scraper`) Actor

Scrape full product listings, prices, specials, stores, and categories from Mahally (محلي), Saudi Arabia's local-store marketplace, by keyword or store ID.

- **URL**: https://apify.com/getascraper/mahally-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 4 total users, 4 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.53 / 1,000 products

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 Scraper: كاشطة محلي (Products, Stores & Specials)

<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">Export the full Mahally catalog in one run.</span> <span style="font-size:15px;color:#57534E">Products, prices, specials, stores, and categories from محلي, Saudi Arabia's local-store marketplace, by keyword or store ID.</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:#E7F6EF;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:#0B7A54;text-decoration:none;font-weight:700;font-size:13px">Mahally&nbsp;Scraper</a></span><br>
<span style="color:#0B7A54;font-size:11px;font-weight:700">&#10148; You are here</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:#FFFFFF;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:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Mahally&nbsp;Price&nbsp;Monitor</a></span><br>
<span style="color:#57534E;font-size:11px">Alerts only when a price or stock status changes</span>
</td>
</tr>
</table>

**Pull every product, price, and store from Mahally into one clean spreadsheet.** This Actor scrapes محلي (Mahally), Saudi Arabia's marketplace for local Salla stores, and returns full product listings with pricing, discounts, stock status, store details, and category paths. Search by keyword in Arabic or English, or point it at a store to export that seller's entire catalog. Product names come back in both Arabic and English, ready for analysis, sourcing, or a price database.

### 🔍 What does Mahally Scraper do?

Give it Arabic or English search keywords, or Mahally store IDs, and it collects every matching product across the marketplace. For each product it captures the current price, sale price, list price, discount percentage, and whether it is in stock. It also returns the store name, store rating, city, brand, category path, and product image. Everything lands as flat rows you can download as Excel, CSV, or JSON, or send straight to a Google Sheet.

<table width="100%"><tr>
<td style="padding:12px 18px;background:#E7F6EF;border-left:4px solid #0E9F6E">
<span style="font-size:15px;color:#1C1917">&#9889; <b>Full catalog in, clean spreadsheet out.</b> No login and no account required, and it is ready to schedule for a repeatable export.</span>
</td>
</tr></table>

### 💡 Why use it?

"I am a reseller sourcing products in Saudi Arabia, so that I can build a price list across local stores without opening each one by hand."

"I am a market researcher studying Saudi ecommerce, so that I can measure pricing, discounts, and assortment across hundreds of local sellers."

"I am a brand owner selling through Mahally stores, so that I can pull every listing of my products and check pricing and stock in one export."

"I am building a price comparison or deals site, so that I can feed a live Saudi product catalog into my database on a schedule."

### 🚀 How to use it

1. Add search keywords in Arabic or English, or paste Mahally store IDs to export a full store catalog.
2. Set how many pages and how many total products you want per run.
3. Click Start, or set a schedule in Apify Console for a repeatable export.
4. Download the results as Excel, CSV, or JSON, or connect them to Google Sheets, Slack, or a dashboard through Apify integrations.

### ⚙️ Input

| Field | Type | Required | Description |
|---|---|---|---|
| `searchTerms` | array of text | No | Arabic or English keywords to scrape on Mahally, e.g. قهوة or coffee. |
| `storeIds` | array of text | No | Mahally store IDs to export a full product catalog for. Find the ID in a store URL: mahally.com/ar/stores/id/. |
| `maxPagesPerQuery` | integer | No | Maximum number of result pages fetched per search term or store. |
| `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, stock, store, and category details. Download as JSON, CSV, or Excel.

```json
[
  {
    "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": "متجر القهوة السعودي",
    "storeNameEn": "Saudi Coffee Store",
    "storeRating": 4.6,
    "city": "جدة",
    "categories": ["أطعمة ومشروبات", "قهوة"],
    "brandName": "بن العرب",
    "imageUrl": "https://cdn.mahally.com/products/48213590.jpg",
    "rating": 4.8,
    "createdAt": 1743552000000,
    "updatedAt": 1751500800000,
    "profileUrl": "https://mahally.com/ar/stores/1642664758/"
  }
]
````

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `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 in Arabic. |
| `storeNameEn` | string | Store name in English. |
| `storeRating` | number | Average customer rating of the store. |
| `city` | string | City where the store is based. |
| `categories` | array of text | Product category path. |
| `brandName` | string | Product brand name. |
| `imageUrl` | string | Main product image URL. |
| `rating` | number | Average customer rating of the product. |
| `createdAt` | number | Timestamp of when the product was first listed. |
| `updatedAt` | number | Timestamp of the product's last update on Mahally. |
| `profileUrl` | string | Link to the store page on Mahally. |

### 💰 Pricing

Pricing is pay per result. You only pay for the product rows the Actor actually returns, so an empty run costs nothing. There are no subscriptions and no minimum spend. Run it once for a one-off export, or schedule it and only pay for the products you collect.

### ⭐ Enjoying Mahally Scraper?

<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">Turning a full Mahally category into a clean spreadsheet without opening a single store page by hand?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other resellers and market researchers 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-scraper/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

- Searching a broad keyword like قهوة returns products from many stores at once, which is the fastest way to survey a category.
- To export a single seller, copy the numeric ID from its Mahally store URL and add it under store IDs.
- Raise the max pages and max items limits when you want a deep catalog export, and keep them low for a quick sample.
- Search in Arabic or English, whichever matches how you already think about the product.
- Watching for price changes over time? Pair this with the [Mahally Price Monitor](https://apify.com/getascraper/mahally-price-monitor), which returns only the products that moved since your last run.

### ❓ FAQ

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

Copy the store's numeric ID from its Mahally URL, add it under store IDs, and run the Actor. It returns that store's full product catalog with prices and stock.

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

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 product and store listings, the same data shown to any visitor browsing the site.

##### 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 scrape Mahally?

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 Price Monitor: مراقبة أسعار محلي (Saudi Arabia)](https://apify.com/getascraper/mahally-price-monitor) ↗ - alerts only on Mahally products whose price or stock changed since the last run.
- [Falabella Scraper: Precios y Productos (Chile, Peru, Colombia)](https://apify.com/getascraper/falabella-scraper) ↗ - exports products and prices from Falabella across three countries.
- [Kaspi Product Scraper: Kaspi Магазин (Казахстан)](https://apify.com/getascraper/kaspi-product-scraper) ↗ - exports products, prices, and sellers from Kaspi.kz.
- [eMAG Price Monitor: Monitorizare Prețuri eMAG (Romania)](https://apify.com/getascraper/emag-price-monitor) ↗ - alerts on eMAG price and stock movement in Romania.
- [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.

# Actor input Schema

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

Arabic or English keywords to search and scrape on Mahally (e.g. \['قهوة', 'عسل']). Each keyword is resolved independently.

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

Specific Mahally store IDs to extract the complete product catalog for. Leave empty if you are only searching by keywords.

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

Max search result pages to crawl per target keyword or store ID.

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

Hard limit on total product records returned across all queries. Set 0 for unlimited.

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

Configure connection proxies. The Algolia endpoint used by this Actor has no observed anti-bot geoblocking; standard datacenter proxy is sufficient.

## Actor input object example

```json
{
  "searchTerms": [
    "قهوة"
  ],
  "storeIds": [],
  "maxPagesPerQuery": 5,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "searchTerms": [
        "قهوة"
    ],
    "storeIds": [],
    "maxPagesPerQuery": 5,
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/mahally-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 = {
    "searchTerms": ["قهوة"],
    "storeIds": [],
    "maxPagesPerQuery": 5,
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/mahally-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 '{
  "searchTerms": [
    "قهوة"
  ],
  "storeIds": [],
  "maxPagesPerQuery": 5,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/mahally-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mahally Scraper محلي: Products, Stores & Specials",
        "description": "Scrape full product listings, prices, specials, stores, and categories from Mahally (محلي), Saudi Arabia's local-store marketplace, by keyword or store ID.",
        "version": "0.1",
        "x-build-id": "LJJpyREmoy7TC9Zbb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~mahally-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-mahally-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/getascraper~mahally-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-mahally-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/getascraper~mahally-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-mahally-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": {
                    "searchTerms": {
                        "title": "Search keywords",
                        "type": "array",
                        "description": "Arabic or English keywords to search and scrape on Mahally (e.g. ['قهوة', 'عسل']). Each keyword is resolved independently.",
                        "default": [
                            "قهوة"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "storeIds": {
                        "title": "Store IDs",
                        "type": "array",
                        "description": "Specific Mahally store IDs to extract the complete product catalog for. Leave empty if you are only searching by keywords.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPagesPerQuery": {
                        "title": "Max pages per query",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Max search result pages to crawl per target keyword or store ID.",
                        "default": 5
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard limit on total product records returned across all queries. Set 0 for unlimited.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Configure connection proxies. The Algolia endpoint used by this Actor has no observed anti-bot geoblocking; standard datacenter proxy is sufficient.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
