# Business Intelligence Data Converter (`m3web/business-intelligence-data-converter`) Actor

Business Intelligence Data Converter transforms any Apify dataset into BI‑ready tables. Flatten nested fields, normalize rows, and export clean CSV/XLSX for Excel, Power BI, or Tableau — a universal converter tool, no coding required.

- **URL**: https://apify.com/m3web/business-intelligence-data-converter.md
- **Developed by:** [M3Web](https://apify.com/m3web) (community)
- **Categories:** Automation, Integrations, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.05 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Business Intelligence Data Converter

### 📖 Overview
The **Business Intelligence Data Converter** transforms any Apify dataset into normalized, analysis‑ready tables. Instead of wide JSON exports with nested objects, this Actor produces clean rows that BI tools like Excel, Power BI, or Tableau can easily process.

---

### ✨ Features
- **Universal normalization** → Specify the nested field (e.g. `shop`, `offers`, `prices`) and the Actor will break it into rows.  
- **BI‑friendly output** → One row per nested entry with clear columns for the key and its value.  
- **Flexible schema** → Works with any dataset structure, no coding required.  
- **Export options** → Use Apify’s Dataset tab to download results in CSV, JSON, Excel, or XML.  
- **Advanced Options** → Extra controls to make your dataset cleaner and more BI‑ready: filter columns, rename them, and decide how missing values should look.

---

### ⚙️ How It Works
1. Provide the **dataset ID** from your Apify scraper run.  
2. Enter the **nested field name** that contains the object you want normalized.  
3. (Optional) Expand **Advanced Options** to refine the output:  
   - Keep or remove specific columns.  
   - Rename columns to shorter, dashboard‑friendly names.  
   - Choose how missing values should be displayed.  
4. Run the Actor — it will:  
   - Load your dataset.  
   - Extract each key–value pair from the nested field.  
   - Apply your Advanced Options.  
   - Output normalized rows into the default dataset.

---

#### What is a Dataset ID?
A **dataset ID** is the unique identifier for the results of any Apify scraper run. It looks like a short string of letters and numbers, for example: `7rcBChBZCGq3nAmai`. You’ll need this ID to tell the Actor which dataset to process.

There are two simple ways to find it:

1. **From the Export button after a run**  
   - When your scraper Actor finishes, click the **Export** button.  
   - At the top of the export dialog you’ll see a title like:  
     `Export dataset 7rcBChBZCGq3nAmai`  
   - The part after “Export dataset” (`7rcBChBZCGq3nAmai`) is your dataset ID.  
   - Right next to it is a copy icon — click it to copy the ID and paste it into this Actor’s **Dataset ID** input field.

2. **From the Storage → Datasets section**  
   - In Apify Console, go to **Storage → Datasets**.  
   - Select the dataset created by your scraper run.  
   - The dataset ID is shown at the top of the dataset detail page and also in the dataset URL.

---

#### What is a Nested Field?
A **nested field** is a property inside your dataset that contains multiple values grouped together as an object or dictionary.  
- Example: In a product dataset, the field `shop` might contain `{ "Amazon": 699, "Ao": 699, "Argos": 749 }`.  
- Instead of keeping this as one wide JSON object, the Actor will break it into rows:  
  - One row for Amazon with its price.  
  - One row for Ao with its price.  
  - One row for Argos with its price.  

This makes the data easy to analyze in BI tools like Excel, Power BI, or Tableau.

---

### 🧩 Example

#### Input dataset (raw)
```json
{
  "category": "TVs",
  "currency": "GBP",
  "ean": "8806095989594",
  "name": "Samsung QE43QN90F",
  "shop": {
    "Amazon": 699,
    "Ao": 699,
    "Argos": 749
  }
}
````

#### Output dataset (normalized)

| category | currency | ean           | name              | shop     | price |
|----------|----------|---------------|-------------------|----------|-------|
| TVs      | GBP      | 8806095989594 | Samsung QE43QN90F | Amazon   | 699   |
| TVs      | GBP      | 8806095989594 | Samsung QE43QN90F | Ao       | 699   |
| TVs      | GBP      | 8806095989594 | Samsung QE43QN90F | Argos    | 749   |

***

#### ⚙️ Advanced Options Explained

- **Flatten all nested objects** → If ON, the Actor will recursively flatten every nested object/array into columns. If OFF, only one level is flattened.
- **Columns to keep** → Enter a comma‑separated list of column names you want to keep. Example: `website, price, brand`. All other columns will be dropped.
- **Columns to remove** → Enter a comma‑separated list of column names you want to remove. Example: `image, url`. Those columns will be excluded from the output.
- **Column renaming** → Provide mappings in the format `oldKey:newKey`. Example:\
  `offers_value/productTitle:title`\
  `offers_value/price:price_eur`

This shortens long technical names into clean BI‑friendly ones.

- **Null/empty handling** → Choose how missing values should appear in your dataset:
- `null` → true null values (best for databases).
- `""` → empty string (best for Excel formulas).
- `N/A` → default text marker.
- `Unknown` → custom label for blanks.

***

### 🧪 Practical Example

#### Raw (Wide) Data

→ This is how Apify scrapers often store results: one record with a big “box” of offers inside. It looks messy because all the offers are bundled together.

| category | ean          | lowestPrice | offers/0/currency | offers/0/marketplace | offers/0/price | offers/0/productTitle         | offers/0/seller        | offers/0/shipment | offers/1/currency | offers/1/marketplace | offers/1/price | offers/1/productTitle         | offers/1/seller         | offers/1/shipment | offers/2/currency | offers/2/marketplace | offers/2/price | offers/2/productTitle         | offers/2/seller         | offers/2/shipment | offers/3/currency | offers/3/marketplace | offers/3/price | offers/3/productTitle         | offers/3/seller         | offers/3/shipment | offers/4/currency | offers/4/marketplace | offers/4/price | offers/4/productTitle         | offers/4/seller         | offers/4/shipment | offers/5/currency | offers/5/marketplace | offers/5/price | offers/5/productTitle         | offers/5/seller         | offers/5/shipment |
|----------|--------------|-------------|-------------------|----------------------|----------------|-------------------------------|------------------------|------------------|-------------------|----------------------|----------------|-------------------------------|-------------------------|------------------|-------------------|----------------------|----------------|-------------------------------|-------------------------|------------------|-------------------|----------------------|----------------|-------------------------------|-------------------------|------------------|-------------------|----------------------|----------------|-------------------------------|-------------------------|------------------|-------------------|----------------------|----------------|-------------------------------|-------------------------|------------------|
| tv       | 8806097241423| 259         | €                 | /                    | 259            | Samsung Crystal UHD 43"       | amazon                 | siehe Website    | €                 | /                    | 259.99         | Samsung GU43U7099F 43" UHD    | cyberport               | 6,99 €\*          | €                 | /                    | 259.99         | Samsung GU43U7099F 43" UHD    | computeruniverse.net    | 6,99 €\*          | €                 | ebay.de              | 269            | Samsung 43" UHD U7099F        | samsung-deutschland     | 0,00 €\*          | €                 | /                    | 269            | Samsung 43" UHD U7099F        | coolblue                | 0,00 €\*          | €                 | /                    | 269            | Samsung GU43U7099FU 43" UHD   | otto                    | 0,00 €\*          |
| tv       | 8806096456743| 379         | €                 | /                    | 379            | LG QNED AI 43QNED70           | amazon                 | siehe Website    | €                 | /                    | 379            | LG 43QNED70A6A QNED 43"       | saturn online shop      | 0,00 €\*          | €                 | /                    | 379            | LG 43QNED70A6A QNED 43"       | media markt online shop | 0,00 €\*          | €                 | ebay.de              | 650            | LG 43QNED70A6A QNED 43" LCD   | ersazza                 | 0,00 €\*          |                   |                      |                |                               |                         |                  |                   |                      |                |                               |                         |                  |
| tv       | 6942351415628| 239         | €                 | /                    | 239            | Hisense 43A6Q LED 43" UHD     | saturn online shop     | 0,00 €\*          | €                 | /                    | 239            | Hisense 43A6Q LED 43" UHD     | media markt online shop | 0,00 €\*          | €                 | ebay.de              | 299.99         | Hisense 43A6Q Smart 43" UHD   | topelektrohaus          | 0,00 €\*          | €                 | ebay.de              | 349            | Hisense 43A6Q 43" UHD WLAN    | mercapool               | 0,00 €\*          | €                 | ebay.de              | 377.15         | Hisense 43A6Q 43" UHD         | katomixshop             | 10,98 €\*         |

#### Normalized (BI‑Ready) Data

→ The Actor takes that box apart and lays each offer out as its own row. Now you can sort, filter, and analyze prices across sellers in Excel or BI dashboards without extra cleanup.

| category | ean          | lowestPrice | offers | currency | marketplace | price\_eur | title                       | seller                  | shipment      |
|----------|--------------|-------------|--------|----------|-------------|-----------|-----------------------------|-------------------------|---------------|
| tv       | 8806097241423| 259         | 0      | €        | /           | 259       | Samsung Crystal UHD 43"     | amazon                  | siehe Website |
| tv       | 8806097241423| 259         | 1      | €        | /           | 259.99    | Samsung GU43U7099F 43" UHD  | cyberport               | 6,99 €\*       |
| tv       | 8806097241423| 259         | 2      | €        | /           | 259.99    | Samsung GU43U7099F 43" UHD  | computeruniverse.net    | 6,99 €\*       |
| tv       | 8806097241423| 259         | 3      | €        | ebay.de     | 269       | Samsung 43" UHD U7099F 2025 | samsung-deutschland     | 0,00 €\*       |
| tv       | 8806097241423| 259         | 4      | €        | /           | 269       | Samsung 43" UHD U7099F 2025 | coolblue                | 0,00 €\*       |
| tv       | 8806096456743| 379         | 0      | €        | /           | 379       | LG QNED AI 43QNED70         | amazon                  | siehe Website |
| tv       | 8806096456743| 379         | 1      | €        | /           | 379       | LG 43QNED70A6A QNED 43"     | saturn online shop      | 0,00 €\*       |
| tv       | 8806096456743| 379         | 2      | €        | /           | 379       | LG 43QNED70A6A QNED 43"     | media markt online shop | 0,00 €\*       |
| tv       | 8806096456743| 379         | 3      | €        | ebay.de     | 650       | LG 43QNED70A6A QNED 43" LCD | ersazza                 | 0,00 €\*       |
| tv       | 6942351415628| 239         | 0      | €        | /           | 239       | Hisense 43A6Q LED 43" UHD   | saturn online shop      | 0,00 €\*       |
| tv       | 6942351415628| 239         | 1      | €        | /           | 239       | Hisense 43A6Q LED 43" UHD   | media markt online shop | 0,00 €\*       |
| tv       | 6942351415628| 239         | 2      | €        | ebay.de     | 299.99    | Hisense 43A6Q Smart 43" UHD | topelektrohaus          | 0,00 €\*       |
| tv       | 6942351415628| 239         | 3      | €        | ebay.de     | 349       | Hisense 43A6Q 43" UHD WLAN  | mercapool               | 0,00 €\*       |
| tv       | 6942351415628| 239         | 4      | €        | ebay.de     | 377.15    | Hisense 43A6Q 43" UHD       | katomixshop             | 10,98 €\*      |

***

### 📊 Use Cases

- Price comparison across multiple merchants.
- Market analysis with normalized product data.
- Dashboard integration for Power BI or Tableau.
- Data cleaning before exporting to external systems.

# Actor input Schema

## `datasetId` (type: `string`):

Provide dataset ID from any Apify scraper run.

## `nestedField` (type: `string`):

Name of the field in your dataset that contains nested data (e.g. shop, offers, prices). The Actor will normalize this field into BI rows.

## `customColumns` (type: `string`):

Optional settings for custom column titles.

## `flattenAllNestedObjects` (type: `boolean`):

If ON, recursively flatten all nested objects and arrays into scalar columns. Default OFF (flatten only one level).

## `columnsToKeep` (type: `string`):

Comma-separated list of column names to keep in the output. Leave empty to keep all.

## `columnsToRemove` (type: `string`):

Comma-separated list of column names to remove from the output. Leave empty to remove none.

## `columnRenameMap` (type: `array`):

Provide mappings in the format oldKey:newKey, e.g. offers\_value/productTitle:title

## `nullValueRepresentation` (type: `string`):

Choose how to represent missing values

## Actor input object example

```json
{
  "flattenAllNestedObjects": false,
  "nullValueRepresentation": "N/A"
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("m3web/business-intelligence-data-converter").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("m3web/business-intelligence-data-converter").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 '{}' |
apify call m3web/business-intelligence-data-converter --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=m3web/business-intelligence-data-converter",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Business Intelligence Data Converter",
        "description": "Business Intelligence Data Converter transforms any Apify dataset into BI‑ready tables. Flatten nested fields, normalize rows, and export clean CSV/XLSX for Excel, Power BI, or Tableau — a universal converter tool, no coding required.",
        "version": "0.0",
        "x-build-id": "TWvacVlgTEESCjZwa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/m3web~business-intelligence-data-converter/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-m3web-business-intelligence-data-converter",
                "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/m3web~business-intelligence-data-converter/runs": {
            "post": {
                "operationId": "runs-sync-m3web-business-intelligence-data-converter",
                "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/m3web~business-intelligence-data-converter/run-sync": {
            "post": {
                "operationId": "run-sync-m3web-business-intelligence-data-converter",
                "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": {
                    "datasetId": {
                        "title": "Dataset ID",
                        "type": "string",
                        "description": "Provide dataset ID from any Apify scraper run."
                    },
                    "nestedField": {
                        "title": "Nested Field",
                        "type": "string",
                        "description": "Name of the field in your dataset that contains nested data (e.g. shop, offers, prices). The Actor will normalize this field into BI rows."
                    },
                    "customColumns": {
                        "title": "Advanced Options",
                        "type": "string",
                        "description": "Optional settings for custom column titles."
                    },
                    "flattenAllNestedObjects": {
                        "title": "Flatten all nested objects",
                        "type": "boolean",
                        "description": "If ON, recursively flatten all nested objects and arrays into scalar columns. Default OFF (flatten only one level).",
                        "default": false
                    },
                    "columnsToKeep": {
                        "title": "Columns to keep",
                        "type": "string",
                        "description": "Comma-separated list of column names to keep in the output. Leave empty to keep all."
                    },
                    "columnsToRemove": {
                        "title": "Columns to remove",
                        "type": "string",
                        "description": "Comma-separated list of column names to remove from the output. Leave empty to remove none."
                    },
                    "columnRenameMap": {
                        "title": "Column renaming",
                        "type": "array",
                        "description": "Provide mappings in the format oldKey:newKey, e.g. offers_value/productTitle:title",
                        "items": {
                            "type": "string"
                        }
                    },
                    "nullValueRepresentation": {
                        "title": "Null/empty handling",
                        "enum": [
                            "null",
                            "",
                            "N/A",
                            "Unknown"
                        ],
                        "type": "string",
                        "description": "Choose how to represent missing values",
                        "default": "N/A"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
