### Obter Cotações de Múltiplas Ações com Python (Com Token)
Source: https://brapi.dev/docs/index
Exemplo de requisição GET em Python para a API brapi.dev com autenticação via token. Demonstra como incluir o token no header da requisição.
```Python
import requests
# Para outras ações (com token)
token = "SEU_TOKEN"
url = "https://brapi.dev/api/quote/ITUB4,BBDC4"
response = requests.get(
url,
headers={"Authorization": f"Bearer {token}"},
params={"range": "1mo", "interval": "1d"}
)
if response.status_code == 200:
data = response.json()
print(data['results'])
else:
print(f"Erro: {response.status_code}")
```
--------------------------------
### Obter Cotações de Ações com Python (Sem Token)
Source: https://brapi.dev/docs/index
Exemplo de requisição GET em Python para a API brapi.dev, buscando cotações de ações sem autenticação. Utiliza a biblioteca `requests`.
```Python
import requests
# Para ações de teste (sem token)
url = "https://brapi.dev/api/quote/PETR4,MGLU3"
response = requests.get(url, params={"range": "1mo", "interval": "1d"})
if response.status_code == 200:
data = response.json()
print(data['results'])
else:
print(f"Erro: {response.status_code}")
```
--------------------------------
### Primeira Requisição à API da brapi.dev
Source: https://brapi.dev/docs/.mdx
Demonstra como fazer a primeira requisição à API da brapi.dev, mostrando exemplos de teste sem token e com autenticação via token para acesso completo.
```bash
curl "https://brapi.dev/api/quote/PETR4"
```
```bash
curl --request GET \
--url 'https://brapi.dev/api/quote/PETR4' \
--header 'Authorization: Bearer SEU_TOKEN'
```
--------------------------------
### Listar Moedas Fiduciárias Disponíveis - GET /api/v2/currency/available
Source: https://brapi.dev/docs/moedas
Obtém a lista de todas as moedas fiduciárias disponíveis para consulta de cotações e conversão na API Brapi.
```APIDOC
GET /api/v2/currency/available
**Summary:** Listar Todas as Moedas Fiduciárias Disponíveis
**Description:** Retorna uma lista de todas as moedas fiduciárias disponíveis para consulta de cotações e conversão.
**Response (200 OK):**
Um array de objetos, onde cada objeto representa uma moeda fiduciária disponível com sua sigla e nome.
**Example Response:**
```json
{
"currency": [
{
"code": "USD",
"name": "Dólar Americano"
},
{
"code": "BRL",
"name": "Real Brasileiro"
}
]
}
```
```
--------------------------------
### Consultar Cotação de Pares de Moedas - GET /api/v2/currency
Source: https://brapi.dev/docs/moedas
Busca cotações atualizadas para um ou mais pares de moedas fiduciárias, retornando detalhes como preços, variações e timestamps.
```APIDOC
GET /api/v2/currency
**Summary:** Buscar Cotação de Pares de Moedas Fiduciárias
**Description:** Obtenha cotações atualizadas para um ou mais pares de moedas fiduciárias (ex: USD-BRL, EUR-USD). Permite consulta múltipla usando o parâmetro `currency`.
**Parameters:**
* `currency` (Obrigatório): Lista de pares de moedas separados por vírgula, no formato `MOEDA_ORIGEM-MOEDA_DESTINO` (ex: `USD-BRL`, `EUR-USD`).
* `token` (Obrigatório): Seu token de autenticação.
**Authentication:**
Requer token de autenticação válido via `token` (query) ou `Authorization` (header).
**Response (200 OK):**
Um array `currency` contendo objetos `CurrencyQuote` com detalhes do par de moedas.
* `fromCurrency`: Sigla da moeda de origem.
* `toCurrency`: Sigla da moeda de destino.
* `name`: Nome descritivo do par.
* `high`, `low`: Preços máximo e mínimo do período recente.
* `bidVariation`, `percentageChange`: Variação absoluta e percentual.
* `bidPrice`, `askPrice`: Preços de compra e venda atuais.
* `updatedAtTimestamp`, `updatedAtDate`: Timestamps da última atualização.
**Example Response:**
```json
{
"currency":
[
{
"fromCurrency": "USD",
"toCurrency": "BRL",
"name": "Dólar Americano/Real Brasileiro",
"high": "5.22",
"low": "5.162",
"bidVariation": "0.0454",
"percentageChange": "0.88",
"bidPrice": "5.2097",
"askPrice": "5.2127",
"updatedAtTimestamp": "1696601423",
"updatedAtDate": "2023-10-06 11:10:23"
},
{
"fromCurrency": "EUR",
"toCurrency": "USD",
"name": "Euro/Dólar Americano",
"high": "1.0568",
"low": "1.0482",
"bidVariation": "-0.0037",
"percentageChange": "-0.35",
"bidPrice": "1.051",
"askPrice": "1.0511",
"updatedAtTimestamp": "1696601456",
"updatedAtDate": "2023-10-06 11:10:56"
}
]
}
```
```
--------------------------------
### Obter Cotação de Ações no WordPress com PHP
Source: https://brapi.dev/docs/examples
Este snippet PHP demonstra como criar um shortcode no WordPress para exibir a cotação de uma ação específica, utilizando a API brapi.dev. Ele busca os dados da API e formata o preço para exibição.
```PHP
function brapi_stock_price_shortcode($atts) {
$atts = shortcode_atts(array(
'ticker' => 'PETR4',
), $atts);
$token = 'SEU_TOKEN';
$ticker = $atts['ticker'];
$url = "https://brapi.dev/api/quote/{$ticker}?token={$token}";
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return "Erro ao buscar dados";
}
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
if (isset($data['results'][0]['regularMarketPrice'])) {
return "R$ " . number_format($data['results'][0]['regularMarketPrice'], 2, ',', '.');
} else {
return "Cotação indisponível";
}
}
add_shortcode('brapi_cotacao', 'brapi_stock_price_shortcode');
```
--------------------------------
### Uso do Parâmetro `modules` para Dados Financeiros Detalhados
Source: https://brapi.dev/docs/acoes
Demonstra como utilizar o parâmetro `modules` para solicitar dados financeiros específicos, como histórico de DRE trimestral e fluxo de caixa anual para uma ação.
```bash
curl -X GET "https://brapi.dev/api/quote/BBDC4?modules=incomeStatementHistoryQuarterly,cashflowHistory&token=SEU_TOKEN"
```
--------------------------------
### Buscar Cotação com Módulos Específicos (Exemplo)
Source: https://brapi.dev/docs/acoes
Exemplo de como usar a API Brapi para obter a cotação de um ativo (BBDC4) juntamente com seu DRE trimestral e Fluxo de Caixa anual.
```Bash
curl -X GET "https://brapi.dev/api/quote/BBDC4?modules=incomeStatementHistoryQuarterly,cashflowHistory&token=SEU_TOKEN"
```
--------------------------------
### Requisições de Cotação Simples e com Parâmetros
Source: https://brapi.dev/docs/acoes
Exemplos de como obter cotações de ações usando a API da Brapi. Demonstra a obtenção de cotações simples, dados históricos, informações fundamentalistas e dividendos.
```bash
curl -X GET "https://brapi.dev/api/quote/PETR4,VALE3"
```
```bash
curl -X GET "https://brapi.dev/api/quote/MGLU3?range=1mo&interval=1d"
```
```bash
curl -X GET "https://brapi.dev/api/quote/ITUB4?fundamental=true÷nds=true"
```
```bash
curl -X GET "https://brapi.dev/api/quote/WEGE3?modules=summaryProfile,balanceSheetHistory&token=SEU_TOKEN"
```
```bash
curl -X GET "https://brapi.dev/api/quote/PETR4,BBAS3?token=SEU_TOKEN"
```
--------------------------------
### Obter Cotações de Múltiplas Ações com JavaScript (Com Token)
Source: https://brapi.dev/docs/index
Exemplo de requisição `fetch` em JavaScript para a API brapi.dev com autenticação via token. Demonstra como incluir o token no header da requisição.
```JavaScript
// Para outras ações (com token)
const token = 'SEU_TOKEN';
const url = 'https://brapi.dev/api/quote/ITUB4,BBDC4?range=1mo&interval=1d';
async function fetchQuotes() {
try {
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${token}` }
});
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();
console.log(data.results);
} catch (error) {
console.error('Falha ao buscar cotações:', error);
}
}
```
--------------------------------
### Listar Ações por Setor e Volume (Bash)
Source: https://brapi.dev/docs/acoes/list
Exemplo de requisição cURL para listar as 10 ações do setor Financeiro com maior volume, ordenadas de forma decrescente. Inclui paginação e token de autenticação.
```bash
curl -X GET "https://brapi.dev/api/quote/list?sector=Finance&sortBy=volume&sortOrder=desc&limit=10&page=1&token=SEU_TOKEN"
```
--------------------------------
### API de Cotações Brapi: Schemas de Dados
Source: https://brapi.dev/docs/acoes/list
Definição dos schemas de dados utilizados pela API de cotações. Inclui ErrorResponse, IndexSummary, e QuoteListResponse com detalhes de suas propriedades e tipos.
```APIDOC
Schemas:
### ErrorResponse
Schema padrão para respostas de erro da API.
**Properties:**
- error (boolean) *(required)*
Indica se a requisição resultou em erro. Sempre true para este schema.
- message (string) *(required)*
Mensagem descritiva do erro ocorrido.
### IndexSummary
Resumo de informações de um índice, geralmente retornado em listas.
**Properties:**
- stock (string)
Ticker do índice (ex: ^BVSP).
- name (string)
Nome do índice (ex: IBOVESPA).
### QuoteListResponse
Resposta do endpoint de listagem de cotações (/api/quote/list).
**Properties:**
- indexes (array)
Lista resumida de índices relevantes (geralmente inclui IBOVESPA).
Array items:
Reference to: IndexSummary
- stocks (array)
Lista paginada e filtrada dos ativos solicitados.
Array items:
Reference to: StockSummary
- availableSectors (array)
Lista de todos os setores disponíveis que podem ser usados no parâmetro de filtro sector.
Array items:
**Type:** string
- availableStockTypes (array)
Lista dos tipos de ativos (stock, fund, bdr) disponíveis que podem ser usados no parâmetro de filtro type.
Array items:
**Type:** string
**Options:** stock, fund, bdr
- currentPage (integer)
Número da página atual retornada nos resultados.
- totalPages (integer)
Número total de páginas existentes para a consulta/filtros aplicados.
- itemsPerPage (integer)
Número de itens (ativos) retornados por página (conforme limit ou padrão).
- totalCount (integer)
Número total de ativos encontrados que correspondem aos filtros aplicados (sem considerar a paginação).
- hasNextPage (boolean)
Indica se existe uma próxima página de resultados (true) ou se esta é a última página (false).
```
--------------------------------
### Autenticação na API da brapi.dev
Source: https://brapi.dev/docs/.mdx
Explica os métodos de autenticação para a API da brapi.dev, recomendando o uso do header 'Authorization' e mostrando a alternativa de query parameter.
```javascript
`Authorization: Bearer SEU_TOKEN `
```
```javascript
`?token=SEU_TOKEN`
```
--------------------------------
### Estrutura de Resposta da API da brapi.dev
Source: https://brapi.dev/docs/.mdx
Exemplo de resposta JSON recebida da API da brapi.dev após uma requisição bem-sucedida, contendo detalhes de cotação de ações.
```json
{
"results": [
{
"symbol": "PETR4",
"shortName": "PETROBRAS PN",
"longName": "Petróleo Brasileiro S.A. - Petrobras",
"currency": "BRL",
"regularMarketPrice": 38.50,
"regularMarketDayHigh": 39.00,
"regularMarketDayLow": 38.20,
"regularMarketChange": 0.30,
"regularMarketChangePercent": 0.78,
"regularMarketTime": "2024-10-26T17:08:00.000Z",
"marketCap": 503100000000,
"regularMarketVolume": 45678901,
"logourl": "https://icons.brapi.dev/logos/PETR4.png"
}
]
}
```
--------------------------------
### Exibir Cotação de Ações em React Native
Source: https://brapi.dev/docs/examples
Este componente React Native busca a cotação de uma ação utilizando a API brapi.dev e a exibe na interface do usuário. Ele gerencia o estado de carregamento e exibe o preço formatado.
```JavaScript
import React, { useState, useEffect } from 'react';
import { View, Text, StyleSheet } from 'react-native';
const StockPrice = ({ ticker }) => {
const [price, setPrice] = useState(null);
const [loading, setLoading] = useState(true);
useEffect(() => {
const token = 'SEU_TOKEN';
const fetchPrice = async () => {
try {
const response = await fetch(
`https://brapi.dev/api/quote/${ticker}?token=${token}`,
);
const data = await response.json();
setPrice(data.results[0].regularMarketPrice);
} catch (error) {
console.error(error);
} finally {
setLoading(false);
}
};
fetchPrice();
}, [ticker]);
if (loading) return Carregando...;
return (
{ticker}
R$ {price.toFixed(2)}
);
};
const styles = StyleSheet.create({
container: {
padding: 16,
backgroundColor: '#f5f5f5',
borderRadius: 8,
},
ticker: {
fontSize: 16,
fontWeight: 'bold',
},
price: {
fontSize: 20,
marginTop: 8,
},
});
export default StockPrice;
```
--------------------------------
### Testando a API da brapi.dev com cURL
Source: https://brapi.dev/docs/.mdx
Exemplos de como testar a API da brapi.dev usando cURL para obter cotações de ações. Demonstra requisições simples sem token e com parâmetros para histórico e dados fundamentalistas.
```bash
# Cotação simples - funciona sem token
curl "https://brapi.dev/api/quote/PETR4"
```
```bash
# Múltiplas ações com histórico
curl "https://brapi.dev/api/quote/PETR4,VALE3,MGLU3?range=1mo&interval=1d"
```
```bash
# Com dados fundamentalistas e dividendos
curl "https://brapi.dev/api/quote/ITUB4?fundamental=true÷nds=true"
```
--------------------------------
### Exemplos de Requisição cURL para API brapi.dev
Source: https://brapi.dev/docs/index
Demonstra como fazer requisições à API brapi.dev usando cURL para obter cotações de ações. Inclui exemplos para cotação simples, múltiplas ações com histórico e dados fundamentalistas/dividendos.
```cURL
curl "https://brapi.dev/api/quote/PETR4"
# Múltiplas ações com histórico
curl "https://brapi.dev/api/quote/PETR4,VALE3,MGLU3?range=1mo&interval=1d"
# Com dados fundamentalistas e dividendos
curl "https://brapi.dev/api/quote/ITUB4?fundamental=true÷nds=true"
# Teste imediato - ações gratuitas (sem token)
curl "https://brapi.dev/api/quote/PETR4,MGLU3"
```
--------------------------------
### ValueAddedEntry - BRApi API
Source: https://brapi.dev/docs/acoes
Estrutura de dados para a Demonstração do Valor Adicionado (DVA), com detalhes sobre a periodicidade (anual/trimestral) e os diversos componentes da distribuição da riqueza gerada pela empresa.
```APIDOC
ValueAddedEntry:
symbol (string): Ticker do ativo.
type (string): Periodicidade da DVA (`yearly`, `quarterly`).
endDate (string, date): Data de término do período fiscal (YYYY-MM-DD).
revenue (number, int64) *(nullable)*: Receitas (Venda de Mercadorias, Produtos e Serviços, etc.). Item 1 da DVA.
financialIntermediationRevenue (number, int64) *(nullable)*: Receita de Intermediação Financeira.
revenueFromTheProvisionOfServices (number, int64) *(nullable)*: Receita da Prestação de Serviços.
provisionOrReversalOfExpectedCreditRiskLosses (number, int64) *(nullable)*: Provisão/Reversão de Perdas com Risco de Crédito (PCLD).
otherRevenues (number, int64) *(nullable)*: Outras Receitas.
financialIntermediationExpenses (number, int64) *(nullable)*: Despesas de Intermediação Financeira.
suppliesPurchasedFromThirdParties (number, int64) *(nullable)*: Insumos Adquiridos de Terceiros (Custo de Mercadorias, Matérias-Primas). Item 2 da DVA.
materialsEnergyAndOthers (number, int64) *(nullable)*: Custos com Materiais, Energia, Serviços de Terceiros e Outros.
services (number, int64) *(nullable)*: Serviços de Terceiros.
lossOrRecoveryOfAssetValues (number, int64) *(nullable)*: Perda / Recuperação de Valores de Ativos (Impairment).
otherSupplies (number, int64) *(nullable)*: Outros Insumos.
grossAddedValue (number, int64) *(nullable)*: Valor Adicionado Bruto (Receitas - Insumos). Item 3 da DVA.
retentions (number, int64) *(nullable)*: Retenções (Depreciação, Amortização e Exaustão). Item 4 da DVA.
depreciationAndAmortization (number, int64) *(nullable)*: Depreciação e Amortização.
otherRetentions (number, int64) *(nullable)*: Outras Retenções (Exaustão, etc.).
netAddedValue (number, int64) *(nullable)*: Valor Adicionado Líquido Produzido pela Entidade (Bruto - Retenções). Item 5 da DVA.
addedValueReceivedByTransfer (number, int64) *(nullable)*: Valor Adicionado Recebido em Transferência (Resultado de Equivalência Patrimonial, Receitas Financeiras, etc.). Item 6 da DVA.
equityIncomeResult (number, int64) *(nullable)*: Resultado de Equivalência Patrimonial.
otherValuesReceivedByTransfer (number, int64) *(nullable)*: Outros Valores Recebidos (Receitas Financeiras, Aluguéis, etc.).
addedValueToDistribute (number, int64) *(nullable)*: Valor Adicionado Total a Distribuir (Líquido Produzido + Recebido em Transferência). Item 7 da DVA.
distributionOfAddedValue (number, int64) *(nullable)*: Distribuição do Valor Adicionado (Soma dos itens seguintes). Item 8 da DVA.
teamRemuneration (number, int64) *(nullable)*: Pessoal e Encargos (Salários, Benefícios, FGTS).
taxes (number, int64) *(nullable)*: Impostos, Taxas e Contribuições (Federais, Estaduais, Municipais).
federalTaxes (number, int64) *(nullable)*: Impostos Federais (IRPJ, CSLL, PIS, COFINS, IPI).
stateTaxes (number, int64) *(nullable)*: Impostos Estaduais (ICMS).
municipalTaxes (number, int64) *(nullable)*: Impostos Municipais (ISS).
remunerationOfThirdPartyCapitals (number, int64) *(nullable)*: Remuneração de Capitais de Terceiros (Juros, Aluguéis).
remunerationOfOwnCapitals (number, int64) *(nullable)*: Remuneração de Capitais Próprios (JCP, Dividendos, Lucros Retidos).
interestOnOwnEquity (number, int64) *(nullable)*: Juros sobre o Capital Próprio (JCP).
dividends (number, int64) *(nullable)*: Dividendos Distribuídos.
retainedEarningsOrLoss (number, int64) *(nullable)*: Lucros Retidos ou Prejuízo do Exercício.
nonControllingShareOfRetainedEarnings (number, int64) *(nullable)*: Participação dos Não Controladores nos Lucros Retidos.
otherDistributions (number, int64) *(nullable)*: Outras Distribuições.
productSales (number, int64) *(nullable)*: Venda de Produtos e Serviços.
constructionOfOwnAssets (number, int64) *(nullable)*: Construção de Ativos Próprios.
provisionOrReversalOfDoubtfulAccounts (number, int64) *(nullable)*: Provisão/Reversão para Créditos de Liquidação Duvidosa (PCLD).
costsWithProductsSold (number, int64) *(nullable)*: Custos dos Produtos, Mercadorias e Serviços Vendidos.
thirdPartyMaterialsAndServices (number, int64) *(nullable)*: Materiais, Energia, Serviços de Terceiros.
lossOrRecoveryOfAssets (number, int64) *(nullable)*: Perda ou Recuperação de Valores de Ativos.
```
--------------------------------
### API de Cotações Brapi: Parâmetros de Requisição
Source: https://brapi.dev/docs/acoes/list
Documentação detalhada dos parâmetros de query para a API de listagem de cotações. Inclui descrição, tipo, obrigatoriedade e exemplos para busca, ordenação, paginação, tipo e setor.
```APIDOC
Parameters:
- search (query): Opcional. Termo para buscar ativos por ticker (correspondência parcial). Ex: PETR encontrará PETR4, PETR3.
- sortBy (query): Opcional. Campo pelo qual os resultados serão ordenados.
- sortOrder (query): Opcional. Direção da ordenação: asc (ascendente) ou desc (descendente). Requer que sortBy seja especificado.
- limit (query): Opcional. Número máximo de ativos a serem retornados por página. O valor padrão pode variar.
- page (query): Opcional. Número da página dos resultados a ser retornada, considerando o limit especificado. Começa em 1.
- type (query): Opcional. Filtra os resultados por tipo de ativo.
- sector (query): Opcional. Filtra os resultados por setor de atuação da empresa. Utilize um dos valores retornados em availableSectors.
```
--------------------------------
### Obter Cotações de Ações com JavaScript (Sem Token)
Source: https://brapi.dev/docs/index
Exemplo de requisição `fetch` em JavaScript para a API brapi.dev, buscando cotações de ações sem autenticação. Inclui tratamento básico de erros.
```JavaScript
// Para ações de teste (sem token)
const testUrl = 'https://brapi.dev/api/quote/PETR4,VALE3?range=1mo&interval=1d';
async function fetchTestQuotes() {
try {
const response = await fetch(testUrl);
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();
console.log(data.results);
} catch (error) {
console.error('Falha ao buscar cotações de teste:', error);
}
}
```
--------------------------------
### Documentação da API brapi.dev - Endpoints Financeiros
Source: https://brapi.dev/docs/index
Documentação detalhada dos endpoints da API brapi.dev para consulta de dados financeiros. Abrange Ações, Fundos, Criptomoedas, Moedas (Câmbio), Inflação e Taxa SELIC.
```APIDOC
API da brapi
URL Base: https://brapi.dev/api
Endpoints:
1. **Geral / Ações / Cotação, Dividendos e Dados Financeiros**
* Método: GET
* Descrição: Obtém cotações, dados históricos, dividendos e fundamentos de Ações, FIIs, ETFs e BDRs.
* Exemplo de Uso: `/quote/{ticker}`
* Parâmetros:
* `ticker`: Código do ativo (ex: PETR4, MGLU3). Múltiplos tickers separados por vírgula.
* `range`: Período do histórico (ex: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max).
* `interval`: Intervalo dos dados (ex: 1d, 1wk, 1mo).
* `fundamental`: (boolean) Inclui dados fundamentalistas na resposta.
* `dividends`: (boolean) Inclui informações de dividendos na resposta.
* `modules`: Lista de módulos adicionais a serem incluídos (ex: `financialData`, `balanceSheet`).
2. **Criptomoedas**
* Método: GET
* Descrição: Obtém cotações de Criptomoedas.
* Endpoint: `/quote/crypto/{ticker}`
* Descrição: Lista Criptomoedas.
* Endpoint: `/list/crypto`
3. **Moedas (Câmbio)**
* Método: GET
* Descrição: Obtém cotações de Moedas.
* Endpoint: `/quote/currency/{ticker}`
* Descrição: Lista Moedas.
* Endpoint: `/list/currency`
4. **Inflação**
* Método: GET
* Descrição: Obtém dados de Inflação.
* Endpoint: `/inflation/{ticker}`
* Descrição: Lista Países para consulta de Inflação.
* Endpoint: `/list/country/inflation`
5. **Taxa Básica de Juros (SELIC)**
* Método: GET
* Descrição: Obtém a Taxa Selic.
* Endpoint: `/selic/{ticker}`
* Descrição: Lista Países para consulta de Taxa SELIC.
* Endpoint: `/list/country/selic`
Autenticação:
* Header: `Authorization: Bearer SEU_TOKEN`
* Query Param: `?token=SEU_TOKEN`
Conceitos:
* **URL Base:** `https://brapi.dev/api`
* **Múltiplos Ativos:** Separar tickers por vírgula (ex: `PETR4,VALE3,MGLU3`).
* **Módulos Adicionais:** Usar parâmetro `modules` para dados extras.
```
--------------------------------
### Buscar Cotações de Ações (JavaScript)
Source: https://brapi.dev/docs/.mdx
Exemplos de como buscar cotações de ações usando a API Fetch em JavaScript. Demonstra requisições assíncronas para teste (sem token) e para produção (com token), incluindo tratamento de erros.
```javascript
// Para ações de teste (sem token)
const testUrl = 'https://brapi.dev/api/quote/PETR4,VALE3?range=1mo&interval=1d';
async function fetchTestQuotes() {
try {
const response = await fetch(testUrl);
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();
console.log(data.results);
} catch (error) {
console.error('Falha ao buscar cotações de teste:', error);
}
}
// Para outras ações (com token)
const token = 'SEU_TOKEN';
const url = 'https://brapi.dev/api/quote/ITUB4,BBDC4?range=1mo&interval=1d';
async function fetchQuotes() {
try {
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${token}` }
});
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
const data = await response.json();
console.log(data.results);
} catch (error) {
console.error('Falha ao buscar cotações:', error);
}
}
```
--------------------------------
### Buscar Cotações de Ações (cURL)
Source: https://brapi.dev/docs/.mdx
Exemplos de como buscar cotações de ações usando cURL. Demonstra requisições para teste (sem token) e para produção (com token), incluindo parâmetros para intervalo de tempo e módulos de dados.
```bash
# Teste imediato - ações gratuitas (sem token)
curl "https://brapi.dev/api/quote/PETR4,MGLU3"
# Com histórico e módulos avançados
curl "https://brapi.dev/api/quote/VALE3?range=1mo&interval=1d&modules=summaryProfile"
```
```bash
# Qualquer ação (com token)
curl -H "Authorization: Bearer SEU_TOKEN" \
"https://brapi.dev/api/quote/ITUB4,BBDC4?range=1mo&interval=1d"
```
--------------------------------
### Exemplo de Requisição cURL com Token para API brapi.dev
Source: https://brapi.dev/docs/index
Exemplo de como realizar uma requisição à API brapi.dev utilizando um token de autenticação via header 'Authorization' para acessar todas as funcionalidades.
```cURL
curl --request GET \
--url 'https://brapi.dev/api/quote/PETR4' \
--header 'Authorization: Bearer SEU_TOKEN'
```
--------------------------------
### API Brapi - Cotações de Ações
Source: https://brapi.dev/docs/acoes
Documentação da API para obter cotações de ações. Detalha os endpoints, parâmetros comuns como `range`, `interval`, `fundamental`, `dividends` e `modules`, além de exemplos de uso e códigos de resposta.
```APIDOC
Endpoint: /api/quote/{tickers}
Descrição: Obtém cotações de ações para os tickers especificados.
Parâmetros:
- tickers: Lista de tickers de ações separados por vírgula (ex: PETR4,VALE3).
- range: Período para os dados históricos (ex: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max).
- interval: Intervalo dos dados (ex: 1d, 1wk, 1mo).
- fundamental: Booleano para incluir dados fundamentalistas (true/false).
- dividends: Booleano para incluir informações de dividendos (true/false).
- modules: Lista de módulos de dados financeiros separados por vírgula (ex: summaryProfile,balanceSheetHistory,incomeStatementHistoryQuarterly,cashflowHistory).
- token: Token de autenticação (requerido para alguns tickers ou para acesso a todos os módulos).
Códigos de Resposta:
- 200 OK: Requisição bem-sucedida, retorna os dados solicitados.
- 400 Bad Request: Parâmetro inválido ou formatação incorreta.
- 401 Unauthorized: Token inválido ou ausente.
- 402 Payment Required: Limite de requisições excedido.
- 404 Not Found: Um ou mais tickers não foram encontrados.
Exemplo de Módulos Disponíveis:
- summaryProfile: Informações cadastrais da empresa.
- balanceSheetHistory: Histórico anual do Balanço Patrimonial.
- balanceSheetHistoryQuarterly: Histórico trimestral do Balanço Patrimonial.
- defaultKeyStatistics: Principais estatísticas (TTM).
- defaultKeyStatisticsHistory: Histórico anual das Principais Estatísticas.
- defaultKeyStatisticsHistoryQuarterly: Histórico trimestral das Principais Estatísticas.
- incomeStatementHistory: Histórico anual da DRE.
- incomeStatementHistoryQuarterly: Histórico trimestral da DRE.
- financialData: Dados financeiros selecionados (TTM).
- financialDataHistory: Histórico anual dos Dados Financeiros.
- financialDataHistoryQuarterly: Histórico trimestral dos Dados Financeiros.
- valueAddedHistory: Histórico anual da DVA.
- valueAddedHistoryQuarterly: Histórico trimestral da DVA.
- cashflowHistory: Histórico anual do DFC.
- cashflowHistoryQuarterly: Histórico trimestral do DFC.
```
--------------------------------
### Buscar Cotações de Ações (Python)
Source: https://brapi.dev/docs/.mdx
Exemplos de como buscar cotações de ações usando a biblioteca requests em Python. Mostra como fazer requisições para teste (sem token) e para produção (com token), tratando a resposta JSON.
```python
import requests
# Para ações de teste (sem token)
url = "https://brapi.dev/api/quote/PETR4,MGLU3"
response = requests.get(url, params={"range": "1mo", "interval": "1d"})
# Para outras ações (com token)
token = "SEU_TOKEN"
url = "https://brapi.dev/api/quote/ITUB4,BBDC4"
response = requests.get(
url,
headers={"Authorization": f"Bearer {token}"},
params={"range": "1mo", "interval": "1d"}
)
if response.status_code == 200:
data = response.json()
print(data['results'])
else:
print(f"Erro: {response.status_code}")
```