# Comece a Usar a API da brapi.dev
URL: /docs.mdx
Guia completo para começar a usar a API da brapi.dev. Aprenda sobre autenticação, endpoints principais e veja exemplos práticos para integrar dados financeiros do Brasil em suas aplicações.
***
title: 'Comece a Usar a API da brapi.dev'
description:
'Guia completo para começar a usar a API da brapi.dev. Aprenda sobre
autenticação, endpoints principais e veja exemplos práticos para integrar
dados financeiros do Brasil em suas aplicações.'
howToSteps:
* name: 'Obtenha sua chave de API (opcional para teste)'
text: 'Para testar, use as 4 ações gratuitas (PETR4, MGLU3, VALE3, ITUB4) sem token. Para produção, crie uma conta no dashboard para gerar seu token.'
* name: 'Faça sua primeira requisição'
text: 'Execute curl "[https://brapi.dev/api/quote/PETR4](https://brapi.dev/api/quote/PETR4)" no terminal para testar sem token, ou adicione o header Authorization: Bearer SEU\_TOKEN para acessar todas as ações.'
* name: 'Receba os dados em JSON'
text: 'A API retorna um objeto JSON com array results contendo symbol, regularMarketPrice, regularMarketChangePercent e outros dados da cotação.'
howToTools:
* 'Terminal ou linha de comando'
* 'cURL ou cliente HTTP'
* 'Navegador web'
howToSupplies:
* 'Conta brapi.dev (opcional para teste)'
* 'Token de API brapi.dev (opcional para teste)'
***
import { Callout } from 'fumadocs-ui/components/callout';
import { Card, Cards } from 'fumadocs-ui/components/card';
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
A **brapi.dev** é uma API REST completa para o mercado financeiro brasileiro.
Fornecemos dados em tempo real e históricos de ações, FIIs, BDRs, ETFs,
criptomoedas, câmbio e indicadores econômicos. Nossos dados são obtidos de
fontes oficiais: **B3** (cotações), **CVM** (demonstrações financeiras),
**IBGE** (inflação) e **Banco Central do Brasil** (SELIC, câmbio).
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**:
**PETR4** (Petrobras) • **MGLU3** (Magazine Luiza) • **VALE3** (Vale) •
**ITUB4** (Itaú)
```bash title="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÷nds=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.
Seu token estará disponível na seção "Chaves de API" do seu **[Dashboard](/dashboard)** após o login.
#### Faça sua Primeira Requisição
**Teste sem token (ações gratuitas):**
```bash title="Terminal (cURL) - Teste Imediato"
curl "https://brapi.dev/api/quote/PETR4"
```
**Com token (todas as ações):**
```bash title="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.
```jsonc title="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`
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.
## SDKs Oficiais
Use nossas bibliotecas oficiais para integração mais rápida e fácil com tipos completos e retry automático.
**Por que usar as SDKs?**
* ✅ **60% menos código** - Sintaxe simples e direta
* ✅ **Tipos completos** - IntelliSense e autocomplete
* ✅ **Retry automático** - Tratamento inteligente de falhas
* ✅ **Erros tipados** - Exceções específicas por status
## Exemplos Práticos
Veja como é fácil buscar dados em diferentes linguagens.
```typescript
import Brapi from 'brapi';
const client = new Brapi({
apiKey: process.env.BRAPI_API_KEY,
});
// Buscar cotações - Tipos completos!
const quote = await client.quote.retrieve('PETR4,VALE3');
console.log(quote.results[0].regularMarketPrice);
// Com múltiplos ativos
const quotes = await client.quote.retrieve('ITUB4,BBDC4,MGLU3');
quotes.results.forEach(stock => {
console.log(`${stock.symbol}: R$ ${stock.regularMarketPrice}`);
});
```
📚 [Ver documentação completa da SDK TypeScript](/docs/sdks/typescript)
```python
from brapi import Brapi
client = Brapi(api_key="seu_token")
# Buscar cotações - Type hints completos!
quote = client.quote.retrieve(tickers="PETR4,VALE3")
print(quote.results[0].regular_market_price)
# Com múltiplos ativos
quotes = client.quote.retrieve(tickers="ITUB4,BBDC4,MGLU3")
for stock in quotes.results:
print(f"{stock.symbol}: R$ {stock.regular_market_price}")
```
📚 [Ver documentação completa da SDK Python](/docs/sdks/python)
```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"
```
```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}")
```
```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);
}
}
```
## Próximos Passos
Agora que você já entendeu o básico, o que acha de explorar mais a fundo?
* **[Use nossas SDKs oficiais](/docs/sdks):** Integração mais rápida com tipos completos e retry automático (TypeScript e Python).
* **[Explore os endpoints de Ações](/docs/acoes):** A seção mais completa, com dados fundamentalistas e dividendos.
* **[Veja todos os exemplos](/docs/examples):** Descubra como aplicar a API em casos de uso mais complexos.