Comece a Usar a API da brapi.dev

Bem-vindo à documentação da brapi.dev. Nossa API foi projetada para ser simples, robusta e confiável, permitindo que você integre dados financeiros do mercado brasileiro em suas aplicações com o mínimo de esforço.

Este guia vai te mostrar como fazer sua primeira requisição em minutos.

🚀 Teste Agora - Sem Cadastro!

Para facilitar o desenvolvimento e testes, você pode experimentar nossa API imediatamente com estas 4 ações brasileiras populares - sem precisar de token ou cadastro:

Ações de Teste Gratuitas

PETR4 (Petrobras) • MGLU3 (Magazine Luiza) • VALE3 (Vale) • ITUB4 (Itaú)

Experimente agora mesmo!
# Cotação simples - funciona sem token
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&dividends=true"

Essas ações têm acesso completo a todos os recursos da API, incluindo dados históricos, módulos avançados e dividendos!

Obtenha sua Chave de API (Token) - Opcional para Teste

Para testar: Use as 4 ações gratuitas (PETR4, MGLU3, VALE3, ITUB4) sem precisar de token.

Para produção: Crie sua conta em nosso dashboard para gerar seu token e acessar todas as +4.000 ações disponíveis.

Onde encontrar seu token?

Seu token estará disponível na seção "Chaves de API" do seu Dashboard após o login.

Faça sua Primeira Requisição

Teste sem token (ações gratuitas):

Terminal (cURL) - Teste Imediato
curl "https://brapi.dev/api/quote/PETR4"

Com token (todas as ações):

Terminal (cURL) - Produção
curl --request GET \
  --url 'https://brapi.dev/api/quote/PETR4' \
  --header 'Authorization: Bearer SEU_TOKEN'

Receba os Dados

Pronto! Você receberá uma resposta em formato JSON, estruturada e pronta para ser utilizada.

Resposta da API (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",
    }
  ]
}

Autenticação

Todas as requisições à API devem ser autenticadas. Recomendamos enviar seu token através do header Authorization por ser mais seguro.

Authorization: Bearer SEU_TOKEN
?token=SEU_TOKEN

Atenção

Nunca exponha seu token no código do lado do cliente (frontend). Em aplicações web, faça as chamadas para a API da brapi.dev a partir do seu backend.

Principais Conceitos

  • URL Base: Todas as requisições usam a URL base https://brapi.dev/api.
  • Múltiplos Ativos: A maioria dos endpoints permite a consulta de múltiplos ativos em uma única requisição, separando os tickers por vírgula. Ex: PETR4,VALE3,MGLU3.
  • Módulos Adicionais: Use o parâmetro modules para enriquecer suas respostas com dados fundamentalistas e mais (disponível conforme seu plano).

Explore Nossos Endpoints

Navegue pelas seções para descobrir todos os dados que você pode acessar.

Exemplos Práticos

Veja como é fácil buscar dados em diferentes linguagens.

# 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"
# Qualquer ação (com token)
curl -H "Authorization: Bearer SEU_TOKEN" \
  "https://brapi.dev/api/quote/ITUB4,BBDC4?range=1mo&interval=1d"
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}")
// 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);
  }
}

Próximos Passos

Agora que você já entendeu o básico, o que acha de explorar mais a fundo?