Cole no ChatGPT/Claude e peça para resumir/gerar SDK.
Eventos do calendário
GET
/calendar
Retorna as entradas do calendário de uma janela de dias, agrupadas por data. Cada data de um evento é uma entrada, e cada entrada traz todas as datas do evento em dates.
Acesso
Este endpoint exige o escopo @calendar/list na chave de API.
Parâmetros de requisição
| Parâmetro | Local | Descrição | Obrigatório |
|---|---|---|---|
start_date | Query | Primeiro dia da janela (AAAA-MM-DD, dia de São Paulo). Padrão: hoje. Uma data anterior a hoje − 365 dias passa a ser hoje − 365 dias. | Opcional |
end_date | Query | Último dia da janela, incluído. Padrão: start_date + 30 dias. Com tickers e sem end_date, a janela não tem fim. | Opcional |
tickers | Query | Até 20 tickers separados por vírgula (ex.: PETR4,VALE3). Libera o limite de 31 dias da janela. | Opcional |
company | Query | company_id do emissor: CNPJ ou, para alguns emissores de BDR, código CVM. A pontuação é ignorada. | Opcional |
issuer_type | Query | STOCK, BDR ou TRADED_FUND. | Opcional |
event_types | Query | Tipos de evento separados por vírgula (ex.: DIVIDEND,INTEREST_ON_EQUITY). Veja tipos de evento. | Opcional |
date_types | Query | Tipos de data separados por vírgula (ex.: payment_date). Veja tipos de data. | Opcional |
Os filtros se combinam com E. Parâmetros repetidos (tickers=PETR4&tickers=VALE3) valem como uma lista separada por vírgula.
Regras da janela
- Sem parâmetros, a janela vai de hoje até hoje + 30 dias.
- Sem
tickers, a janela tem no máximo 31 dias, contando as duas pontas (ex.:2026-11-01a2026-12-01). Uma janela maior retorna400. - Com
tickers, não há limite. Semend_date, a resposta traz todas as datas a partir destart_date, emetadata.end_datevemnull. Assim,GET /v2/calendar?tickers=PETR4traz tudo o que está por vir para PETR4. - O calendário serve no máximo 365 dias para trás.
metadatamostra a janela aplicada.
Resposta
| Código | Descrição |
|---|---|
| 200 | Retorna as entradas do calendário. |
| 400 | Parâmetros inválidos, janela maior que 31 dias sem tickers ou end_date antes de start_date. |
| 401 | Não autorizado. |
| 403 | A chave não tem o escopo @calendar/list. |
Formato da resposta
| Campo | Tipo | Descrição |
|---|---|---|
data[].date | string (ISO 8601) | O dia (meia-noite em São Paulo). |
data[].events[] | array | As entradas do dia. |
id | string | Id da versão do evento. Quando a fonte reapresenta o evento, a versão antiga sai e a nova vem com outro id. |
event_id | string | Id do evento na fonte: o event_id da B3 nos eventos em ações e EV-<company_id>-<código>-<período> nos eventos da agenda. Os proventos em dinheiro não têm. |
date_type | string | Qual das datas do evento cai neste dia. |
event_type | string | Tipo do evento. |
event_label | string | Nome do tipo em português (ex.: Dividendo, Desdobramento). |
tickers | string[] | Agenda: todos os tickers da empresa. Eventos em ações e proventos: o ticker do ISIN do evento. |
company_id | string | CNPJ ou, para alguns emissores de BDR, código CVM. |
issuer_type | string | STOCK, BDR ou TRADED_FUND. |
dates | object | Todas as datas do evento, por tipo de data, na ordem em que acontecem. |
data | object | Campos do tipo de evento. Veja tipos de evento. |
metadata.start_date, metadata.end_date | string | null | Janela aplicada (AAAA-MM-DD). end_date é null quando a janela não tem fim. |
metadata.count | number | Número de entradas retornadas. |
Só vêm as versões vigentes dos eventos. Dias sem entradas ficam de fora. As entradas são ordenadas por data, event_type, primeiro ticker e id.
Tipos de data
date_type | Significado |
|---|---|
scheduled_date | Data de um item da agenda (divulgação de resultado, teleconferência, assembleia, entrega de documento). |
prior_ex_date | Último dia com direito (data com). |
ex_date | Primeiro dia sem direito: o pregão seguinte à prior_ex_date. |
payment_date | Data de pagamento. |
trading_period_start_date | Início da negociação dos direitos de subscrição. |
trading_period_end_date | Fim da negociação dos direitos de subscrição. |
subscription_date | Prazo final da subscrição. |
Tipos de evento
| Família | event_type | Campos em data |
|---|---|---|
| Agenda | EARNINGS_RELEASE | report (ITR/DFP), fiscal_year, fiscal_quarter, language (pt/en), description |
EARNINGS_CALL, PUBLIC_MEETING | fiscal_year, fiscal_quarter, description | |
AGM_MANAGEMENT_PROPOSAL, AGM_CALL_NOTICE, ANNUAL_SHAREHOLDERS_MEETING | fiscal_year, description | |
REFERENCE_FORM, GOVERNANCE_REPORT | year, description | |
| Ações | STOCK_SPLIT, REVERSE_STOCK_SPLIT | factor, price_factor |
STOCK_BONUS | factor, price_factor, issued_asset_isin_code, price | |
SUBSCRIPTION | percentage, price, issued_asset_isin_code | |
MERGER_INCORPORATION, SPIN_OFF_CAPITAL_REDUCTION, SPIN_OFF_CAPITAL_REDUCTION_QUANTITY, CAPITAL_RESTITUTION_IN_ASSETS, CAPITAL_RESTITUTION_IN_ASSETS_WITH_SHARE_REDUCTION | legs[{leg_type, isin_code, ticker, factor}], cash_per_share | |
TOTAL_EQUITY_REDEMPTION | price | |
| Dinheiro | DIVIDEND, INTEREST_ON_EQUITY, CASH_CAPITAL_RETURN | value, net_value, declared_value, monetary_correction, currency |
INCOME_DISTRIBUTION, AMORTIZATION | value, net_value, currency |
Campos sem valor (nulo, texto vazio ou lista vazia) ficam fora de data. Zeros são mantidos.
Exemplo
curl --request GET \
--url "https://data.partnr.ai/v2/calendar?tickers=PETR4&date_types=payment_date" \
--header "Authorization: Bearer SUA_API_KEY"
{
"data": [
{
"date": "2026-11-23T03:00:00.000Z",
"events": [
{
"id": "6a8f0c2e9b1d4e7f8a2b3c4d",
"date_type": "payment_date",
"event_type": "INTEREST_ON_EQUITY",
"event_label": "Juros sobre capital próprio",
"tickers": ["PETR4"],
"company_id": "33000167000101",
"issuer_type": "STOCK",
"dates": {
"prior_ex_date": "2026-08-21T03:00:00.000Z",
"ex_date": "2026-08-24T03:00:00.000Z",
"payment_date": "2026-11-23T03:00:00.000Z"
},
"data": {
"value": 0.67407131,
"net_value": 0.55610883075,
"declared_value": 0.67407131,
"monetary_correction": 0,
"currency": "BRL"
}
}
]
}
],
"metadata": { "start_date": "2026-11-03", "end_date": null, "count": 1 }
}