# Tjue (`legaltech/tjue`) Actor

Automatiza la búsqueda de jurisprudencia del Tribunal de Justicia de la Unión Europea (juris.curia.europa.eu). Permite buscar documentos (sentencias, autos, conclusiones, peticiones de decisión prejudicial…) por texto libre y filtrarlos por órgano jurisdiccional, idioma y rango de fechas.

- **URL**: https://apify.com/legaltech/tjue.md
- **Developed by:** [Miguel González](https://apify.com/legaltech) (community)
- **Categories:** Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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

## 🏛️ TJUE — Buscador de jurisprudencia (CURIA)

Actor de [Apify](https://apify.com) que automatiza la búsqueda de jurisprudencia del **Tribunal de Justicia de la Unión Europea** ([https://juris.curia.europa.eu/juris/recherche.jsf?language=es#](https://juris.curia.europa.eu/juris/recherche.jsf?language=es#)). Permite buscar documentos (sentencias, autos, conclusiones, peticiones de decisión prejudicial…) por texto libre y filtrarlos por órgano jurisdiccional, idioma y rango de fechas.

Para cada documento encontrado, el actor extrae sus metadatos (número de asunto, órgano, tipo de documento, ECLI, fecha, partes y materia) y los enlaces al documento (HTML) y a su PDF. Además, en una segunda ejecución puedes pedirle que **extraiga el texto íntegro** de documentos concretos (campo `documentUrls`) para analizarlos (max. 50).

### ✨ Características

- 🔎 Búsqueda por múltiples términos en una sola ejecución (hasta 50).
- ⚖️ Filtros: órgano jurisdiccional (Tribunal de Justicia, Tribunal General, Función Pública), idioma y rango de fechas.
- 📄 Metadatos completos (asunto, órgano, tipo de documento, ECLI, fecha, partes, materia).
- 🔗 Enlace al documento (HTML) y a su PDF.
- 📝 Extracción bajo demanda del **texto íntegro** de documentos concretos (`documentUrls`).
- 🧩 Modo "párrafos" para devolver solo los pasajes relevantes (útil con LLMs).

### 📥 Entrada (Input)

Debes indicar **al menos uno** de estos campos: `searchTerms` (para buscar), `documentUrls` (para extraer texto de documentos concretos) o un filtro (`courts`, `dateFrom`/`dateTo`).

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `searchTerms` | `array<string>` | Términos a buscar (máx. 50). Cada término se busca por separado. Si se deja vacío con filtros, devuelve todos los documentos que los cumplan. |
| `documentUrls` | `array<string>` | URLs `documentUrl` (de resultados anteriores), URLs `document.jsf`/`showPdf.jsf` o `docid` de los que extraer el **texto íntegro** (máx. 50). |
| `courts` | `array<string>` | Órganos: `C` (Tribunal de Justicia), `T` (Tribunal General), `F` (Función Pública). Por defecto, los tres. |
| `language` | `string` | Idioma de los documentos: `es`, `en`, `fr`, `de`, `it`, `pt`. Por defecto, `es`. |
| `dateType` | `string` | Fecha sobre la que se filtra: `pro` (resolución), `con` (conclusiones), `aud` (vista), `dep` (presentación). Por defecto, `pro`. |
| `dateFrom` | `string` | Fecha mínima (`YYYY-MM-DD` o `DD/MM/YYYY`). |
| `dateTo` | `string` | Fecha máxima (`YYYY-MM-DD` o `DD/MM/YYYY`). |
| `paragraphs` | `integer` | Si > 0, devuelve solo los N pasajes más relevantes (modo párrafos). |
| `paragraphTerms` | `string` | Términos con los que localizar los pasajes (por defecto, el término de búsqueda). |
| `maxResults` | `integer` | Máximo de documentos por término. Por defecto, `20`. |

> Nota: el filtro de fechas de CURIA opera a nivel de **asunto**: devuelve todos los documentos del caso cuya fecha (del tipo elegido) cae en el rango, por lo que cada documento muestra su propia fecha.

#### Ejemplo de input

```json
{
  "searchTerms": ["gastos hipotecarios"],
  "courts": ["C"],
  "language": "es",
  "maxResults": 20
}
````

### 📤 Salida (Output)

Cada documento se guarda en el dataset con esta forma:

```json
{
  "searchTerm": "gastos hipotecarios",
  "caseNumber": "C-23/25",
  "court": "Tribunal de Justicia",
  "documentType": "Conclusiones",
  "ecli": "ECLI:EU:C:2026:314",
  "date": "07/05/2026",
  "dateISO": "2026-05-07",
  "parties": "Banco Santander",
  "subjectMatter": ["Protección de los consumidores"],
  "docid": "303789",
  "documentUrl": "https://juris.curia.europa.eu/juris/document/document.jsf?docid=303789&doclang=es&mode=req&pageIndex=0&dir=&occ=first&part=1&text=",
  "pdfUrl": "https://juris.curia.europa.eu/juris/showPdf.jsf?docid=303789&doclang=es&..."
}
```

### 📝 Extracción del texto íntegro

El texto completo de cada documento **no** se extrae por defecto (para que la ejecución sea rápida). Hay dos formas de obtenerlo:

- **En una segunda ejecución selectiva:** copia los `documentUrl` (o `docid`) que te interesen en el campo `documentUrls`. El actor solo extraerá el texto de esos documentos.

#### Modo "párrafos"

Para reducir el volumen de texto (útil con LLMs), usa `paragraphs` (número de pasajes) y, opcionalmente, `paragraphTerms` (términos con los que localizar los pasajes; por defecto, el término de búsqueda). En vez del texto íntegro se devuelven solo los pasajes relevantes en el campo `paragraphs`.

### 🔒 Anonimización de datos

El actor anonimiza automáticamente los datos personales presentes en los textos extraídos. Nombres de personas físicas, datos identificativos y cualquier información sensible se reemplazan por marcadores genéricos antes de devolver el resultado, de modo que la salida no contiene datos de carácter personal.

# Actor input Schema

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

Lista de términos a buscar en el texto de la jurisprudencia del TJUE (máx. 50). Cada término se busca por separado y genera sus propios resultados. Si se deja vacío pero se aplican filtros (órganos o fechas), se devuelven TODOS los documentos que cumplan los filtros. Úsalo en la primera fase (búsqueda). Ejemplo: \["gastos hipotecarios", "protección de los consumidores"].

## `documentUrls` (type: `array`):

Lista de URLs de documentos (campo 'documentUrl' devuelto por una búsqueda previa, p. ej. https://juris.curia.europa.eu/juris/document/document.jsf?docid=311944\&doclang=es) o identificadores 'docid' de los que extraer el TEXTO ÍNTEGRO. Úsalo en la segunda fase: tras buscar, copia aquí los 'documentUrl' que te interesen (máx. 50). Si rellenas este campo, el actor solo extrae el texto de esos documentos y NO es necesario indicar 'searchTerms'. Combínalo con 'paragraphs' y 'paragraphTerms' para acotar la parte del texto devuelta.

## `documentType` (type: `string`):

Filtra los resultados por tipo de documento de CURIA. Por defecto solo devuelve Sentencias.

## `courts` (type: `array`):

Órgano(s) del TJUE a incluir en la búsqueda. Si no se selecciona ninguno, se buscan los tres.

## `language` (type: `string`):

Idioma en el que se devuelven los textos y metadatos de los documentos.

## `dateType` (type: `string`):

Fecha del documento sobre la que se aplica el filtro 'Fecha desde'/'Fecha hasta'.

## `dateFrom` (type: `string`):

Fecha mínima del documento (inclusive). Formato YYYY-MM-DD.

## `dateTo` (type: `string`):

Fecha máxima del documento (inclusive). Formato YYYY-MM-DD.

## `paragraphs` (type: `integer`):

Si es mayor que 0, en lugar del texto íntegro se devuelven solo los N pasajes más relevantes del documento (campo 'paragraphs' y un 'text' resumido). Útil para reducir el volumen de texto al analizar con un LLM. Si es 0 o se omite, se devuelve el texto completo. Solo aplica cuando se extrae texto ('documentUrls' o EXTRACT\_TEXT activado).

## `paragraphTerms` (type: `string`):

Términos con los que se localizan los pasajes relevantes cuando se usa el 'Modo párrafos'. Si se omite, se usa el término de búsqueda ('searchTerms'). Indícalo cuando extraes texto de 'documentUrls' (sin búsqueda) para que el modo párrafos sepa qué buscar. Ejemplo: 'protección de los consumidores'.

## `maxResults` (type: `integer`):

Número máximo de documentos a devolver por término de búsqueda.

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

Configuración de proxy opcional. CURIA no bloquea las IP de datacenter, por lo que normalmente no es necesario.

## Actor input object example

```json
{
  "searchTerms": [
    "gastos hipotecarios"
  ],
  "documentUrls": [],
  "documentType": "arret",
  "courts": [
    "C"
  ],
  "language": "es",
  "dateType": "pro",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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": [
        "gastos hipotecarios"
    ],
    "documentUrls": [],
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("legaltech/tjue").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": ["gastos hipotecarios"],
    "documentUrls": [],
    "maxResults": 20,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("legaltech/tjue").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": [
    "gastos hipotecarios"
  ],
  "documentUrls": [],
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call legaltech/tjue --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Tjue",
        "description": "Automatiza la búsqueda de jurisprudencia del Tribunal de Justicia de la Unión Europea (juris.curia.europa.eu). Permite buscar documentos (sentencias, autos, conclusiones, peticiones de decisión prejudicial…) por texto libre y filtrarlos por órgano jurisdiccional, idioma y rango de fechas.",
        "version": "2.0",
        "x-build-id": "icAEi2A5rPaRCwI7y"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/legaltech~tjue/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-legaltech-tjue",
                "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/legaltech~tjue/runs": {
            "post": {
                "operationId": "runs-sync-legaltech-tjue",
                "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/legaltech~tjue/run-sync": {
            "post": {
                "operationId": "run-sync-legaltech-tjue",
                "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": "Términos de Búsqueda",
                        "maxItems": 50,
                        "type": "array",
                        "description": "Lista de términos a buscar en el texto de la jurisprudencia del TJUE (máx. 50). Cada término se busca por separado y genera sus propios resultados. Si se deja vacío pero se aplican filtros (órganos o fechas), se devuelven TODOS los documentos que cumplan los filtros. Úsalo en la primera fase (búsqueda). Ejemplo: [\"gastos hipotecarios\", \"protección de los consumidores\"].",
                        "items": {
                            "type": "string"
                        }
                    },
                    "documentUrls": {
                        "title": "Extraer texto de documentos concretos",
                        "maxItems": 50,
                        "type": "array",
                        "description": "Lista de URLs de documentos (campo 'documentUrl' devuelto por una búsqueda previa, p. ej. https://juris.curia.europa.eu/juris/document/document.jsf?docid=311944&doclang=es) o identificadores 'docid' de los que extraer el TEXTO ÍNTEGRO. Úsalo en la segunda fase: tras buscar, copia aquí los 'documentUrl' que te interesen (máx. 50). Si rellenas este campo, el actor solo extrae el texto de esos documentos y NO es necesario indicar 'searchTerms'. Combínalo con 'paragraphs' y 'paragraphTerms' para acotar la parte del texto devuelta.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "documentType": {
                        "title": "Tipo de documento",
                        "enum": [
                            "arret",
                            "ord",
                            "concl",
                            "avis",
                            "ALL"
                        ],
                        "type": "string",
                        "description": "Filtra los resultados por tipo de documento de CURIA. Por defecto solo devuelve Sentencias.",
                        "default": "arret"
                    },
                    "courts": {
                        "title": "Órganos jurisdiccionales",
                        "type": "array",
                        "description": "Órgano(s) del TJUE a incluir en la búsqueda. Si no se selecciona ninguno, se buscan los tres.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "C",
                                "T",
                                "F"
                            ],
                            "enumTitles": [
                                "Tribunal de Justicia",
                                "Tribunal General",
                                "Tribunal de la Función Pública"
                            ]
                        },
                        "default": [
                            "C"
                        ]
                    },
                    "language": {
                        "title": "Idioma de los documentos",
                        "enum": [
                            "es",
                            "en",
                            "fr",
                            "de",
                            "it",
                            "pt"
                        ],
                        "type": "string",
                        "description": "Idioma en el que se devuelven los textos y metadatos de los documentos.",
                        "default": "es"
                    },
                    "dateType": {
                        "title": "Tipo de fecha",
                        "enum": [
                            "pro",
                            "con",
                            "aud",
                            "dep"
                        ],
                        "type": "string",
                        "description": "Fecha del documento sobre la que se aplica el filtro 'Fecha desde'/'Fecha hasta'.",
                        "default": "pro"
                    },
                    "dateFrom": {
                        "title": "Fecha desde",
                        "type": "string",
                        "description": "Fecha mínima del documento (inclusive). Formato YYYY-MM-DD."
                    },
                    "dateTo": {
                        "title": "Fecha hasta",
                        "type": "string",
                        "description": "Fecha máxima del documento (inclusive). Formato YYYY-MM-DD."
                    },
                    "paragraphs": {
                        "title": "Modo párrafos (número de pasajes)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Si es mayor que 0, en lugar del texto íntegro se devuelven solo los N pasajes más relevantes del documento (campo 'paragraphs' y un 'text' resumido). Útil para reducir el volumen de texto al analizar con un LLM. Si es 0 o se omite, se devuelve el texto completo. Solo aplica cuando se extrae texto ('documentUrls' o EXTRACT_TEXT activado)."
                    },
                    "paragraphTerms": {
                        "title": "Términos para localizar los pasajes",
                        "type": "string",
                        "description": "Términos con los que se localizan los pasajes relevantes cuando se usa el 'Modo párrafos'. Si se omite, se usa el término de búsqueda ('searchTerms'). Indícalo cuando extraes texto de 'documentUrls' (sin búsqueda) para que el modo párrafos sepa qué buscar. Ejemplo: 'protección de los consumidores'."
                    },
                    "maxResults": {
                        "title": "Número máximo de resultados",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Número máximo de documentos a devolver por término de búsqueda."
                    },
                    "proxyConfiguration": {
                        "title": "Configuración de Proxy",
                        "type": "object",
                        "description": "Configuración de proxy opcional. CURIA no bloquea las IP de datacenter, por lo que normalmente no es necesario."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
