Skip to content

Instantly share code, notes, and snippets.

@ThiagoAnunciacao
Created June 25, 2014 04:11
Show Gist options
  • Star 58 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save ThiagoAnunciacao/cc54b806d4a10bf3408f to your computer and use it in GitHub Desktop.
Save ThiagoAnunciacao/cc54b806d4a10bf3408f to your computer and use it in GitHub Desktop.
WebServices Bovespa
# Retorna dados sobre o pregão
http://www.bmfbovespa.com.br/Pregao-Online/ExecutaAcaoCarregarDados.asp?CodDado=IBOV,ticker&CA=undefined
# Retorna ações e seus últimos valores negociados
http://www.bmfbovespa.com.br/Pregao-OnLine/ExecutaAcaoCarregarDados.asp?CodDado=Ticker
# Retorna o histórico do dia de um papel
http://www.bmfbovespa.com.br/Pregao-Online/ExecutaAcaoCarregarDadosPapeis.asp?CodDado=petr4
# Retorna dados de um papel
http://www.bmfbovespa.com.br/cotacoes2000/formCotacoesMobile.asp?codsocemi=PETR4
# Retorna array com vários papeis
http://www.bmfbovespa.com.br/Pregao-Online/ExecutaAcaoAjax.asp?CodigoPapel=BISA3|PETR4|BBDC4
# Retorna dados do pregão
http://www.bmfbovespa.com.br/cotacoes2000/formCotacoesMobile.asp?codsocemi=IBOV
@kobe-luizhenrique
Copy link

@djalmaaraujo para mim aparece esse erro: The page cannot be displayed because an internal server error has occurred.

@jonfrs
Copy link

jonfrs commented May 17, 2021

@djalmaaraujo para mim aparece esse erro: The page cannot be displayed because an internal server error has occurred.

Eu tb estava fazendo uns testes e parou de funcionar.

@DaviGn
Copy link

DaviGn commented May 17, 2021

@djalmaaraujo para mim aparece esse erro: The page cannot be displayed because an internal server error has occurred.

Eu tb estava fazendo uns testes e parou de funcionar.

Este link funciona bem fora do pregão, durante o dia ele fica fora. Acredito que seja timeout do próprio servidor. É um sistema antigo.

@dalloglio
Copy link

Tanto a CVM quanto a B3 deveriam disponibilizar os dados de forma mais fácil e documentada. Alguém sabe de algum serviço que disponibilize os proventos pago por determinada empresa fora o que é enviado nas informações trimestrais? Pergunto, pois se tal empresa informou que vai pagar proventos mas ainda não teve seu balanço publicado, logo eu não terei essa informação e percebi que alguns sites exibem essas informações. Eu sei que tem no site da B3 mas teria que fazer um scraping o que eu não gostaria.

@jonit-dev
Copy link

Pessoal, tenho uma startup nessa area de financas e o que digo eh o seguinte: As bolsas geralmente detem o monopolio das informacoes relacionadas as empresas negociadas.
Resumindo, vcs tem duas opcoes:

  1. Free - Scrapping. Porem possui o risco legal de dar merda (Acho que muito raro, se vc for uma micro startup sem grana)
  2. Pela API da B3: Nao sei o preco, porem provavelmente super caro e inviabilizaria seu projeto pessoal.

O caminho que vejo como plausivel eh comecar via scrapping e uma vez seu projeto tendo usuarios pagantes, migrar para API da B3.

APIs alternativas nao tao caras, para dados.
1 - https://financialmodelingprep.com/developer/docs/ (tem plano Free! e o plano mais caro eh 75 USD, o que nao acho tao caro.)
2 - https://www.alphavantage.co/ (bastante dados, porem mais ou menos. ACHO que tem dados de empresas brasileiras)

@dalloglio
Copy link

Pessoal, tenho uma startup nessa area de financas e o que digo eh o seguinte: As bolsas geralmente detem o monopolio das informacoes relacionadas as empresas negociadas.
Resumindo, vcs tem duas opcoes:

  1. Free - Scrapping. Porem possui o risco legal de dar merda (Acho que muito raro, se vc for uma micro startup sem grana)
  2. Pela API da B3: Nao sei o preco, porem provavelmente super caro e inviabilizaria seu projeto pessoal.

O caminho que vejo como plausivel eh comecar via scrapping e uma vez seu projeto tendo usuarios pagantes, migrar para API da B3.

APIs alternativas nao tao caras, para dados.
1 - https://financialmodelingprep.com/developer/docs/ (tem plano Free! e o plano mais caro eh 75 USD, o que nao acho tao caro.)
2 - https://www.alphavantage.co/ (bastante dados, porem mais ou menos. ACHO que tem dados de empresas brasileiras)

