# BVL Peru Stock Market MCP Server (`benevolent_xylographer/bvl-peru-mcp`) Actor

Servidor MCP para consultar cotizaciones, empresas y sectores de la Bolsa de Valores de Lima (BVL Perú). Ideal para apps de inversión, análisis financiero y agentes AI.

- **URL**: https://apify.com/benevolent\_xylographer/bvl-peru-mcp.md
- **Developed by:** [Joseph](https://apify.com/benevolent_xylographer) (community)
- **Categories:** MCP servers, AI, Other
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## BVL Peru MCP Server

**Cotizaciones en tiempo real de la Bolsa de Valores de Lima para Claude, ChatGPT y cualquier asistente compatible con MCP.**

Conecta tu asistente de IA a la BVL en 2 minutos. 7 tools para consultar cotizaciones, sectores, búsquedas y detalles de empresas listadas en la bolsa peruana — todo desde lenguaje natural, sin abrir el sitio de la BVL.

---

### ¿Qué hace BVL Peru MCP Server?

En lugar de entrar a `bvl.com.pe`, navegar entre pestañas y buscar empresas a mano, le preguntas a tu asistente:

> *"¿Cuánto cerró Credicorp hoy en la BVL?"*
> *"Dame las cotizaciones del sector minero peruano."*
> *"Compara el rendimiento de Volcan y Alicorp esta semana."*

El MCP consulta la API pública de BVL, formatea los datos para tu asistente y los devuelve listos para que te los explique. **No necesitas API key de la BVL ni cuenta especial** — los datos son públicos.

| Sin MCP | Con BVL Peru MCP |
|---|---|
| Abrir bvl.com.pe, buscar empresa | Solo le preguntas a Claude |
| Cambiar entre pestañas para ver sectores | *"Dame las mineras peruanas hoy"* |
| Copiar cotizaciones a una hoja Excel manual | *"Dame el resumen del mercado de hoy"* |
| Buscar tickers para encontrar empresas | *"¿Qué empresa tiene el ticker AENZAC1?"* |
| Comparar empresas en distintas páginas | *"Compara Credicorp y Buenaventura"* |

Una sola pregunta. Datos en tiempo real desde la BVL.

---

### Quick Start — Conectar en 2 minutos

#### Paso 1: Obtén tu Apify API Token

Ve a [Apify Console → Settings → Integrations](https://console.apify.com/account/integrations) y copia tu Personal API token (empieza con `apify_api_...`).

> Si no tienes cuenta, crea una en https://apify.com — el plan **Free** incluye $5 de crédito mensual, suficiente para miles de consultas.

#### Paso 2: Conecta el MCP a tu asistente

Pega esta URL en tu cliente MCP, reemplazando `TU_TOKEN` por el de Paso 1:

````

https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU\_TOKEN

````

#### Paso 3: Pregunta lo que quieras

> *"Lista los sectores de la Bolsa de Valores de Lima"*

Listo. Las 7 tools quedan disponibles automáticamente. Funciona con **Claude Code, Claude Desktop, Claude.ai, ChatGPT, Cursor, Windsurf** y cualquier cliente compatible con MCP.

---

### ¿Qué le puedes preguntar?

#### Cotizaciones del día

> *"¿Cuáles son las cotizaciones de hoy en la BVL?"*

> *"¿Cuánto está Credicorp ahora?"*

> *"Dame el resumen del mercado bursátil peruano."*

#### Por sector

> *"Muéstrame todas las empresas mineras de la BVL."*

> *"Cotizaciones del sector bancario peruano."*

> *"¿Qué hay en el sector agrario hoy?"*

#### Búsqueda y detalle

> *"Busca empresas que tengan 'volcan' en su nombre."*

> *"Dame el detalle completo de ALICORC1."*

> *"¿Qué información tienes sobre AENZA?"*

#### Análisis comparativo

> *"Compara el rendimiento de las 3 empresas mineras más importantes."*

> *"¿Cuál de los bancos peruanos subió más hoy?"*

---

### Tools disponibles

| Tool | Descripción | Costo USD |
|---|---|---|
| `search` | Busca empresas por nombre o ticker. Devuelve lista resumida. | $0.001 |
| `fetch` | Detalle completo de una empresa por su ticker (ej: `CREDITC1`). | $0.0005 |
| `list_sectors` | Lista los 9 sectores de la BVL con sus códigos. | $0.0001 |
| `get_market_overview` | Resumen completo del mercado (todas las cotizaciones). | $0.002 |
| `get_quotes_by_sector` | Cotizaciones filtradas por sector específico. | $0.001 |
| `search_companies` | Búsqueda nativa de la API BVL (alternativa a `search`). | $0.001 |
| `get_company_quote` | Cotización por código BVL numérico exacto. | $0.0005 |

---

### Sectores soportados

| Código | Descripción |
|---|---|
| `CB` | Bancos y financieras |
| `CM` | Mineras |
| `CI` | Industriales |
| `CP` | Servicios públicos |
| `CG` | Agrario |
| `CD` | Diversas |
| `CS` | Seguros |
| `CA` | Administradoras de fondos de pensiones (AFP) |
| `FI` | Fondos de inversión |

Usa estos códigos como parámetro `sector` en `get_quotes_by_sector`.

---

### Cómo conectar desde cada cliente

#### Claude.ai (web)

1. https://claude.ai/settings/connectors → **Add custom connector**
2. URL: `https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN`
3. Authentication: **None**
4. Save

#### Claude Desktop

Edita el archivo de config:

- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "bvl-peru": {
      "url": "https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN",
      "transport": "http"
    }
  }
}
````

