# CVM Insider Trading — Formulário 358 (2010–2025) (`jenko_systems/cvm-insider-358`) Actor

Negociações de ações por diretores, conselheiros e controladores de companhias abertas brasileiras. O equivalente brasileiro do SEC Form 4. Dados públicos da CVM inacessíveis programaticamente — até agora.

- **URL**: https://apify.com/jenko\_systems/cvm-insider-358.md
- **Developed by:** [Jenko Systems](https://apify.com/jenko_systems) (community)
- **Categories:** Other, News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0005 / actor start

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

## CVM Insider Trading — Formulário 358 (2010–2025)

---

### 🇺🇸 English

The Brazilian equivalent of the SEC Form 4 — now available as an API. Every stock transaction by directors, board members and controlling shareholders of publicly traded Brazilian companies must be reported monthly to the CVM (Brazil's SEC) via Formulário 358. This is legally disclosed insider trading data — and one of the most valuable signals in the Brazilian market.

#### What you get

- Every buy and sell by directors, CFOs, CEOs, board members and controlling shareholders
- Declared quantity, average price and total transaction value
- Post-transaction balance (how much they still hold)
- Signal score weighted by role (CEO counts more than a board member)
- Sector and B3 listing segment for each company
- Direct link to the original CVM document

#### Query modes

**`recent` — Latest transactions**
```json
{ "mode": "recent", "days": 30, "operation_type": "all" }
````

**`empresa` — By company**

```json
{ "mode": "empresa", "ticker": "PETR4" }
```

```json
{ "mode": "empresa", "empresa": "Vale", "operation_type": "sell" }
```

**`insider` — By person**

```json
{ "mode": "insider", "insider": "Jean Paul Prates" }
```

**`alerts` — Large transactions**

```json
{ "mode": "alerts", "days": 30, "min_value_brl": 5000000 }
```

**`ranking` — Top buyers, sellers or most active**

```json
{ "mode": "ranking", "tipo_ranking": "maiores_compradores", "days": 90, "top_n": 20 }
```

**`estatisticas` — Summary**

```json
{ "mode": "estatisticas", "days": 30, "ticker": "VALE3" }
```

#### Signal score

Each transaction gets a signal score weighted by the insider's role:

| Role | Multiplier |
|------|-----------|
| CEO / President | 2.0× |
| CFO / Financial Director | 1.8× |
| Director | 1.5× |
| Controlling shareholder | 1.3× |
| Board member | 1.2× |

Labels: `strong_buy` · `buy` · `neutral` · `sell` · `strong_sell`

#### Why this matters

In the US, SEC Form 4 filings are monitored in real time by quant funds. Academic studies show insider transactions predict abnormal returns of 5–15% over the following 6 months. Brazil has the same data — until now without an API.

**Target audience:** fund managers, buy-side analysts, wealth management fintechs, quant traders.

#### Data source

Official public data from:

- [Portal de Dados Abertos CVM](https://dados.cvm.gov.br)
- [Portal RAD/ENET CVM](https://www.rad.cvm.gov.br)

***

### 🇧🇷 Português

O equivalente brasileiro do SEC Form 4 — agora com API. Toda compra e venda de ações por diretores, conselheiros e controladores de companhias abertas deve ser declarada mensalmente à CVM no Formulário 358. São dados públicos de insider trading legal — e um dos sinais mais valiosos do mercado brasileiro.

#### O que você recebe

- Todas as compras e vendas de diretores, CFOs, CEOs, conselheiros e controladores
- Quantidade, preço médio e valor total de cada operação
- Saldo pós-operação (quanto o insider ainda detém)
- Signal score ponderado pelo cargo
- Setor e segmento de listagem B3 de cada empresa
- Link direto para o documento original na CVM

#### Modos de consulta

**`recent` — Negociações recentes**

```json
{ "mode": "recent", "days": 30, "operation_type": "buy" }
```

**`empresa` — Por empresa**

```json
{ "mode": "empresa", "ticker": "VALE3" }
```

**`insider` — Por pessoa**

```json
{ "mode": "insider", "insider": "Gustavo Pimenta" }
```

**`alerts` — Grandes negociações**

```json
{ "mode": "alerts", "days": 30, "min_value_brl": 1000000 }
```

**`ranking` — Rankings**

```json
{ "mode": "ranking", "tipo_ranking": "maiores_vendedores", "days": 90, "top_n": 10 }
```

**`estatisticas` — Resumo**

```json
{ "mode": "estatisticas", "days": 30 }
```

#### Fonte dos dados

Dados 100% públicos da CVM, conforme Lei de Acesso à Informação:

- [Portal de Dados Abertos CVM](https://dados.cvm.gov.br)
- [Portal RAD/ENET CVM](https://www.rad.cvm.gov.br)

*by [Jenko Systems](https://apify.com/jenko_systems)*

# Actor input Schema

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

Modo de consulta.

## `days` (type: `integer`):

Quantos dias atrás buscar formulários protocolados na CVM.

## `empresa` (type: `string`):

Nome parcial ou completo. Ex: Petrobras, Vale, Itaú, Ambev.

## `cnpj` (type: `string`):

CNPJ da companhia. Ex: 33.000.167/0001-01

## `busca` (type: `string`):

Busca por nome parcial de empresa. Ex: Banco, Energia, Construção.

## `max_resultados` (type: `integer`):

Número máximo de registros retornados.

## Actor input object example

```json
{
  "mode": "recent",
  "days": 30,
  "max_resultados": 100
}
```

# 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("jenko_systems/cvm-insider-358").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("jenko_systems/cvm-insider-358").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 jenko_systems/cvm-insider-358 --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CVM Insider Trading — Formulário 358 (2010–2025)",
        "description": "Negociações de ações por diretores, conselheiros e controladores de companhias abertas brasileiras. O equivalente brasileiro do SEC Form 4. Dados públicos da CVM inacessíveis programaticamente — até agora.",
        "version": "1.0",
        "x-build-id": "km1abgdW7y2YECLd0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jenko_systems~cvm-insider-358/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jenko_systems-cvm-insider-358",
                "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/jenko_systems~cvm-insider-358/runs": {
            "post": {
                "operationId": "runs-sync-jenko_systems-cvm-insider-358",
                "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/jenko_systems~cvm-insider-358/run-sync": {
            "post": {
                "operationId": "run-sync-jenko_systems-cvm-insider-358",
                "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": "Modo de consulta",
                        "enum": [
                            "recent",
                            "empresa",
                            "busca",
                            "estatisticas"
                        ],
                        "type": "string",
                        "description": "Modo de consulta.",
                        "default": "recent"
                    },
                    "days": {
                        "title": "Dias para buscar (modos recent e estatisticas)",
                        "minimum": 1,
                        "maximum": 3650,
                        "type": "integer",
                        "description": "Quantos dias atrás buscar formulários protocolados na CVM.",
                        "default": 30
                    },
                    "empresa": {
                        "title": "Nome da empresa (modos empresa e estatisticas)",
                        "type": "string",
                        "description": "Nome parcial ou completo. Ex: Petrobras, Vale, Itaú, Ambev."
                    },
                    "cnpj": {
                        "title": "CNPJ (modo empresa)",
                        "type": "string",
                        "description": "CNPJ da companhia. Ex: 33.000.167/0001-01"
                    },
                    "busca": {
                        "title": "Termo de busca (modo busca)",
                        "type": "string",
                        "description": "Busca por nome parcial de empresa. Ex: Banco, Energia, Construção."
                    },
                    "max_resultados": {
                        "title": "Máximo de resultados",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Número máximo de registros retornados.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
