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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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/14] 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 f97d302d012be4bfe516a6b45beae6c786666b7d 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:28:13 +0000 Subject: [PATCH 14/14] release: 1.7.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 16 ++++++++++++++++ pyproject.toml | 2 +- src/brapi/_version.py | 2 +- 4 files changed, 19 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..8c1216e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## 1.7.0 (2026-09-04) + +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 ([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