Reinicia Claude Desktop.

#### Claude Code (CLI)

```bash
claude mcp add bvl-peru \
  --transport http \
  --url "https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN"
```

Verifica con `claude mcp list`. Para evitar prompts de permiso por cada tool:

```bash
claude /permissions
```

Y agrega `mcp__bvl-peru__*` al Allow list.

#### ChatGPT (Plus / Pro / Team / Enterprise)

1. **Settings → Connectors → + Add custom connector**
2. Name: `BVL Peru`
3. MCP Server URL: `https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN`
4. Authentication: **None**
5. Save

En cualquier chat, activa **BVL Peru** desde el ícono de tools.

#### Cursor IDE

Agrega a `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "bvl-peru": {
      "url": "https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN"
    }
  }
}
```

#### Windsurf

Settings → MCP → Add server con la URL de arriba.

#### VS Code (GitHub Copilot)

Agrega a `.vscode/mcp.json`:

```json
{
  "servers": {
    "bvl-peru": {
      "type": "http",
      "url": "https://benevolent-xylographe--bvl-peru-mcp.apify.actor/mcp?token=TU_TOKEN"
    }
  }
}
```

***

### Cómo funciona

```
Claude / ChatGPT / Cursor / etc.
        |
        |  MCP (Streamable HTTP)
        v
+-----------------------------------+
|  BVL Peru MCP Server (Apify)      |
|  +-----------------------------+  |
|  |  7 tools                    |  |
|  |  Stateless transport        |  |
|  |  Pay-per-event monetization |  |
|  +-----------------------------+  |
+----------------+------------------+
                 | HTTPS
                 v
       dataondemand.bvl.com.pe
       (API pública oficial)
```

**Decisiones de diseño clave:**

- **Stateless**: cada request es independiente, sin sesiones que se pierdan entre containers.
- **Apify Standby**: el actor se enciende solo cuando llega tráfico y se apaga después de 5 min sin uso. No pagas por idle.
- **Cobro solo en éxito**: si la API de BVL falla, no se te cobra el evento.

***

### Privacidad y seguridad

- ✅ **No necesitas cuenta en BVL**: usa solo endpoints públicos.
- ✅ **No se guarda nada**: los datos se consultan en tiempo real, nada persistido.
- ✅ **Solo lectura**: el actor solo consulta cotizaciones, no escribe nada.
- ✅ **Tu token de Apify**: solo lo usas para autenticarte con Apify, no se comparte con BVL ni con el creador del actor.

***

### ¿Cuánto cuesta?

| Plan | Costo | Qué incluye |
|---|---|---|
| **Free** | $0/mes | $5 de crédito gratis, ~5,000 consultas |
| **Starter** | $49/mes | Para uso intensivo o producción |
| **Pay-per-event** | $0.0001 – $0.002 por consulta | Solo pagas cuando se ejecuta una tool con éxito |

#### Estimación de gasto

| Uso | Costo mensual estimado |
|---|---|
| Inversor casual (5 consultas/día) | **~$0.20** |
| Trader activo (50 consultas/día) | **~$2** |
| Análisis intensivo (200+ consultas/día) | **~$8–15** |

> El plan Free de Apify regala $5/mes — alcanza para miles de consultas. Empieza sin pagar nada.

#### Ejemplo de sesión

| Consulta | Tool | Costo |
|---|---|---|
| "Lista sectores BVL" | `list_sectors` | $0.0001 |
| "Búscame Credicorp" | `search` | $0.001 |
| "Detalle de CREDITC1" | `fetch` | $0.0005 |
| **Total** | | **$0.0016** |

***

### Ejemplo de respuesta

**Tú:** *"Dame las cotizaciones del sector bancario peruano hoy."*

**Claude (usando este MCP):**

```
Sector Bancos y Financieras (CB) — BVL, 6 May 2026

CREDITC1  Credicorp Ltd.            S/. 152.50  (+1.2%)
BAP       Credicorp Ltd. (ADR)      US$ 187.30  (+0.8%)
BBVAC1    BBVA Continental          S/. 4.85    (-0.4%)
SCOTIAC1  Scotiabank Perú           S/. 32.40   (=)
INTERC1   InterBank                 S/. 28.10   (+0.7%)

Top performer: CREDITC1 (+1.2%)
Worst:         BBVAC1 (-0.4%)
```

