# CNPJ & Company Data Brazil - Lookup & Discovery by CNAE/State (`johnatan029/cnpj-empresas-brasil-scraper`) Actor

Consulta CNPJs em lote (lista ou CSV → dados completos da Receita: razão social, sócios, CNAE, situação, capital) e descobre empresas por CNAE + estado + município. Dados públicos, sem login. Ideal para prospecção B2B, KYC e enriquecimento de leads.

- **URL**: https://apify.com/johnatan029/cnpj-empresas-brasil-scraper.md
- **Developed by:** [Johnatan Pereira](https://apify.com/johnatan029) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 7 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## CNPJ & Company Data Brazil — Consulta e Descoberta por CNAE/UF

Consulte dados públicos de empresas brasileiras pelo CNPJ **em lote** ou **descubra empresas por CNAE/estado** — direto do registro público da Receita Federal, sem login e sem chave de API.

Um actor, **dois modos**:
- **Lookup (consulta em lote):** você envia uma lista de CNPJs → recebe o registro completo de cada empresa (razão social, sócios/QSA, CNAE, endereço, situação, capital…).
- **Discovery (descoberta por filtro):** você envia um filtro (CNAE + UF/município) → recebe a lista de empresas que batem, paginada.

### Casos de uso

- **Prospecção B2B:** descubra todas as empresas de um setor num estado (por CNAE + UF) — sem comprar listas de leads prontas.
- **KYC / compliance:** verifique um CNPJ contra o registro oficial e capture o quadro societário (QSA) para triagem.
- **Enriquecimento de leads:** transforme uma lista/CSV de CNPJs em perfis de empresa estruturados.
- **Pesquisa de mercado por setor:** mapeie a densidade de empresas de um CNAE por região.

### Qual modo usar?

| Você tem… | Você quer… | Use o modo |
|---|---|---|
| Uma **lista de CNPJs** | os dados completos de cada um | **Lookup** |
| Um **setor (CNAE) + região** | encontrar as empresas que existem ali | **Discovery** |

### Inputs

| Campo | Modo | Descrição | Exemplo |
|---|---|---|---|
| `mode` | ambos | `"lookup"` ou `"discovery"` (obrigatório) | `"lookup"` |
| `cnpjs` | lookup | Lista de CNPJs (qualquer formato) | `["47.960.950/0001-21", "19131243000197"]` |
| `cnpjInput` | lookup | Cole um CSV/texto com CNPJs — todos são extraídos, validados e deduplicados | `"razao,cnpj\nMagalu,47960950000121"` |
| `cnae` | discovery | CNAE (subclasse) a buscar — **obrigatório na descoberta** | `"4713004"` |
| `uf` | discovery | Estado (2 letras) — opcional | `"SP"` |
| `municipio` | discovery | Código IBGE do município — opcional | `"3516200"` |
| `situacao` | discovery | Mantém só empresas nessa situação — opcional | `"ATIVA"` |
| `maxResults` | discovery | Limite de empresas retornadas (controla volume/custo) | `1000` |

**Exemplo — Lookup:** `{ "mode": "lookup", "cnpjs": ["47960950000121", "00000000000191"] }`
**Exemplo — Discovery:** `{ "mode": "discovery", "cnae": "4713004", "uf": "SP", "situacao": "ATIVA", "maxResults": 1000 }`

### Output

Um registro por empresa. Exemplo **real** (Magazine Luiza, `47960950000121` — sócios e CNAEs secundários truncados aqui; o registro real traz os 5 sócios e 35 CNAEs secundários):

```json
{
  "cnpj": "47960950000121",
  "razaoSocial": "MAGAZINE LUIZA S/A",
  "nomeFantasia": "MAGAZINE LUIZA",
  "situacaoCadastral": "ATIVA",
  "dataSituacao": "2005-11-03",
  "cnaePrincipal": "4713004",
  "cnaeDescricao": "Lojas de departamentos ou magazines, exceto lojas francas (Duty free)",
  "cnaesSecundarios": [
    { "codigo": "3329501", "descricao": "Serviços de montagem de móveis de qualquer material" }
  ],
  "naturezaJuridica": "Sociedade Anônima Aberta",
  "capitalSocial": 14202162000,
  "porte": "DEMAIS",
  "opcaoSimples": null,
  "opcaoMei": null,
  "endereco": {
    "logradouro": "VOLUNTARIOS DA FRANCA",
    "numero": "1465",
    "bairro": "CENTRO",
    "municipio": "FRANCA",
    "uf": "SP",
    "cep": "14400490"
  },
  "telefones": ["1637112002"],
  "email": null,
  "socios": [
    { "nome": "ANDRE LUIZ DE SOUZA FATALA", "qualificacao": "Diretor", "faixaEtaria": "Entre 41 a 50 anos", "cpfMascarado": "***571038**", "dataEntrada": "2019-09-11" }
  ],
  "dataAbertura": "1966-10-24",
  "source": "minhareceita",
  "scrapedAt": "2026-07-08T01:51:20.810Z"
}
````

| Campo | Descrição |
|---|---|
| `cnpj` | CNPJ (14 dígitos). |
| `razaoSocial` / `nomeFantasia` | Razão social / nome fantasia. |
| `situacaoCadastral` / `dataSituacao` | Situação (`ATIVA`, `BAIXADA`, `INAPTA`, `SUSPENSA`) e sua data. |
| `cnaePrincipal` / `cnaeDescricao` | CNAE principal (7 dígitos) e descrição. |
| `cnaesSecundarios` | Lista de CNAEs secundários (`codigo`, `descricao`). |
| `naturezaJuridica` / `capitalSocial` / `porte` | Natureza jurídica, capital social (número), porte. |
| `opcaoSimples` / `opcaoMei` | Opção pelo Simples / MEI (`true`/`false`/`null` quando a fonte não informa). |
| `endereco` | `logradouro`, `numero`, `bairro`, `municipio`, `uf`, `cep`. |
| `telefones` / `email` | Contatos, quando constam no registro. |
| `socios` | Quadro societário (QSA): `nome`, `qualificacao`, `faixaEtaria`, `cpfMascarado` (a Receita já mascara o CPF), `dataEntrada`. |
| `dataAbertura` | Data de início de atividade. |
| `source` | Qual fonte respondeu (`minhareceita`, `brasilapi` ou `cnpjws`). |
| `scrapedAt` | Timestamp ISO da coleta. |

Campo ausente = `null`, nunca estimado.

### Custo

Cobrado **por registro retornado** (Pay Per Event). Exemplo: a **US$ 1,50 por 1.000 registros**, 1.000 empresas custam cerca de **US$ 1,50** e 100 empresas cerca de **US$ 0,15**. (Veja o preço atual na página do Store.)

### Confiabilidade

O actor consulta as fontes públicas com **fallback em cadeia** (minhareceita → BrasilAPI → CNPJ.ws): se uma fonte estiver fora, tenta a próxima, e registra em `source` qual respondeu. O ritmo (pacing) respeita os limites de cada fonte para evitar bloqueios.

Diferença importante: um CNPJ que **não existe** (resposta 404 legítima) é reportado como tal e **não** é confundido com "fonte fora do ar" — se muitos CNPJs falharem em **todas** as fontes, o run emite um `qualityAlert` (indica indisponibilidade das fontes, não que as empresas não existem; basta reexecutar).

### Limitações (honestas)

- **Dados públicos da Receita Federal**, atualizados **mensalmente** — não é tempo real; mudanças recentes podem não aparecer até a próxima atualização do registro.
- **Dependência de fontes públicas gratuitas** (minhareceita/BrasilAPI/CNPJ.ws): se todas estiverem fora no momento, o run avisa (`qualityAlert`) — reexecute.
- **Fora do escopo desta versão:** Simples Nacional detalhado, dívida ativa, processos judiciais e histórico societário (exigem fontes restritas).
- A descoberta retorna **todas as situações cadastrais** por padrão; use `situacao` para filtrar (ex.: só `ATIVA`).

### FAQ

**É legal?** Sim — são **dados públicos** do registro da Receita Federal (Lei 12.527/2011), acessíveis sem login. Você é responsável pelo uso que faz deles.

**Preciso de conta ou chave de API?** Não. Sem conta, sem login, sem chave.

**Qual a diferença entre os dois modos?** *Lookup* = você já tem os CNPJs e quer os dados. *Discovery* = você quer descobrir quais empresas existem num setor/região (por CNAE/UF).

**De onde vêm os dados?** Do registro público de CNPJ da Receita Federal, via fontes públicas que o espelham (minhareceita.org como primária; BrasilAPI e CNPJ.ws como fallback).

### Changelog

#### 1.0

- Primeira versão. Dois modos: **Lookup** (lote de CNPJs → registro completo com QSA) e **Discovery** (CNAE/UF/município → lista paginada). Fallback multi-fonte, validação de CNPJ (dígito verificador), pacing por fonte e detecção de indisponibilidade das fontes.

***

### English (summary)

**What it does:** look up Brazilian company data by CNPJ **in bulk**, or **discover companies by CNAE/state** — straight from the Receita Federal public registry, no login, no API key. One actor, **two modes**: **Lookup** (list of CNPJs → full record with partners/QSA) and **Discovery** (CNAE + state/city filter → paginated company list).

**Use cases:** B2B prospecting (find every company in a sector + state by CNAE), KYC/compliance (verify a CNPJ and capture its partners), lead enrichment (a CSV of CNPJs → structured profiles), market research by sector.

**Which mode:** have a list of CNPJs → use **Lookup**; have a sector (CNAE) + region and want the companies → use **Discovery**.

**Inputs:** `mode` (`lookup`/`discovery`, required); lookup: `cnpjs` (array) and/or `cnpjInput` (CSV/text — CNPJs are extracted, validated, deduplicated); discovery: `cnae` (required), `uf`, `municipio`, `situacao`, `maxResults` (default 1000).

**Output:** one record per company (see the real JSON above) — `cnpj`, `razaoSocial`, `situacaoCadastral`, `cnaePrincipal`, `capitalSocial`, `endereco`, `socios` (partners, with masked CPF), `source`, `scrapedAt`, and more. Missing field = `null`, never estimated.

**Cost:** billed **per returned record** (Pay Per Event). Example: at **$1.50 per 1,000 records**, 1,000 companies cost about **$1.50**.

**Reliability:** multi-source fallback (minhareceita → BrasilAPI → CNPJ.ws) with per-source pacing; `source` records which one answered. A non-existent CNPJ (legit 404) is reported as such and never confused with a source outage — a high all-sources-failure rate raises `qualityAlert` (re-run).

**Limitations:** public Receita Federal data, **updated monthly** (not real-time); depends on the availability of the free public sources; detailed Simples/tax-debt/lawsuits are out of scope in this version; discovery returns all registration statuses by default (use `situacao` to filter).

# Actor input Schema

## `mode` (type: `string`):

LOOKUP: you provide CNPJs, get full records. DISCOVERY: you provide filters (CNAE/UF), get the matching companies.

## `cnpjs` (type: `array`):

List of CNPJs to look up. Any format — "47.960.950/0001-21" or "47960950000121". Invalid ones are skipped.

## `cnpjInput` (type: `string`):

Paste a CSV or any text containing CNPJs (one per line or a column). Every CNPJ found is extracted, validated and deduplicated.

## `cnae` (type: `string`):

Primary CNAE subclass to search, e.g. "4713004" (department stores). Required for discovery.

## `uf` (type: `string`):

Two-letter state to narrow the search, e.g. "SP". Optional.

## `municipio` (type: `string`):

IBGE municipality code to narrow further. Optional.

## `situacao` (type: `string`):

Keep only companies with this status, e.g. "ATIVA" (active). Discovery returns all statuses by default. Optional.

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

Cap the number of companies returned in discovery, to control volume and cost.

## Actor input object example

```json
{
  "mode": "lookup",
  "cnpjs": [
    "47960950000121"
  ],
  "cnpjInput": "",
  "cnae": "",
  "uf": "",
  "municipio": "",
  "situacao": "",
  "maxResults": 1000
}
```

# 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 = {
    "cnpjs": [
        "47960950000121"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("johnatan029/cnpj-empresas-brasil-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "cnpjs": ["47960950000121"] }

# Run the Actor and wait for it to finish
run = client.actor("johnatan029/cnpj-empresas-brasil-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "cnpjs": [
    "47960950000121"
  ]
}' |
apify call johnatan029/cnpj-empresas-brasil-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CNPJ & Company Data Brazil - Lookup & Discovery by CNAE/State",
        "description": "Consulta CNPJs em lote (lista ou CSV → dados completos da Receita: razão social, sócios, CNAE, situação, capital) e descobre empresas por CNAE + estado + município. Dados públicos, sem login. Ideal para prospecção B2B, KYC e enriquecimento de leads.",
        "version": "1.0",
        "x-build-id": "ul1vOpMjnGfStP1Wn"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/johnatan029~cnpj-empresas-brasil-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-johnatan029-cnpj-empresas-brasil-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/johnatan029~cnpj-empresas-brasil-scraper/runs": {
            "post": {
                "operationId": "runs-sync-johnatan029-cnpj-empresas-brasil-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/johnatan029~cnpj-empresas-brasil-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-johnatan029-cnpj-empresas-brasil-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "lookup",
                            "discovery"
                        ],
                        "type": "string",
                        "description": "LOOKUP: you provide CNPJs, get full records. DISCOVERY: you provide filters (CNAE/UF), get the matching companies.",
                        "default": "lookup"
                    },
                    "cnpjs": {
                        "title": "CNPJs (lookup mode)",
                        "type": "array",
                        "description": "List of CNPJs to look up. Any format — \"47.960.950/0001-21\" or \"47960950000121\". Invalid ones are skipped.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "cnpjInput": {
                        "title": "CNPJs from CSV/text (lookup mode)",
                        "type": "string",
                        "description": "Paste a CSV or any text containing CNPJs (one per line or a column). Every CNPJ found is extracted, validated and deduplicated.",
                        "default": ""
                    },
                    "cnae": {
                        "title": "CNAE (discovery mode)",
                        "type": "string",
                        "description": "Primary CNAE subclass to search, e.g. \"4713004\" (department stores). Required for discovery.",
                        "default": ""
                    },
                    "uf": {
                        "title": "State / UF (discovery mode)",
                        "type": "string",
                        "description": "Two-letter state to narrow the search, e.g. \"SP\". Optional.",
                        "default": ""
                    },
                    "municipio": {
                        "title": "Município code (discovery mode)",
                        "type": "string",
                        "description": "IBGE municipality code to narrow further. Optional.",
                        "default": ""
                    },
                    "situacao": {
                        "title": "Registration status (discovery mode)",
                        "type": "string",
                        "description": "Keep only companies with this status, e.g. \"ATIVA\" (active). Discovery returns all statuses by default. Optional.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max results (discovery mode)",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Cap the number of companies returned in discovery, to control volume and cost.",
                        "default": 1000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