Bem isso mesmo. Que triste! Sobre o up2data era R$ 1500/mês por um pacote de dados fora outros 5 ou 6 pacotes que tbm custa o mesmo valor por cada um.

Está https://financialmodelingprep.com/developer/docs/ eu não conhecia, tentei usar essa https://www.alphavantage.co/ mas não tinha alguns dados de empresas brasileiras.

@jonit-dev
Copy link

Pessoal, tenho uma startup nessa area de financas e o que digo eh o seguinte: As bolsas geralmente detem o monopolio das informacoes relacionadas as empresas negociadas.
Resumindo, vcs tem duas opcoes:

  1. Free - Scrapping. Porem possui o risco legal de dar merda (Acho que muito raro, se vc for uma micro startup sem grana)
  2. Pela API da B3: Nao sei o preco, porem provavelmente super caro e inviabilizaria seu projeto pessoal.

O caminho que vejo como plausivel eh comecar via scrapping e uma vez seu projeto tendo usuarios pagantes, migrar para API da B3.
APIs alternativas nao tao caras, para dados.
1 - https://financialmodelingprep.com/developer/docs/ (tem plano Free! e o plano mais caro eh 75 USD, o que nao acho tao caro.)
2 - https://www.alphavantage.co/ (bastante dados, porem mais ou menos. ACHO que tem dados de empresas brasileiras)

Bem isso mesmo. Que triste! Sobre o up2data era R$ 1500/mês por um pacote de dados fora outros 5 ou 6 pacotes que tbm custa o mesmo valor por cada um.

Está https://financialmodelingprep.com/developer/docs/ eu não conhecia, tentei usar essa https://www.alphavantage.co/ mas não tinha alguns dados de empresas brasileiras.

Infelizmente acho que a financialmodelingprep eh so para acoes dos USA.

Achei aqui as seguintes API, que possuem dados de cotacoes free para o Brasil:

https://brapi.ga/
https://hgbrasil.com/status/finance

@dariel26
Copy link

https://www.alphavantage.co
Galera dem uma olhada neste link, aqui vão clicar em obter chave do seu api gratuito, depois é so usar o seguinte link
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=PETR4.SA&interval=5min&apikey=SUA-CHAVE
Note que esse link retorna informações do ativo Petr4
Esta api retorna algumas informações do ativo, e retorna um histórico de valores:
Valor de abertura, valor de fechamento, valor de alta, valor de baixa.
Isso por um tempo que acredito que seja 12 meses

@jadsonxsantos
Copy link

Boa noite, alguém conhece alguma API para consumir dados dos fatos relevantes de todas as empresas listadas na Bolsa de Valores?

@jonit-dev
Copy link

Boa noite, alguém conhece alguma API para consumir dados dos fatos relevantes de todas as empresas listadas na Bolsa de Valores?

Brapi para dados de cotacao

procure por yahoo finance API para dados fundamentalistas. (nao oficial)

Oficialmente vc so consegue pagando rios de dinheiro

@rafakwolf
Copy link

Histórico de dividendos:

const axios = require("axios");
const cheerio = require("cheerio");

(async() => {
    const response = await axios.get("http://www.dividendobr.com/lib/search.php?q=SAPR4");
    const $ = cheerio.load(response.data);

    $("small").each((index, item) => {
        const data = $(item).html();
        console.log(data.split("<br>").join("\n"));
    });
})();

@mtcdultra
Copy link