***

### Troubleshooting

| Problema | Solución |
|---|---|
| **"Tools no aparecen"** | Verifica que la URL incluya `/mcp` y que el token sea válido. |
| **"Connection timeout" en primer uso** | Cold start de Apify (~2-5 seg). Reintenta. |
| **"Server not initialized"** | Tu cliente MCP no está siguiendo el handshake. Reconecta el MCP. |
| **Resultados vacíos** | La BVL no tiene cotizaciones del día (fin de semana o feriado peruano). Prueba con `today: false` para ver la última cotización disponible. |
| **Error 401 / "access denied"** | Tu token de Apify expiró o fue revocado. Genera uno nuevo en [Apify Console](https://console.apify.com/account/integrations). |

***

### FAQ

**¿Necesito cuenta en la BVL?**
No. Este MCP usa la API pública de `dataondemand.bvl.com.pe`. Solo necesitas cuenta en Apify (Free).

**¿Funciona con ChatGPT?**
Sí. Los tools `search` y `fetch` están específicamente diseñados para cumplir el formato de OpenAI Custom Connectors.

**¿Los datos son en tiempo real?**
Sí, cada consulta golpea la API de BVL en vivo. El parámetro `today: true` te da los datos del día actual; `false` te devuelve la última sesión cerrada.

**¿Qué pasa si BVL está caído?**
El tool devuelve un error legible (ej: "BVL respondió 503"). **No se cobra** por errores.

**¿Puedo usarlo para análisis históricos?**
Este MCP solo expone cotizaciones actuales/recientes. Para histórico, mira otros endpoints de BVL no incluidos aquí.

**¿Soporta acciones extranjeras listadas en BVL?**
Sí. La BVL tiene cross-listing de empresas como Apple (`AAPL`), Adobe (`ADBE`), Barrick Mining (`ABX`), etc. Aparecen en `get_market_overview` y `search`.

**¿Quién hizo este MCP?**
JB Marfló — [soyjb.com](https://soyjb.com). Si tienes feedback, sugerencias o quieres reportar un bug, contáctame por ahí.

***

### Sobre el creador

Hecho con ❤️ por **JB Marfló** — [soyjb.com](https://soyjb.com)

Software developer interesado en el cruce entre IA, datos financieros y herramientas para el ecosistema peruano. Si tienes una idea para otro MCP de finanzas/data peruana, escríbeme.

***

### Recursos

- [Apify MCP Documentation](https://docs.apify.com/platform/integrations/mcp)
- [MCP Protocol Specification](https://modelcontextprotocol.io)
- [Get your Apify API Token](https://console.apify.com/account/integrations)
- [Claude.ai](https://claude.ai)
- [Claude Desktop](https://www.anthropic.com/download)
- [BVL — sitio oficial](https://www.bvl.com.pe)

***

**Categorías**: AI, MCP servers, Finance, Latin America, Stock Market, Peru

# Actor input Schema

## `sector` (type: `string`):

Código del sector para precargar resultados (ej: CM=MINERAS, CB=BANCOS).

## `today` (type: `boolean`):

Si está activo, devuelve cotizaciones del día actual. Si no, devuelve la última cotización disponible.

## Actor input object example

```json
{
  "sector": "",
  "today": false
}
```

# 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("benevolent_xylographer/bvl-peru-mcp").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("benevolent_xylographer/bvl-peru-mcp").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 benevolent_xylographer/bvl-peru-mcp --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "BVL Peru Stock Market MCP Server",
        "description": "Servidor MCP para consultar cotizaciones, empresas y sectores de la Bolsa de Valores de Lima (BVL Perú). Ideal para apps de inversión, análisis financiero y agentes AI.",
        "version": "0.1",
        "x-build-id": "Tu74nc5Q4whr4v60X"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/benevolent_xylographer~bvl-peru-mcp/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-benevolent_xylographer-bvl-peru-mcp",
                "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/benevolent_xylographer~bvl-peru-mcp/runs": {
            "post": {
                "operationId": "runs-sync-benevolent_xylographer-bvl-peru-mcp",
                "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/benevolent_xylographer~bvl-peru-mcp/run-sync": {
            "post": {
                "operationId": "run-sync-benevolent_xylographer-bvl-peru-mcp",
                "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": {
                    "sector": {
                        "title": "Sector (opcional)",
                        "enum": [
                            "",
                            "CS",
                            "CD",
                            "CA",
                            "CG",
                            "FI",
                            "CM",
                            "CP",
                            "CB",
                            "CI"
                        ],
                        "type": "string",
                        "description": "Código del sector para precargar resultados (ej: CM=MINERAS, CB=BANCOS).",
                        "default": ""
                    },
                    "today": {
                        "title": "Solo cotizaciones de hoy",
                        "type": "boolean",
                        "description": "Si está activo, devuelve cotizaciones del día actual. Si no, devuelve la última cotización disponible.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
