Anunciando SDKs Oficiais: TypeScript e Python para brapi.dev

Lançamos SDKs oficiais para TypeScript/JavaScript e Python! Integre a API da B3 com tipos completos, retry automático e muito mais. Facilite seu desenvolvimento agora.

Categoria:Anúncios e Novidades • Lançamentos
5 min
Atualizado em:
Expertise: Desenvolvimento de SDKs e ferramentas para desenvolvedores
Tags:
SDKTypeScriptPythonAnúncioNovidadesDesenvolvimento

Neste artigo

Anunciando SDKs Oficiais para brapi.dev

Estamos muito felizes em anunciar o lançamento das nossas SDKs oficiais para TypeScript/JavaScript e Python! Integrar a API da B3 nunca foi tão fácil.

Publicado em 12 de Outubro de 2025

O Que São as SDKs?

SDKs (Software Development Kits) são bibliotecas que facilitam a integração com nossa API, oferecendo:

  • Tipos completos - Autocomplete e validação no seu IDE
  • Tratamento de erros - Exceções tipadas e mensagens claras
  • Retry automático - Tentativas inteligentes em caso de falha
  • API moderna - Suporte a async/await e promises
  • Sempre atualizado - Gerado automaticamente com nossa API

SDK TypeScript/JavaScript

NPM version

Instalação

npm install brapi
# ou
yarn add brapi
# ou
pnpm add brapi
# ou
bun add brapi

Exemplo de Uso

import Brapi from 'brapi';

const client = new Brapi({
  apiKey: process.env.BRAPI_API_KEY,
});

// Tipos automáticos!
const quote = await client.quote.retrieve('PETR4');
console.log(quote.results[0]);
// {
//   symbol: 'PETR4',
//   regularMarketPrice: 38.45,
//   regularMarketChangePercent: 2.15,
//   ...
// }

Características

Tipos TypeScript completos - IntelliSense em todo lugar
Bundle otimizado - Tree-shakeable e pequeno
Node.js e Browser - Funciona em qualquer ambiente
Next.js ready - Exemplos para App Router e Pages Router
Tratamento de erros - Exceções tipadas por status code

Exemplo Next.js

// app/stock/[ticker]/page.tsx
import Brapi from 'brapi';

const client = new Brapi({
  apiKey: process.env.BRAPI_API_KEY,
});

export default async function StockPage({
  params,
}: {
  params: { ticker: string };
}) {
  const quote = await client.quote.retrieve(params.ticker);
  const stock = quote.results[0];
  
  return (
    <div>
      <h1>{stock.shortName}</h1>
      <p>R$ {stock.regularMarketPrice.toFixed(2)}</p>
    </div>
  );
}

Ver documentação completa →


SDK Python

PyPI version

Instalação

pip install brapi

# Com suporte a aiohttp (opcional)
pip install brapi[aiohttp]

Exemplo de Uso

from brapi import Brapi

client = Brapi(api_key="seu_token")

# Type hints completos!
quote = client.quote.retrieve(tickers="PETR4")
print(quote.results[0].regular_market_price)

Características

Type hints completos - Autocomplete no IDE
Python 3.8+ - Compatível com versões modernas
Sync e Async - Cliente síncrono e assíncrono
Powered by httpx - HTTP/2 e connection pooling
aiohttp support - Performance otimizada

Exemplo Assíncrono

import asyncio
from brapi import AsyncBrapi

async def main():
    async with AsyncBrapi(api_key="seu_token") as client:
        quote = await client.quote.retrieve(tickers="PETR4")
        print(quote.results[0].regular_market_price)

asyncio.run(main())

Integração com FastAPI

from fastapi import FastAPI
from brapi import AsyncBrapi

app = FastAPI()
client = AsyncBrapi(api_key="seu_token")

@app.get("/api/quote/{ticker}")
async def get_quote(ticker: str):
    quote = await client.quote.retrieve(tickers=ticker)
    return {
        'symbol': quote.results[0].symbol,
        'price': quote.results[0].regular_market_price,
    }

Ver documentação completa →


Por Que Usar as SDKs?

Antes (Sem SDK)

// TypeScript sem SDK
const response = await fetch(
  `https://brapi.dev/api/quote/PETR4?token=${token}`
);

if (!response.ok) {
  // Você precisa tratar erros manualmente
  throw new Error(`HTTP ${response.status}`);
}

const data = await response.json();
// Sem tipos, sem autocomplete 😢
const price = data.results[0].regularMarketPrice;
# Python sem SDK
import requests

response = requests.get(
    f'https://brapi.dev/api/quote/PETR4?token={token}'
)

if response.status_code != 200:
    # Tratamento manual de erros
    raise Exception(f'HTTP {response.status_code}')

data = response.json()
# Sem type hints 😢
price = data['results'][0]['regularMarketPrice']

Depois (Com SDK)

// TypeScript com SDK
const quote = await client.quote.retrieve('PETR4');
// ✅ Tipos completos, autocomplete, retry automático
const price = quote.results[0].regularMarketPrice;
# Python com SDK
quote = client.quote.retrieve(tickers="PETR4")
# ✅ Type hints, autocomplete, retry automático
price = quote.results[0].regular_market_price

Tratamento de Erros Inteligente

As SDKs lançam exceções específicas por tipo de erro:

TypeScript

try {
  const quote = await client.quote.retrieve('INVALID');
} catch (error) {
  if (error instanceof Brapi.NotFoundError) {
    console.log('Ticker não encontrado');
  } else if (error instanceof Brapi.RateLimitError) {
    console.log('Limite de requisições atingido');
  } else if (error instanceof Brapi.AuthenticationError) {
    console.log('Token inválido');
  }
}

Python

from brapi import NotFoundError, RateLimitError

try:
    quote = client.quote.retrieve(tickers="INVALID")
except NotFoundError:
    print("Ticker não encontrado")
except RateLimitError:
    print("Limite de requisições atingido")

Retry Automático

As SDKs tentam automaticamente em caso de:

  • Erros de conexão
  • Timeouts (408)
  • Rate limits (429)
  • Erros de servidor (5xx)
const client = new Brapi({
  apiKey: process.env.BRAPI_API_KEY,
  maxRetries: 3, // Tenta até 3 vezes
});
client = Brapi(
    api_key="seu_token",
    max_retries=3,  # Tenta até 3 vezes
)

Gerado com Stainless

Nossas SDKs são geradas automaticamente usando Stainless, garantindo:

  • ✅ Sempre sincronizadas com a API
  • ✅ Tipos precisos e atualizados
  • ✅ Documentação inline
  • ✅ Padrões de indústria
  • ✅ Testes automáticos

Migração Fácil

Já usa a API com fetch/requests? Migrar é simples:

TypeScript

// Antes
const response = await fetch(`https://brapi.dev/api/quote/${ticker}?token=${token}`);
const data = await response.json();
const price = data.results[0].regularMarketPrice;

// Depois
const quote = await client.quote.retrieve(ticker);
const price = quote.results[0].regularMarketPrice;

Python

# Antes
response = requests.get(f'https://brapi.dev/api/quote/{ticker}?token={token}')
data = response.json()
price = data['results'][0]['regularMarketPrice']

# Depois
quote = client.quote.retrieve(tickers=ticker)
price = quote.results[0].regular_market_price

Recursos Disponíveis

Ambas as SDKs suportam todos os endpoints da API:

  • ✅ Cotações de ações, ETFs, FIIs
  • ✅ Criptomoedas
  • ✅ Moedas (câmbio)
  • ✅ Inflação
  • ✅ Taxa de juros
  • ✅ Dados fundamentalistas (módulos)
  • ✅ Histórico de preços

Começe Agora

TypeScript/JavaScript

npm install brapi

Documentação: /docs/sdks/typescript
GitHub: github.com/brapi-dev/brapi-typescript
NPM: npmjs.com/package/brapi

Python

pip install brapi

Documentação: /docs/sdks/python
GitHub: github.com/brapi-dev/brapi-python
PyPI: pypi.org/project/brapi

Feedback e Contribuições

As SDKs são open-source! Contribuições, issues e feedback são muito bem-vindos:

Próximos Passos

Explore a documentação completa:

Conclusão

Estamos muito animados com o lançamento dessas SDKs! Elas representam nosso compromisso em oferecer a melhor experiência para desenvolvedores que trabalham com dados financeiros do Brasil.

Instale agora e comece a construir aplicações incríveis com dados da B3! 🚀


Dúvidas ou sugestões? Entre em contato com nossa equipe de suporte ou abra uma issue no GitHub.

Gostou do anúncio? Compartilhe com outros desenvolvedores!

Artigos Relacionados