From bb284b566f4543033d89fd10055457d7a6d7bd70 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 15 Jul 2026 00:27:44 +0000
Subject: [PATCH 01/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/resources/quote.py | 8 ++++++++
src/brapi/types/quote_list_params.py | 3 +++
src/brapi/types/quote_list_response.py | 5 +++++
tests/api_resources/test_quote.py | 2 ++
5 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 9cc0f72..ce4b8f0 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-763c52c3811b3a28985947ecdba690fa83368b40c6dbd27ac740c241d52ea2a8.yml
-openapi_spec_hash: 4020950d95877b91e854f0e1917341b1
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-07b49d07a544dd5f6b7461bf3b43ae572204d0dab332d85e8b621e8085550c27.yml
+openapi_spec_hash: 3b9e43c82437645110c690676543eb89
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index b29f848..eed8389 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -261,6 +261,7 @@ def list(
sector: str | Omit = omit,
sort_by: Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"] | Omit = omit,
sort_order: Literal["asc", "desc"] | Omit = omit,
+ subsector: str | Omit = omit,
sub_type: Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"] | Omit = omit,
type: Literal["stock", "fund", "bdr"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -340,6 +341,8 @@ def list(
sort_order: Ordem de classificação
+ subsector: Filtrar pelo subsetor B3
+
sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro,
fip, fidc ou bdr
@@ -369,6 +372,7 @@ def list(
"sector": sector,
"sort_by": sort_by,
"sort_order": sort_order,
+ "subsector": subsector,
"sub_type": sub_type,
"type": type,
},
@@ -616,6 +620,7 @@ async def list(
sector: str | Omit = omit,
sort_by: Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"] | Omit = omit,
sort_order: Literal["asc", "desc"] | Omit = omit,
+ subsector: str | Omit = omit,
sub_type: Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"] | Omit = omit,
type: Literal["stock", "fund", "bdr"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -695,6 +700,8 @@ async def list(
sort_order: Ordem de classificação
+ subsector: Filtrar pelo subsetor B3
+
sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro,
fip, fidc ou bdr
@@ -724,6 +731,7 @@ async def list(
"sector": sector,
"sort_by": sort_by,
"sort_order": sort_order,
+ "subsector": subsector,
"sub_type": sub_type,
"type": type,
},
diff --git a/src/brapi/types/quote_list_params.py b/src/brapi/types/quote_list_params.py
index e8bc904..702a6a4 100644
--- a/src/brapi/types/quote_list_params.py
+++ b/src/brapi/types/quote_list_params.py
@@ -33,6 +33,9 @@ class QuoteListParams(TypedDict, total=False):
sort_order: Annotated[Literal["asc", "desc"], PropertyInfo(alias="sortOrder")]
"""Ordem de classificação"""
+ subsector: str
+ """Filtrar pelo subsetor B3"""
+
sub_type: Annotated[
Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"],
PropertyInfo(alias="subType"),
diff --git a/src/brapi/types/quote_list_response.py b/src/brapi/types/quote_list_response.py
index bd976e0..62d1d7f 100644
--- a/src/brapi/types/quote_list_response.py
+++ b/src/brapi/types/quote_list_response.py
@@ -37,6 +37,9 @@ class Stock(BaseModel):
stock: str
"""Ticker do ativo"""
+ subsector: Optional[str] = None
+ """Subsetor B3"""
+
sub_type: Optional[str] = FieldInfo(alias="subType", default=None)
"""
Classificação aditiva do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip,
@@ -55,6 +58,8 @@ class QuoteListResponse(BaseModel):
available_stock_types: List[str] = FieldInfo(alias="availableStockTypes")
+ available_subsectors: List[str] = FieldInfo(alias="availableSubsectors")
+
available_sub_type_types: List[str] = FieldInfo(alias="availableSubTypeTypes")
indexes: List[Index]
diff --git a/tests/api_resources/test_quote.py b/tests/api_resources/test_quote.py
index aa77cbe..75580f4 100644
--- a/tests/api_resources/test_quote.py
+++ b/tests/api_resources/test_quote.py
@@ -91,6 +91,7 @@ def test_method_list_with_all_params(self, client: Brapi) -> None:
sector="sector",
sort_by="name",
sort_order="asc",
+ subsector="subsector",
sub_type="stock",
type="stock",
)
@@ -198,6 +199,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncBrapi) -> No
sector="sector",
sort_by="name",
sort_order="asc",
+ subsector="subsector",
sub_type="stock",
type="stock",
)
From 26541f26d59fb1c56c09d3eb229dc3aaba57edc1 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 17 Jul 2026 05:27:44 +0000
Subject: [PATCH 02/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/resources/v2/currency.py | 26 ++++++++------------------
2 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index ce4b8f0..9915da8 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-07b49d07a544dd5f6b7461bf3b43ae572204d0dab332d85e8b621e8085550c27.yml
-openapi_spec_hash: 3b9e43c82437645110c690676543eb89
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-30a1798398712f051739bae101bbfeb09378d305622984b23dc89e566b22c5aa.yml
+openapi_spec_hash: a9936a7229a61b41b3506ad548e50035
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/v2/currency.py b/src/brapi/resources/v2/currency.py
index 958e7df..5c7f14a 100644
--- a/src/brapi/resources/v2/currency.py
+++ b/src/brapi/resources/v2/currency.py
@@ -77,7 +77,6 @@ def retrieve(
```bash
curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL"
curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=BTC-BRL"
```
### Pares de Moedas Populares:
@@ -85,10 +84,7 @@ def retrieve(
- `USD-BRL` — Dólar Americano / Real
- `EUR-BRL` — Euro / Real
- `GBP-BRL` — Libra Esterlina / Real
- - `ARS-BRL` — Peso Argentino / Real
- `EUR-USD` — Euro / Dólar
- - `BTC-BRL` — Bitcoin / Real
- - `ETH-BRL` — Ethereum / Real
### Campos da Resposta:
@@ -102,7 +98,7 @@ def retrieve(
### Fonte dos Dados:
- Banco Central do Brasil (PTAX) / Yahoo Finance
+ Banco Central do Brasil (PTAX)
**Plano Mínimo:** Startup **Autenticação:** Necessária
@@ -151,10 +147,9 @@ def list_available(
### Pares Disponíveis:
- - **Moedas Fiduciárias:** USD-BRL, EUR-BRL, GBP-BRL, ARS-BRL, CAD-BRL, AUD-BRL,
- JPY-BRL, CNY-BRL
- - **Cross Rates:** EUR-USD, GBP-USD
- - **Criptomoedas:** BTC-BRL, ETH-BRL
+ - **Moedas Fiduciárias:** USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK
+ contra BRL
+ - **Cross Rates:** pares entre as moedas PTAX suportadas, como EUR-USD e GBP-USD
### Exemplos de Requisição:
@@ -244,7 +239,6 @@ async def retrieve(
```bash
curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL"
curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=BTC-BRL"
```
### Pares de Moedas Populares:
@@ -252,10 +246,7 @@ async def retrieve(
- `USD-BRL` — Dólar Americano / Real
- `EUR-BRL` — Euro / Real
- `GBP-BRL` — Libra Esterlina / Real
- - `ARS-BRL` — Peso Argentino / Real
- `EUR-USD` — Euro / Dólar
- - `BTC-BRL` — Bitcoin / Real
- - `ETH-BRL` — Ethereum / Real
### Campos da Resposta:
@@ -269,7 +260,7 @@ async def retrieve(
### Fonte dos Dados:
- Banco Central do Brasil (PTAX) / Yahoo Finance
+ Banco Central do Brasil (PTAX)
**Plano Mínimo:** Startup **Autenticação:** Necessária
@@ -320,10 +311,9 @@ async def list_available(
### Pares Disponíveis:
- - **Moedas Fiduciárias:** USD-BRL, EUR-BRL, GBP-BRL, ARS-BRL, CAD-BRL, AUD-BRL,
- JPY-BRL, CNY-BRL
- - **Cross Rates:** EUR-USD, GBP-USD
- - **Criptomoedas:** BTC-BRL, ETH-BRL
+ - **Moedas Fiduciárias:** USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK
+ contra BRL
+ - **Cross Rates:** pares entre as moedas PTAX suportadas, como EUR-USD e GBP-USD
### Exemplos de Requisição:
From 7e697d6099b1e28a9babeb18df7f81749d7f23f8 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 18 Jul 2026 02:15:40 +0000
Subject: [PATCH 03/16] feat(stlc): configurable CI runner and
private-production-repo support in workflow templates
---
.github/workflows/ci.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7c37599..1421905 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
- runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -44,7 +44,7 @@ jobs:
permissions:
contents: read
id-token: write
- runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -84,7 +84,7 @@ jobs:
test:
timeout-minutes: 10
name: test
- runs-on: ${{ github.repository == 'stainless-sdks/brapi-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
+ runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
From 18bf68780826659e608ff4add3ee53a9b7e96fef Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 29 Jul 2026 08:27:43 +0000
Subject: [PATCH 04/16] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 9915da8..50fad84 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-30a1798398712f051739bae101bbfeb09378d305622984b23dc89e566b22c5aa.yml
-openapi_spec_hash: a9936a7229a61b41b3506ad548e50035
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-84cd3398910534f2ceac1d3ea69996aff62bad36183feaa8f9d6f7c08dbfe230.yml
+openapi_spec_hash: d3fc4ed4d15757dea2e36b6b89476362
config_hash: 14da4c1963f3e0764a3e82d626a1d762
From bb222bb68cc21fed61fbc5b835a84e37ca59356f Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 2 Aug 2026 22:27:43 +0000
Subject: [PATCH 05/16] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 50fad84..f3886a4 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-84cd3398910534f2ceac1d3ea69996aff62bad36183feaa8f9d6f7c08dbfe230.yml
-openapi_spec_hash: d3fc4ed4d15757dea2e36b6b89476362
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-370d96602e1e139c7cc679fa26ebd1f021ac755f6d51c56377dd8a418db215f7.yml
+openapi_spec_hash: b788a91e141e37b39f9dded445f127fc
config_hash: 14da4c1963f3e0764a3e82d626a1d762
From ea7470f791b60a043840d9ea5c7cc5e64832baa3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 20 Aug 2026 03:27:45 +0000
Subject: [PATCH 06/16] feat(api): api update
---
.stats.yml | 4 +-
src/brapi/resources/available.py | 16 +-
src/brapi/resources/quote.py | 244 ++++++++++++------------
src/brapi/resources/v2/crypto.py | 72 +++----
src/brapi/resources/v2/currency.py | 44 ++---
src/brapi/resources/v2/inflation.py | 20 +-
src/brapi/resources/v2/prime_rate.py | 20 +-
src/brapi/types/financial_data_entry.py | 8 +-
8 files changed, 214 insertions(+), 214 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index f3886a4..60a91df 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-370d96602e1e139c7cc679fa26ebd1f021ac755f6d51c56377dd8a418db215f7.yml
-openapi_spec_hash: b788a91e141e37b39f9dded445f127fc
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-7f4fc756afdb44ce8ec65abd1029ad0e99a35ad6a54ab03bb6e32e4c39a916eb.yml
+openapi_spec_hash: 85b858ecdb85ed7116d79672a7108784
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/available.py b/src/brapi/resources/available.py
index d9adaf9..d0f68b5 100644
--- a/src/brapi/resources/available.py
+++ b/src/brapi/resources/available.py
@@ -89,13 +89,13 @@ def list(
### Índices Disponíveis
- - `^BVSP` — Ibovespa (Índice Bovespa)
- - `IFIX.SA` — Índice de Fundos Imobiliários
+ - `^BVSP` - Ibovespa (Índice Bovespa)
+ - `IFIX.SA` - Índice de Fundos Imobiliários
### Campos da Resposta
- - `stocks` — Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
- - `indexes` — Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
+ - `stocks` - Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
+ - `indexes` - Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
### Como Usar
@@ -198,13 +198,13 @@ async def list(
### Índices Disponíveis
- - `^BVSP` — Ibovespa (Índice Bovespa)
- - `IFIX.SA` — Índice de Fundos Imobiliários
+ - `^BVSP` - Ibovespa (Índice Bovespa)
+ - `IFIX.SA` - Índice de Fundos Imobiliários
### Campos da Resposta
- - `stocks` — Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
- - `indexes` — Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
+ - `stocks` - Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
+ - `indexes` - Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
### Como Usar
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index eed8389..1102dcb 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -120,78 +120,78 @@ def retrieve(
### Módulos Disponíveis:
- - `summaryProfile` — Perfil da empresa (CNPJ, setor, descrição, website,
+ - `summaryProfile` - Perfil da empresa (CNPJ, setor, descrição, website,
funcionários)
- - `balanceSheetHistory` — Balanço Patrimonial anual
- - `balanceSheetHistoryQuarterly` — Balanço Patrimonial trimestral
- - `incomeStatementHistory` — DRE anual (Demonstração de Resultado do Exercício)
- - `incomeStatementHistoryQuarterly` — DRE trimestral
- - `financialData` — Indicadores financeiros atuais (TTM - Trailing Twelve
+ - `balanceSheetHistory` - Balanço Patrimonial anual
+ - `balanceSheetHistoryQuarterly` - Balanço Patrimonial trimestral
+ - `incomeStatementHistory` - DRE anual (Demonstração de Resultado do Exercício)
+ - `incomeStatementHistoryQuarterly` - DRE trimestral
+ - `financialData` - Indicadores financeiros atuais (TTM - Trailing Twelve
Months)
- - `financialDataHistory` — Histórico anual de indicadores financeiros
- - `financialDataHistoryQuarterly` — Histórico trimestral de indicadores
+ - `financialDataHistory` - Histórico anual de indicadores financeiros
+ - `financialDataHistoryQuarterly` - Histórico trimestral de indicadores
financeiros
- - `defaultKeyStatistics` — Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
+ - `defaultKeyStatistics` - Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
etc)
- - `defaultKeyStatisticsHistory` — Histórico anual de estatísticas-chave
- - `defaultKeyStatisticsHistoryQuarterly` — Histórico trimestral de
+ - `defaultKeyStatisticsHistory` - Histórico anual de estatísticas-chave
+ - `defaultKeyStatisticsHistoryQuarterly` - Histórico trimestral de
estatísticas-chave
- - `cashflowHistory` — Fluxo de Caixa anual
- - `cashflowHistoryQuarterly` — Fluxo de Caixa trimestral
- - `valueAddedHistory` — DVA anual (Demonstração de Valor Adicionado)
- - `valueAddedHistoryQuarterly` — DVA trimestral
+ - `cashflowHistory` - Fluxo de Caixa anual
+ - `cashflowHistoryQuarterly` - Fluxo de Caixa trimestral
+ - `valueAddedHistory` - DVA anual (Demonstração de Valor Adicionado)
+ - `valueAddedHistoryQuarterly` - DVA trimestral
### Intervalos Válidos (histórico):
- - `1d` — Diário
- - `5d` — 5 dias
- - `1wk` — Semanal
- - `1mo` — Mensal
- - `3mo` — Trimestral
+ - `1d` - Diário
+ - `5d` - 5 dias
+ - `1wk` - Semanal
+ - `1mo` - Mensal
+ - `3mo` - Trimestral
### Períodos Válidos (range):
- - `1d` — Último dia
- - `5d` — Últimos 5 dias
- - `1mo` — Último mês
- - `3mo` — Últimos 3 meses
- - `6mo` — Últimos 6 meses
- - `1y` — Último ano
- - `2y` — Últimos 2 anos
- - `5y` — Últimos 5 anos
- - `10y` — Últimos 10 anos
- - `ytd` — Ano até hoje
- - `max` — Máximo disponível
+ - `1d` - Último dia
+ - `5d` - Últimos 5 dias
+ - `1mo` - Último mês
+ - `3mo` - Últimos 3 meses
+ - `6mo` - Últimos 6 meses
+ - `1y` - Último ano
+ - `2y` - Últimos 2 anos
+ - `5y` - Últimos 5 anos
+ - `10y` - Últimos 10 anos
+ - `ytd` - Ano até hoje
+ - `max` - Máximo disponível
### Campos Principais da Resposta:
- - `symbol` — Ticker do ativo (ex: PETR4)
- - `shortName` — Nome curto da empresa
- - `currency` — Moeda (BRL)
- - `regularMarketPrice` — Preço atual em BRL
- - `regularMarketChange` — Variação absoluta
- - `regularMarketChangePercent` — Variação percentual (%)
- - `regularMarketVolume` — Volume de negociação do dia
- - `regularMarketDayHigh` — Máxima do dia
- - `regularMarketDayLow` — Mínima do dia
- - `fiftyTwoWeekHigh` — Máxima de 52 semanas
- - `fiftyTwoWeekLow` — Mínima de 52 semanas
- - `marketCap` — Capitalização de mercado
- - `historicalDataPrice` — Array de dados OHLCV (quando `range`/`interval`
+ - `symbol` - Ticker do ativo (ex: PETR4)
+ - `shortName` - Nome curto da empresa
+ - `currency` - Moeda (BRL)
+ - `regularMarketPrice` - Preço atual em BRL
+ - `regularMarketChange` - Variação absoluta
+ - `regularMarketChangePercent` - Variação percentual (%)
+ - `regularMarketVolume` - Volume de negociação do dia
+ - `regularMarketDayHigh` - Máxima do dia
+ - `regularMarketDayLow` - Mínima do dia
+ - `fiftyTwoWeekHigh` - Máxima de 52 semanas
+ - `fiftyTwoWeekLow` - Mínima de 52 semanas
+ - `marketCap` - Capitalização de mercado
+ - `historicalDataPrice` - Array de dados OHLCV (quando `range`/`interval`
fornecidos)
- - `dividendsData` — Histórico de dividendos (quando `dividends=true`)
+ - `dividendsData` - Histórico de dividendos (quando `dividends=true`)
### Tickers Populares (Teste):
- - `PETR4` — Petrobras (Energia)
- - `VALE3` — Vale (Mineração)
- - `ITUB4` — Itaú Unibanco (Financeiro)
- - `BBDC4` — Bradesco (Financeiro)
- - `ABEV3` — Ambev (Consumo)
- - `WEGE3` — WEG (Indústria)
- - `RENT3` — Localiza (Transporte)
- - `BBAS3` — Banco do Brasil (Financeiro)
- - `MGLU3` — Magazine Luiza (Varejo)
+ - `PETR4` - Petrobras (Energia)
+ - `VALE3` - Vale (Mineração)
+ - `ITUB4` - Itaú Unibanco (Financeiro)
+ - `BBDC4` - Bradesco (Financeiro)
+ - `ABEV3` - Ambev (Consumo)
+ - `WEGE3` - WEG (Indústria)
+ - `RENT3` - Localiza (Transporte)
+ - `BBAS3` - Banco do Brasil (Financeiro)
+ - `MGLU3` - Magazine Luiza (Varejo)
### Fonte dos Dados:
@@ -313,16 +313,16 @@ def list(
### Parâmetros de Ordenação:
- - `volume` — Volume de negociação do dia
- - `close` — Preço de fechamento
- - `market_cap_basic` — Capitalização de mercado
- - `name` — Nome da empresa (alfabético)
+ - `volume` - Volume de negociação do dia
+ - `close` - Preço de fechamento
+ - `market_cap_basic` - Capitalização de mercado
+ - `name` - Nome da empresa (alfabético)
### Tipos de Ativo:
- - `stock` — Ações (Ações ordinárias e preferenciais)
- - `fund` — Fundos Imobiliários (FIIs) e ETFs
- - `bdr` — BDRs (Brazilian Depositary Receipts)
+ - `stock` - Ações (Ações ordinárias e preferenciais)
+ - `fund` - Fundos Imobiliários (FIIs) e ETFs
+ - `bdr` - BDRs (Brazilian Depositary Receipts)
**Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token)
@@ -479,78 +479,78 @@ async def retrieve(
### Módulos Disponíveis:
- - `summaryProfile` — Perfil da empresa (CNPJ, setor, descrição, website,
+ - `summaryProfile` - Perfil da empresa (CNPJ, setor, descrição, website,
funcionários)
- - `balanceSheetHistory` — Balanço Patrimonial anual
- - `balanceSheetHistoryQuarterly` — Balanço Patrimonial trimestral
- - `incomeStatementHistory` — DRE anual (Demonstração de Resultado do Exercício)
- - `incomeStatementHistoryQuarterly` — DRE trimestral
- - `financialData` — Indicadores financeiros atuais (TTM - Trailing Twelve
+ - `balanceSheetHistory` - Balanço Patrimonial anual
+ - `balanceSheetHistoryQuarterly` - Balanço Patrimonial trimestral
+ - `incomeStatementHistory` - DRE anual (Demonstração de Resultado do Exercício)
+ - `incomeStatementHistoryQuarterly` - DRE trimestral
+ - `financialData` - Indicadores financeiros atuais (TTM - Trailing Twelve
Months)
- - `financialDataHistory` — Histórico anual de indicadores financeiros
- - `financialDataHistoryQuarterly` — Histórico trimestral de indicadores
+ - `financialDataHistory` - Histórico anual de indicadores financeiros
+ - `financialDataHistoryQuarterly` - Histórico trimestral de indicadores
financeiros
- - `defaultKeyStatistics` — Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
+ - `defaultKeyStatistics` - Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
etc)
- - `defaultKeyStatisticsHistory` — Histórico anual de estatísticas-chave
- - `defaultKeyStatisticsHistoryQuarterly` — Histórico trimestral de
+ - `defaultKeyStatisticsHistory` - Histórico anual de estatísticas-chave
+ - `defaultKeyStatisticsHistoryQuarterly` - Histórico trimestral de
estatísticas-chave
- - `cashflowHistory` — Fluxo de Caixa anual
- - `cashflowHistoryQuarterly` — Fluxo de Caixa trimestral
- - `valueAddedHistory` — DVA anual (Demonstração de Valor Adicionado)
- - `valueAddedHistoryQuarterly` — DVA trimestral
+ - `cashflowHistory` - Fluxo de Caixa anual
+ - `cashflowHistoryQuarterly` - Fluxo de Caixa trimestral
+ - `valueAddedHistory` - DVA anual (Demonstração de Valor Adicionado)
+ - `valueAddedHistoryQuarterly` - DVA trimestral
### Intervalos Válidos (histórico):
- - `1d` — Diário
- - `5d` — 5 dias
- - `1wk` — Semanal
- - `1mo` — Mensal
- - `3mo` — Trimestral
+ - `1d` - Diário
+ - `5d` - 5 dias
+ - `1wk` - Semanal
+ - `1mo` - Mensal
+ - `3mo` - Trimestral
### Períodos Válidos (range):
- - `1d` — Último dia
- - `5d` — Últimos 5 dias
- - `1mo` — Último mês
- - `3mo` — Últimos 3 meses
- - `6mo` — Últimos 6 meses
- - `1y` — Último ano
- - `2y` — Últimos 2 anos
- - `5y` — Últimos 5 anos
- - `10y` — Últimos 10 anos
- - `ytd` — Ano até hoje
- - `max` — Máximo disponível
+ - `1d` - Último dia
+ - `5d` - Últimos 5 dias
+ - `1mo` - Último mês
+ - `3mo` - Últimos 3 meses
+ - `6mo` - Últimos 6 meses
+ - `1y` - Último ano
+ - `2y` - Últimos 2 anos
+ - `5y` - Últimos 5 anos
+ - `10y` - Últimos 10 anos
+ - `ytd` - Ano até hoje
+ - `max` - Máximo disponível
### Campos Principais da Resposta:
- - `symbol` — Ticker do ativo (ex: PETR4)
- - `shortName` — Nome curto da empresa
- - `currency` — Moeda (BRL)
- - `regularMarketPrice` — Preço atual em BRL
- - `regularMarketChange` — Variação absoluta
- - `regularMarketChangePercent` — Variação percentual (%)
- - `regularMarketVolume` — Volume de negociação do dia
- - `regularMarketDayHigh` — Máxima do dia
- - `regularMarketDayLow` — Mínima do dia
- - `fiftyTwoWeekHigh` — Máxima de 52 semanas
- - `fiftyTwoWeekLow` — Mínima de 52 semanas
- - `marketCap` — Capitalização de mercado
- - `historicalDataPrice` — Array de dados OHLCV (quando `range`/`interval`
+ - `symbol` - Ticker do ativo (ex: PETR4)
+ - `shortName` - Nome curto da empresa
+ - `currency` - Moeda (BRL)
+ - `regularMarketPrice` - Preço atual em BRL
+ - `regularMarketChange` - Variação absoluta
+ - `regularMarketChangePercent` - Variação percentual (%)
+ - `regularMarketVolume` - Volume de negociação do dia
+ - `regularMarketDayHigh` - Máxima do dia
+ - `regularMarketDayLow` - Mínima do dia
+ - `fiftyTwoWeekHigh` - Máxima de 52 semanas
+ - `fiftyTwoWeekLow` - Mínima de 52 semanas
+ - `marketCap` - Capitalização de mercado
+ - `historicalDataPrice` - Array de dados OHLCV (quando `range`/`interval`
fornecidos)
- - `dividendsData` — Histórico de dividendos (quando `dividends=true`)
+ - `dividendsData` - Histórico de dividendos (quando `dividends=true`)
### Tickers Populares (Teste):
- - `PETR4` — Petrobras (Energia)
- - `VALE3` — Vale (Mineração)
- - `ITUB4` — Itaú Unibanco (Financeiro)
- - `BBDC4` — Bradesco (Financeiro)
- - `ABEV3` — Ambev (Consumo)
- - `WEGE3` — WEG (Indústria)
- - `RENT3` — Localiza (Transporte)
- - `BBAS3` — Banco do Brasil (Financeiro)
- - `MGLU3` — Magazine Luiza (Varejo)
+ - `PETR4` - Petrobras (Energia)
+ - `VALE3` - Vale (Mineração)
+ - `ITUB4` - Itaú Unibanco (Financeiro)
+ - `BBDC4` - Bradesco (Financeiro)
+ - `ABEV3` - Ambev (Consumo)
+ - `WEGE3` - WEG (Indústria)
+ - `RENT3` - Localiza (Transporte)
+ - `BBAS3` - Banco do Brasil (Financeiro)
+ - `MGLU3` - Magazine Luiza (Varejo)
### Fonte dos Dados:
@@ -672,16 +672,16 @@ async def list(
### Parâmetros de Ordenação:
- - `volume` — Volume de negociação do dia
- - `close` — Preço de fechamento
- - `market_cap_basic` — Capitalização de mercado
- - `name` — Nome da empresa (alfabético)
+ - `volume` - Volume de negociação do dia
+ - `close` - Preço de fechamento
+ - `market_cap_basic` - Capitalização de mercado
+ - `name` - Nome da empresa (alfabético)
### Tipos de Ativo:
- - `stock` — Ações (Ações ordinárias e preferenciais)
- - `fund` — Fundos Imobiliários (FIIs) e ETFs
- - `bdr` — BDRs (Brazilian Depositary Receipts)
+ - `stock` - Ações (Ações ordinárias e preferenciais)
+ - `fund` - Fundos Imobiliários (FIIs) e ETFs
+ - `bdr` - BDRs (Brazilian Depositary Receipts)
**Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token)
diff --git a/src/brapi/resources/v2/crypto.py b/src/brapi/resources/v2/crypto.py
index cec2f9a..f917f78 100644
--- a/src/brapi/resources/v2/crypto.py
+++ b/src/brapi/resources/v2/crypto.py
@@ -90,14 +90,14 @@ def retrieve(
### Campos da Resposta:
- - `coin` — Símbolo da criptomoeda
- - `coinName` — Nome completo
- - `currency` — Moeda de cotação
- - `regularMarketPrice` — Preço atual
- - `regularMarketChange` — Variação em valor absoluto
- - `regularMarketChangePercent` — Variação percentual (%)
- - `regularMarketDayHigh` / `regularMarketDayLow` — Máxima/Mínima do dia
- - `regularMarketVolume` — Volume negociado
+ - `coin` - Símbolo da criptomoeda
+ - `coinName` - Nome completo
+ - `currency` - Moeda de cotação
+ - `regularMarketPrice` - Preço atual
+ - `regularMarketChange` - Variação em valor absoluto
+ - `regularMarketChangePercent` - Variação percentual (%)
+ - `regularMarketDayHigh` / `regularMarketDayLow` - Máxima/Mínima do dia
+ - `regularMarketVolume` - Volume negociado
**Plano Mínimo:** Startup **Autenticação:** Necessária
@@ -155,16 +155,16 @@ def list_available(
### Criptomoedas Populares:
- - **BTC** — Bitcoin
- - **ETH** — Ethereum
- - **BNB** — Binance Coin
- - **SOL** — Solana
- - **ADA** — Cardano
- - **XRP** — Ripple
- - **DOGE** — Dogecoin
- - **DOT** — Polkadot
- - **MATIC** — Polygon
- - **LTC** — Litecoin
+ - **BTC** - Bitcoin
+ - **ETH** - Ethereum
+ - **BNB** - Binance Coin
+ - **SOL** - Solana
+ - **ADA** - Cardano
+ - **XRP** - Ripple
+ - **DOGE** - Dogecoin
+ - **DOT** - Polkadot
+ - **MATIC** - Polygon
+ - **LTC** - Litecoin
- E centenas de outras...
### Uso:
@@ -272,14 +272,14 @@ async def retrieve(
### Campos da Resposta:
- - `coin` — Símbolo da criptomoeda
- - `coinName` — Nome completo
- - `currency` — Moeda de cotação
- - `regularMarketPrice` — Preço atual
- - `regularMarketChange` — Variação em valor absoluto
- - `regularMarketChangePercent` — Variação percentual (%)
- - `regularMarketDayHigh` / `regularMarketDayLow` — Máxima/Mínima do dia
- - `regularMarketVolume` — Volume negociado
+ - `coin` - Símbolo da criptomoeda
+ - `coinName` - Nome completo
+ - `currency` - Moeda de cotação
+ - `regularMarketPrice` - Preço atual
+ - `regularMarketChange` - Variação em valor absoluto
+ - `regularMarketChangePercent` - Variação percentual (%)
+ - `regularMarketDayHigh` / `regularMarketDayLow` - Máxima/Mínima do dia
+ - `regularMarketVolume` - Volume negociado
**Plano Mínimo:** Startup **Autenticação:** Necessária
@@ -337,16 +337,16 @@ async def list_available(
### Criptomoedas Populares:
- - **BTC** — Bitcoin
- - **ETH** — Ethereum
- - **BNB** — Binance Coin
- - **SOL** — Solana
- - **ADA** — Cardano
- - **XRP** — Ripple
- - **DOGE** — Dogecoin
- - **DOT** — Polkadot
- - **MATIC** — Polygon
- - **LTC** — Litecoin
+ - **BTC** - Bitcoin
+ - **ETH** - Ethereum
+ - **BNB** - Binance Coin
+ - **SOL** - Solana
+ - **ADA** - Cardano
+ - **XRP** - Ripple
+ - **DOGE** - Dogecoin
+ - **DOT** - Polkadot
+ - **MATIC** - Polygon
+ - **LTC** - Litecoin
- E centenas de outras...
### Uso:
diff --git a/src/brapi/resources/v2/currency.py b/src/brapi/resources/v2/currency.py
index 5c7f14a..8cbe9d4 100644
--- a/src/brapi/resources/v2/currency.py
+++ b/src/brapi/resources/v2/currency.py
@@ -81,20 +81,20 @@ def retrieve(
### Pares de Moedas Populares:
- - `USD-BRL` — Dólar Americano / Real
- - `EUR-BRL` — Euro / Real
- - `GBP-BRL` — Libra Esterlina / Real
- - `EUR-USD` — Euro / Dólar
+ - `USD-BRL` - Dólar Americano / Real
+ - `EUR-BRL` - Euro / Real
+ - `GBP-BRL` - Libra Esterlina / Real
+ - `EUR-USD` - Euro / Dólar
### Campos da Resposta:
- - `fromCurrency` / `toCurrency` — Par de moedas
- - `name` — Nome do par
- - `bidPrice` — Preço de compra
- - `askPrice` — Preço de venda
- - `high` / `low` — Máxima/Mínima do dia
- - `bidVariation` — Variação do preço de compra
- - `percentageChange` — Variação percentual (%)
+ - `fromCurrency` / `toCurrency` - Par de moedas
+ - `name` - Nome do par
+ - `bidPrice` - Preço de compra
+ - `askPrice` - Preço de venda
+ - `high` / `low` - Máxima/Mínima do dia
+ - `bidVariation` - Variação do preço de compra
+ - `percentageChange` - Variação percentual (%)
### Fonte dos Dados:
@@ -243,20 +243,20 @@ async def retrieve(
### Pares de Moedas Populares:
- - `USD-BRL` — Dólar Americano / Real
- - `EUR-BRL` — Euro / Real
- - `GBP-BRL` — Libra Esterlina / Real
- - `EUR-USD` — Euro / Dólar
+ - `USD-BRL` - Dólar Americano / Real
+ - `EUR-BRL` - Euro / Real
+ - `GBP-BRL` - Libra Esterlina / Real
+ - `EUR-USD` - Euro / Dólar
### Campos da Resposta:
- - `fromCurrency` / `toCurrency` — Par de moedas
- - `name` — Nome do par
- - `bidPrice` — Preço de compra
- - `askPrice` — Preço de venda
- - `high` / `low` — Máxima/Mínima do dia
- - `bidVariation` — Variação do preço de compra
- - `percentageChange` — Variação percentual (%)
+ - `fromCurrency` / `toCurrency` - Par de moedas
+ - `name` - Nome do par
+ - `bidPrice` - Preço de compra
+ - `askPrice` - Preço de venda
+ - `high` / `low` - Máxima/Mínima do dia
+ - `bidVariation` - Variação do preço de compra
+ - `percentageChange` - Variação percentual (%)
### Fonte dos Dados:
diff --git a/src/brapi/resources/v2/inflation.py b/src/brapi/resources/v2/inflation.py
index aca120f..398c1cb 100644
--- a/src/brapi/resources/v2/inflation.py
+++ b/src/brapi/resources/v2/inflation.py
@@ -96,9 +96,9 @@ def retrieve(
### Campos da Resposta
- - `date` — Data no formato DD/MM/YYYY
- - `value` — Variação percentual do IPCA no mês
- - `epochDate` — Data em timestamp Unix (milissegundos)
+ - `date` - Data no formato DD/MM/YYYY
+ - `value` - Variação percentual do IPCA no mês
+ - `epochDate` - Data em timestamp Unix (milissegundos)
### Sobre o IPCA
@@ -108,7 +108,7 @@ def retrieve(
### Fonte dos Dados
- Banco Central do Brasil (BCB) — indicador IPCA publicado como série temporal
+ Banco Central do Brasil (BCB) - indicador IPCA publicado como série temporal
oficial
**Plano Mínimo:** Startup | **Autenticação:** Necessária
@@ -168,7 +168,7 @@ def list_available(
### Países Disponíveis
- - **brazil** — Dados do IPCA (IBGE)
+ - **brazil** - Dados do IPCA (IBGE)
Use o valor retornado como referência para futuras expansões do endpoint.
@@ -263,9 +263,9 @@ async def retrieve(
### Campos da Resposta
- - `date` — Data no formato DD/MM/YYYY
- - `value` — Variação percentual do IPCA no mês
- - `epochDate` — Data em timestamp Unix (milissegundos)
+ - `date` - Data no formato DD/MM/YYYY
+ - `value` - Variação percentual do IPCA no mês
+ - `epochDate` - Data em timestamp Unix (milissegundos)
### Sobre o IPCA
@@ -275,7 +275,7 @@ async def retrieve(
### Fonte dos Dados
- Banco Central do Brasil (BCB) — indicador IPCA publicado como série temporal
+ Banco Central do Brasil (BCB) - indicador IPCA publicado como série temporal
oficial
**Plano Mínimo:** Startup | **Autenticação:** Necessária
@@ -335,7 +335,7 @@ async def list_available(
### Países Disponíveis
- - **brazil** — Dados do IPCA (IBGE)
+ - **brazil** - Dados do IPCA (IBGE)
Use o valor retornado como referência para futuras expansões do endpoint.
diff --git a/src/brapi/resources/v2/prime_rate.py b/src/brapi/resources/v2/prime_rate.py
index c2630aa..c81dd84 100644
--- a/src/brapi/resources/v2/prime_rate.py
+++ b/src/brapi/resources/v2/prime_rate.py
@@ -96,9 +96,9 @@ def retrieve(
### Campos da Resposta
- - `date` — Data no formato DD/MM/YYYY
- - `value` — Taxa SELIC meta anualizada (% a.a.)
- - `epochDate` — Data em timestamp Unix (milissegundos)
+ - `date` - Data no formato DD/MM/YYYY
+ - `value` - Taxa SELIC meta anualizada (% a.a.)
+ - `epochDate` - Data em timestamp Unix (milissegundos)
### Sobre a SELIC
@@ -109,7 +109,7 @@ def retrieve(
### Fonte dos Dados
- Banco Central do Brasil (BCB) — meta SELIC publicada como série temporal oficial
+ Banco Central do Brasil (BCB) - meta SELIC publicada como série temporal oficial
**Plano Mínimo:** Startup | **Autenticação:** Necessária
@@ -168,7 +168,7 @@ def list_available(
### Países Disponíveis
- - **brazil** — Taxa SELIC (Banco Central)
+ - **brazil** - Taxa SELIC (Banco Central)
Use o valor retornado como referência para futuras expansões do endpoint.
@@ -263,9 +263,9 @@ async def retrieve(
### Campos da Resposta
- - `date` — Data no formato DD/MM/YYYY
- - `value` — Taxa SELIC meta anualizada (% a.a.)
- - `epochDate` — Data em timestamp Unix (milissegundos)
+ - `date` - Data no formato DD/MM/YYYY
+ - `value` - Taxa SELIC meta anualizada (% a.a.)
+ - `epochDate` - Data em timestamp Unix (milissegundos)
### Sobre a SELIC
@@ -276,7 +276,7 @@ async def retrieve(
### Fonte dos Dados
- Banco Central do Brasil (BCB) — meta SELIC publicada como série temporal oficial
+ Banco Central do Brasil (BCB) - meta SELIC publicada como série temporal oficial
**Plano Mínimo:** Startup | **Autenticação:** Necessária
@@ -335,7 +335,7 @@ async def list_available(
### Países Disponíveis
- - **brazil** — Taxa SELIC (Banco Central)
+ - **brazil** - Taxa SELIC (Banco Central)
Use o valor retornado como referência para futuras expansões do endpoint.
diff --git a/src/brapi/types/financial_data_entry.py b/src/brapi/types/financial_data_entry.py
index 5599712..b7b2d18 100644
--- a/src/brapi/types/financial_data_entry.py
+++ b/src/brapi/types/financial_data_entry.py
@@ -23,7 +23,7 @@ class FinancialDataEntry(BaseModel):
earnings_growth: Optional[float] = FieldInfo(alias="earningsGrowth", default=None)
"""
- Crescimento do lucro do controlador (TTM) — variação dos últimos 4 trimestres em
+ Crescimento do lucro do controlador (TTM) - variação dos últimos 4 trimestres em
relação aos 4 trimestres imediatamente anteriores, usando Lucro Líquido
Atribuível aos Controladores. Para crescimento anual (DRE de exercício vs.
exercício anterior), use earningsGrowthAnnual.
@@ -31,7 +31,7 @@ class FinancialDataEntry(BaseModel):
earnings_growth_annual: Optional[float] = FieldInfo(alias="earningsGrowthAnnual", default=None)
"""
- Crescimento anual do lucro do controlador — variação do Lucro Líquido Atribuível
+ Crescimento anual do lucro do controlador - variação do Lucro Líquido Atribuível
aos Controladores do último exercício social completo em relação ao exercício
anterior.
"""
@@ -74,14 +74,14 @@ class FinancialDataEntry(BaseModel):
revenue_growth: Optional[float] = FieldInfo(alias="revenueGrowth", default=None)
"""
- Crescimento da receita (TTM) — variação da receita dos últimos 4 trimestres em
+ Crescimento da receita (TTM) - variação da receita dos últimos 4 trimestres em
relação aos 4 trimestres imediatamente anteriores. Para crescimento anual (DRE
de exercício vs. exercício anterior), use revenueGrowthAnnual.
"""
revenue_growth_annual: Optional[float] = FieldInfo(alias="revenueGrowthAnnual", default=None)
"""
- Crescimento anual da receita — variação da Receita Líquida do último exercício
+ Crescimento anual da receita - variação da Receita Líquida do último exercício
social completo em relação ao exercício anterior.
"""
From 908e810952f575d117ee4823ef685bf88db9cc9c Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 21 Aug 2026 21:27:47 +0000
Subject: [PATCH 07/16] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 60a91df..7f3ca79 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-7f4fc756afdb44ce8ec65abd1029ad0e99a35ad6a54ab03bb6e32e4c39a916eb.yml
-openapi_spec_hash: 85b858ecdb85ed7116d79672a7108784
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-29714f3cfb5e69a3e83994b49417309289be4a7a63e733742d6573a69a09b429.yml
+openapi_spec_hash: f92efb2e9f4159a26aa321eb1f6d69d5
config_hash: 14da4c1963f3e0764a3e82d626a1d762
From 4d2bc0aab3ce83a2ee54198df763edac1c338470 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 21 Aug 2026 22:27:46 +0000
Subject: [PATCH 08/16] feat(api): api update
---
.stats.yml | 4 +-
api.md | 4 +-
src/brapi/resources/v2/inflation.py | 42 ++++++++++++++++--
src/brapi/resources/v2/prime_rate.py | 44 +++++++++++++++++--
src/brapi/types/v2/__init__.py | 2 +
.../v2/inflation_list_available_params.py | 12 +++++
.../v2/prime_rate_list_available_params.py | 12 +++++
tests/api_resources/v2/test_inflation.py | 21 ++++++++-
tests/api_resources/v2/test_prime_rate.py | 21 ++++++++-
9 files changed, 150 insertions(+), 12 deletions(-)
create mode 100644 src/brapi/types/v2/inflation_list_available_params.py
create mode 100644 src/brapi/types/v2/prime_rate_list_available_params.py
diff --git a/.stats.yml b/.stats.yml
index 7f3ca79..bd701bf 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-29714f3cfb5e69a3e83994b49417309289be4a7a63e733742d6573a69a09b429.yml
-openapi_spec_hash: f92efb2e9f4159a26aa321eb1f6d69d5
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-359f89054dab22e3dffa5cafe68b850e29aa8ae5db8255c05b7725eb62f7de35.yml
+openapi_spec_hash: 601cd66134e2fbafe8a4b5af630696e6
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/api.md b/api.md
index fd9c66f..2ea8b8c 100644
--- a/api.md
+++ b/api.md
@@ -67,7 +67,7 @@ from brapi.types.v2 import InflationRetrieveResponse, InflationListAvailableResp
Methods:
- client.v2.inflation.retrieve(\*\*params) -> InflationRetrieveResponse
-- client.v2.inflation.list_available() -> InflationListAvailableResponse
+- client.v2.inflation.list_available(\*\*params) -> InflationListAvailableResponse
## PrimeRate
@@ -80,4 +80,4 @@ from brapi.types.v2 import PrimeRateRetrieveResponse, PrimeRateListAvailableResp
Methods:
- client.v2.prime_rate.retrieve(\*\*params) -> PrimeRateRetrieveResponse
-- client.v2.prime_rate.list_available() -> PrimeRateListAvailableResponse
+- client.v2.prime_rate.list_available(\*\*params) -> PrimeRateListAvailableResponse
diff --git a/src/brapi/resources/v2/inflation.py b/src/brapi/resources/v2/inflation.py
index 398c1cb..6d73c5c 100644
--- a/src/brapi/resources/v2/inflation.py
+++ b/src/brapi/resources/v2/inflation.py
@@ -2,12 +2,14 @@
from __future__ import annotations
+from typing_extensions import Literal
+
import httpx
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
-from ...types.v2 import inflation_retrieve_params
+from ...types.v2 import inflation_retrieve_params, inflation_list_available_params
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
to_raw_response_wrapper,
@@ -156,6 +158,7 @@ def retrieve(
def list_available(
self,
*,
+ format: Literal["json"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -179,11 +182,26 @@ def list_available(
```
**Plano Mínimo:** Startup | **Autenticação:** Necessária
+
+ Args:
+ format: Formato da resposta. JSON é o formato suportado.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
"/api/v2/inflation/available",
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform({"format": format}, inflation_list_available_params.InflationListAvailableParams),
),
cast_to=InflationListAvailableResponse,
)
@@ -323,6 +341,7 @@ async def retrieve(
async def list_available(
self,
*,
+ format: Literal["json"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -346,11 +365,28 @@ async def list_available(
```
**Plano Mínimo:** Startup | **Autenticação:** Necessária
+
+ Args:
+ format: Formato da resposta. JSON é o formato suportado.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
"/api/v2/inflation/available",
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=await async_maybe_transform(
+ {"format": format}, inflation_list_available_params.InflationListAvailableParams
+ ),
),
cast_to=InflationListAvailableResponse,
)
diff --git a/src/brapi/resources/v2/prime_rate.py b/src/brapi/resources/v2/prime_rate.py
index c81dd84..42d8433 100644
--- a/src/brapi/resources/v2/prime_rate.py
+++ b/src/brapi/resources/v2/prime_rate.py
@@ -2,12 +2,14 @@
from __future__ import annotations
+from typing_extensions import Literal
+
import httpx
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
-from ...types.v2 import prime_rate_retrieve_params
+from ...types.v2 import prime_rate_retrieve_params, prime_rate_list_available_params
from ..._resource import SyncAPIResource, AsyncAPIResource
from ..._response import (
to_raw_response_wrapper,
@@ -156,6 +158,7 @@ def retrieve(
def list_available(
self,
*,
+ format: Literal["json"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -179,11 +182,28 @@ def list_available(
```
**Plano Mínimo:** Startup | **Autenticação:** Necessária
+
+ Args:
+ format: Formato da resposta. JSON é o formato suportado.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
"/api/v2/prime-rate/available",
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform(
+ {"format": format}, prime_rate_list_available_params.PrimeRateListAvailableParams
+ ),
),
cast_to=PrimeRateListAvailableResponse,
)
@@ -323,6 +343,7 @@ async def retrieve(
async def list_available(
self,
*,
+ format: Literal["json"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -346,11 +367,28 @@ async def list_available(
```
**Plano Mínimo:** Startup | **Autenticação:** Necessária
+
+ Args:
+ format: Formato da resposta. JSON é o formato suportado.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
"/api/v2/prime-rate/available",
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=await async_maybe_transform(
+ {"format": format}, prime_rate_list_available_params.PrimeRateListAvailableParams
+ ),
),
cast_to=PrimeRateListAvailableResponse,
)
diff --git a/src/brapi/types/v2/__init__.py b/src/brapi/types/v2/__init__.py
index 6fe0126..febc9e5 100644
--- a/src/brapi/types/v2/__init__.py
+++ b/src/brapi/types/v2/__init__.py
@@ -13,6 +13,8 @@
from .prime_rate_retrieve_response import PrimeRateRetrieveResponse as PrimeRateRetrieveResponse
from .crypto_list_available_response import CryptoListAvailableResponse as CryptoListAvailableResponse
from .currency_list_available_params import CurrencyListAvailableParams as CurrencyListAvailableParams
+from .inflation_list_available_params import InflationListAvailableParams as InflationListAvailableParams
from .currency_list_available_response import CurrencyListAvailableResponse as CurrencyListAvailableResponse
+from .prime_rate_list_available_params import PrimeRateListAvailableParams as PrimeRateListAvailableParams
from .inflation_list_available_response import InflationListAvailableResponse as InflationListAvailableResponse
from .prime_rate_list_available_response import PrimeRateListAvailableResponse as PrimeRateListAvailableResponse
diff --git a/src/brapi/types/v2/inflation_list_available_params.py b/src/brapi/types/v2/inflation_list_available_params.py
new file mode 100644
index 0000000..0d83ada
--- /dev/null
+++ b/src/brapi/types/v2/inflation_list_available_params.py
@@ -0,0 +1,12 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Literal, TypedDict
+
+__all__ = ["InflationListAvailableParams"]
+
+
+class InflationListAvailableParams(TypedDict, total=False):
+ format: Literal["json"]
+ """Formato da resposta. JSON é o formato suportado."""
diff --git a/src/brapi/types/v2/prime_rate_list_available_params.py b/src/brapi/types/v2/prime_rate_list_available_params.py
new file mode 100644
index 0000000..984c055
--- /dev/null
+++ b/src/brapi/types/v2/prime_rate_list_available_params.py
@@ -0,0 +1,12 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Literal, TypedDict
+
+__all__ = ["PrimeRateListAvailableParams"]
+
+
+class PrimeRateListAvailableParams(TypedDict, total=False):
+ format: Literal["json"]
+ """Formato da resposta. JSON é o formato suportado."""
diff --git a/tests/api_resources/v2/test_inflation.py b/tests/api_resources/v2/test_inflation.py
index 34b18a2..62c7ec4 100644
--- a/tests/api_resources/v2/test_inflation.py
+++ b/tests/api_resources/v2/test_inflation.py
@@ -9,7 +9,10 @@
from brapi import Brapi, AsyncBrapi
from tests.utils import assert_matches_type
-from brapi.types.v2 import InflationRetrieveResponse, InflationListAvailableResponse
+from brapi.types.v2 import (
+ InflationRetrieveResponse,
+ InflationListAvailableResponse,
+)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -63,6 +66,14 @@ def test_method_list_available(self, client: Brapi) -> None:
inflation = client.v2.inflation.list_available()
assert_matches_type(InflationListAvailableResponse, inflation, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_list_available_with_all_params(self, client: Brapi) -> None:
+ inflation = client.v2.inflation.list_available(
+ format="json",
+ )
+ assert_matches_type(InflationListAvailableResponse, inflation, path=["response"])
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
def test_raw_response_list_available(self, client: Brapi) -> None:
@@ -137,6 +148,14 @@ async def test_method_list_available(self, async_client: AsyncBrapi) -> None:
inflation = await async_client.v2.inflation.list_available()
assert_matches_type(InflationListAvailableResponse, inflation, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_method_list_available_with_all_params(self, async_client: AsyncBrapi) -> None:
+ inflation = await async_client.v2.inflation.list_available(
+ format="json",
+ )
+ assert_matches_type(InflationListAvailableResponse, inflation, path=["response"])
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
async def test_raw_response_list_available(self, async_client: AsyncBrapi) -> None:
diff --git a/tests/api_resources/v2/test_prime_rate.py b/tests/api_resources/v2/test_prime_rate.py
index fc3819b..c240acf 100644
--- a/tests/api_resources/v2/test_prime_rate.py
+++ b/tests/api_resources/v2/test_prime_rate.py
@@ -9,7 +9,10 @@
from brapi import Brapi, AsyncBrapi
from tests.utils import assert_matches_type
-from brapi.types.v2 import PrimeRateRetrieveResponse, PrimeRateListAvailableResponse
+from brapi.types.v2 import (
+ PrimeRateRetrieveResponse,
+ PrimeRateListAvailableResponse,
+)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -63,6 +66,14 @@ def test_method_list_available(self, client: Brapi) -> None:
prime_rate = client.v2.prime_rate.list_available()
assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_list_available_with_all_params(self, client: Brapi) -> None:
+ prime_rate = client.v2.prime_rate.list_available(
+ format="json",
+ )
+ assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"])
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
def test_raw_response_list_available(self, client: Brapi) -> None:
@@ -137,6 +148,14 @@ async def test_method_list_available(self, async_client: AsyncBrapi) -> None:
prime_rate = await async_client.v2.prime_rate.list_available()
assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_method_list_available_with_all_params(self, async_client: AsyncBrapi) -> None:
+ prime_rate = await async_client.v2.prime_rate.list_available(
+ format="json",
+ )
+ assert_matches_type(PrimeRateListAvailableResponse, prime_rate, path=["response"])
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
async def test_raw_response_list_available(self, async_client: AsyncBrapi) -> None:
From bc658373787b240ee985a587901aa8d9ad2532a3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 22 Aug 2026 15:27:51 +0000
Subject: [PATCH 09/16] feat(api): api update
---
.stats.yml | 4 +-
src/brapi/resources/available.py | 94 +-----
src/brapi/resources/quote.py | 442 +++++++--------------------
src/brapi/resources/v2/crypto.py | 144 ++-------
src/brapi/resources/v2/currency.py | 140 ++-------
src/brapi/resources/v2/inflation.py | 150 ++-------
src/brapi/resources/v2/prime_rate.py | 150 ++-------
7 files changed, 226 insertions(+), 898 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index bd701bf..a28e624 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-359f89054dab22e3dffa5cafe68b850e29aa8ae5db8255c05b7725eb62f7de35.yml
-openapi_spec_hash: 601cd66134e2fbafe8a4b5af630696e6
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-6c102060673bc8962504a7e74d88104e79435ac406ba732b58337b7255e4efa2.yml
+openapi_spec_hash: a602ef75a89ae4b3fb3da40fa6d9992d
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/available.py b/src/brapi/resources/available.py
index d0f68b5..90850ba 100644
--- a/src/brapi/resources/available.py
+++ b/src/brapi/resources/available.py
@@ -57,54 +57,19 @@ def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AvailableListResponse:
"""
- Retorna a lista completa de **ações e índices** disponíveis para consulta na API
- brapi.
+ Lista todos os ativos que a API aceita: ações, FIIs, BDRs e ETFs da B3, mais os
+ índices com cotação disponível.
- ### Funcionalidades
-
- - **Ações brasileiras:** Todas as ações, FIIs, BDRs e ETFs negociados na bolsa
- brasileira
- - **Índices:** Índices do mercado brasileiro com cotação disponível na API
- - **Filtro por Nome:** Use `search` para filtrar por código ou nome do ativo
-
- ### Características
-
- - **Sem Autenticação:** Este endpoint é **público** e não requer token
- - **Cache:** Dados cacheados por 15 minutos
- - **Atualização automática:** Conforme novos ativos são listados na bolsa
- brasileira
-
- ### Exemplos de Uso
+ Filtre por código ou nome com `search`.
```bash
- # Listar todos os ativos
- curl "https://brapi.dev/api/available"
-
- # Buscar por código de ticker
curl "https://brapi.dev/api/available?search=PETR"
-
- # Buscar por nome da empresa
- curl "https://brapi.dev/api/available?search=banco"
```
- ### Índices Disponíveis
-
- - `^BVSP` - Ibovespa (Índice Bovespa)
- - `IFIX.SA` - Índice de Fundos Imobiliários
-
- ### Campos da Resposta
-
- - `stocks` - Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
- - `indexes` - Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
-
- ### Como Usar
-
- Use os códigos retornados como parâmetro no endpoint `/api/quote/{tickers}` para
- obter cotações detalhadas.
-
- **Fonte:** Bolsa de Valores do Brasil
+ Endpoint público, sem token. A resposta fica em cache por 15 minutos e é
+ atualizada conforme novos ativos entram na bolsa.
- **Plano Mínimo:** Gratuito **Autenticação:** Não necessária (Público)
+ Para busca com filtros por setor e tipo, `/api/v2/tickers` é mais completo.
Args:
search: Filtrar ações e índices por nome ou código
@@ -166,54 +131,19 @@ async def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AvailableListResponse:
"""
- Retorna a lista completa de **ações e índices** disponíveis para consulta na API
- brapi.
+ Lista todos os ativos que a API aceita: ações, FIIs, BDRs e ETFs da B3, mais os
+ índices com cotação disponível.
- ### Funcionalidades
-
- - **Ações brasileiras:** Todas as ações, FIIs, BDRs e ETFs negociados na bolsa
- brasileira
- - **Índices:** Índices do mercado brasileiro com cotação disponível na API
- - **Filtro por Nome:** Use `search` para filtrar por código ou nome do ativo
-
- ### Características
-
- - **Sem Autenticação:** Este endpoint é **público** e não requer token
- - **Cache:** Dados cacheados por 15 minutos
- - **Atualização automática:** Conforme novos ativos são listados na bolsa
- brasileira
-
- ### Exemplos de Uso
+ Filtre por código ou nome com `search`.
```bash
- # Listar todos os ativos
- curl "https://brapi.dev/api/available"
-
- # Buscar por código de ticker
curl "https://brapi.dev/api/available?search=PETR"
-
- # Buscar por nome da empresa
- curl "https://brapi.dev/api/available?search=banco"
```
- ### Índices Disponíveis
-
- - `^BVSP` - Ibovespa (Índice Bovespa)
- - `IFIX.SA` - Índice de Fundos Imobiliários
-
- ### Campos da Resposta
-
- - `stocks` - Array com códigos das ações (ex: ["PETR4", "VALE3", "ITUB4", ...])
- - `indexes` - Array com códigos dos índices (ex: ["^BVSP", "IFIX.SA"])
-
- ### Como Usar
-
- Use os códigos retornados como parâmetro no endpoint `/api/quote/{tickers}` para
- obter cotações detalhadas.
-
- **Fonte:** Bolsa de Valores do Brasil
+ Endpoint público, sem token. A resposta fica em cache por 15 minutos e é
+ atualizada conforme novos ativos entram na bolsa.
- **Plano Mínimo:** Gratuito **Autenticação:** Não necessária (Público)
+ Para busca com filtros por setor e tipo, `/api/v2/tickers` é mais completo.
Args:
search: Filtrar ações e índices por nome ou código
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index 1102dcb..a837a19 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -70,136 +70,62 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteRetrieveResponse:
"""
- **O ENDPOINT MAIS IMPORTANTE DA API.** Obtém dados detalhados e abrangentes de
- um ou múltiplos ativos (ações, FIIs, BDRs) em uma única requisição. Combine
- cotações em tempo real, dados históricos, fundamentos e dividendos conforme
- necessário.
+ Devolve cotação, histórico, dividendos e fundamentos de um ou mais ativos em uma
+ única resposta. É o endpoint original da brapi e continua funcionando sem data
+ de remoção.
- ### Funcionalidades:
+ Para integrações novas, prefira `/api/v2/stocks/*`. Lá cada chamada traz um tipo
+ de dado e a resposta chega menor. Veja o guia em
+ [brapi.dev/docs/acoes/migracao-v2](https://brapi.dev/docs/acoes/migracao-v2).
- - **Cotação em Tempo Real:** Preço atual, variação absoluta e percentual,
- volume, máxima/mínima do dia, range de 52 semanas.
- - **Dados Históricos:** Preços OHLCV (Open, High, Low, Close, Volume) com
- intervalos flexíveis (1d, 5d, 1wk, 1mo, 3mo) e períodos (1d até max).
- - **Fundamentos:** Balanço Patrimonial, DRE, Fluxo de Caixa, DVA,
- Indicadores-chave (P/L, P/VP, ROE, etc) via parâmetro `modules`.
- - **Dividendos:** Histórico completo de proventos em dinheiro (dividendos, JCP)
- e bonificações.
+ ### O que a resposta traz
- ### Autenticação:
+ Sempre: `symbol`, `shortName`, `currency`, `regularMarketPrice`,
+ `regularMarketChange`, `regularMarketChangePercent`, `regularMarketVolume`,
+ `regularMarketDayHigh`, `regularMarketDayLow`, `fiftyTwoWeekHigh`,
+ `fiftyTwoWeekLow` e `marketCap`.
- Requer token Bearer no header ou como query param. Tickers de teste **PETR4** e
- **VALE3** funcionam sem autenticação.
+ Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
+ `dividends=true`: `dividendsData` com dividendos, JCP e bonificações. Com
+ `modules`: um objeto por módulo pedido.
- ```bash
- # Via header (recomendado)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/PETR4"
+ ### Parâmetros de histórico
- # Via query param
- curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN"
- ```
+ `interval` aceita `1d`, `5d`, `1wk`, `1mo` e `3mo`. `range` aceita `1d`, `5d`,
+ `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `10y`, `ytd` e `max`. O quanto de
+ histórico você enxerga depende do plano.
- ### Exemplos de Requisição:
+ ### Módulos
- ```bash
- # Simples: apenas cotação atual
- curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN"
+ `modules` aceita uma lista separada por vírgula:
- # Múltiplos tickers em uma requisição
- curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKEN"
+ - `summaryProfile` - cadastro da empresa: CNPJ, setor, descrição, site,
+ funcionários
+ - `defaultKeyStatistics` - múltiplos nos últimos 12 meses: P/L, P/VP, ROE,
+ dividend yield
+ - `financialData` - receita, EBITDA, margens e dívida nos últimos 12 meses
+ - `balanceSheetHistory` - balanço patrimonial anual
+ - `incomeStatementHistory` - DRE anual
+ - `cashflowHistory` - fluxo de caixa anual
+ - `valueAddedHistory` - DVA anual
- # Com dados históricos (últimos 12 meses, diário)
- curl "https://brapi.dev/api/quote/PETR4?range=1y&interval=1d&token=SEU_TOKEN"
+ Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Os
+ módulos `defaultKeyStatistics` e `financialData` também aceitam os sufixos
+ `History` e `HistoryQuarterly`.
- # Com módulos de fundamentos (balanço e DRE)
- curl "https://brapi.dev/api/quote/PETR4?modules=balanceSheetHistory,incomeStatementHistory&token=SEU_TOKEN"
-
- # Completo: histórico + dividendos + estatísticas-chave
- curl "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=balanceSheetHistory,defaultKeyStatistics&token=SEU_TOKEN"
+ ```bash
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=defaultKeyStatistics"
```
- ### Módulos Disponíveis:
-
- - `summaryProfile` - Perfil da empresa (CNPJ, setor, descrição, website,
- funcionários)
- - `balanceSheetHistory` - Balanço Patrimonial anual
- - `balanceSheetHistoryQuarterly` - Balanço Patrimonial trimestral
- - `incomeStatementHistory` - DRE anual (Demonstração de Resultado do Exercício)
- - `incomeStatementHistoryQuarterly` - DRE trimestral
- - `financialData` - Indicadores financeiros atuais (TTM - Trailing Twelve
- Months)
- - `financialDataHistory` - Histórico anual de indicadores financeiros
- - `financialDataHistoryQuarterly` - Histórico trimestral de indicadores
- financeiros
- - `defaultKeyStatistics` - Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
- etc)
- - `defaultKeyStatisticsHistory` - Histórico anual de estatísticas-chave
- - `defaultKeyStatisticsHistoryQuarterly` - Histórico trimestral de
- estatísticas-chave
- - `cashflowHistory` - Fluxo de Caixa anual
- - `cashflowHistoryQuarterly` - Fluxo de Caixa trimestral
- - `valueAddedHistory` - DVA anual (Demonstração de Valor Adicionado)
- - `valueAddedHistoryQuarterly` - DVA trimestral
-
- ### Intervalos Válidos (histórico):
-
- - `1d` - Diário
- - `5d` - 5 dias
- - `1wk` - Semanal
- - `1mo` - Mensal
- - `3mo` - Trimestral
-
- ### Períodos Válidos (range):
-
- - `1d` - Último dia
- - `5d` - Últimos 5 dias
- - `1mo` - Último mês
- - `3mo` - Últimos 3 meses
- - `6mo` - Últimos 6 meses
- - `1y` - Último ano
- - `2y` - Últimos 2 anos
- - `5y` - Últimos 5 anos
- - `10y` - Últimos 10 anos
- - `ytd` - Ano até hoje
- - `max` - Máximo disponível
-
- ### Campos Principais da Resposta:
-
- - `symbol` - Ticker do ativo (ex: PETR4)
- - `shortName` - Nome curto da empresa
- - `currency` - Moeda (BRL)
- - `regularMarketPrice` - Preço atual em BRL
- - `regularMarketChange` - Variação absoluta
- - `regularMarketChangePercent` - Variação percentual (%)
- - `regularMarketVolume` - Volume de negociação do dia
- - `regularMarketDayHigh` - Máxima do dia
- - `regularMarketDayLow` - Mínima do dia
- - `fiftyTwoWeekHigh` - Máxima de 52 semanas
- - `fiftyTwoWeekLow` - Mínima de 52 semanas
- - `marketCap` - Capitalização de mercado
- - `historicalDataPrice` - Array de dados OHLCV (quando `range`/`interval`
- fornecidos)
- - `dividendsData` - Histórico de dividendos (quando `dividends=true`)
-
- ### Tickers Populares (Teste):
-
- - `PETR4` - Petrobras (Energia)
- - `VALE3` - Vale (Mineração)
- - `ITUB4` - Itaú Unibanco (Financeiro)
- - `BBDC4` - Bradesco (Financeiro)
- - `ABEV3` - Ambev (Consumo)
- - `WEGE3` - WEG (Indústria)
- - `RENT3` - Localiza (Transporte)
- - `BBAS3` - Banco do Brasil (Financeiro)
- - `MGLU3` - Magazine Luiza (Varejo)
-
- ### Fonte dos Dados:
-
- CVM (Comissão de Valores Mobiliários)
-
- **Plano Mínimo:** Gratuito (limitado a 1 ticker/requisição e módulos básicos)
- **Autenticação:** Necessária para produção (tickers de teste PETR4 e VALE3
- funcionam sem token)
+ ### Autenticação
+
+ PETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Se você
+ misturar um desses com outro ticker na mesma requisição, a chamada inteira passa
+ a exigir token. Envie o token no header `Authorization` sempre que a sua
+ ferramenta permitir.
+
+ Os fundamentos vêm dos documentos que as companhias entregam à CVM.
Args:
tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4)
@@ -271,60 +197,29 @@ def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteListResponse:
- """
- Retorna uma lista paginada de todos os ativos disponíveis na API (Ações, FIIs,
- BDRs, ETFs, Índices). Use este endpoint para construir screeners, exploradores
- de ações ou para descobrir novos ativos.
-
- ### Funcionalidades:
+ """Lista paginada de ativos da B3 com a cotação de cada um.
- - **Busca por Nome ou Ticker:** Encontre ativos digitando "Petrobras", "PETR4"
- ou qualquer termo.
- - **Filtros por Tipo:** Ações (stock), Fundos Imobiliários (fund), BDRs (bdr).
- - **Filtros por Subtipo:** Units, FIIs, ETFs, FI-Infra, FI-Agro, FIPs, FIDCs e
- BDRs via `subType`.
- - **Filtros por Setor:** Energia, Financeiro, Tecnologia, Saúde, etc.
- - **Ordenação Flexível:** Ordene por volume, preço, market cap ou nome.
- - **Paginação:** Controle o número de resultados com `limit` e `page`.
+ Serve para montar
+ screener, tabela de mercado ou autocomplete de busca.
- ### Autenticação:
+ Busque por nome ou ticker com `search`, aceitando tanto "Petrobras" quanto
+ "PETR4". Filtre por `type` (`stock`, `fund`, `bdr`), por `subType` (units, FIIs,
+ ETFs, FI-Infra, FI-Agro, FIPs, FIDCs, BDRs) e por `sector`.
- Requer token Bearer. Obtenha seu token em
- [brapi.dev/dashboard](https://brapi.dev/dashboard).
+ Ordene com `sortBy` usando `volume`, `close`, `market_cap_basic` ou `name`, mais
+ `sortOrder`. Pagine com `page` e `limit`. O padrão devolve os primeiros 100
+ ativos.
- ### Exemplos de Requisição:
+ A resposta também traz `availableSectors` e `availableStockTypes`, então você
+ monta os filtros da sua interface sem manter uma lista fixa no código.
```bash
- # Listar todos os ativos (primeiros 100)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list"
-
- # Buscar por nome ou ticker
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?search=petrobras"
-
- # Filtrar por tipo e ordenar por volume
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
-
- # Filtrar por subtipo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?subType=fi-agro&limit=10"
-
- # Listar apenas FIIs de um setor específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=fund§or=Logística&limit=20"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
```
- ### Parâmetros de Ordenação:
-
- - `volume` - Volume de negociação do dia
- - `close` - Preço de fechamento
- - `market_cap_basic` - Capitalização de mercado
- - `name` - Nome da empresa (alfabético)
-
- ### Tipos de Ativo:
-
- - `stock` - Ações (Ações ordinárias e preferenciais)
- - `fund` - Fundos Imobiliários (FIIs) e ETFs
- - `bdr` - BDRs (Brazilian Depositary Receipts)
-
- **Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token)
+ Exige token, disponível em qualquer plano. Para buscar e validar símbolos sem
+ carregar cotação, `/api/v2/tickers` é mais leve.
Args:
token: Token de autenticação (alternativa ao header Authorization)
@@ -429,136 +324,62 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteRetrieveResponse:
"""
- **O ENDPOINT MAIS IMPORTANTE DA API.** Obtém dados detalhados e abrangentes de
- um ou múltiplos ativos (ações, FIIs, BDRs) em uma única requisição. Combine
- cotações em tempo real, dados históricos, fundamentos e dividendos conforme
- necessário.
+ Devolve cotação, histórico, dividendos e fundamentos de um ou mais ativos em uma
+ única resposta. É o endpoint original da brapi e continua funcionando sem data
+ de remoção.
- ### Funcionalidades:
+ Para integrações novas, prefira `/api/v2/stocks/*`. Lá cada chamada traz um tipo
+ de dado e a resposta chega menor. Veja o guia em
+ [brapi.dev/docs/acoes/migracao-v2](https://brapi.dev/docs/acoes/migracao-v2).
- - **Cotação em Tempo Real:** Preço atual, variação absoluta e percentual,
- volume, máxima/mínima do dia, range de 52 semanas.
- - **Dados Históricos:** Preços OHLCV (Open, High, Low, Close, Volume) com
- intervalos flexíveis (1d, 5d, 1wk, 1mo, 3mo) e períodos (1d até max).
- - **Fundamentos:** Balanço Patrimonial, DRE, Fluxo de Caixa, DVA,
- Indicadores-chave (P/L, P/VP, ROE, etc) via parâmetro `modules`.
- - **Dividendos:** Histórico completo de proventos em dinheiro (dividendos, JCP)
- e bonificações.
+ ### O que a resposta traz
- ### Autenticação:
+ Sempre: `symbol`, `shortName`, `currency`, `regularMarketPrice`,
+ `regularMarketChange`, `regularMarketChangePercent`, `regularMarketVolume`,
+ `regularMarketDayHigh`, `regularMarketDayLow`, `fiftyTwoWeekHigh`,
+ `fiftyTwoWeekLow` e `marketCap`.
- Requer token Bearer no header ou como query param. Tickers de teste **PETR4** e
- **VALE3** funcionam sem autenticação.
+ Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
+ `dividends=true`: `dividendsData` com dividendos, JCP e bonificações. Com
+ `modules`: um objeto por módulo pedido.
- ```bash
- # Via header (recomendado)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/PETR4"
+ ### Parâmetros de histórico
- # Via query param
- curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN"
- ```
+ `interval` aceita `1d`, `5d`, `1wk`, `1mo` e `3mo`. `range` aceita `1d`, `5d`,
+ `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `10y`, `ytd` e `max`. O quanto de
+ histórico você enxerga depende do plano.
- ### Exemplos de Requisição:
+ ### Módulos
- ```bash
- # Simples: apenas cotação atual
- curl "https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN"
+ `modules` aceita uma lista separada por vírgula:
- # Múltiplos tickers em uma requisição
- curl "https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKEN"
+ - `summaryProfile` - cadastro da empresa: CNPJ, setor, descrição, site,
+ funcionários
+ - `defaultKeyStatistics` - múltiplos nos últimos 12 meses: P/L, P/VP, ROE,
+ dividend yield
+ - `financialData` - receita, EBITDA, margens e dívida nos últimos 12 meses
+ - `balanceSheetHistory` - balanço patrimonial anual
+ - `incomeStatementHistory` - DRE anual
+ - `cashflowHistory` - fluxo de caixa anual
+ - `valueAddedHistory` - DVA anual
- # Com dados históricos (últimos 12 meses, diário)
- curl "https://brapi.dev/api/quote/PETR4?range=1y&interval=1d&token=SEU_TOKEN"
+ Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Os
+ módulos `defaultKeyStatistics` e `financialData` também aceitam os sufixos
+ `History` e `HistoryQuarterly`.
- # Com módulos de fundamentos (balanço e DRE)
- curl "https://brapi.dev/api/quote/PETR4?modules=balanceSheetHistory,incomeStatementHistory&token=SEU_TOKEN"
-
- # Completo: histórico + dividendos + estatísticas-chave
- curl "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=balanceSheetHistory,defaultKeyStatistics&token=SEU_TOKEN"
+ ```bash
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=defaultKeyStatistics"
```
- ### Módulos Disponíveis:
-
- - `summaryProfile` - Perfil da empresa (CNPJ, setor, descrição, website,
- funcionários)
- - `balanceSheetHistory` - Balanço Patrimonial anual
- - `balanceSheetHistoryQuarterly` - Balanço Patrimonial trimestral
- - `incomeStatementHistory` - DRE anual (Demonstração de Resultado do Exercício)
- - `incomeStatementHistoryQuarterly` - DRE trimestral
- - `financialData` - Indicadores financeiros atuais (TTM - Trailing Twelve
- Months)
- - `financialDataHistory` - Histórico anual de indicadores financeiros
- - `financialDataHistoryQuarterly` - Histórico trimestral de indicadores
- financeiros
- - `defaultKeyStatistics` - Estatísticas-chave (P/L, P/VP, ROE, Dividend Yield,
- etc)
- - `defaultKeyStatisticsHistory` - Histórico anual de estatísticas-chave
- - `defaultKeyStatisticsHistoryQuarterly` - Histórico trimestral de
- estatísticas-chave
- - `cashflowHistory` - Fluxo de Caixa anual
- - `cashflowHistoryQuarterly` - Fluxo de Caixa trimestral
- - `valueAddedHistory` - DVA anual (Demonstração de Valor Adicionado)
- - `valueAddedHistoryQuarterly` - DVA trimestral
-
- ### Intervalos Válidos (histórico):
-
- - `1d` - Diário
- - `5d` - 5 dias
- - `1wk` - Semanal
- - `1mo` - Mensal
- - `3mo` - Trimestral
-
- ### Períodos Válidos (range):
-
- - `1d` - Último dia
- - `5d` - Últimos 5 dias
- - `1mo` - Último mês
- - `3mo` - Últimos 3 meses
- - `6mo` - Últimos 6 meses
- - `1y` - Último ano
- - `2y` - Últimos 2 anos
- - `5y` - Últimos 5 anos
- - `10y` - Últimos 10 anos
- - `ytd` - Ano até hoje
- - `max` - Máximo disponível
-
- ### Campos Principais da Resposta:
-
- - `symbol` - Ticker do ativo (ex: PETR4)
- - `shortName` - Nome curto da empresa
- - `currency` - Moeda (BRL)
- - `regularMarketPrice` - Preço atual em BRL
- - `regularMarketChange` - Variação absoluta
- - `regularMarketChangePercent` - Variação percentual (%)
- - `regularMarketVolume` - Volume de negociação do dia
- - `regularMarketDayHigh` - Máxima do dia
- - `regularMarketDayLow` - Mínima do dia
- - `fiftyTwoWeekHigh` - Máxima de 52 semanas
- - `fiftyTwoWeekLow` - Mínima de 52 semanas
- - `marketCap` - Capitalização de mercado
- - `historicalDataPrice` - Array de dados OHLCV (quando `range`/`interval`
- fornecidos)
- - `dividendsData` - Histórico de dividendos (quando `dividends=true`)
-
- ### Tickers Populares (Teste):
-
- - `PETR4` - Petrobras (Energia)
- - `VALE3` - Vale (Mineração)
- - `ITUB4` - Itaú Unibanco (Financeiro)
- - `BBDC4` - Bradesco (Financeiro)
- - `ABEV3` - Ambev (Consumo)
- - `WEGE3` - WEG (Indústria)
- - `RENT3` - Localiza (Transporte)
- - `BBAS3` - Banco do Brasil (Financeiro)
- - `MGLU3` - Magazine Luiza (Varejo)
-
- ### Fonte dos Dados:
-
- CVM (Comissão de Valores Mobiliários)
-
- **Plano Mínimo:** Gratuito (limitado a 1 ticker/requisição e módulos básicos)
- **Autenticação:** Necessária para produção (tickers de teste PETR4 e VALE3
- funcionam sem token)
+ ### Autenticação
+
+ PETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Se você
+ misturar um desses com outro ticker na mesma requisição, a chamada inteira passa
+ a exigir token. Envie o token no header `Authorization` sempre que a sua
+ ferramenta permitir.
+
+ Os fundamentos vêm dos documentos que as companhias entregam à CVM.
Args:
tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4)
@@ -630,60 +451,29 @@ async def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteListResponse:
- """
- Retorna uma lista paginada de todos os ativos disponíveis na API (Ações, FIIs,
- BDRs, ETFs, Índices). Use este endpoint para construir screeners, exploradores
- de ações ou para descobrir novos ativos.
-
- ### Funcionalidades:
+ """Lista paginada de ativos da B3 com a cotação de cada um.
- - **Busca por Nome ou Ticker:** Encontre ativos digitando "Petrobras", "PETR4"
- ou qualquer termo.
- - **Filtros por Tipo:** Ações (stock), Fundos Imobiliários (fund), BDRs (bdr).
- - **Filtros por Subtipo:** Units, FIIs, ETFs, FI-Infra, FI-Agro, FIPs, FIDCs e
- BDRs via `subType`.
- - **Filtros por Setor:** Energia, Financeiro, Tecnologia, Saúde, etc.
- - **Ordenação Flexível:** Ordene por volume, preço, market cap ou nome.
- - **Paginação:** Controle o número de resultados com `limit` e `page`.
+ Serve para montar
+ screener, tabela de mercado ou autocomplete de busca.
- ### Autenticação:
+ Busque por nome ou ticker com `search`, aceitando tanto "Petrobras" quanto
+ "PETR4". Filtre por `type` (`stock`, `fund`, `bdr`), por `subType` (units, FIIs,
+ ETFs, FI-Infra, FI-Agro, FIPs, FIDCs, BDRs) e por `sector`.
- Requer token Bearer. Obtenha seu token em
- [brapi.dev/dashboard](https://brapi.dev/dashboard).
+ Ordene com `sortBy` usando `volume`, `close`, `market_cap_basic` ou `name`, mais
+ `sortOrder`. Pagine com `page` e `limit`. O padrão devolve os primeiros 100
+ ativos.
- ### Exemplos de Requisição:
+ A resposta também traz `availableSectors` e `availableStockTypes`, então você
+ monta os filtros da sua interface sem manter uma lista fixa no código.
```bash
- # Listar todos os ativos (primeiros 100)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list"
-
- # Buscar por nome ou ticker
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?search=petrobras"
-
- # Filtrar por tipo e ordenar por volume
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
-
- # Filtrar por subtipo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?subType=fi-agro&limit=10"
-
- # Listar apenas FIIs de um setor específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/quote/list?type=fund§or=Logística&limit=20"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
```
- ### Parâmetros de Ordenação:
-
- - `volume` - Volume de negociação do dia
- - `close` - Preço de fechamento
- - `market_cap_basic` - Capitalização de mercado
- - `name` - Nome da empresa (alfabético)
-
- ### Tipos de Ativo:
-
- - `stock` - Ações (Ações ordinárias e preferenciais)
- - `fund` - Fundos Imobiliários (FIIs) e ETFs
- - `bdr` - BDRs (Brazilian Depositary Receipts)
-
- **Plano Mínimo:** Gratuito **Autenticação:** Necessária (Bearer Token)
+ Exige token, disponível em qualquer plano. Para buscar e validar símbolos sem
+ carregar cotação, `/api/v2/tickers` é mais leve.
Args:
token: Token de autenticação (alternativa ao header Authorization)
diff --git a/src/brapi/resources/v2/crypto.py b/src/brapi/resources/v2/crypto.py
index f917f78..9e3cb84 100644
--- a/src/brapi/resources/v2/crypto.py
+++ b/src/brapi/resources/v2/crypto.py
@@ -61,45 +61,21 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoRetrieveResponse:
"""
- Retorna cotações atualizadas de uma ou mais criptomoedas, com conversão para
- diferentes moedas fiduciárias.
+ Cotação de uma ou mais criptomoedas, convertida para a moeda que você escolher.
- ### Funcionalidades:
+ Cada moeda traz preço, variação de 24 horas, volume e market cap. O padrão é
+ `currency=BRL`, e você pode pedir `USD`, `EUR` e outras.
- - **Cotação Atual:** Preço, variação 24h, volume, market cap
- - **Múltiplas Moedas:** Consulte várias criptos em uma requisição (separadas por
- vírgula)
- - **Conversão de Moeda:** BRL (padrão), USD, EUR e outras
- - **Dados Históricos:** OHLCV via parâmetros `range` e `interval`
-
- ### Autenticação:
-
- Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard.
-
- ### Exemplos de Requisição:
+ Peça várias de uma vez em `coin=BTC,ETH,SOL`. Para série histórica, passe
+ `range` e `interval`.
```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC,ETH,SOL¤cy=USD"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL&range=1mo&interval=1d"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/v2/crypto?coin=BTC,ETH¤cy=BRL"
```
- ### Moedas de Conversão:
-
- BRL (Real), USD (Dólar), EUR (Euro), GBP (Libra) e outras
-
- ### Campos da Resposta:
-
- - `coin` - Símbolo da criptomoeda
- - `coinName` - Nome completo
- - `currency` - Moeda de cotação
- - `regularMarketPrice` - Preço atual
- - `regularMarketChange` - Variação em valor absoluto
- - `regularMarketChangePercent` - Variação percentual (%)
- - `regularMarketDayHigh` / `regularMarketDayLow` - Máxima/Mínima do dia
- - `regularMarketVolume` - Volume negociado
-
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ Cripto negocia 24 horas por dia. A variação de 24 horas é uma janela móvel, não
+ o fechamento de um pregão.
Args:
coin: Sigla(s) das criptomoedas separadas por vírgula
@@ -150,36 +126,16 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoListAvailableResponse:
"""
- Retorna a lista de criptomoedas disponíveis para consulta no endpoint
- `/api/v2/crypto`.
-
- ### Criptomoedas Populares:
-
- - **BTC** - Bitcoin
- - **ETH** - Ethereum
- - **BNB** - Binance Coin
- - **SOL** - Solana
- - **ADA** - Cardano
- - **XRP** - Ripple
- - **DOGE** - Dogecoin
- - **DOT** - Polkadot
- - **MATIC** - Polygon
- - **LTC** - Litecoin
- - E centenas de outras...
+ As criptomoedas que `/api/v2/crypto` aceita, com centenas de símbolos.
- ### Uso:
-
- Use os símbolos retornados como valor do parâmetro `coin` no endpoint principal.
-
- ### Exemplos de Requisição:
+ Use `search` para filtrar. O valor do campo `coin` de cada item é o que você
+ passa no parâmetro `coin` do endpoint principal.
```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available?search=BTC"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/v2/crypto/available?search=BTC"
```
- **Plano Mínimo:** Startup **Autenticação:** Necessária
-
Args:
search: Filtrar criptomoedas por símbolo
@@ -243,45 +199,21 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoRetrieveResponse:
"""
- Retorna cotações atualizadas de uma ou mais criptomoedas, com conversão para
- diferentes moedas fiduciárias.
+ Cotação de uma ou mais criptomoedas, convertida para a moeda que você escolher.
- ### Funcionalidades:
+ Cada moeda traz preço, variação de 24 horas, volume e market cap. O padrão é
+ `currency=BRL`, e você pode pedir `USD`, `EUR` e outras.
- - **Cotação Atual:** Preço, variação 24h, volume, market cap
- - **Múltiplas Moedas:** Consulte várias criptos em uma requisição (separadas por
- vírgula)
- - **Conversão de Moeda:** BRL (padrão), USD, EUR e outras
- - **Dados Históricos:** OHLCV via parâmetros `range` e `interval`
-
- ### Autenticação:
-
- Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard.
-
- ### Exemplos de Requisição:
+ Peça várias de uma vez em `coin=BTC,ETH,SOL`. Para série histórica, passe
+ `range` e `interval`.
```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC,ETH,SOL¤cy=USD"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto?coin=BTC¤cy=BRL&range=1mo&interval=1d"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/v2/crypto?coin=BTC,ETH¤cy=BRL"
```
- ### Moedas de Conversão:
-
- BRL (Real), USD (Dólar), EUR (Euro), GBP (Libra) e outras
-
- ### Campos da Resposta:
-
- - `coin` - Símbolo da criptomoeda
- - `coinName` - Nome completo
- - `currency` - Moeda de cotação
- - `regularMarketPrice` - Preço atual
- - `regularMarketChange` - Variação em valor absoluto
- - `regularMarketChangePercent` - Variação percentual (%)
- - `regularMarketDayHigh` / `regularMarketDayLow` - Máxima/Mínima do dia
- - `regularMarketVolume` - Volume negociado
-
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ Cripto negocia 24 horas por dia. A variação de 24 horas é uma janela móvel, não
+ o fechamento de um pregão.
Args:
coin: Sigla(s) das criptomoedas separadas por vírgula
@@ -332,36 +264,16 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoListAvailableResponse:
"""
- Retorna a lista de criptomoedas disponíveis para consulta no endpoint
- `/api/v2/crypto`.
-
- ### Criptomoedas Populares:
-
- - **BTC** - Bitcoin
- - **ETH** - Ethereum
- - **BNB** - Binance Coin
- - **SOL** - Solana
- - **ADA** - Cardano
- - **XRP** - Ripple
- - **DOGE** - Dogecoin
- - **DOT** - Polkadot
- - **MATIC** - Polygon
- - **LTC** - Litecoin
- - E centenas de outras...
+ As criptomoedas que `/api/v2/crypto` aceita, com centenas de símbolos.
- ### Uso:
-
- Use os símbolos retornados como valor do parâmetro `coin` no endpoint principal.
-
- ### Exemplos de Requisição:
+ Use `search` para filtrar. O valor do campo `coin` de cada item é o que você
+ passa no parâmetro `coin` do endpoint principal.
```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/crypto/available?search=BTC"
+ curl -H "Authorization: Bearer SEU_TOKEN" \\
+ "https://brapi.dev/api/v2/crypto/available?search=BTC"
```
- **Plano Mínimo:** Startup **Autenticação:** Necessária
-
Args:
search: Filtrar criptomoedas por símbolo
diff --git a/src/brapi/resources/v2/currency.py b/src/brapi/resources/v2/currency.py
index 8cbe9d4..16cf0cc 100644
--- a/src/brapi/resources/v2/currency.py
+++ b/src/brapi/resources/v2/currency.py
@@ -58,49 +58,15 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyRetrieveResponse:
"""
- Retorna cotações atualizadas de pares de moedas, com preço de compra/venda,
- variação e extremos do dia.
+ Cotação de pares de moedas, no formato `ORIGEM-DESTINO`, como `USD-BRL`.
- ### Funcionalidades:
+ Cada par traz preço de compra (`bid`), de venda (`ask`), máxima, mínima e
+ variação do dia.
- - **Cotação Atual:** Preço de compra (bid), venda (ask), máxima, mínima,
- variação
- - **Múltiplos Pares:** Consulte vários em uma requisição (separados por vírgula)
- - **Formato:** `ORIGEM-DESTINO` (ex: `USD-BRL`)
+ Peça vários pares na mesma chamada em `currency=USD-BRL,EUR-BRL,GBP-BRL`.
- ### Autenticação:
-
- Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard.
-
- ### Exemplos de Requisição:
-
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL"
- ```
-
- ### Pares de Moedas Populares:
-
- - `USD-BRL` - Dólar Americano / Real
- - `EUR-BRL` - Euro / Real
- - `GBP-BRL` - Libra Esterlina / Real
- - `EUR-USD` - Euro / Dólar
-
- ### Campos da Resposta:
-
- - `fromCurrency` / `toCurrency` - Par de moedas
- - `name` - Nome do par
- - `bidPrice` - Preço de compra
- - `askPrice` - Preço de venda
- - `high` / `low` - Máxima/Mínima do dia
- - `bidVariation` - Variação do preço de compra
- - `percentageChange` - Variação percentual (%)
-
- ### Fonte dos Dados:
-
- Banco Central do Brasil (PTAX)
-
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ A diferença entre `bid` e `ask` é o spread. Casas de câmbio e bancos cobram
+ spread bem maior que esse, então não use o número como preço de balcão.
Args:
currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)
@@ -137,28 +103,12 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyListAvailableResponse:
"""
- Retorna a lista de pares de moedas disponíveis para consulta no endpoint
- `/api/v2/currency`.
-
- ### Formato:
-
- ORIGEM-DESTINO, onde ORIGEM é o código da moeda de origem e DESTINO a moeda de
- destino
-
- ### Pares Disponíveis:
-
- - **Moedas Fiduciárias:** USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK
- contra BRL
- - **Cross Rates:** pares entre as moedas PTAX suportadas, como EUR-USD e GBP-USD
-
- ### Exemplos de Requisição:
+ Os pares que `/api/v2/currency` aceita, no formato `ORIGEM-DESTINO`.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available?search=USD"
- ```
+ A cobertura inclui USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o
+ real, mais os cruzamentos entre as moedas PTAX, como `EUR-USD` e `GBP-USD`.
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ Filtre com `search`.
Args:
search: Filtrar pares de moedas por nome ou descrição
@@ -220,49 +170,15 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyRetrieveResponse:
"""
- Retorna cotações atualizadas de pares de moedas, com preço de compra/venda,
- variação e extremos do dia.
+ Cotação de pares de moedas, no formato `ORIGEM-DESTINO`, como `USD-BRL`.
- ### Funcionalidades:
+ Cada par traz preço de compra (`bid`), de venda (`ask`), máxima, mínima e
+ variação do dia.
- - **Cotação Atual:** Preço de compra (bid), venda (ask), máxima, mínima,
- variação
- - **Múltiplos Pares:** Consulte vários em uma requisição (separados por vírgula)
- - **Formato:** `ORIGEM-DESTINO` (ex: `USD-BRL`)
+ Peça vários pares na mesma chamada em `currency=USD-BRL,EUR-BRL,GBP-BRL`.
- ### Autenticação:
-
- Bearer token ou query param `token`. Obtenha em brapi.dev/dashboard.
-
- ### Exemplos de Requisição:
-
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency?currency=USD-BRL,EUR-BRL,GBP-BRL"
- ```
-
- ### Pares de Moedas Populares:
-
- - `USD-BRL` - Dólar Americano / Real
- - `EUR-BRL` - Euro / Real
- - `GBP-BRL` - Libra Esterlina / Real
- - `EUR-USD` - Euro / Dólar
-
- ### Campos da Resposta:
-
- - `fromCurrency` / `toCurrency` - Par de moedas
- - `name` - Nome do par
- - `bidPrice` - Preço de compra
- - `askPrice` - Preço de venda
- - `high` / `low` - Máxima/Mínima do dia
- - `bidVariation` - Variação do preço de compra
- - `percentageChange` - Variação percentual (%)
-
- ### Fonte dos Dados:
-
- Banco Central do Brasil (PTAX)
-
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ A diferença entre `bid` e `ask` é o spread. Casas de câmbio e bancos cobram
+ spread bem maior que esse, então não use o número como preço de balcão.
Args:
currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)
@@ -301,28 +217,12 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyListAvailableResponse:
"""
- Retorna a lista de pares de moedas disponíveis para consulta no endpoint
- `/api/v2/currency`.
-
- ### Formato:
-
- ORIGEM-DESTINO, onde ORIGEM é o código da moeda de origem e DESTINO a moeda de
- destino
-
- ### Pares Disponíveis:
-
- - **Moedas Fiduciárias:** USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK
- contra BRL
- - **Cross Rates:** pares entre as moedas PTAX suportadas, como EUR-USD e GBP-USD
-
- ### Exemplos de Requisição:
+ Os pares que `/api/v2/currency` aceita, no formato `ORIGEM-DESTINO`.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available"
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/currency/available?search=USD"
- ```
+ A cobertura inclui USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o
+ real, mais os cruzamentos entre as moedas PTAX, como `EUR-USD` e `GBP-USD`.
- **Plano Mínimo:** Startup **Autenticação:** Necessária
+ Filtre com `search`.
Args:
search: Filtrar pares de moedas por nome ou descrição
diff --git a/src/brapi/resources/v2/inflation.py b/src/brapi/resources/v2/inflation.py
index 6d73c5c..2075c53 100644
--- a/src/brapi/resources/v2/inflation.py
+++ b/src/brapi/resources/v2/inflation.py
@@ -60,60 +60,19 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationRetrieveResponse:
"""
- Retorna dados históricos do **IPCA (Índice Nacional de Preços ao Consumidor
- Amplo)**, o índice oficial de inflação do Brasil, medido pelo IBGE.
+ Série do IPCA, o índice oficial de inflação do Brasil, publicada pelo Banco
+ Central.
- ### Funcionalidades
+ Os dados são mensais e começam em janeiro de 2000. Cada ponto é a variação
+ percentual do mês, não o acumulado do ano.
- - **Dados Mensais:** Variação percentual mensal do IPCA
- - **Histórico Completo:** Dados desde janeiro/2000 até o mês atual
- - **Filtros de Período:** Use `start` e `end` para definir período específico
- (formato DD/MM/YYYY)
- - **Ordenação:** Ordene por data ou valor, crescente ou decrescente
+ Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
+ por valor.
- ### Autenticação
+ O IPCA sai por volta do dia 10 do mês seguinte. O mês corrente nunca está na
+ série.
- Bearer token ou query param `token`. Requer plano Startup.
-
- ### Exemplos de Uso
-
- ```bash
- # Padrão (últimos 12 meses)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation"
-
- # Histórico completo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true"
-
- # Período específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?start=01/01/2023&end=31/12/2023"
-
- # Ordenado por valor (decrescente)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true&sortBy=value&sortOrder=desc"
- ```
-
- ### Parâmetros de Ordenação
-
- - `sortBy`: `date` (padrão) ou `value`
- - `sortOrder`: `desc` (padrão) ou `asc`
-
- ### Campos da Resposta
-
- - `date` - Data no formato DD/MM/YYYY
- - `value` - Variação percentual do IPCA no mês
- - `epochDate` - Data em timestamp Unix (milissegundos)
-
- ### Sobre o IPCA
-
- O IPCA é o índice oficial de inflação do Brasil, calculado mensalmente pelo
- IBGE. Ele mede a variação de preços de uma cesta de produtos e serviços
- consumidos pelas famílias brasileiras.
-
- ### Fonte dos Dados
-
- Banco Central do Brasil (BCB) - indicador IPCA publicado como série temporal
- oficial
-
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
end: Data de fim (DD/MM/YYYY)
@@ -167,21 +126,11 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationListAvailableResponse:
"""
- Retorna a lista de países disponíveis para consulta de dados de inflação.
-
- ### Países Disponíveis
-
- - **brazil** - Dados do IPCA (IBGE)
-
- Use o valor retornado como referência para futuras expansões do endpoint.
-
- ### Exemplo de Uso
+ Os países que `/api/v2/inflation` aceita.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation/available"
- ```
+ Hoje só `brazil`, com o IPCA publicado pelo Banco Central.
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
format: Formato da resposta. JSON é o formato suportado.
@@ -243,60 +192,19 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationRetrieveResponse:
"""
- Retorna dados históricos do **IPCA (Índice Nacional de Preços ao Consumidor
- Amplo)**, o índice oficial de inflação do Brasil, medido pelo IBGE.
+ Série do IPCA, o índice oficial de inflação do Brasil, publicada pelo Banco
+ Central.
- ### Funcionalidades
+ Os dados são mensais e começam em janeiro de 2000. Cada ponto é a variação
+ percentual do mês, não o acumulado do ano.
- - **Dados Mensais:** Variação percentual mensal do IPCA
- - **Histórico Completo:** Dados desde janeiro/2000 até o mês atual
- - **Filtros de Período:** Use `start` e `end` para definir período específico
- (formato DD/MM/YYYY)
- - **Ordenação:** Ordene por data ou valor, crescente ou decrescente
+ Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
+ por valor.
- ### Autenticação
+ O IPCA sai por volta do dia 10 do mês seguinte. O mês corrente nunca está na
+ série.
- Bearer token ou query param `token`. Requer plano Startup.
-
- ### Exemplos de Uso
-
- ```bash
- # Padrão (últimos 12 meses)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation"
-
- # Histórico completo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true"
-
- # Período específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?start=01/01/2023&end=31/12/2023"
-
- # Ordenado por valor (decrescente)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation?historical=true&sortBy=value&sortOrder=desc"
- ```
-
- ### Parâmetros de Ordenação
-
- - `sortBy`: `date` (padrão) ou `value`
- - `sortOrder`: `desc` (padrão) ou `asc`
-
- ### Campos da Resposta
-
- - `date` - Data no formato DD/MM/YYYY
- - `value` - Variação percentual do IPCA no mês
- - `epochDate` - Data em timestamp Unix (milissegundos)
-
- ### Sobre o IPCA
-
- O IPCA é o índice oficial de inflação do Brasil, calculado mensalmente pelo
- IBGE. Ele mede a variação de preços de uma cesta de produtos e serviços
- consumidos pelas famílias brasileiras.
-
- ### Fonte dos Dados
-
- Banco Central do Brasil (BCB) - indicador IPCA publicado como série temporal
- oficial
-
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
end: Data de fim (DD/MM/YYYY)
@@ -350,21 +258,11 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationListAvailableResponse:
"""
- Retorna a lista de países disponíveis para consulta de dados de inflação.
-
- ### Países Disponíveis
-
- - **brazil** - Dados do IPCA (IBGE)
-
- Use o valor retornado como referência para futuras expansões do endpoint.
-
- ### Exemplo de Uso
+ Os países que `/api/v2/inflation` aceita.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/inflation/available"
- ```
+ Hoje só `brazil`, com o IPCA publicado pelo Banco Central.
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
format: Formato da resposta. JSON é o formato suportado.
diff --git a/src/brapi/resources/v2/prime_rate.py b/src/brapi/resources/v2/prime_rate.py
index 42d8433..76db5ea 100644
--- a/src/brapi/resources/v2/prime_rate.py
+++ b/src/brapi/resources/v2/prime_rate.py
@@ -60,60 +60,19 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateRetrieveResponse:
"""
- Retorna dados históricos da **Taxa SELIC (Sistema Especial de Liquidação e de
- Custódia)**, a taxa básica de juros da economia brasileira, definida pelo COPOM
- (Comitê de Política Monetária) do Banco Central.
+ Série da taxa SELIC, a taxa básica de juros da economia brasileira, definida
+ pelo COPOM.
- ### Funcionalidades
+ Os dados são diários e começam em janeiro de 2000. O valor é a meta anualizada,
+ em porcentagem ao ano.
- - **Dados Diários:** Taxa SELIC diária (meta anualizada, % a.a.)
- - **Histórico Completo:** Dados desde janeiro/2000 até a data atual
- - **Filtros de Período:** Use `start` e `end` (formato DD/MM/YYYY)
- - **Ordenação:** Por data ou valor, crescente ou decrescente
+ Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
+ por valor.
- ### Autenticação
+ A meta muda só nas reuniões do COPOM, a cada 45 dias. Entre uma reunião e outra,
+ a série repete o mesmo valor todo dia útil.
- Bearer token ou query param `token`. Requer plano Startup.
-
- ### Exemplos de Uso
-
- ```bash
- # Padrão (últimos 12 meses)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate"
-
- # Histórico completo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true"
-
- # Período específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?start=01/01/2023&end=31/12/2023"
-
- # Ordenado por valor (decrescente)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true&sortBy=value&sortOrder=desc"
- ```
-
- ### Parâmetros de Ordenação
-
- - `sortBy`: `date` (padrão) ou `value`
- - `sortOrder`: `desc` (padrão) ou `asc`
-
- ### Campos da Resposta
-
- - `date` - Data no formato DD/MM/YYYY
- - `value` - Taxa SELIC meta anualizada (% a.a.)
- - `epochDate` - Data em timestamp Unix (milissegundos)
-
- ### Sobre a SELIC
-
- A SELIC é a taxa básica de juros da economia brasileira e influencia todas as
- demais taxas de juros do país (empréstimos, financiamentos, aplicações
- financeiras). Ela é definida pelo COPOM a cada 45 dias e serve como referência
- para o CDI.
-
- ### Fonte dos Dados
-
- Banco Central do Brasil (BCB) - meta SELIC publicada como série temporal oficial
-
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
end: Data de fim (DD/MM/YYYY)
@@ -167,21 +126,11 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateListAvailableResponse:
"""
- Retorna a lista de países disponíveis para consulta de dados de taxa de juros.
-
- ### Países Disponíveis
-
- - **brazil** - Taxa SELIC (Banco Central)
-
- Use o valor retornado como referência para futuras expansões do endpoint.
-
- ### Exemplo de Uso
+ Os países que `/api/v2/prime-rate` aceita.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate/available"
- ```
+ Hoje só `brazil`, com a SELIC do Banco Central.
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
format: Formato da resposta. JSON é o formato suportado.
@@ -245,60 +194,19 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateRetrieveResponse:
"""
- Retorna dados históricos da **Taxa SELIC (Sistema Especial de Liquidação e de
- Custódia)**, a taxa básica de juros da economia brasileira, definida pelo COPOM
- (Comitê de Política Monetária) do Banco Central.
+ Série da taxa SELIC, a taxa básica de juros da economia brasileira, definida
+ pelo COPOM.
- ### Funcionalidades
+ Os dados são diários e começam em janeiro de 2000. O valor é a meta anualizada,
+ em porcentagem ao ano.
- - **Dados Diários:** Taxa SELIC diária (meta anualizada, % a.a.)
- - **Histórico Completo:** Dados desde janeiro/2000 até a data atual
- - **Filtros de Período:** Use `start` e `end` (formato DD/MM/YYYY)
- - **Ordenação:** Por data ou valor, crescente ou decrescente
+ Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
+ por valor.
- ### Autenticação
+ A meta muda só nas reuniões do COPOM, a cada 45 dias. Entre uma reunião e outra,
+ a série repete o mesmo valor todo dia útil.
- Bearer token ou query param `token`. Requer plano Startup.
-
- ### Exemplos de Uso
-
- ```bash
- # Padrão (últimos 12 meses)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate"
-
- # Histórico completo
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true"
-
- # Período específico
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?start=01/01/2023&end=31/12/2023"
-
- # Ordenado por valor (decrescente)
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate?historical=true&sortBy=value&sortOrder=desc"
- ```
-
- ### Parâmetros de Ordenação
-
- - `sortBy`: `date` (padrão) ou `value`
- - `sortOrder`: `desc` (padrão) ou `asc`
-
- ### Campos da Resposta
-
- - `date` - Data no formato DD/MM/YYYY
- - `value` - Taxa SELIC meta anualizada (% a.a.)
- - `epochDate` - Data em timestamp Unix (milissegundos)
-
- ### Sobre a SELIC
-
- A SELIC é a taxa básica de juros da economia brasileira e influencia todas as
- demais taxas de juros do país (empréstimos, financiamentos, aplicações
- financeiras). Ela é definida pelo COPOM a cada 45 dias e serve como referência
- para o CDI.
-
- ### Fonte dos Dados
-
- Banco Central do Brasil (BCB) - meta SELIC publicada como série temporal oficial
-
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
end: Data de fim (DD/MM/YYYY)
@@ -352,21 +260,11 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateListAvailableResponse:
"""
- Retorna a lista de países disponíveis para consulta de dados de taxa de juros.
-
- ### Países Disponíveis
-
- - **brazil** - Taxa SELIC (Banco Central)
-
- Use o valor retornado como referência para futuras expansões do endpoint.
-
- ### Exemplo de Uso
+ Os países que `/api/v2/prime-rate` aceita.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" "https://brapi.dev/api/v2/prime-rate/available"
- ```
+ Hoje só `brazil`, com a SELIC do Banco Central.
- **Plano Mínimo:** Startup | **Autenticação:** Necessária
+ Plano Startup.
Args:
format: Formato da resposta. JSON é o formato suportado.
From 3734e950a204d7b63b3808c9a46fb24f21ccbe93 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 25 Aug 2026 04:27:52 +0000
Subject: [PATCH 10/16] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a28e624..491ad89 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-6c102060673bc8962504a7e74d88104e79435ac406ba732b58337b7255e4efa2.yml
-openapi_spec_hash: a602ef75a89ae4b3fb3da40fa6d9992d
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-dda1eae30ecbba04f0841d9bc98b39dcae2d254cd730c69c18a192a98f78635f.yml
+openapi_spec_hash: 512c5c36a7f81a0e695119017c70a758
config_hash: 14da4c1963f3e0764a3e82d626a1d762
From 4ad61a5d636f09dc6ec038adcef069a61f6ccc59 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 29 Aug 2026 02:27:43 +0000
Subject: [PATCH 11/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/resources/quote.py | 22 +++++++++++++----
src/brapi/types/quote_retrieve_params.py | 6 +++++
src/brapi/types/quote_retrieve_response.py | 28 ++++++++++++++++++++++
tests/api_resources/test_quote.py | 2 ++
5 files changed, 56 insertions(+), 6 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 491ad89..8698ed0 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-dda1eae30ecbba04f0841d9bc98b39dcae2d254cd730c69c18a192a98f78635f.yml
-openapi_spec_hash: 512c5c36a7f81a0e695119017c70a758
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-46daafa856fc2bb417e4173efa9d3246dc809ded329574e18e134e198e2547c9.yml
+openapi_spec_hash: db7a5b86845f09bc7ff280421ce6faa1
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index a837a19..27243d6 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -56,6 +56,7 @@ def retrieve(
token: str | Omit = omit,
dividends: Literal["true", "false"] | Omit = omit,
end_date: str | Omit = omit,
+ include_raw: Literal["true", "false"] | Omit = omit,
interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"]
| Omit = omit,
modules: str | Omit = omit,
@@ -86,8 +87,10 @@ def retrieve(
`fiftyTwoWeekLow` e `marketCap`.
Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
- `dividends=true`: `dividendsData` com dividendos, JCP e bonificações. Com
- `modules`: um objeto por módulo pedido.
+ `includeRaw=true` e intervalo diário: os campos `rawOpen`, `rawHigh`, `rawLow` e
+ `rawClose` quando existirem no banco. Intervalos intradiários não retornam
+ campos `raw*`. Com `dividends=true`: `dividendsData` com dividendos, JCP e
+ bonificações. Com `modules`: um objeto por módulo pedido.
### Parâmetros de histórico
@@ -136,6 +139,9 @@ def retrieve(
end_date: Data final para dados históricos (formato YYYY-MM-DD)
+ include_raw: Incluir preços OHLC originais armazenados no banco da brapi para intervalos
+ diários. Use includeRaw=true. Disponível no plano Pro.
+
interval: Intervalo/granularidade dos dados históricos
modules: Módulos de dados adicionais separados por vírgula
@@ -166,6 +172,7 @@ def retrieve(
"token": token,
"dividends": dividends,
"end_date": end_date,
+ "include_raw": include_raw,
"interval": interval,
"modules": modules,
"range": range,
@@ -310,6 +317,7 @@ async def retrieve(
token: str | Omit = omit,
dividends: Literal["true", "false"] | Omit = omit,
end_date: str | Omit = omit,
+ include_raw: Literal["true", "false"] | Omit = omit,
interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"]
| Omit = omit,
modules: str | Omit = omit,
@@ -340,8 +348,10 @@ async def retrieve(
`fiftyTwoWeekLow` e `marketCap`.
Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
- `dividends=true`: `dividendsData` com dividendos, JCP e bonificações. Com
- `modules`: um objeto por módulo pedido.
+ `includeRaw=true` e intervalo diário: os campos `rawOpen`, `rawHigh`, `rawLow` e
+ `rawClose` quando existirem no banco. Intervalos intradiários não retornam
+ campos `raw*`. Com `dividends=true`: `dividendsData` com dividendos, JCP e
+ bonificações. Com `modules`: um objeto por módulo pedido.
### Parâmetros de histórico
@@ -390,6 +400,9 @@ async def retrieve(
end_date: Data final para dados históricos (formato YYYY-MM-DD)
+ include_raw: Incluir preços OHLC originais armazenados no banco da brapi para intervalos
+ diários. Use includeRaw=true. Disponível no plano Pro.
+
interval: Intervalo/granularidade dos dados históricos
modules: Módulos de dados adicionais separados por vírgula
@@ -420,6 +433,7 @@ async def retrieve(
"token": token,
"dividends": dividends,
"end_date": end_date,
+ "include_raw": include_raw,
"interval": interval,
"modules": modules,
"range": range,
diff --git a/src/brapi/types/quote_retrieve_params.py b/src/brapi/types/quote_retrieve_params.py
index 27edbb1..ee2f0a6 100644
--- a/src/brapi/types/quote_retrieve_params.py
+++ b/src/brapi/types/quote_retrieve_params.py
@@ -19,6 +19,12 @@ class QuoteRetrieveParams(TypedDict, total=False):
end_date: Annotated[str, PropertyInfo(alias="endDate")]
"""Data final para dados históricos (formato YYYY-MM-DD)"""
+ include_raw: Annotated[Literal["true", "false"], PropertyInfo(alias="includeRaw")]
+ """
+ Incluir preços OHLC originais armazenados no banco da brapi para intervalos
+ diários. Use includeRaw=true. Disponível no plano Pro.
+ """
+
interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"]
"""Intervalo/granularidade dos dados históricos"""
diff --git a/src/brapi/types/quote_retrieve_response.py b/src/brapi/types/quote_retrieve_response.py
index bc13bb6..dec2218 100644
--- a/src/brapi/types/quote_retrieve_response.py
+++ b/src/brapi/types/quote_retrieve_response.py
@@ -118,6 +118,34 @@ class ResultHistoricalDataPrice(BaseModel):
volume: int
"""Volume financeiro negociado no intervalo."""
+ raw_close: Optional[float] = FieldInfo(alias="rawClose", default=None)
+ """Preço de fechamento original armazenado no banco da brapi.
+
+ Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
+ quando não houver valor no banco.
+ """
+
+ raw_high: Optional[float] = FieldInfo(alias="rawHigh", default=None)
+ """Preço máximo original armazenado no banco da brapi.
+
+ Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
+ quando não houver valor no banco.
+ """
+
+ raw_low: Optional[float] = FieldInfo(alias="rawLow", default=None)
+ """Preço mínimo original armazenado no banco da brapi.
+
+ Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
+ quando não houver valor no banco.
+ """
+
+ raw_open: Optional[float] = FieldInfo(alias="rawOpen", default=None)
+ """Preço de abertura original armazenado no banco da brapi.
+
+ Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
+ quando não houver valor no banco.
+ """
+
class ResultSummaryProfile(BaseModel):
"""Perfil da empresa (quando modules inclui summaryProfile)"""
diff --git a/tests/api_resources/test_quote.py b/tests/api_resources/test_quote.py
index 75580f4..b789328 100644
--- a/tests/api_resources/test_quote.py
+++ b/tests/api_resources/test_quote.py
@@ -33,6 +33,7 @@ def test_method_retrieve_with_all_params(self, client: Brapi) -> None:
token="token",
dividends="true",
end_date="2024-12-31",
+ include_raw="true",
interval="1m",
modules="summaryProfile,balanceSheetHistory,financialData",
range="1d",
@@ -141,6 +142,7 @@ async def test_method_retrieve_with_all_params(self, async_client: AsyncBrapi) -
token="token",
dividends="true",
end_date="2024-12-31",
+ include_raw="true",
interval="1m",
modules="summaryProfile,balanceSheetHistory,financialData",
range="1d",
From fd52eebdf6030812a49dbd949418146de3b9eee9 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 4 Sep 2026 02:27:46 +0000
Subject: [PATCH 12/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/types/quote_retrieve_response.py | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8698ed0..9ebe2e3 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-46daafa856fc2bb417e4173efa9d3246dc809ded329574e18e134e198e2547c9.yml
-openapi_spec_hash: db7a5b86845f09bc7ff280421ce6faa1
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-78c66f80e7ed9c5d28c269080f9f7ebbcad782c28b84a806d6228b5902c95920.yml
+openapi_spec_hash: d98ec97ec0b0aafaeef9969cd299c9cb
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/types/quote_retrieve_response.py b/src/brapi/types/quote_retrieve_response.py
index dec2218..cda9d3a 100644
--- a/src/brapi/types/quote_retrieve_response.py
+++ b/src/brapi/types/quote_retrieve_response.py
@@ -29,6 +29,9 @@ class ResultDividendsDataCashDividend(BaseModel):
asset_issued: str = FieldInfo(alias="assetIssued")
"""Código ISIN do ativo emissor"""
+ ex_date: Optional[str] = FieldInfo(alias="exDate", default=None)
+ """Data ex (primeiro dia sem direito ao provento)"""
+
isin_code: str = FieldInfo(alias="isinCode")
"""Código ISIN"""
@@ -61,6 +64,9 @@ class ResultDividendsDataStockDividend(BaseModel):
complete_factor: str = FieldInfo(alias="completeFactor")
"""Fator completo (ex: 2 para 1)"""
+ ex_date: Optional[str] = FieldInfo(alias="exDate", default=None)
+ """Data ex do evento corporativo"""
+
factor: float
"""Fator do desdobramento/grupamento"""
From 846d1cc7b3963e8253ba9aa0f534c7c0c5a15854 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 4 Sep 2026 22:27:48 +0000
Subject: [PATCH 13/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/types/quote_retrieve_response.py | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 9ebe2e3..47c403e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-78c66f80e7ed9c5d28c269080f9f7ebbcad782c28b84a806d6228b5902c95920.yml
-openapi_spec_hash: d98ec97ec0b0aafaeef9969cd299c9cb
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-cd497ed299df95a41e4d2132fd412d0fa7c4464e96594478869e8f02baf57d45.yml
+openapi_spec_hash: d16e0ab2614dd2530cf3c8c350a4d8ca
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/types/quote_retrieve_response.py b/src/brapi/types/quote_retrieve_response.py
index cda9d3a..79c8e1e 100644
--- a/src/brapi/types/quote_retrieve_response.py
+++ b/src/brapi/types/quote_retrieve_response.py
@@ -53,6 +53,12 @@ class ResultDividendsDataCashDividend(BaseModel):
remarks: str
"""Observações"""
+ raw_rate: Optional[float] = FieldInfo(alias="rawRate", default=None)
+ """Valor por ação convertido para a escala dos preços brutos com base histórica.
+
+ Retornado com includeRaw=true.
+ """
+
class ResultDividendsDataStockDividend(BaseModel):
approved_on: Optional[str] = FieldInfo(alias="approvedOn", default=None)
From 090d70a04e883c17035118e6272b1a3a67aac4b2 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 11 Sep 2026 16:05:28 +0000
Subject: [PATCH 14/16] feat(api): api update
---
.stats.yml | 4 ++--
src/brapi/resources/quote.py | 22 ++++++++++++++++------
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 47c403e..ed3742b 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-cd497ed299df95a41e4d2132fd412d0fa7c4464e96594478869e8f02baf57d45.yml
-openapi_spec_hash: d16e0ab2614dd2530cf3c8c350a4d8ca
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-6537f073161df0211b1a539e96dcb2459f1f8d138586bc7738b3bda97838a8c8.yml
+openapi_spec_hash: 2eee1d0c28fa1352a2fcb8d4794c8086
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index 27243d6..3181e1c 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -112,9 +112,14 @@ def retrieve(
- `cashflowHistory` - fluxo de caixa anual
- `valueAddedHistory` - DVA anual
- Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Os
- módulos `defaultKeyStatistics` e `financialData` também aceitam os sufixos
- `History` e `HistoryQuarterly`.
+ Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Para
+ DRE, DFC e DVA, os trimestres seguem a base consolidada ou individual do
+ relatório anual do mesmo ano-calendário. Sem relatório anual, usamos a base com
+ o trimestre mais recente; a consolidada tem preferência em empate. Não
+ completamos lacunas com trimestres de outra base. Fluxos trimestrais sem os
+ períodos necessários retornam `null`. Saldos de caixa representam o início e o
+ fim do trimestre, não sua variação. Os módulos `defaultKeyStatistics` e
+ `financialData` também aceitam os sufixos `History` e `HistoryQuarterly`.
```bash
curl -H "Authorization: Bearer SEU_TOKEN" \\
@@ -373,9 +378,14 @@ async def retrieve(
- `cashflowHistory` - fluxo de caixa anual
- `valueAddedHistory` - DVA anual
- Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Os
- módulos `defaultKeyStatistics` e `financialData` também aceitam os sufixos
- `History` e `HistoryQuarterly`.
+ Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Para
+ DRE, DFC e DVA, os trimestres seguem a base consolidada ou individual do
+ relatório anual do mesmo ano-calendário. Sem relatório anual, usamos a base com
+ o trimestre mais recente; a consolidada tem preferência em empate. Não
+ completamos lacunas com trimestres de outra base. Fluxos trimestrais sem os
+ períodos necessários retornam `null`. Saldos de caixa representam o início e o
+ fim do trimestre, não sua variação. Os módulos `defaultKeyStatistics` e
+ `financialData` também aceitam os sufixos `History` e `HistoryQuarterly`.
```bash
curl -H "Authorization: Bearer SEU_TOKEN" \\
From 9fa5b4f26db024b1c6f1dd6b764bb5469caaec75 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 23 Sep 2026 03:27:49 +0000
Subject: [PATCH 15/16] feat(api): api update
---
.stats.yml | 4 +-
src/brapi/resources/available.py | 38 +-
src/brapi/resources/quote.py | 368 ++++++++----------
src/brapi/resources/v2/crypto.py | 90 +++--
src/brapi/resources/v2/currency.py | 60 +--
src/brapi/resources/v2/inflation.py | 78 ++--
src/brapi/resources/v2/prime_rate.py | 76 ++--
src/brapi/types/available_list_params.py | 2 +-
src/brapi/types/available_list_response.py | 4 +-
src/brapi/types/financial_data_entry.py | 23 +-
src/brapi/types/quote_list_params.py | 27 +-
src/brapi/types/quote_list_response.py | 25 +-
src/brapi/types/quote_retrieve_params.py | 18 +-
src/brapi/types/quote_retrieve_response.py | 186 +++++----
.../types/v2/crypto_list_available_params.py | 2 +-
src/brapi/types/v2/crypto_retrieve_params.py | 8 +-
.../types/v2/crypto_retrieve_response.py | 4 +-
.../v2/currency_list_available_params.py | 2 +-
.../types/v2/currency_retrieve_params.py | 2 +-
.../types/v2/currency_retrieve_response.py | 4 +-
.../v2/inflation_list_available_params.py | 2 +-
.../v2/inflation_list_available_response.py | 2 +-
.../types/v2/inflation_retrieve_params.py | 13 +-
.../types/v2/inflation_retrieve_response.py | 6 +-
.../v2/prime_rate_list_available_params.py | 2 +-
.../v2/prime_rate_list_available_response.py | 2 +-
.../types/v2/prime_rate_retrieve_params.py | 13 +-
.../types/v2/prime_rate_retrieve_response.py | 6 +-
28 files changed, 506 insertions(+), 561 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index ed3742b..7cfbc6e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 11
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-6537f073161df0211b1a539e96dcb2459f1f8d138586bc7738b3bda97838a8c8.yml
-openapi_spec_hash: 2eee1d0c28fa1352a2fcb8d4794c8086
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/alisson/brapi-3fbf41dfdf9916a2922ee0527c641ad8e942055ee097262056e0f9d4f4b0b888.yml
+openapi_spec_hash: 138b26f2d129db8a8d8d192e0d0d5f55
config_hash: 14da4c1963f3e0764a3e82d626a1d762
diff --git a/src/brapi/resources/available.py b/src/brapi/resources/available.py
index 90850ba..ab8c2ae 100644
--- a/src/brapi/resources/available.py
+++ b/src/brapi/resources/available.py
@@ -57,22 +57,19 @@ def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AvailableListResponse:
"""
- Lista todos os ativos que a API aceita: ações, FIIs, BDRs e ETFs da B3, mais os
- índices com cotação disponível.
+ Lista simples de tickers aceitos pela API: ativos brasileiros, como ações, FIIs,
+ BDRs e ETFs, em `stocks`, e índices em `indexes`.
- Filtre por código ou nome com `search`.
+ Use para validar um ticker ou preencher uma lista de opções.
- ```bash
- curl "https://brapi.dev/api/available?search=PETR"
- ```
+ `search` filtra por parte do ticker. Tickers antigos não entram na lista. A
+ lista é atualizada a cada 15 minutos.
- Endpoint público, sem token. A resposta fica em cache por 15 minutos e é
- atualizada conforme novos ativos entram na bolsa.
-
- Para busca com filtros por setor e tipo, `/api/v2/tickers` é mais completo.
+ Não exige token. Para filtros por setor e tipo, use a
+ [lista de tickers](https://brapi.dev/docs/tickers).
Args:
- search: Filtrar ações e índices por nome ou código
+ search: Parte do ticker. Filtra ativos e índices.
extra_headers: Send extra headers
@@ -131,22 +128,19 @@ async def list(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AvailableListResponse:
"""
- Lista todos os ativos que a API aceita: ações, FIIs, BDRs e ETFs da B3, mais os
- índices com cotação disponível.
-
- Filtre por código ou nome com `search`.
+ Lista simples de tickers aceitos pela API: ativos brasileiros, como ações, FIIs,
+ BDRs e ETFs, em `stocks`, e índices em `indexes`.
- ```bash
- curl "https://brapi.dev/api/available?search=PETR"
- ```
+ Use para validar um ticker ou preencher uma lista de opções.
- Endpoint público, sem token. A resposta fica em cache por 15 minutos e é
- atualizada conforme novos ativos entram na bolsa.
+ `search` filtra por parte do ticker. Tickers antigos não entram na lista. A
+ lista é atualizada a cada 15 minutos.
- Para busca com filtros por setor e tipo, `/api/v2/tickers` é mais completo.
+ Não exige token. Para filtros por setor e tipo, use a
+ [lista de tickers](https://brapi.dev/docs/tickers).
Args:
- search: Filtrar ações e índices por nome ou código
+ search: Parte do ticker. Filtra ativos e índices.
extra_headers: Send extra headers
diff --git a/src/brapi/resources/quote.py b/src/brapi/resources/quote.py
index 3181e1c..aab9b82 100644
--- a/src/brapi/resources/quote.py
+++ b/src/brapi/resources/quote.py
@@ -70,90 +70,72 @@ def retrieve(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteRetrieveResponse:
- """
- Devolve cotação, histórico, dividendos e fundamentos de um ou mais ativos em uma
- única resposta. É o endpoint original da brapi e continua funcionando sem data
- de remoção.
-
- Para integrações novas, prefira `/api/v2/stocks/*`. Lá cada chamada traz um tipo
- de dado e a resposta chega menor. Veja o guia em
- [brapi.dev/docs/acoes/migracao-v2](https://brapi.dev/docs/acoes/migracao-v2).
-
- ### O que a resposta traz
-
- Sempre: `symbol`, `shortName`, `currency`, `regularMarketPrice`,
- `regularMarketChange`, `regularMarketChangePercent`, `regularMarketVolume`,
- `regularMarketDayHigh`, `regularMarketDayLow`, `fiftyTwoWeekHigh`,
- `fiftyTwoWeekLow` e `marketCap`.
-
- Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
- `includeRaw=true` e intervalo diário: os campos `rawOpen`, `rawHigh`, `rawLow` e
- `rawClose` quando existirem no banco. Intervalos intradiários não retornam
- campos `raw*`. Com `dividends=true`: `dividendsData` com dividendos, JCP e
- bonificações. Com `modules`: um objeto por módulo pedido.
-
- ### Parâmetros de histórico
-
- `interval` aceita `1d`, `5d`, `1wk`, `1mo` e `3mo`. `range` aceita `1d`, `5d`,
- `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `10y`, `ytd` e `max`. O quanto de
- histórico você enxerga depende do plano.
-
- ### Módulos
-
- `modules` aceita uma lista separada por vírgula:
-
- - `summaryProfile` - cadastro da empresa: CNPJ, setor, descrição, site,
- funcionários
- - `defaultKeyStatistics` - múltiplos nos últimos 12 meses: P/L, P/VP, ROE,
- dividend yield
- - `financialData` - receita, EBITDA, margens e dívida nos últimos 12 meses
- - `balanceSheetHistory` - balanço patrimonial anual
- - `incomeStatementHistory` - DRE anual
- - `cashflowHistory` - fluxo de caixa anual
- - `valueAddedHistory` - DVA anual
-
- Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Para
- DRE, DFC e DVA, os trimestres seguem a base consolidada ou individual do
- relatório anual do mesmo ano-calendário. Sem relatório anual, usamos a base com
- o trimestre mais recente; a consolidada tem preferência em empate. Não
- completamos lacunas com trimestres de outra base. Fluxos trimestrais sem os
- períodos necessários retornam `null`. Saldos de caixa representam o início e o
- fim do trimestre, não sua variação. Os módulos `defaultKeyStatistics` e
- `financialData` também aceitam os sufixos `History` e `HistoryQuarterly`.
-
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=defaultKeyStatistics"
- ```
-
- ### Autenticação
-
- PETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Se você
- misturar um desses com outro ticker na mesma requisição, a chamada inteira passa
- a exigir token. Envie o token no header `Authorization` sempre que a sua
- ferramenta permitir.
-
- Os fundamentos vêm dos documentos que as companhias entregam à CVM.
+ """Cotação de um ou mais ativos brasileiros.
+
+ A mesma resposta pode trazer histórico
+ de preços, proventos e dados das demonstrações financeiras.
+
+ Use para integrações que já usam este formato. Para integrações novas, use os
+ endpoints `/api/v2/stocks/*`, que trazem um tipo de dado por chamada. Veja o
+ [guia de migração](https://brapi.dev/docs/acoes/migracao-v2).
+
+ Este é o endpoint original da brapi. Ele continua ativo e não tem data de
+ remoção.
+
+ A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do
+ dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados:
+
+ - `range` e `interval`, ou `startDate` e `endDate`: `historicalDataPrice`, a
+ série de preços.
+ - `includeRaw=true`: os preços originais sem ajuste `rawOpen`, `rawHigh`,
+ `rawLow` e `rawClose`, só em intervalos diários. Exige o plano Pro.
+ - `dividends=true`: `dividendsData`, com dividendos, JCP e eventos em ações.
+ - `modules`: um objeto para cada módulo pedido.
+
+ Módulos aceitos em `modules`, separados por vírgula:
+
+ - `summaryProfile`: cadastro da empresa.
+ - `defaultKeyStatistics`: múltiplos dos últimos 12 meses, como P/L, P/VP e
+ dividend yield.
+ - `financialData`: receita, EBITDA, margens e dívida dos últimos 12 meses.
+ - `balanceSheetHistory`: balanço patrimonial anual.
+ - `incomeStatementHistory`: DRE anual.
+ - `cashflowHistory`: fluxo de caixa anual.
+ - `valueAddedHistory`: DVA anual.
+
+ Cada módulo de demonstração tem uma versão trimestral com o sufixo `Quarterly`,
+ como `balanceSheetHistoryQuarterly`. `defaultKeyStatistics` e `financialData`
+ também aceitam os sufixos `History` e `HistoryQuarterly`. Os dados trimestrais
+ seguem as mesmas regras dos endpoints v2 de
+ [DRE](https://brapi.dev/docs/acoes/dre),
+ [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa) e
+ [DVA](https://brapi.dev/docs/acoes/valor-adicionado).
+
+ O plano define os valores aceitos em `range`, `interval` e `modules`. Um valor
+ fora do plano retorna erro.
+
+ PETR4, MGLU3, VALE3 e ITUB4 respondem sem token. Se a chamada juntar um deles
+ com outro ticker, ela exige token.
Args:
- tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4)
+ tickers: Tickers separados por vírgula. Ex.: PETR4,VALE3.
- token: Token de autenticação (alternativa ao header Authorization)
+ token: Token de acesso. Use no lugar do header `Authorization`.
- dividends: Incluir histórico de dividendos e JCP
+ dividends: Inclui `dividendsData` com dividendos, JCP e eventos em ações.
- end_date: Data final para dados históricos (formato YYYY-MM-DD)
+ end_date: Data final da série de preços no formato YYYY-MM-DD.
- include_raw: Incluir preços OHLC originais armazenados no banco da brapi para intervalos
- diários. Use includeRaw=true. Disponível no plano Pro.
+ include_raw: Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`,
+ `rawClose`) em intervalos diários. Exige o plano Pro.
- interval: Intervalo/granularidade dos dados históricos
+ interval: Intervalo entre os pontos da série de preços.
- modules: Módulos de dados adicionais separados por vírgula
+ modules: Módulos extras separados por vírgula.
- range: Período para dados históricos de preço
+ range: Janela relativa da série de preços.
- start_date: Data inicial para dados históricos (formato YYYY-MM-DD)
+ start_date: Data inicial da série de preços no formato YYYY-MM-DD.
extra_headers: Send extra headers
@@ -209,51 +191,47 @@ def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteListResponse:
- """Lista paginada de ativos da B3 com a cotação de cada um.
-
- Serve para montar
- screener, tabela de mercado ou autocomplete de busca.
+ """
+ Lista de ações, FIIs, BDRs e ETFs com preço de fechamento, variação, volume,
+ market cap, setor e logo de cada um. A resposta também traz os índices
+ disponíveis.
- Busque por nome ou ticker com `search`, aceitando tanto "Petrobras" quanto
- "PETR4". Filtre por `type` (`stock`, `fund`, `bdr`), por `subType` (units, FIIs,
- ETFs, FI-Infra, FI-Agro, FIPs, FIDCs, BDRs) e por `sector`.
+ Use para screeners, tabelas de mercado e busca de ativos com cotação.
- Ordene com `sortBy` usando `volume`, `close`, `market_cap_basic` ou `name`, mais
- `sortOrder`. Pagine com `page` e `limit`. O padrão devolve os primeiros 100
- ativos.
+ `search` busca por parte do ticker ou do nome da empresa. Filtre por `type`,
+ `subType`, `sector` e `subsector`. A ordem padrão é por volume, decrescente.
- A resposta também traz `availableSectors` e `availableStockTypes`, então você
- monta os filtros da sua interface sem manter uma lista fixa no código.
+ Sem `limit`, a resposta traz até 2.000 ativos e não traz os campos de paginação.
+ Com `limit`, ela traz `currentPage`, `totalPages`, `itemsPerPage`, `totalCount`
+ e `hasNextPage`.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
- ```
+ `availableSectors`, `availableSubsectors`, `availableStockTypes` e
+ `availableSubTypeTypes` listam os valores aceitos nos filtros.
- Exige token, disponível em qualquer plano. Para buscar e validar símbolos sem
- carregar cotação, `/api/v2/tickers` é mais leve.
+ Este endpoint não exige token. Para buscar e validar tickers, a
+ [lista de tickers](https://brapi.dev/docs/tickers) traz uma resposta menor.
Args:
- token: Token de autenticação (alternativa ao header Authorization)
+ token: Token de acesso. Use no lugar do header `Authorization`.
- limit: Número máximo de resultados
+ limit: Itens por página. Máximo: 2000. Sem este parâmetro, a resposta traz até 2000
+ itens e não traz paginação.
- page: Número da página (paginação)
+ page: Número da página. Começa em 1.
- search: Termo de busca para filtrar ativos
+ search: Parte do ticker ou do nome da empresa.
- sector: Filtrar por setor
+ sector: Setor.
- sort_by: Campo para ordenação
+ sort_by: Campo de ordenação. Padrão: volume.
- sort_order: Ordem de classificação
+ sort_order: Ordem. Padrão: desc.
- subsector: Filtrar pelo subsetor B3
+ subsector: Subsetor.
- sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro,
- fip, fidc ou bdr
+ sub_type: Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.
- type: Filtrar por tipo de ativo
+ type: Tipo do ativo.
extra_headers: Send extra headers
@@ -336,90 +314,72 @@ async def retrieve(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteRetrieveResponse:
- """
- Devolve cotação, histórico, dividendos e fundamentos de um ou mais ativos em uma
- única resposta. É o endpoint original da brapi e continua funcionando sem data
- de remoção.
-
- Para integrações novas, prefira `/api/v2/stocks/*`. Lá cada chamada traz um tipo
- de dado e a resposta chega menor. Veja o guia em
- [brapi.dev/docs/acoes/migracao-v2](https://brapi.dev/docs/acoes/migracao-v2).
-
- ### O que a resposta traz
-
- Sempre: `symbol`, `shortName`, `currency`, `regularMarketPrice`,
- `regularMarketChange`, `regularMarketChangePercent`, `regularMarketVolume`,
- `regularMarketDayHigh`, `regularMarketDayLow`, `fiftyTwoWeekHigh`,
- `fiftyTwoWeekLow` e `marketCap`.
-
- Com `range` e `interval`: `historicalDataPrice` com a série OHLCV. Com
- `includeRaw=true` e intervalo diário: os campos `rawOpen`, `rawHigh`, `rawLow` e
- `rawClose` quando existirem no banco. Intervalos intradiários não retornam
- campos `raw*`. Com `dividends=true`: `dividendsData` com dividendos, JCP e
- bonificações. Com `modules`: um objeto por módulo pedido.
-
- ### Parâmetros de histórico
-
- `interval` aceita `1d`, `5d`, `1wk`, `1mo` e `3mo`. `range` aceita `1d`, `5d`,
- `1mo`, `3mo`, `6mo`, `1y`, `2y`, `5y`, `10y`, `ytd` e `max`. O quanto de
- histórico você enxerga depende do plano.
-
- ### Módulos
-
- `modules` aceita uma lista separada por vírgula:
-
- - `summaryProfile` - cadastro da empresa: CNPJ, setor, descrição, site,
- funcionários
- - `defaultKeyStatistics` - múltiplos nos últimos 12 meses: P/L, P/VP, ROE,
- dividend yield
- - `financialData` - receita, EBITDA, margens e dívida nos últimos 12 meses
- - `balanceSheetHistory` - balanço patrimonial anual
- - `incomeStatementHistory` - DRE anual
- - `cashflowHistory` - fluxo de caixa anual
- - `valueAddedHistory` - DVA anual
-
- Cada módulo de histórico tem a versão trimestral com o sufixo `Quarterly`. Para
- DRE, DFC e DVA, os trimestres seguem a base consolidada ou individual do
- relatório anual do mesmo ano-calendário. Sem relatório anual, usamos a base com
- o trimestre mais recente; a consolidada tem preferência em empate. Não
- completamos lacunas com trimestres de outra base. Fluxos trimestrais sem os
- períodos necessários retornam `null`. Saldos de caixa representam o início e o
- fim do trimestre, não sua variação. Os módulos `defaultKeyStatistics` e
- `financialData` também aceitam os sufixos `History` e `HistoryQuarterly`.
-
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/quote/PETR4?range=6mo&interval=1d÷nds=true&modules=defaultKeyStatistics"
- ```
-
- ### Autenticação
-
- PETR4, MGLU3, VALE3 e ITUB4 respondem sem token, com todos os recursos. Se você
- misturar um desses com outro ticker na mesma requisição, a chamada inteira passa
- a exigir token. Envie o token no header `Authorization` sempre que a sua
- ferramenta permitir.
-
- Os fundamentos vêm dos documentos que as companhias entregam à CVM.
+ """Cotação de um ou mais ativos brasileiros.
+
+ A mesma resposta pode trazer histórico
+ de preços, proventos e dados das demonstrações financeiras.
+
+ Use para integrações que já usam este formato. Para integrações novas, use os
+ endpoints `/api/v2/stocks/*`, que trazem um tipo de dado por chamada. Veja o
+ [guia de migração](https://brapi.dev/docs/acoes/migracao-v2).
+
+ Este é o endpoint original da brapi. Ele continua ativo e não tem data de
+ remoção.
+
+ A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do
+ dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados:
+
+ - `range` e `interval`, ou `startDate` e `endDate`: `historicalDataPrice`, a
+ série de preços.
+ - `includeRaw=true`: os preços originais sem ajuste `rawOpen`, `rawHigh`,
+ `rawLow` e `rawClose`, só em intervalos diários. Exige o plano Pro.
+ - `dividends=true`: `dividendsData`, com dividendos, JCP e eventos em ações.
+ - `modules`: um objeto para cada módulo pedido.
+
+ Módulos aceitos em `modules`, separados por vírgula:
+
+ - `summaryProfile`: cadastro da empresa.
+ - `defaultKeyStatistics`: múltiplos dos últimos 12 meses, como P/L, P/VP e
+ dividend yield.
+ - `financialData`: receita, EBITDA, margens e dívida dos últimos 12 meses.
+ - `balanceSheetHistory`: balanço patrimonial anual.
+ - `incomeStatementHistory`: DRE anual.
+ - `cashflowHistory`: fluxo de caixa anual.
+ - `valueAddedHistory`: DVA anual.
+
+ Cada módulo de demonstração tem uma versão trimestral com o sufixo `Quarterly`,
+ como `balanceSheetHistoryQuarterly`. `defaultKeyStatistics` e `financialData`
+ também aceitam os sufixos `History` e `HistoryQuarterly`. Os dados trimestrais
+ seguem as mesmas regras dos endpoints v2 de
+ [DRE](https://brapi.dev/docs/acoes/dre),
+ [fluxo de caixa](https://brapi.dev/docs/acoes/fluxo-de-caixa) e
+ [DVA](https://brapi.dev/docs/acoes/valor-adicionado).
+
+ O plano define os valores aceitos em `range`, `interval` e `modules`. Um valor
+ fora do plano retorna erro.
+
+ PETR4, MGLU3, VALE3 e ITUB4 respondem sem token. Se a chamada juntar um deles
+ com outro ticker, ela exige token.
Args:
- tickers: Ticker(s) de ativos separados por vírgula (ex: PETR4 ou PETR4,VALE3,ITUB4)
+ tickers: Tickers separados por vírgula. Ex.: PETR4,VALE3.
- token: Token de autenticação (alternativa ao header Authorization)
+ token: Token de acesso. Use no lugar do header `Authorization`.
- dividends: Incluir histórico de dividendos e JCP
+ dividends: Inclui `dividendsData` com dividendos, JCP e eventos em ações.
- end_date: Data final para dados históricos (formato YYYY-MM-DD)
+ end_date: Data final da série de preços no formato YYYY-MM-DD.
- include_raw: Incluir preços OHLC originais armazenados no banco da brapi para intervalos
- diários. Use includeRaw=true. Disponível no plano Pro.
+ include_raw: Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`,
+ `rawClose`) em intervalos diários. Exige o plano Pro.
- interval: Intervalo/granularidade dos dados históricos
+ interval: Intervalo entre os pontos da série de preços.
- modules: Módulos de dados adicionais separados por vírgula
+ modules: Módulos extras separados por vírgula.
- range: Período para dados históricos de preço
+ range: Janela relativa da série de preços.
- start_date: Data inicial para dados históricos (formato YYYY-MM-DD)
+ start_date: Data inicial da série de preços no formato YYYY-MM-DD.
extra_headers: Send extra headers
@@ -475,51 +435,47 @@ async def list(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> QuoteListResponse:
- """Lista paginada de ativos da B3 com a cotação de cada um.
-
- Serve para montar
- screener, tabela de mercado ou autocomplete de busca.
+ """
+ Lista de ações, FIIs, BDRs e ETFs com preço de fechamento, variação, volume,
+ market cap, setor e logo de cada um. A resposta também traz os índices
+ disponíveis.
- Busque por nome ou ticker com `search`, aceitando tanto "Petrobras" quanto
- "PETR4". Filtre por `type` (`stock`, `fund`, `bdr`), por `subType` (units, FIIs,
- ETFs, FI-Infra, FI-Agro, FIPs, FIDCs, BDRs) e por `sector`.
+ Use para screeners, tabelas de mercado e busca de ativos com cotação.
- Ordene com `sortBy` usando `volume`, `close`, `market_cap_basic` ou `name`, mais
- `sortOrder`. Pagine com `page` e `limit`. O padrão devolve os primeiros 100
- ativos.
+ `search` busca por parte do ticker ou do nome da empresa. Filtre por `type`,
+ `subType`, `sector` e `subsector`. A ordem padrão é por volume, decrescente.
- A resposta também traz `availableSectors` e `availableStockTypes`, então você
- monta os filtros da sua interface sem manter uma lista fixa no código.
+ Sem `limit`, a resposta traz até 2.000 ativos e não traz os campos de paginação.
+ Com `limit`, ela traz `currentPage`, `totalPages`, `itemsPerPage`, `totalCount`
+ e `hasNextPage`.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/quote/list?type=stock&sortBy=volume&sortOrder=desc&limit=10"
- ```
+ `availableSectors`, `availableSubsectors`, `availableStockTypes` e
+ `availableSubTypeTypes` listam os valores aceitos nos filtros.
- Exige token, disponível em qualquer plano. Para buscar e validar símbolos sem
- carregar cotação, `/api/v2/tickers` é mais leve.
+ Este endpoint não exige token. Para buscar e validar tickers, a
+ [lista de tickers](https://brapi.dev/docs/tickers) traz uma resposta menor.
Args:
- token: Token de autenticação (alternativa ao header Authorization)
+ token: Token de acesso. Use no lugar do header `Authorization`.
- limit: Número máximo de resultados
+ limit: Itens por página. Máximo: 2000. Sem este parâmetro, a resposta traz até 2000
+ itens e não traz paginação.
- page: Número da página (paginação)
+ page: Número da página. Começa em 1.
- search: Termo de busca para filtrar ativos
+ search: Parte do ticker ou do nome da empresa.
- sector: Filtrar por setor
+ sector: Setor.
- sort_by: Campo para ordenação
+ sort_by: Campo de ordenação. Padrão: volume.
- sort_order: Ordem de classificação
+ sort_order: Ordem. Padrão: desc.
- subsector: Filtrar pelo subsetor B3
+ subsector: Subsetor.
- sub_type: Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro,
- fip, fidc ou bdr
+ sub_type: Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr.
- type: Filtrar por tipo de ativo
+ type: Tipo do ativo.
extra_headers: Send extra headers
diff --git a/src/brapi/resources/v2/crypto.py b/src/brapi/resources/v2/crypto.py
index 9e3cb84..e613a22 100644
--- a/src/brapi/resources/v2/crypto.py
+++ b/src/brapi/resources/v2/crypto.py
@@ -61,30 +61,31 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoRetrieveResponse:
"""
- Cotação de uma ou mais criptomoedas, convertida para a moeda que você escolher.
+ Cotação de uma ou mais criptomoedas, com preço, variação, máxima, mínima e
+ volume de 24 horas. O preço vem na moeda de `currency`, com BRL como padrão.
- Cada moeda traz preço, variação de 24 horas, volume e market cap. O padrão é
- `currency=BRL`, e você pode pedir `USD`, `EUR` e outras.
+ Use para mostrar preços de cripto, montar carteiras e gerar gráficos.
- Peça várias de uma vez em `coin=BTC,ETH,SOL`. Para série histórica, passe
- `range` e `interval`.
+ Peça várias moedas em `coin`, como `coin=BTC,ETH,SOL`. Para o histórico, passe
+ `range` ou `interval`, como `range=1mo&interval=1d`. A resposta traz os pontos
+ em `historicalDataPrice` e o período aplicado em `usedRange` e `usedInterval`.
+ Intervalos curtos limitam o período.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/v2/crypto?coin=BTC,ETH¤cy=BRL"
- ```
+ Cripto negocia 24 horas por dia. A variação é uma janela móvel de 24 horas.
+ `marketCap` vem sempre como 0.
- Cripto negocia 24 horas por dia. A variação de 24 horas é uma janela móvel, não
- o fechamento de um pregão.
+ Veja as siglas em
+ [listar criptomoedas](https://brapi.dev/docs/criptomoedas/available). Planos
+ Startup e Pro. Os períodos e intervalos aceitos dependem do plano.
Args:
- coin: Sigla(s) das criptomoedas separadas por vírgula
+ coin: Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH.
- currency: Moeda para cotação (padrão: BRL)
+ currency: Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL.
- interval: Intervalo dos dados históricos
+ interval: Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d.
- range: Período para dados históricos
+ range: Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico.
extra_headers: Send extra headers
@@ -126,18 +127,16 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoListAvailableResponse:
"""
- As criptomoedas que `/api/v2/crypto` aceita, com centenas de símbolos.
+ Lista as siglas de criptomoedas que a
+ [cotação de criptomoedas](https://brapi.dev/docs/criptomoedas) aceita.
- Use `search` para filtrar. O valor do campo `coin` de cada item é o que você
- passa no parâmetro `coin` do endpoint principal.
+ Use para montar seletores e validar siglas antes da chamada.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/v2/crypto/available?search=BTC"
- ```
+ `coins` é uma lista de siglas. Passe cada sigla no parâmetro `coin` da cotação.
+ Filtre com `search`. Planos Startup e Pro.
Args:
- search: Filtrar criptomoedas por símbolo
+ search: Texto buscado na sigla da criptomoeda.
extra_headers: Send extra headers
@@ -199,30 +198,31 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoRetrieveResponse:
"""
- Cotação de uma ou mais criptomoedas, convertida para a moeda que você escolher.
+ Cotação de uma ou mais criptomoedas, com preço, variação, máxima, mínima e
+ volume de 24 horas. O preço vem na moeda de `currency`, com BRL como padrão.
- Cada moeda traz preço, variação de 24 horas, volume e market cap. O padrão é
- `currency=BRL`, e você pode pedir `USD`, `EUR` e outras.
+ Use para mostrar preços de cripto, montar carteiras e gerar gráficos.
- Peça várias de uma vez em `coin=BTC,ETH,SOL`. Para série histórica, passe
- `range` e `interval`.
+ Peça várias moedas em `coin`, como `coin=BTC,ETH,SOL`. Para o histórico, passe
+ `range` ou `interval`, como `range=1mo&interval=1d`. A resposta traz os pontos
+ em `historicalDataPrice` e o período aplicado em `usedRange` e `usedInterval`.
+ Intervalos curtos limitam o período.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/v2/crypto?coin=BTC,ETH¤cy=BRL"
- ```
+ Cripto negocia 24 horas por dia. A variação é uma janela móvel de 24 horas.
+ `marketCap` vem sempre como 0.
- Cripto negocia 24 horas por dia. A variação de 24 horas é uma janela móvel, não
- o fechamento de um pregão.
+ Veja as siglas em
+ [listar criptomoedas](https://brapi.dev/docs/criptomoedas/available). Planos
+ Startup e Pro. Os períodos e intervalos aceitos dependem do plano.
Args:
- coin: Sigla(s) das criptomoedas separadas por vírgula
+ coin: Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH.
- currency: Moeda para cotação (padrão: BRL)
+ currency: Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL.
- interval: Intervalo dos dados históricos
+ interval: Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d.
- range: Período para dados históricos
+ range: Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico.
extra_headers: Send extra headers
@@ -264,18 +264,16 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CryptoListAvailableResponse:
"""
- As criptomoedas que `/api/v2/crypto` aceita, com centenas de símbolos.
+ Lista as siglas de criptomoedas que a
+ [cotação de criptomoedas](https://brapi.dev/docs/criptomoedas) aceita.
- Use `search` para filtrar. O valor do campo `coin` de cada item é o que você
- passa no parâmetro `coin` do endpoint principal.
+ Use para montar seletores e validar siglas antes da chamada.
- ```bash
- curl -H "Authorization: Bearer SEU_TOKEN" \\
- "https://brapi.dev/api/v2/crypto/available?search=BTC"
- ```
+ `coins` é uma lista de siglas. Passe cada sigla no parâmetro `coin` da cotação.
+ Filtre com `search`. Planos Startup e Pro.
Args:
- search: Filtrar criptomoedas por símbolo
+ search: Texto buscado na sigla da criptomoeda.
extra_headers: Send extra headers
diff --git a/src/brapi/resources/v2/currency.py b/src/brapi/resources/v2/currency.py
index 16cf0cc..e635977 100644
--- a/src/brapi/resources/v2/currency.py
+++ b/src/brapi/resources/v2/currency.py
@@ -58,18 +58,23 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyRetrieveResponse:
"""
- Cotação de pares de moedas, no formato `ORIGEM-DESTINO`, como `USD-BRL`.
+ Cotação atual de pares de moedas, com preço de compra, preço de venda, máxima,
+ mínima e variação do dia. Os pares cobertos pelo Banco Central usam a PTAX.
- Cada par traz preço de compra (`bid`), de venda (`ask`), máxima, mínima e
- variação do dia.
+ Use para converter valores, mostrar o dólar do dia e atualizar planilhas.
- Peça vários pares na mesma chamada em `currency=USD-BRL,EUR-BRL,GBP-BRL`.
+ Informe os pares em `currency` no formato `ORIGEM-DESTINO`, como
+ `USD-BRL,EUR-BRL`. Os números vêm como texto.
- A diferença entre `bid` e `ask` é o spread. Casas de câmbio e bancos cobram
- spread bem maior que esse, então não use o número como preço de balcão.
+ A diferença entre `bidPrice` e `askPrice` é o spread de referência. Bancos e
+ casas de câmbio cobram um spread maior.
+
+ Veja os pares em [listar pares](https://brapi.dev/docs/moedas/available) e a
+ série diária em [histórico de câmbio](https://brapi.dev/docs/moedas/historico).
+ Planos Startup e Pro.
Args:
- currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)
+ currency: Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL.
extra_headers: Send extra headers
@@ -103,15 +108,16 @@ def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyListAvailableResponse:
"""
- Os pares que `/api/v2/currency` aceita, no formato `ORIGEM-DESTINO`.
+ Lista os pares de moedas que a
+ [cotação de câmbio](https://brapi.dev/docs/moedas) aceita, no formato
+ `ORIGEM-DESTINO`, com o nome de cada par.
- A cobertura inclui USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o
- real, mais os cruzamentos entre as moedas PTAX, como `EUR-USD` e `GBP-USD`.
+ Use para montar seletores de moeda e validar pares antes da chamada.
- Filtre com `search`.
+ Filtre com `search`. Planos Startup e Pro.
Args:
- search: Filtrar pares de moedas por nome ou descrição
+ search: Texto buscado no par e no nome das moedas.
extra_headers: Send extra headers
@@ -170,18 +176,23 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyRetrieveResponse:
"""
- Cotação de pares de moedas, no formato `ORIGEM-DESTINO`, como `USD-BRL`.
+ Cotação atual de pares de moedas, com preço de compra, preço de venda, máxima,
+ mínima e variação do dia. Os pares cobertos pelo Banco Central usam a PTAX.
+
+ Use para converter valores, mostrar o dólar do dia e atualizar planilhas.
- Cada par traz preço de compra (`bid`), de venda (`ask`), máxima, mínima e
- variação do dia.
+ Informe os pares em `currency` no formato `ORIGEM-DESTINO`, como
+ `USD-BRL,EUR-BRL`. Os números vêm como texto.
- Peça vários pares na mesma chamada em `currency=USD-BRL,EUR-BRL,GBP-BRL`.
+ A diferença entre `bidPrice` e `askPrice` é o spread de referência. Bancos e
+ casas de câmbio cobram um spread maior.
- A diferença entre `bid` e `ask` é o spread. Casas de câmbio e bancos cobram
- spread bem maior que esse, então não use o número como preço de balcão.
+ Veja os pares em [listar pares](https://brapi.dev/docs/moedas/available) e a
+ série diária em [histórico de câmbio](https://brapi.dev/docs/moedas/historico).
+ Planos Startup e Pro.
Args:
- currency: Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)
+ currency: Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL.
extra_headers: Send extra headers
@@ -217,15 +228,16 @@ async def list_available(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CurrencyListAvailableResponse:
"""
- Os pares que `/api/v2/currency` aceita, no formato `ORIGEM-DESTINO`.
+ Lista os pares de moedas que a
+ [cotação de câmbio](https://brapi.dev/docs/moedas) aceita, no formato
+ `ORIGEM-DESTINO`, com o nome de cada par.
- A cobertura inclui USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK e SEK contra o
- real, mais os cruzamentos entre as moedas PTAX, como `EUR-USD` e `GBP-USD`.
+ Use para montar seletores de moeda e validar pares antes da chamada.
- Filtre com `search`.
+ Filtre com `search`. Planos Startup e Pro.
Args:
- search: Filtrar pares de moedas por nome ou descrição
+ search: Texto buscado no par e no nome das moedas.
extra_headers: Send extra headers
diff --git a/src/brapi/resources/v2/inflation.py b/src/brapi/resources/v2/inflation.py
index 2075c53..9c34400 100644
--- a/src/brapi/resources/v2/inflation.py
+++ b/src/brapi/resources/v2/inflation.py
@@ -60,30 +60,29 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationRetrieveResponse:
"""
- Série do IPCA, o índice oficial de inflação do Brasil, publicada pelo Banco
- Central.
+ Série mensal do IPCA acumulado em 12 meses, o índice oficial de inflação do
+ Brasil. Cada ponto é o acumulado dos 12 meses até aquela data.
- Os dados são mensais e começam em janeiro de 2000. Cada ponto é a variação
- percentual do mês, não o acumulado do ano.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=ipca12m`
+ para o acumulado ou `symbols=ipca` para a variação do mês.
- Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
- por valor.
+ Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato
+ `DD/MM/YYYY`. O IPCA de um mês sai no mês seguinte.
- O IPCA sai por volta do dia 10 do mês seguinte. O mês corrente nunca está na
- série.
-
- Plano Startup.
+ Planos Startup e Pro.
Args:
- end: Data de fim (DD/MM/YYYY)
+ end: Data final no formato DD/MM/YYYY. Padrão: hoje.
- historical: Incluir dados históricos (true/false)
+ historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve
+ os últimos 12 meses.
- sort_by: Campo para ordenação (date ou value)
+ sort_by: Campo de ordenação: date ou value. Padrão: date.
- sort_order: Ordem de classificação (asc ou desc)
+ sort_order: Ordem: asc ou desc. Padrão: desc.
- start: Data de início (DD/MM/YYYY)
+ start: Data inicial no formato DD/MM/YYYY.
extra_headers: Send extra headers
@@ -125,15 +124,15 @@ def list_available(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationListAvailableResponse:
- """
- Os países que `/api/v2/inflation` aceita.
+ """Lista os países que o endpoint de inflação aceita.
- Hoje só `brazil`, com o IPCA publicado pelo Banco Central.
+ Hoje só `brazil`.
- Plano Startup.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.
Args:
- format: Formato da resposta. JSON é o formato suportado.
+ format: Formato da resposta. Só aceita json.
extra_headers: Send extra headers
@@ -192,30 +191,29 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationRetrieveResponse:
"""
- Série do IPCA, o índice oficial de inflação do Brasil, publicada pelo Banco
- Central.
+ Série mensal do IPCA acumulado em 12 meses, o índice oficial de inflação do
+ Brasil. Cada ponto é o acumulado dos 12 meses até aquela data.
- Os dados são mensais e começam em janeiro de 2000. Cada ponto é a variação
- percentual do mês, não o acumulado do ano.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=ipca12m`
+ para o acumulado ou `symbols=ipca` para a variação do mês.
- Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
- por valor.
+ Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato
+ `DD/MM/YYYY`. O IPCA de um mês sai no mês seguinte.
- O IPCA sai por volta do dia 10 do mês seguinte. O mês corrente nunca está na
- série.
-
- Plano Startup.
+ Planos Startup e Pro.
Args:
- end: Data de fim (DD/MM/YYYY)
+ end: Data final no formato DD/MM/YYYY. Padrão: hoje.
- historical: Incluir dados históricos (true/false)
+ historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve
+ os últimos 12 meses.
- sort_by: Campo para ordenação (date ou value)
+ sort_by: Campo de ordenação: date ou value. Padrão: date.
- sort_order: Ordem de classificação (asc ou desc)
+ sort_order: Ordem: asc ou desc. Padrão: desc.
- start: Data de início (DD/MM/YYYY)
+ start: Data inicial no formato DD/MM/YYYY.
extra_headers: Send extra headers
@@ -257,15 +255,15 @@ async def list_available(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> InflationListAvailableResponse:
- """
- Os países que `/api/v2/inflation` aceita.
+ """Lista os países que o endpoint de inflação aceita.
- Hoje só `brazil`, com o IPCA publicado pelo Banco Central.
+ Hoje só `brazil`.
- Plano Startup.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.
Args:
- format: Formato da resposta. JSON é o formato suportado.
+ format: Formato da resposta. Só aceita json.
extra_headers: Send extra headers
diff --git a/src/brapi/resources/v2/prime_rate.py b/src/brapi/resources/v2/prime_rate.py
index 76db5ea..5bf352f 100644
--- a/src/brapi/resources/v2/prime_rate.py
+++ b/src/brapi/resources/v2/prime_rate.py
@@ -60,30 +60,28 @@ def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateRetrieveResponse:
"""
- Série da taxa SELIC, a taxa básica de juros da economia brasileira, definida
- pelo COPOM.
+ Série diária da meta da taxa Selic, definida pelo Copom, em % ao ano.
- Os dados são diários e começam em janeiro de 2000. O valor é a meta anualizada,
- em porcentagem ao ano.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=selic`.
- Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
- por valor.
+ Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato
+ `DD/MM/YYYY`. A meta só muda nas reuniões do Copom, então a série repete o mesmo
+ valor entre uma reunião e outra.
- A meta muda só nas reuniões do COPOM, a cada 45 dias. Entre uma reunião e outra,
- a série repete o mesmo valor todo dia útil.
-
- Plano Startup.
+ Planos Startup e Pro.
Args:
- end: Data de fim (DD/MM/YYYY)
+ end: Data final no formato DD/MM/YYYY. Padrão: hoje.
- historical: Incluir dados históricos (true/false)
+ historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve
+ os últimos 12 meses.
- sort_by: Campo para ordenação (date ou value)
+ sort_by: Campo de ordenação: date ou value. Padrão: date.
- sort_order: Ordem de classificação (asc ou desc)
+ sort_order: Ordem: asc ou desc. Padrão: desc.
- start: Data de início (DD/MM/YYYY)
+ start: Data inicial no formato DD/MM/YYYY.
extra_headers: Send extra headers
@@ -125,15 +123,15 @@ def list_available(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateListAvailableResponse:
- """
- Os países que `/api/v2/prime-rate` aceita.
+ """Lista os países que o endpoint da Selic aceita.
- Hoje só `brazil`, com a SELIC do Banco Central.
+ Hoje só `brazil`.
- Plano Startup.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.
Args:
- format: Formato da resposta. JSON é o formato suportado.
+ format: Formato da resposta. Só aceita json.
extra_headers: Send extra headers
@@ -194,30 +192,28 @@ async def retrieve(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateRetrieveResponse:
"""
- Série da taxa SELIC, a taxa básica de juros da economia brasileira, definida
- pelo COPOM.
+ Série diária da meta da taxa Selic, definida pelo Copom, em % ao ano.
- Os dados são diários e começam em janeiro de 2000. O valor é a meta anualizada,
- em porcentagem ao ano.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro) com `symbols=selic`.
- Filtre o período com `start` e `end` no formato `DD/MM/YYYY`. Ordene por data ou
- por valor.
+ Sem filtros, devolve os últimos 12 meses. Filtre com `start` e `end` no formato
+ `DD/MM/YYYY`. A meta só muda nas reuniões do Copom, então a série repete o mesmo
+ valor entre uma reunião e outra.
- A meta muda só nas reuniões do COPOM, a cada 45 dias. Entre uma reunião e outra,
- a série repete o mesmo valor todo dia útil.
-
- Plano Startup.
+ Planos Startup e Pro.
Args:
- end: Data de fim (DD/MM/YYYY)
+ end: Data final no formato DD/MM/YYYY. Padrão: hoje.
- historical: Incluir dados históricos (true/false)
+ historical: true devolve a série desde 01/01/2000. Sem datas e sem este parâmetro, devolve
+ os últimos 12 meses.
- sort_by: Campo para ordenação (date ou value)
+ sort_by: Campo de ordenação: date ou value. Padrão: date.
- sort_order: Ordem de classificação (asc ou desc)
+ sort_order: Ordem: asc ou desc. Padrão: desc.
- start: Data de início (DD/MM/YYYY)
+ start: Data inicial no formato DD/MM/YYYY.
extra_headers: Send extra headers
@@ -259,15 +255,15 @@ async def list_available(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> PrimeRateListAvailableResponse:
- """
- Os países que `/api/v2/prime-rate` aceita.
+ """Lista os países que o endpoint da Selic aceita.
- Hoje só `brazil`, com a SELIC do Banco Central.
+ Hoje só `brazil`.
- Plano Startup.
+ Endpoint descontinuado. Use as
+ [séries macroeconômicas](https://brapi.dev/docs/macro). Planos Startup e Pro.
Args:
- format: Formato da resposta. JSON é o formato suportado.
+ format: Formato da resposta. Só aceita json.
extra_headers: Send extra headers
diff --git a/src/brapi/types/available_list_params.py b/src/brapi/types/available_list_params.py
index e25d462..0459052 100644
--- a/src/brapi/types/available_list_params.py
+++ b/src/brapi/types/available_list_params.py
@@ -9,4 +9,4 @@
class AvailableListParams(TypedDict, total=False):
search: str
- """Filtrar ações e índices por nome ou código"""
+ """Parte do ticker. Filtra ativos e índices."""
diff --git a/src/brapi/types/available_list_response.py b/src/brapi/types/available_list_response.py
index 08deefd..1d06316 100644
--- a/src/brapi/types/available_list_response.py
+++ b/src/brapi/types/available_list_response.py
@@ -9,7 +9,7 @@
class AvailableListResponse(BaseModel):
indexes: List[str]
- """Lista de índices disponíveis"""
+ """Tickers de índices."""
stocks: List[str]
- """Lista de códigos de ações disponíveis"""
+ """Tickers de ativos."""
diff --git a/src/brapi/types/financial_data_entry.py b/src/brapi/types/financial_data_entry.py
index b7b2d18..67015d5 100644
--- a/src/brapi/types/financial_data_entry.py
+++ b/src/brapi/types/financial_data_entry.py
@@ -10,7 +10,7 @@
class FinancialDataEntry(BaseModel):
- """Dados financeiros e indicadores TTM"""
+ """Dados financeiros dos últimos 12 meses."""
current_price: Optional[float] = FieldInfo(alias="currentPrice", default=None)
"""Preço atual"""
@@ -23,17 +23,15 @@ class FinancialDataEntry(BaseModel):
earnings_growth: Optional[float] = FieldInfo(alias="earningsGrowth", default=None)
"""
- Crescimento do lucro do controlador (TTM) - variação dos últimos 4 trimestres em
- relação aos 4 trimestres imediatamente anteriores, usando Lucro Líquido
- Atribuível aos Controladores. Para crescimento anual (DRE de exercício vs.
- exercício anterior), use earningsGrowthAnnual.
+ Crescimento do lucro atribuível aos controladores nos últimos 4 trimestres,
+ contra os 4 trimestres anteriores. Para a variação anual, use
+ `earningsGrowthAnnual`.
"""
earnings_growth_annual: Optional[float] = FieldInfo(alias="earningsGrowthAnnual", default=None)
"""
- Crescimento anual do lucro do controlador - variação do Lucro Líquido Atribuível
- aos Controladores do último exercício social completo em relação ao exercício
- anterior.
+ Crescimento do lucro atribuível aos controladores no último exercício completo,
+ contra o exercício anterior.
"""
ebitda: Optional[float] = None
@@ -74,15 +72,14 @@ class FinancialDataEntry(BaseModel):
revenue_growth: Optional[float] = FieldInfo(alias="revenueGrowth", default=None)
"""
- Crescimento da receita (TTM) - variação da receita dos últimos 4 trimestres em
- relação aos 4 trimestres imediatamente anteriores. Para crescimento anual (DRE
- de exercício vs. exercício anterior), use revenueGrowthAnnual.
+ Crescimento da receita nos últimos 4 trimestres, contra os 4 trimestres
+ anteriores. Para a variação anual, use `revenueGrowthAnnual`.
"""
revenue_growth_annual: Optional[float] = FieldInfo(alias="revenueGrowthAnnual", default=None)
"""
- Crescimento anual da receita - variação da Receita Líquida do último exercício
- social completo em relação ao exercício anterior.
+ Crescimento da receita líquida no último exercício completo, contra o exercício
+ anterior.
"""
revenue_per_share: Optional[float] = FieldInfo(alias="revenuePerShare", default=None)
diff --git a/src/brapi/types/quote_list_params.py b/src/brapi/types/quote_list_params.py
index 702a6a4..8be9691 100644
--- a/src/brapi/types/quote_list_params.py
+++ b/src/brapi/types/quote_list_params.py
@@ -11,39 +11,40 @@
class QuoteListParams(TypedDict, total=False):
token: str
- """Token de autenticação (alternativa ao header Authorization)"""
+ """Token de acesso. Use no lugar do header `Authorization`."""
limit: str
- """Número máximo de resultados"""
+ """Itens por página.
+
+ Máximo: 2000. Sem este parâmetro, a resposta traz até 2000 itens e não traz
+ paginação.
+ """
page: str
- """Número da página (paginação)"""
+ """Número da página. Começa em 1."""
search: str
- """Termo de busca para filtrar ativos"""
+ """Parte do ticker ou do nome da empresa."""
sector: str
- """Filtrar por setor"""
+ """Setor."""
sort_by: Annotated[
Literal["name", "close", "change", "change_abs", "volume", "market_cap_basic"], PropertyInfo(alias="sortBy")
]
- """Campo para ordenação"""
+ """Campo de ordenação. Padrão: volume."""
sort_order: Annotated[Literal["asc", "desc"], PropertyInfo(alias="sortOrder")]
- """Ordem de classificação"""
+ """Ordem. Padrão: desc."""
subsector: str
- """Filtrar pelo subsetor B3"""
+ """Subsetor."""
sub_type: Annotated[
Literal["stock", "unit", "fii", "etf", "fi-infra", "fi-agro", "fip", "fidc", "bdr"],
PropertyInfo(alias="subType"),
]
- """
- Filtrar por classificação aditiva: stock, unit, fii, etf, fi-infra, fi-agro,
- fip, fidc ou bdr
- """
+ """Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr."""
type: Literal["stock", "fund", "bdr"]
- """Filtrar por tipo de ativo"""
+ """Tipo do ativo."""
diff --git a/src/brapi/types/quote_list_response.py b/src/brapi/types/quote_list_response.py
index 62d1d7f..87d4124 100644
--- a/src/brapi/types/quote_list_response.py
+++ b/src/brapi/types/quote_list_response.py
@@ -17,40 +17,37 @@ class Index(BaseModel):
class Stock(BaseModel):
change: Optional[float] = None
- """Variação percentual"""
+ """Variação no dia, em porcentagem."""
close: Optional[float] = None
- """Preço de fechamento"""
+ """Último preço."""
logo: Optional[str] = None
- """URL do logo"""
+ """URL do logo."""
market_cap: Optional[float] = None
- """Capitalização de mercado"""
+ """Valor de mercado, em reais."""
name: str
- """Nome da empresa"""
+ """Nome da empresa."""
sector: Optional[str] = None
- """Setor"""
+ """Setor."""
stock: str
- """Ticker do ativo"""
+ """Ticker do ativo."""
subsector: Optional[str] = None
- """Subsetor B3"""
+ """Subsetor."""
sub_type: Optional[str] = FieldInfo(alias="subType", default=None)
- """
- Classificação aditiva do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip,
- fidc ou bdr
- """
+ """Subtipo do ativo: stock, unit, fii, etf, fi-infra, fi-agro, fip, fidc ou bdr."""
type: Optional[str] = None
- """Tipo do ativo"""
+ """Tipo do ativo."""
volume: Optional[float] = None
- """Volume negociado"""
+ """Volume negociado."""
class QuoteListResponse(BaseModel):
diff --git a/src/brapi/types/quote_retrieve_params.py b/src/brapi/types/quote_retrieve_params.py
index ee2f0a6..7ad9ee3 100644
--- a/src/brapi/types/quote_retrieve_params.py
+++ b/src/brapi/types/quote_retrieve_params.py
@@ -11,28 +11,28 @@
class QuoteRetrieveParams(TypedDict, total=False):
token: str
- """Token de autenticação (alternativa ao header Authorization)"""
+ """Token de acesso. Use no lugar do header `Authorization`."""
dividends: Literal["true", "false"]
- """Incluir histórico de dividendos e JCP"""
+ """Inclui `dividendsData` com dividendos, JCP e eventos em ações."""
end_date: Annotated[str, PropertyInfo(alias="endDate")]
- """Data final para dados históricos (formato YYYY-MM-DD)"""
+ """Data final da série de preços no formato YYYY-MM-DD."""
include_raw: Annotated[Literal["true", "false"], PropertyInfo(alias="includeRaw")]
"""
- Incluir preços OHLC originais armazenados no banco da brapi para intervalos
- diários. Use includeRaw=true. Disponível no plano Pro.
+ Inclui os preços originais sem ajuste (`rawOpen`, `rawHigh`, `rawLow`,
+ `rawClose`) em intervalos diários. Exige o plano Pro.
"""
interval: Literal["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1wk", "1mo", "3mo"]
- """Intervalo/granularidade dos dados históricos"""
+ """Intervalo entre os pontos da série de preços."""
modules: str
- """Módulos de dados adicionais separados por vírgula"""
+ """Módulos extras separados por vírgula."""
range: Literal["1d", "2d", "5d", "7d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd", "max"]
- """Período para dados históricos de preço"""
+ """Janela relativa da série de preços."""
start_date: Annotated[str, PropertyInfo(alias="startDate")]
- """Data inicial para dados históricos (formato YYYY-MM-DD)"""
+ """Data inicial da série de preços no formato YYYY-MM-DD."""
diff --git a/src/brapi/types/quote_retrieve_response.py b/src/brapi/types/quote_retrieve_response.py
index 79c8e1e..3a70d2c 100644
--- a/src/brapi/types/quote_retrieve_response.py
+++ b/src/brapi/types/quote_retrieve_response.py
@@ -24,143 +24,133 @@
class ResultDividendsDataCashDividend(BaseModel):
approved_on: Optional[str] = FieldInfo(alias="approvedOn", default=None)
- """Data de aprovação"""
+ """Data de aprovação."""
asset_issued: str = FieldInfo(alias="assetIssued")
- """Código ISIN do ativo emissor"""
+ """Código ISIN do ativo que dá direito ao provento."""
ex_date: Optional[str] = FieldInfo(alias="exDate", default=None)
- """Data ex (primeiro dia sem direito ao provento)"""
+ """Data ex, o primeiro dia sem direito ao provento. Pode ser nulo."""
isin_code: str = FieldInfo(alias="isinCode")
- """Código ISIN"""
+ """Código ISIN."""
label: str
- """Tipo (DIVIDENDO, JCP)"""
+ """Tipo do provento: DIVIDENDO ou JCP."""
last_date_prior: Optional[str] = FieldInfo(alias="lastDatePrior", default=None)
- """Data-com (último dia antes da data ex)"""
+ """Data-com, o último dia para comprar o ativo e ter direito ao provento."""
payment_date: Optional[str] = FieldInfo(alias="paymentDate", default=None)
- """Data de pagamento"""
+ """Data de pagamento."""
rate: float
- """Valor por ação"""
+ """Valor por ação, em reais."""
related_to: str = FieldInfo(alias="relatedTo")
- """Período de referência"""
+ """Período a que o provento se refere. Ex.: 1º Trimestre/2024."""
remarks: str
- """Observações"""
+ """Observações."""
raw_rate: Optional[float] = FieldInfo(alias="rawRate", default=None)
- """Valor por ação convertido para a escala dos preços brutos com base histórica.
-
- Retornado com includeRaw=true.
- """
+ """Valor por ação na escala dos preços sem ajuste. Vem com `includeRaw=true`."""
class ResultDividendsDataStockDividend(BaseModel):
approved_on: Optional[str] = FieldInfo(alias="approvedOn", default=None)
- """Data de aprovação"""
+ """Data de aprovação."""
asset_issued: str = FieldInfo(alias="assetIssued")
- """Código ISIN do ativo emissor"""
+ """Código ISIN do ativo que dá direito ao provento."""
complete_factor: str = FieldInfo(alias="completeFactor")
- """Fator completo (ex: 2 para 1)"""
+ """Fator em texto. Ex.: 2 para 1."""
ex_date: Optional[str] = FieldInfo(alias="exDate", default=None)
- """Data ex do evento corporativo"""
+ """Data ex, o primeiro dia sem direito ao evento. Pode ser nulo."""
factor: float
- """Fator do desdobramento/grupamento"""
+ """Fator do evento. Ex.: 2 em um desdobramento de 2 para 1."""
isin_code: str = FieldInfo(alias="isinCode")
- """Código ISIN"""
+ """Código ISIN."""
label: str
- """Tipo (DESDOBRAMENTO, GRUPAMENTO)"""
+ """Tipo do evento: DESDOBRAMENTO, GRUPAMENTO ou BONIFICAÇÃO."""
last_date_prior: Optional[str] = FieldInfo(alias="lastDatePrior", default=None)
- """Data de corte"""
+ """Data-com, o último dia para comprar o ativo e ter direito ao evento."""
remarks: str
- """Observações"""
+ """Observações."""
class ResultDividendsData(BaseModel):
- """Dados de dividendos (quando dividends=true)"""
+ """Proventos. Vem com `dividends=true`."""
cash_dividends: List[ResultDividendsDataCashDividend] = FieldInfo(alias="cashDividends")
- """Histórico de dividendos e JCP em dinheiro"""
+ """Dividendos e JCP pagos em dinheiro."""
stock_dividends: List[ResultDividendsDataStockDividend] = FieldInfo(alias="stockDividends")
- """Histórico de bonificações e desdobramentos"""
+ """Eventos em ações: desdobramentos, grupamentos e bonificações."""
subscriptions: List[Optional[object]]
- """Histórico de subscrições"""
+ """Direitos de subscrição."""
class ResultHistoricalDataPrice(BaseModel):
adjusted_close: float = FieldInfo(alias="adjustedClose")
- """
- Preço de fechamento ajustado para proventos (dividendos, JCP, bonificações,
- etc.) e desdobramentos/grupamentos.
+ """Fechamento ajustado por proventos, desdobramentos e grupamentos.
+
+ Use para calcular retorno.
"""
close: float
- """Preço de fechamento do ativo no intervalo."""
+ """Preço de fechamento no intervalo."""
date: int
- """
- Data do pregão ou do ponto de dados, representada como um timestamp UNIX (número
- de segundos desde 1970-01-01 UTC).
- """
+ """Data do ponto em Unix timestamp, em segundos."""
high: float
- """Preço máximo atingido pelo ativo no intervalo."""
+ """Preço máximo no intervalo."""
low: float
- """Preço mínimo atingido pelo ativo no intervalo."""
+ """Preço mínimo no intervalo."""
open: float
- """Preço de abertura do ativo no intervalo (dia, semana, mês, etc.)."""
+ """Preço de abertura no intervalo."""
volume: int
- """Volume financeiro negociado no intervalo."""
+ """Volume negociado no intervalo."""
raw_close: Optional[float] = FieldInfo(alias="rawClose", default=None)
- """Preço de fechamento original armazenado no banco da brapi.
+ """Preço de fechamento original, sem ajuste.
- Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
- quando não houver valor no banco.
+ Vem com `includeRaw=true` em intervalos diários. Pode ser nulo.
"""
raw_high: Optional[float] = FieldInfo(alias="rawHigh", default=None)
- """Preço máximo original armazenado no banco da brapi.
+ """Preço máximo original, sem ajuste.
- Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
- quando não houver valor no banco.
+ Vem com `includeRaw=true` em intervalos diários. Pode ser nulo.
"""
raw_low: Optional[float] = FieldInfo(alias="rawLow", default=None)
- """Preço mínimo original armazenado no banco da brapi.
+ """Preço mínimo original, sem ajuste.
- Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
- quando não houver valor no banco.
+ Vem com `includeRaw=true` em intervalos diários. Pode ser nulo.
"""
raw_open: Optional[float] = FieldInfo(alias="rawOpen", default=None)
- """Preço de abertura original armazenado no banco da brapi.
+ """Preço de abertura original, sem ajuste.
- Retornado com includeRaw=true em intervalos diários no plano Pro. Pode ser nulo
- quando não houver valor no banco.
+ Vem com `includeRaw=true` em intervalos diários. Pode ser nulo.
"""
class ResultSummaryProfile(BaseModel):
- """Perfil da empresa (quando modules inclui summaryProfile)"""
+ """Cadastro da empresa. Vem com o módulo `summaryProfile`."""
address1: Optional[str] = None
"""Endereço linha 1"""
@@ -231,135 +221,135 @@ class ResultSummaryProfile(BaseModel):
class Result(BaseModel):
average_daily_volume10_day: Optional[float] = FieldInfo(alias="averageDailyVolume10Day", default=None)
- """Média do volume diário nos últimos 10 dias"""
+ """Volume médio diário dos últimos 10 dias."""
average_daily_volume3_month: Optional[float] = FieldInfo(alias="averageDailyVolume3Month", default=None)
- """Média do volume diário nos últimos 3 meses"""
+ """Volume médio diário dos últimos 3 meses."""
currency: str
- """Moeda na qual os valores são expressos (geralmente BRL)"""
+ """Moeda dos valores. Em geral, BRL."""
earnings_per_share: Optional[float] = FieldInfo(alias="earningsPerShare", default=None)
- """Lucro Por Ação (LPA) TTM"""
+ """Lucro por ação (LPA) dos últimos 12 meses."""
fifty_two_week_high: Optional[float] = FieldInfo(alias="fiftyTwoWeekHigh", default=None)
- """Preço máximo nas últimas 52 semanas"""
+ """Preço máximo das últimas 52 semanas."""
fifty_two_week_high_change: Optional[float] = FieldInfo(alias="fiftyTwoWeekHighChange", default=None)
- """Variação entre preço atual e máximo de 52 semanas"""
+ """Diferença entre o preço atual e o máximo de 52 semanas."""
fifty_two_week_high_change_percent: Optional[float] = FieldInfo(alias="fiftyTwoWeekHighChangePercent", default=None)
- """Variação percentual entre preço atual e máximo de 52 semanas"""
+ """Diferença entre o preço atual e o máximo de 52 semanas, em porcentagem."""
fifty_two_week_low: Optional[float] = FieldInfo(alias="fiftyTwoWeekLow", default=None)
- """Preço mínimo nas últimas 52 semanas"""
+ """Preço mínimo das últimas 52 semanas."""
fifty_two_week_low_change: Optional[float] = FieldInfo(alias="fiftyTwoWeekLowChange", default=None)
- """Variação entre preço atual e mínimo de 52 semanas"""
+ """Diferença entre o preço atual e o mínimo de 52 semanas."""
fifty_two_week_range: Optional[str] = FieldInfo(alias="fiftyTwoWeekRange", default=None)
- """Intervalo de preço das últimas 52 semanas"""
+ """Faixa de preço das últimas 52 semanas no formato mínimo - máximo."""
logourl: Optional[str] = None
- """URL do logo do ativo"""
+ """URL do logo do ativo."""
long_name: Optional[str] = FieldInfo(alias="longName", default=None)
- """Nome completo da empresa"""
+ """Nome completo da empresa."""
market_cap: Optional[float] = FieldInfo(alias="marketCap", default=None)
- """Capitalização de mercado total"""
+ """Valor de mercado, em reais."""
price_earnings: Optional[float] = FieldInfo(alias="priceEarnings", default=None)
- """Indicador Preço/Lucro (P/L)"""
+ """Preço sobre lucro (P/L)."""
regular_market_change: Optional[float] = FieldInfo(alias="regularMarketChange", default=None)
- """Variação absoluta do preço no dia em relação ao fechamento anterior"""
+ """Variação do preço no dia em relação ao fechamento anterior, em reais."""
regular_market_change_percent: Optional[float] = FieldInfo(alias="regularMarketChangePercent", default=None)
- """Variação percentual do preço no dia"""
+ """Variação do preço no dia, em porcentagem."""
regular_market_day_high: Optional[float] = FieldInfo(alias="regularMarketDayHigh", default=None)
- """Preço máximo atingido no dia"""
+ """Preço máximo do dia."""
regular_market_day_low: Optional[float] = FieldInfo(alias="regularMarketDayLow", default=None)
- """Preço mínimo atingido no dia"""
+ """Preço mínimo do dia."""
regular_market_day_range: Optional[str] = FieldInfo(alias="regularMarketDayRange", default=None)
- """Intervalo de preço do dia (Mínimo - Máximo)"""
+ """Faixa de preço do dia no formato mínimo - máximo."""
regular_market_open: Optional[float] = FieldInfo(alias="regularMarketOpen", default=None)
- """Preço de abertura no dia"""
+ """Preço de abertura do dia."""
regular_market_previous_close: Optional[float] = FieldInfo(alias="regularMarketPreviousClose", default=None)
- """Preço de fechamento do pregão anterior"""
+ """Fechamento do pregão anterior."""
regular_market_price: Optional[float] = FieldInfo(alias="regularMarketPrice", default=None)
- """Preço atual ou do último negócio registrado"""
+ """Preço do último negócio."""
regular_market_time: Optional[str] = FieldInfo(alias="regularMarketTime", default=None)
- """Data/hora da última atualização da cotação (ISO 8601)"""
+ """Horário da cotação em ISO 8601."""
regular_market_volume: Optional[float] = FieldInfo(alias="regularMarketVolume", default=None)
- """Volume financeiro negociado no dia"""
+ """Volume negociado no dia."""
short_name: Optional[str] = FieldInfo(alias="shortName", default=None)
- """Nome curto ou abreviado da empresa"""
+ """Nome curto do ativo."""
symbol: str
- """Ticker (símbolo) do ativo (ex: PETR4, ^BVSP)"""
+ """Ticker do ativo. Ex.: PETR4, ^BVSP."""
two_hundred_day_average: Optional[float] = FieldInfo(alias="twoHundredDayAverage", default=None)
- """Média móvel de 200 dias"""
+ """Média móvel de 200 dias."""
two_hundred_day_average_change: Optional[float] = FieldInfo(alias="twoHundredDayAverageChange", default=None)
- """Variação entre preço atual e média de 200 dias"""
+ """Diferença entre o preço atual e a média de 200 dias."""
two_hundred_day_average_change_percent: Optional[float] = FieldInfo(
alias="twoHundredDayAverageChangePercent", default=None
)
- """Variação percentual entre preço atual e média de 200 dias"""
+ """Diferença entre o preço atual e a média de 200 dias, em porcentagem."""
used_interval: Optional[str] = FieldInfo(alias="usedInterval", default=None)
- """Intervalo efetivamente utilizado para dados históricos"""
+ """Intervalo usado na série de preços."""
used_range: Optional[str] = FieldInfo(alias="usedRange", default=None)
- """Período efetivamente utilizado para dados históricos"""
+ """Janela usada na série de preços."""
balance_sheet_history: Optional[List[BalanceSheetEntry]] = FieldInfo(alias="balanceSheetHistory", default=None)
- """Histórico anual do Balanço Patrimonial"""
+ """Balanço patrimonial anual."""
balance_sheet_history_quarterly: Optional[List[BalanceSheetEntry]] = FieldInfo(
alias="balanceSheetHistoryQuarterly", default=None
)
- """Histórico trimestral do Balanço Patrimonial"""
+ """Balanço patrimonial trimestral."""
dividends_data: Optional[ResultDividendsData] = FieldInfo(alias="dividendsData", default=None)
- """Dados de dividendos (quando dividends=true)"""
+ """Proventos. Vem com `dividends=true`."""
financial_data: Optional[FinancialDataEntry] = FieldInfo(alias="financialData", default=None)
- """Dados financeiros e indicadores TTM"""
+ """Dados financeiros dos últimos 12 meses."""
financial_data_history: Optional[List[FinancialDataEntry]] = FieldInfo(alias="financialDataHistory", default=None)
- """Histórico anual de dados financeiros"""
+ """Dados financeiros anuais."""
financial_data_history_quarterly: Optional[List[FinancialDataEntry]] = FieldInfo(
alias="financialDataHistoryQuarterly", default=None
)
- """Histórico trimestral de dados financeiros"""
+ """Dados financeiros trimestrais."""
historical_data_price: Optional[List[ResultHistoricalDataPrice]] = FieldInfo(
alias="historicalDataPrice", default=None
)
- """Série histórica de preços (quando range/interval fornecidos)"""
+ """Série de preços. Vem quando a requisição define a janela."""
summary_profile: Optional[ResultSummaryProfile] = FieldInfo(alias="summaryProfile", default=None)
- """Perfil da empresa (quando modules inclui summaryProfile)"""
+ """Cadastro da empresa. Vem com o módulo `summaryProfile`."""
valid_intervals: Optional[List[str]] = FieldInfo(alias="validIntervals", default=None)
- """Valores válidos para o parâmetro interval"""
+ """Valores aceitos em `interval`."""
valid_ranges: Optional[List[str]] = FieldInfo(alias="validRanges", default=None)
- """Valores válidos para o parâmetro range"""
+ """Valores aceitos em `range`."""
class GuidanceDetails(BaseModel):
@@ -378,15 +368,15 @@ class Guidance(BaseModel):
class QuoteRetrieveResponse(BaseModel):
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
results: List[Result]
took: int
- """Tempo de processamento em milissegundos"""
+ """Tempo de processamento, em milissegundos."""
guidance: Optional[List[Guidance]] = None
- """
- Dicas contextuais quando a requisição funciona mas existe um endpoint mais
- adequado para o caso de uso.
+ """Dicas que apontam um endpoint mais adequado para o pedido.
+
+ A requisição funciona mesmo assim.
"""
diff --git a/src/brapi/types/v2/crypto_list_available_params.py b/src/brapi/types/v2/crypto_list_available_params.py
index 5b36441..0e52662 100644
--- a/src/brapi/types/v2/crypto_list_available_params.py
+++ b/src/brapi/types/v2/crypto_list_available_params.py
@@ -9,4 +9,4 @@
class CryptoListAvailableParams(TypedDict, total=False):
search: str
- """Filtrar criptomoedas por símbolo"""
+ """Texto buscado na sigla da criptomoeda."""
diff --git a/src/brapi/types/v2/crypto_retrieve_params.py b/src/brapi/types/v2/crypto_retrieve_params.py
index f10cc37..8786ec3 100644
--- a/src/brapi/types/v2/crypto_retrieve_params.py
+++ b/src/brapi/types/v2/crypto_retrieve_params.py
@@ -9,13 +9,13 @@
class CryptoRetrieveParams(TypedDict, total=False):
coin: str
- """Sigla(s) das criptomoedas separadas por vírgula"""
+ """Siglas das criptomoedas, separadas por vírgula. Ex.: BTC,ETH."""
currency: str
- """Moeda para cotação (padrão: BRL)"""
+ """Moeda da cotação, como BRL, USD ou EUR. Padrão: BRL."""
interval: str
- """Intervalo dos dados históricos"""
+ """Intervalo entre os pontos do histórico, como 1h ou 1d. Padrão: 1d."""
range: str
- """Período para dados históricos"""
+ """Período do histórico, como 5d, 1mo ou 1y. Padrão: 1mo quando há histórico."""
diff --git a/src/brapi/types/v2/crypto_retrieve_response.py b/src/brapi/types/v2/crypto_retrieve_response.py
index 2e89b60..7fe6bae 100644
--- a/src/brapi/types/v2/crypto_retrieve_response.py
+++ b/src/brapi/types/v2/crypto_retrieve_response.py
@@ -72,7 +72,7 @@ class CryptoRetrieveResponse(BaseModel):
coins: List[Coin]
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
took: int
- """Tempo de processamento em milissegundos"""
+ """Tempo de processamento, em milissegundos."""
diff --git a/src/brapi/types/v2/currency_list_available_params.py b/src/brapi/types/v2/currency_list_available_params.py
index 8b5a8f2..bea2804 100644
--- a/src/brapi/types/v2/currency_list_available_params.py
+++ b/src/brapi/types/v2/currency_list_available_params.py
@@ -9,4 +9,4 @@
class CurrencyListAvailableParams(TypedDict, total=False):
search: str
- """Filtrar pares de moedas por nome ou descrição"""
+ """Texto buscado no par e no nome das moedas."""
diff --git a/src/brapi/types/v2/currency_retrieve_params.py b/src/brapi/types/v2/currency_retrieve_params.py
index d8300ff..3417b19 100644
--- a/src/brapi/types/v2/currency_retrieve_params.py
+++ b/src/brapi/types/v2/currency_retrieve_params.py
@@ -9,4 +9,4 @@
class CurrencyRetrieveParams(TypedDict, total=False):
currency: str
- """Par(es) de moedas separados por vírgula (ex: USD-BRL,EUR-BRL)"""
+ """Pares no formato ORIGEM-DESTINO, separados por vírgula. Ex.: USD-BRL,EUR-BRL."""
diff --git a/src/brapi/types/v2/currency_retrieve_response.py b/src/brapi/types/v2/currency_retrieve_response.py
index 54edf71..5e02e1d 100644
--- a/src/brapi/types/v2/currency_retrieve_response.py
+++ b/src/brapi/types/v2/currency_retrieve_response.py
@@ -38,7 +38,7 @@ class CurrencyRetrieveResponse(BaseModel):
currency: List[Currency]
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
took: int
- """Tempo de processamento em milissegundos"""
+ """Tempo de processamento, em milissegundos."""
diff --git a/src/brapi/types/v2/inflation_list_available_params.py b/src/brapi/types/v2/inflation_list_available_params.py
index 0d83ada..89a2758 100644
--- a/src/brapi/types/v2/inflation_list_available_params.py
+++ b/src/brapi/types/v2/inflation_list_available_params.py
@@ -9,4 +9,4 @@
class InflationListAvailableParams(TypedDict, total=False):
format: Literal["json"]
- """Formato da resposta. JSON é o formato suportado."""
+ """Formato da resposta. Só aceita json."""
diff --git a/src/brapi/types/v2/inflation_list_available_response.py b/src/brapi/types/v2/inflation_list_available_response.py
index eadb91a..30ea44c 100644
--- a/src/brapi/types/v2/inflation_list_available_response.py
+++ b/src/brapi/types/v2/inflation_list_available_response.py
@@ -16,4 +16,4 @@ class InflationListAvailableResponse(BaseModel):
message: str
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
diff --git a/src/brapi/types/v2/inflation_retrieve_params.py b/src/brapi/types/v2/inflation_retrieve_params.py
index 3472d7e..43863b4 100644
--- a/src/brapi/types/v2/inflation_retrieve_params.py
+++ b/src/brapi/types/v2/inflation_retrieve_params.py
@@ -11,16 +11,19 @@
class InflationRetrieveParams(TypedDict, total=False):
end: str
- """Data de fim (DD/MM/YYYY)"""
+ """Data final no formato DD/MM/YYYY. Padrão: hoje."""
historical: str
- """Incluir dados históricos (true/false)"""
+ """true devolve a série desde 01/01/2000.
+
+ Sem datas e sem este parâmetro, devolve os últimos 12 meses.
+ """
sort_by: Annotated[str, PropertyInfo(alias="sortBy")]
- """Campo para ordenação (date ou value)"""
+ """Campo de ordenação: date ou value. Padrão: date."""
sort_order: Annotated[str, PropertyInfo(alias="sortOrder")]
- """Ordem de classificação (asc ou desc)"""
+ """Ordem: asc ou desc. Padrão: desc."""
start: str
- """Data de início (DD/MM/YYYY)"""
+ """Data inicial no formato DD/MM/YYYY."""
diff --git a/src/brapi/types/v2/inflation_retrieve_response.py b/src/brapi/types/v2/inflation_retrieve_response.py
index 682a61a..bdaa2ec 100644
--- a/src/brapi/types/v2/inflation_retrieve_response.py
+++ b/src/brapi/types/v2/inflation_retrieve_response.py
@@ -16,14 +16,14 @@ class Inflation(BaseModel):
epoch_date: float = FieldInfo(alias="epochDate")
value: str
- """Variação percentual do IPCA no mês"""
+ """IPCA acumulado em 12 meses, em %."""
class InflationRetrieveResponse(BaseModel):
inflation: List[Inflation]
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
took: int
- """Tempo de processamento em milissegundos"""
+ """Tempo de processamento, em milissegundos."""
diff --git a/src/brapi/types/v2/prime_rate_list_available_params.py b/src/brapi/types/v2/prime_rate_list_available_params.py
index 984c055..bb8e7fe 100644
--- a/src/brapi/types/v2/prime_rate_list_available_params.py
+++ b/src/brapi/types/v2/prime_rate_list_available_params.py
@@ -9,4 +9,4 @@
class PrimeRateListAvailableParams(TypedDict, total=False):
format: Literal["json"]
- """Formato da resposta. JSON é o formato suportado."""
+ """Formato da resposta. Só aceita json."""
diff --git a/src/brapi/types/v2/prime_rate_list_available_response.py b/src/brapi/types/v2/prime_rate_list_available_response.py
index c203877..aea52df 100644
--- a/src/brapi/types/v2/prime_rate_list_available_response.py
+++ b/src/brapi/types/v2/prime_rate_list_available_response.py
@@ -16,4 +16,4 @@ class PrimeRateListAvailableResponse(BaseModel):
message: str
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
diff --git a/src/brapi/types/v2/prime_rate_retrieve_params.py b/src/brapi/types/v2/prime_rate_retrieve_params.py
index 537f860..4d86702 100644
--- a/src/brapi/types/v2/prime_rate_retrieve_params.py
+++ b/src/brapi/types/v2/prime_rate_retrieve_params.py
@@ -11,16 +11,19 @@
class PrimeRateRetrieveParams(TypedDict, total=False):
end: str
- """Data de fim (DD/MM/YYYY)"""
+ """Data final no formato DD/MM/YYYY. Padrão: hoje."""
historical: str
- """Incluir dados históricos (true/false)"""
+ """true devolve a série desde 01/01/2000.
+
+ Sem datas e sem este parâmetro, devolve os últimos 12 meses.
+ """
sort_by: Annotated[str, PropertyInfo(alias="sortBy")]
- """Campo para ordenação (date ou value)"""
+ """Campo de ordenação: date ou value. Padrão: date."""
sort_order: Annotated[str, PropertyInfo(alias="sortOrder")]
- """Ordem de classificação (asc ou desc)"""
+ """Ordem: asc ou desc. Padrão: desc."""
start: str
- """Data de início (DD/MM/YYYY)"""
+ """Data inicial no formato DD/MM/YYYY."""
diff --git a/src/brapi/types/v2/prime_rate_retrieve_response.py b/src/brapi/types/v2/prime_rate_retrieve_response.py
index 8152987..19b4d14 100644
--- a/src/brapi/types/v2/prime_rate_retrieve_response.py
+++ b/src/brapi/types/v2/prime_rate_retrieve_response.py
@@ -16,14 +16,14 @@ class PrimeRate(BaseModel):
epoch_date: float = FieldInfo(alias="epochDate")
value: str
- """Taxa SELIC meta anualizada (% a.a.)"""
+ """Meta da Selic, em % ao ano."""
class PrimeRateRetrieveResponse(BaseModel):
prime_rate: List[PrimeRate] = FieldInfo(alias="prime-rate")
requested_at: datetime = FieldInfo(alias="requestedAt")
- """Data e hora da requisição em formato ISO 8601"""
+ """Data e hora da requisição em ISO 8601."""
took: int
- """Tempo de processamento em milissegundos"""
+ """Tempo de processamento, em milissegundos."""
From 67669b1b294322c8a6508977414cf7c7584d6923 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 23 Sep 2026 03:28:15 +0000
Subject: [PATCH 16/16] release: 1.7.0
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 18 ++++++++++++++++++
pyproject.toml | 2 +-
src/brapi/_version.py | 2 +-
4 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 7deae33..cce9d1c 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "1.6.0"
+ ".": "1.7.0"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e8789f0..291b3b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## 1.7.0 (2026-09-23)
+
+Full Changelog: [v1.6.0...v1.7.0](https://github.com/brapi-dev/brapi-python/compare/v1.6.0...v1.7.0)
+
+### Features
+
+* **api:** api update ([9fa5b4f](https://github.com/brapi-dev/brapi-python/commit/9fa5b4f26db024b1c6f1dd6b764bb5469caaec75))
+* **api:** api update ([090d70a](https://github.com/brapi-dev/brapi-python/commit/090d70a04e883c17035118e6272b1a3a67aac4b2))
+* **api:** api update ([846d1cc](https://github.com/brapi-dev/brapi-python/commit/846d1cc7b3963e8253ba9aa0f534c7c0c5a15854))
+* **api:** api update ([fd52eeb](https://github.com/brapi-dev/brapi-python/commit/fd52eebdf6030812a49dbd949418146de3b9eee9))
+* **api:** api update ([4ad61a5](https://github.com/brapi-dev/brapi-python/commit/4ad61a5d636f09dc6ec038adcef069a61f6ccc59))
+* **api:** api update ([bc65837](https://github.com/brapi-dev/brapi-python/commit/bc658373787b240ee985a587901aa8d9ad2532a3))
+* **api:** api update ([4d2bc0a](https://github.com/brapi-dev/brapi-python/commit/4d2bc0aab3ce83a2ee54198df763edac1c338470))
+* **api:** api update ([ea7470f](https://github.com/brapi-dev/brapi-python/commit/ea7470f791b60a043840d9ea5c7cc5e64832baa3))
+* **api:** api update ([26541f2](https://github.com/brapi-dev/brapi-python/commit/26541f26d59fb1c56c09d3eb229dc3aaba57edc1))
+* **api:** api update ([bb284b5](https://github.com/brapi-dev/brapi-python/commit/bb284b566f4543033d89fd10055457d7a6d7bd70))
+* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([7e697d6](https://github.com/brapi-dev/brapi-python/commit/7e697d6099b1e28a9babeb18df7f81749d7f23f8))
+
## 1.6.0 (2026-07-10)
Full Changelog: [v1.5.0...v1.6.0](https://github.com/brapi-dev/brapi-python/compare/v1.5.0...v1.6.0)
diff --git a/pyproject.toml b/pyproject.toml
index c835169..6c81123 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "brapi"
-version = "1.6.0"
+version = "1.7.0"
description = "The official Python library for the brapi API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/brapi/_version.py b/src/brapi/_version.py
index 8ad3a3e..555d3b7 100644
--- a/src/brapi/_version.py
+++ b/src/brapi/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "brapi"
-__version__ = "1.6.0" # x-release-please-version
+__version__ = "1.7.0" # x-release-please-version