Como o [jonit-dev] mencionou, a API yfinance (https://pypi.org/project/yfinance/) foi o melhor que achei para obter dados da B3 e é gratuito.
Utilizo para simular boa parte da metodologia Bazin (https://www.amazon.com.br/Faça-Fortuna-Ações-Antes-Tarde/dp/8585454164/ref=sr_1_1?keywords=bazin&qid=1647272954&sr=8-1) e uma das informações é recuperar o yield por ação a cada ano:
Screen Shot 2022-03-14 at 15 52 16
Além de poder achar o PREÇO TETO, PREÇO JUSTO e outras informações para atuais ou futuros investimentos.

@e7alves
Copy link

e7alves commented Jun 12, 2022

Olá meus bons, estou a procura do mesmo para o projeto do meu TCC e para uso pessoal também kksks. Em Janeiro, mandei mensagem para o pessoal de TI da B3 e me falaram que eles estavam construindo uma API e que na época(3 meses atrás) ela estava em fase beta e por isso era de graça, mas que quando fosse lançada oficialmente, seria paga. Caso alguém se interesse, eu fiz uma pequena API simples que pega os dados do Status Invest: https://github.com/ramonpaolo/api-b3

Também estou com um problema parecido em meu trabalho. Onde você conseguiu o contato do pessoal da TI da B3?

@ramonpaolo
Copy link

Olá meus bons, estou a procura do mesmo para o projeto do meu TCC e para uso pessoal também kksks. Em Janeiro, mandei mensagem para o pessoal de TI da B3 e me falaram que eles estavam construindo uma API e que na época(3 meses atrás) ela estava em fase beta e por isso era de graça, mas que quando fosse lançada oficialmente, seria paga. Caso alguém se interesse, eu fiz uma pequena API simples que pega os dados do Status Invest: https://github.com/ramonpaolo/api-b3

Também estou com um problema parecido em meu trabalho. Onde você conseguiu o contato do pessoal da TI da B3?

rapaiz, não me lembro mais não, mas eu tinha pesquisado no google, algo sobre emprego na B3, dai meio que tinha contato da equipe técnica, e aproveitei para perguntar.

Desculpa não poder te trazer a resposta que deseja : (

@4lessandrodev
Copy link

4lessandrodev commented Jun 12, 2022

Esse endpoint não é uma api, mas no navegador é possível acessar os dados da composição da carteira do ibov. dá pra fazer um web scraping. a Hash é uma conversão base64. Já deixei configurada para listar todos os ativos da carteira.

GET https://sistemaswebb3-listados.b3.com.br/indexProxy/indexCall/GetPortfolioDay/eyJsYW5ndWFnZSI6ImVuLXVzIiwicGFnZU51bWJlciI6MSwicGFnZVNpemUiOjEyMCwiaW5kZXgiOiJJQk9WIiwic2VnbWVudCI6IjEifQ==

Essa é a api pública da B3. Dá pra usar uma ferramenta para vasculhar os endpoints disponíveis (Endpoint Application Discovery Tool)
GET https://cotacao.b3.com.br/mds/api/v1/InstrumentPriceFluctuation/ibov

Também encontrei esse projeto bem documentado que pode ser útil
https://mfinance.com.br/swagger/index.html

@Gwinest
Copy link

Gwinest commented Jun 12, 2022 via email

@alexandrechoske
Copy link

Alguém sabe um jeito de trazer os dados dos investimentos, da B3?

@felipemarinho97
Copy link

felipemarinho97 commented Aug 30, 2022

Fiz uma lambda function para melhorar o retorno da API https://cotacao.b3.com.br/mds/api/v1/instrumentQuotation/ibov.
Exemplo: https://felipemarinho.vercel.app/api/b3/prices/petr3

Contribuições aqui.

@Alexandre1BR
Copy link

Eu uso uma API oficial da bolsa com licença de desenvolvimento, posso dar host pra quem quiser aí, só me avisa pelo Insta @Gwinest Eu não uso nem metade da capacidade, eu ajudo quem precisar, só me pedir Em dom., 12 de jun. de 2022 16:58, Alessandro dev. @.> escreveu:

@.
* commented on this gist. ------------------------------ Esse endpoint não é uma api, mas no navegador é possível acessar os dados da composição da carteira do ibov. dá pra fazer um web scraping. a Hash é uma conversão base64. Já deixei configurada para listar todos os ativos da carteira. GET https://sistemaswebb3-listados.b3.com.br/indexProxy/indexCall/GetPortfolioDay/eyJsYW5ndWFnZSI6ImVuLXVzIiwicGFnZU51bWJlciI6MSwicGFnZVNpemUiOjEyMCwiaW5kZXgiOiJJQk9WIiwic2VnbWVudCI6IjEifQ== Essa é a api pública da B3. Dá pra usar uma ferramenta para vasculhar os endpoints disponíveis (Endpoint Application Discovery Tool) GET https://cotacao.b3.com.br/mds/api/v1/InstrumentPriceFluctuation/ibov — Reply to this email directly, view it on GitHub https://gist.github.com/cc54b806d4a10bf3408f#gistcomment-4198415, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGGZNTY5ZJO5JFOKYXNK3RTVOY6ODANCNFSM4ILTSIFQ . You are receiving this because you commented.Message ID: @.***>

Como poderia pegar com vc essa chave?
Obg, meu caro.

@jicart
Copy link

jicart commented Nov 21, 2022

Infelizmente o serviço em: https://cotacao.b3.com.br/mds/api/v1/instrumentQuotation/VALE3
Não funcionou pra mim. Tentei calcular o IBOV (uma ótima maneira de verificar as todas as cotações de uma só vez) e deu diferença.
Fui ver e várias das cotações estão erradas.
Por exemplo: para o fechamento do dia 19/11:
VALE3: curPrc 80.7
Mas o valor correto é 80,83.

@mtcdultra
Copy link

@jicart já tentou usar a biblioteca yfinance (https://pypi.org/project/yfinance/)?

Screenshot 2022-11-21 at 15 03 49

@jicart
Copy link

jicart commented Nov 21, 2022

@jicart já tentou usar a biblioteca yfinance (https://pypi.org/project/yfinance/)?

Screenshot 2022-11-21 at 15 03 49

Já. Ela provavelmente é a melhor fonte, mas até nela eu já encontrei cotações erradas. Aí fica difícil de confiar.
Tudo que já testei já vi algum problema. No googlefinance tem tickers errados (VBBR3 ficou como BRDT3 durante meses).
No TradingView já vi cotação errada do DI futuro. No Profit da Nelogica às vezes dá problema nos dados em cache e tem que apagar tudo pra ele baixar de novo.
5 fontes diferentes e em todas já vi alguma inconsistência.
kkkkkkkk tá osso, viu?

De qualquer forma, em geral os erros são de centavos, então nunca dá tanta diferença.

@lucianeCarvalho
Copy link

Olá boa noite !!! alguém sabe me dizer se existe uma API que traz a posição de contratos por participante?
Segue o link de referencia para os dados que preciso.

https://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/consultas/mercado-de-derivativos/contratos-em-aberto/por-tipo-de-participante/

@mtcdultra
Copy link

Olá boa noite !!! alguém sabe me dizer se existe uma API que traz a posição de contratos por participante? Segue o link de referencia para os dados que preciso.

https://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/consultas/mercado-de-derivativos/contratos-em-aberto/por-tipo-de-participante/

Luciane, não sei se por questão de sigilo a B3 não divulga os participantes individualmente. Não tenho acesso à API para verificar se, por lá, disponibilizam estas informações.

@hyoretsu
Copy link

hyoretsu commented Jan 31, 2023

O melhor que encontrei até agora, com facilitários para uso, é fazer um web scraping da API do StatusInvest. Ela inclui até fundos de investimentos (com facilitários eu quero dizer estrutura propensa a web scraping de indicadores, resultados diretos se colocar o ticker inteiro, organização entre ações, Fii, etc. O que eu planejo fazer é uma carteira/portfólio automatizado, então preciso me certificar que as ações são de uma certa categoria)

https://statusinvest.com.br/home/mainsearchquery?q=b3sa3

Única desvantagem que pode dar BO é que não dá pra pesquisar vários em uma query só, então vc pd acabar abusando e eles caírem em cima.

@guijusto
Copy link

@mtcdultra Parece que o Yahoo Finance não mostra dados sobre bonificação de ações. Conseguiu pegar esse dado de algum outro lugar?

@mtcdultra
Copy link

@guijusto não identifiquei nenhum campo que forneça esta informação. Uma sugestão seria acompanhar as notícias em "news articles" da API (https://cryptocointracker.com/yahoo-finance/yahoo-finance-api). Fora isso, talvez fazer scrapping nesta página do Fundamentus - Fatos Relevantes (https://www.fundamentus.com.br/fr.php?&pg=1) com a palavra chave.

@mathemf
Copy link

mathemf commented Jun 3, 2023

Eu uso uma API oficial da bolsa com licença de desenvolvimento, posso dar host pra quem quiser aí, só me avisa pelo Insta @Gwinest Eu não uso nem metade da capacidade, eu ajudo quem precisar, só me pedir Em dom., 12 de jun. de 2022 16:58, Alessandro dev. @.> escreveu:

@.
* commented on this gist. ------------------------------ Esse endpoint não é uma api, mas no navegador é possível acessar os dados da composição da carteira do ibov. dá pra fazer um web scraping. a Hash é uma conversão base64. Já deixei configurada para listar todos os ativos da carteira. GET https://sistemaswebb3-listados.b3.com.br/indexProxy/indexCall/GetPortfolioDay/eyJsYW5ndWFnZSI6ImVuLXVzIiwicGFnZU51bWJlciI6MSwicGFnZVNpemUiOjEyMCwiaW5kZXgiOiJJQk9WIiwic2VnbWVudCI6IjEifQ== Essa é a api pública da B3. Dá pra usar uma ferramenta para vasculhar os endpoints disponíveis (Endpoint Application Discovery Tool) GET https://cotacao.b3.com.br/mds/api/v1/InstrumentPriceFluctuation/ibov — Reply to this email directly, view it on GitHub https://gist.github.com/cc54b806d4a10bf3408f#gistcomment-4198415, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGGZNTY5ZJO5JFOKYXNK3RTVOY6ODANCNFSM4ILTSIFQ . You are receiving this because you commented.Message ID: @.***>

Olá, consegue dar um host para ver amigo?
Obrigado.

@matheusbnas
Copy link

Olá pessoal! Alguém usa a API do Fundamentus?

Link: https://github.com/mv/fundamentus-api/

@rafakwolf
Copy link

@matheusbnas parece muito legal, mas tah abandonada a um tempo, não tem manutenção

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment