B3 Bovespa Brazil Stock Tickers & Listed Company Scraper
Pricing
from $11.54 / 1,000 results
B3 Bovespa Brazil Stock Tickers & Listed Company Scraper
Scrape the B3 (Bovespa) Brazil stock exchange listed-company registry. Get company name, all ticker codes with ISIN, CVM code, CNPJ, listing segment (Novo Mercado), sector, share capital, shares outstanding and full dividend history. Export to JSON, CSV or Excel.
Pricing
from $11.54 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
B3 Bovespa Brazil Stock Tickers & Listed Company Scraper
The most complete B3 (Bovespa) Brazil stock exchange scraper on Apify. Export the full B3 listed-company registry as clean JSON, CSV or Excel: company name, every ticker with ISIN, CVM code, CNPJ, listing segment (Novo Mercado, Nivel 1, Nivel 2), sector, share capital, shares outstanding and full dividend history. No account on B3 needed, HTTP only, no official B3 API.
Here is one real result, with every field the actor returns (the cashDividends, stockDividends and subscriptions arrays are shown with one entry each):
{"companyName": "PETROLEO BRASILEIRO S.A. PETROBRAS","tradingName": "PETROBRAS","issuingCompany": "PETR","codeCVM": "9512","cnpj": "33000167000101","status": "active","segment": "Exploração. Refino e Distribuição","market": "BOVESPA NIVEL 2","marketIndicator": "17","b3Type": "1","typeBDR": null,"listingDate": "27/08/1968","mainCode": "PETR4","website": "https://www.petrobras.com.br","industryClassification": "Petróleo. Gás e Biocombustíveis / Petróleo. Gás e Biocombustíveis / Exploração. Refino e Distribuição","activity": "Pesquisa. lavra. refinação. processamento. comércio e transporte de petróleo...","categoryBVMF": null,"listingSegmentCode": "N2","listingSegment": "Nível 2","hasQuotation": true,"hasBDR": false,"hasEmissions": false,"lastUpdate": "02/09/2026 23:47:46","tickers": ["PETR3", "PETR4", "PETR-DEB62"],"otherCodes": [{ "code": "PETR3", "isin": "BRPETRACNOR9" },{ "code": "PETR4", "isin": "BRPETRACNPR6" }],"isinCodes": ["BRPETRACNOR9", "BRPETRACNPR6"],"registrarCommon": "BRADESCO","registrarPreferred": "BRADESCO","stockCapital": 205431960490.52,"numberCommonShares": 7442231382,"numberPreferredShares": 5446501379,"totalNumberShares": 12888732761,"commonSharesForm": "Escritural","preferredSharesForm": "Escritural","roundLot": 100,"quotedSince": "23/06/2000","cashDividends": [{"label": "DIVIDENDO","rate": "0,47156696000","relatedTo": "Anual/2026","approvedOn": "06/08/2026","lastDatePrior": "21/08/2026","paymentDate": "21/12/2026","isinCode": "BRPETRACNOR9","assetIssued": "BRPETRACNOR9","remarks": null}],"stockDividends": [{"label": "DESDOBRAMENTO","factor": "100,00000000000","approvedOn": "25/04/2008","lastDatePrior": "25/04/2008","isinCode": "BRPETRACNOR9","assetIssued": "BRPETRACNOR9","remarks": null}],"subscriptions": [{"label": "SUBSCRICAO","percentage": "20,00000000000","priceUnit": "1,00000000000","tradingPeriod": "01/01/1900 a 01/01/1900","subscriptionDate": null,"approvedOn": "15/08/1974","lastDatePrior": "14/11/1974","isinCode": "BRPETRACPPR1","assetIssued": "BRPETRACPPR1","remarks": null}],"dividendCount": 24,"stockDividendCount": 6,"subscriptionCount": 1,"hasDividends": true,"tickerCount": 3,"instrumentType": "Equity","url": "https://www.b3.com.br/en_us/products-and-services/trading/equities/listed-companies/listed-companies.htm","observedAt": "2026-09-04T02:53:24.588Z","aiSummary": null,"error": null}
It returns every field the B3 registry exposes for each listed company, including CNPJ, CVM code, industry classification, all ticker codes with ISIN, governance listing segment, share capital, shares outstanding, and full cash-dividend, stock-dividend (splits) and subscription history, plus derived counts, and gives you five filters to target exactly the companies you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Who it is for
- How it compares
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
This is a B3 stock exchange scraper and Bovespa data API for the Brazilian market. It reads the B3 (Brasil, Bolsa, Balcao) listed-companies registry and writes one normalized record per company. It lists the whole registry or filters by company name, sector, market, and active status.
With withDetails on (the default) it fetches each company detail record to add industry classification, business activity, website, every ticker code with its ISIN, the governance listing segment (Novo Mercado and levels), share capital, share counts, share forms, registrars, and the full corporate-actions history: cash dividends (dividendos and JCP), stock dividends (splits, reverse splits, bonus shares) and subscriptions. Derived fields (tickerCount, dividendCount, stockDividendCount, subscriptionCount, hasDividends, instrumentType) are computed on top of the raw B3 data. Missing source values are returned as null, never invented.
An optional AI add-on (paid Apify plans only, off by default) writes a plain-English investor snapshot of each company from its own B3 detail record. It is billed only when a summary is produced.
Who it is for
- Fintechs and brokers building a Brazil equities universe (tickers, ISIN, CNPJ, CVM code) for onboarding, screening or reference data.
- Quant and data teams that need a clean, machine-readable list of every company on B3 with financials and dividend history.
- KYB, compliance and research workflows that match a Brazilian ticker to a CNPJ, CVM code and legal name.
- Dividend and income investors tracking payment dates, rates and JCP events across the whole market.
- Analysts and journalists mapping sectors, governance segments (Novo Mercado) and corporate actions on the Sao Paulo stock exchange.
Common searches this actor answers: B3 scraper, B3 API, Bovespa data, Brazil stock exchange data, acoes B3, cotacoes B3, empresas listadas B3, ticker CNPJ B3, dados da bolsa brasileira, market data Brazil.
How it compares
Generic global stock scrapers return a price feed but do not carry the Brazilian registry identity fields (CNPJ, CVM code, ISIN, governance segment) or the corporate-actions history. This actor is B3-native and returns all of it.
| Capability | This actor | Generic global stock scrapers |
|---|---|---|
| Full B3 listed-company registry | Yes, every company | Partial, popular tickers only |
| Company legal name and trading name | Yes | Sometimes |
| All ticker codes per company | Yes, with ISIN | Usually one symbol |
| ISIN codes | Yes | Rarely |
| CVM registration code | Yes | No |
| CNPJ (Brazilian tax ID) | Yes | No |
| Governance listing segment (Novo Mercado) | Yes, code and name | No |
| Sector and industry classification | Yes | Sometimes |
| Share capital and shares outstanding | Yes | Rarely |
| Cash-dividend history (dividendos, JCP) | Yes, full | Rarely |
| Stock dividends and subscriptions | Yes | No |
| Registrars and share forms | Yes | No |
| Filter by name, sector, market, active | Yes | Varies |
| Portuguese or English segment labels | Yes | No |
| Export JSON, CSV, Excel | Yes | Varies |
Quickstart
Open the actor, paste this into the input, and press Run. It returns the first 10 listed companies with full detail.
{"maxCompanies": 10,"withDetails": true}
Use search to filter by name (for example petrobras, banco, energia). Leave all filters empty to scrape every company on B3. Set withDetails to false for a fast registry-only sweep.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxCompanies | integer | no | 10 | Maximum number of companies to collect (1 to 1000000). |
withDetails | boolean | no | true | Fetch each company detail record (industry, activity, website, all tickers with ISIN, listing segment, capital, dividends, splits, subscriptions). Two extra requests per company. |
withAiSummary | boolean | no | false | Paid add-on. Adds an AI investor snapshot built from the B3 detail record. Requires withDetails. Requires a paid Apify plan. Billed only when a summary is produced. |
search | string | no | (empty) | Filter companies by name (server-side, partial match), for example banco, energia, petro. Empty lists the entire registry. |
segment | string | no | (empty) | Only return companies whose sector label contains this text (case-insensitive). Leave empty for all sectors. |
market | string | no | (empty) | Only return companies whose market contains this text (case-insensitive), for example BOLSA, BALCAO. |
activeOnly | boolean | no | false | Only return companies with active listing status. |
language | enum | no | pt-br | Language for segment and industry labels returned by B3: pt-br or en-us. |
Filters combine with logical AND.
Output reference
One dataset item per company. Types: string, integer, number, boolean, string[], object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
companyName | string | Full legal company name. |
tradingName | string | B3 trading name. |
issuingCompany | string | Four-letter issuer code, for example PETR. |
codeCVM | string | CVM registration code. |
cnpj | string | Brazilian company tax ID (CNPJ), or null. |
status | string | Listing status, for example active. |
segment | string | Sector label (economic sector, for example oil and gas). |
market | string | Market, for example BOVESPA NIVEL 2, BOLSA. |
marketIndicator | string | B3 numeric market indicator code. |
b3Type | string | B3 numeric instrument type code. |
typeBDR | string | BDR type when applicable, else null. |
listingDate | string | Date first listed (DD/MM/YYYY). |
mainCode | string | Primary trading code (detail only). |
website | string | Company website (detail only), or null. |
industryClassification | string | B3 industry classification path (detail only). |
activity | string | Business activity description (detail only), or null. |
categoryBVMF | string | BVMF category description (detail only), or null. |
listingSegmentCode | string | Governance listing segment code (NM, N1, N2), detail only. |
listingSegment | string | Governance listing segment name (Novo Mercado, Nivel 1, Nivel 2), detail only. |
hasQuotation | boolean | Whether the company has quoted instruments. |
hasBDR | boolean | Whether the company has BDRs. |
hasEmissions | boolean | Whether the company has emissions. |
lastUpdate | string | B3 last-update timestamp (detail only). |
tickers | string[] | All ticker codes for the company. |
otherCodes | object[] | Ticker code plus ISIN pairs (detail only). |
isinCodes | string[] | All ISIN codes (detail only). |
registrarCommon | string | Registrar for common shares (detail only), or null. |
registrarPreferred | string | Registrar for preferred shares (detail only), or null. |
stockCapital | number | Share capital in BRL (detail only). |
numberCommonShares | integer | Number of common shares (detail only). |
numberPreferredShares | integer | Number of preferred shares (detail only). |
totalNumberShares | integer | Total shares outstanding (detail only). |
commonSharesForm | string | Form of common shares, for example Escritural (detail only). |
preferredSharesForm | string | Form of preferred shares (detail only). |
roundLot | integer | Standard trading lot size (detail only). |
quotedSince | string | Date first quoted (detail only). |
cashDividends | object[] | Cash-dividend and JCP history (label, rate, related period, approval, dates, ISIN), or null. |
stockDividends | object[] | Stock dividends: splits, reverse splits and bonus shares (label, factor, dates, ISIN), or null. |
subscriptions | object[] | Subscription (rights) events (label, percentage, price, period, dates, ISIN), or null. |
dividendCount | integer | Number of cash-dividend events found. |
stockDividendCount | integer | Number of stock-dividend events found. |
subscriptionCount | integer | Number of subscription events found. |
hasDividends | boolean | Whether any cash dividends were found. |
tickerCount | integer | Number of ticker codes. |
instrumentType | string | Instrument type, for example Equity, BDR. |
url | string | B3 listed-companies source URL. |
observedAt | string | ISO 8601 timestamp of collection. |
aiSummary | string | Plain-English investor snapshot. Populated only when the AI summary add-on is on, else null. |
error | string | null on success. On a failed item, an item with a populated error field is written instead. |
Example output record
Real record from a live run (input {"maxCompanies":10,"withDetails":true}), showing how nulls are returned for a company with no detail data:
{"companyName": "21SHARES CARDANO ETP","tradingName": "21SH CARDANO","issuingCompany": "AADA","codeCVM": "50104","cnpj": null,"status": "active","segment": "Não Classificados","market": "BOLSA","marketIndicator": "99","b3Type": "7","typeBDR": "DRE","listingDate": "17/07/2025","mainCode": "AADA39","website": null,"industryClassification": "Não Classificados / Não Classificado / Não Classificados","activity": null,"categoryBVMF": null,"listingSegmentCode": "BOLSA","listingSegment": "Tradicional","hasQuotation": true,"hasBDR": false,"hasEmissions": false,"lastUpdate": "07/08/2026 23:06:47","tickers": ["AADA39"],"otherCodes": [{ "code": "AADA39", "isin": "BRAADABDR003" }],"isinCodes": ["BRAADABDR003"],"registrarCommon": null,"registrarPreferred": "BANCO B3 S.A.","stockCapital": 0,"numberCommonShares": 0,"numberPreferredShares": 5125000,"totalNumberShares": 5125000,"commonSharesForm": null,"preferredSharesForm": "Escritural","roundLot": 1,"quotedSince": "30/07/2025","cashDividends": null,"stockDividends": null,"subscriptions": null,"dividendCount": 0,"stockDividendCount": 0,"subscriptionCount": 0,"hasDividends": false,"tickerCount": 1,"instrumentType": "BDR","url": "https://www.b3.com.br/en_us/products-and-services/trading/equities/listed-companies/listed-companies.htm","observedAt": "2026-09-04T14:40:42.149Z","aiSummary": null,"error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"search":"banco","withDetails":true,"maxCompanies":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"segment":"Bancos","activeOnly":true,"maxCompanies":100}'
Apify CLI:
apify call scrapers_lat/b3-scraper \--input '{"search":"petrobras","withDetails":true}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per company record returned (
resultevent). See the pricing tab for the current per-result price. - Add-ons billed separately. Detail fetching (
details) and the AI summary (ai_summary) are billed only for the work they do, and only after the record is delivered. The AI summary is charged only when a summary is produced, on paid plans. - No charge on failure. If an item errors, the actor writes an item with an
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run and cannot use the AI add-on. Upgrade for higher
maxCompaniesand enrichment.
FAQ and troubleshooting
Is this a B3 or Bovespa API? It gives you the same data as an API: clean JSON or CSV of every listed company on B3 (formerly Bovespa), on demand, without any official B3 account or key.
A run returned 0 records. Why? The name, sector, or market filter matched nothing. Loosen the filters or clear them to list the whole registry. Zero-result runs are not charged.
Why are website, activity, cashDividends, or the share counts null?
Those come from the company detail record, which is only fetched when withDetails is on. With it off, only the registry-level fields are returned.
Why is cnpj null on some companies?
ETPs, BDRs, and some foreign instruments have no Brazilian CNPJ, so the field is null. Missing source values are returned as null, never invented.
What is the difference between segment and listingSegment?
segment is the economic sector (for example oil and gas). listingSegment is the corporate-governance tier on B3 (Novo Mercado, Nivel 1, Nivel 2, Tradicional), with listingSegmentCode as its short code.
Can I get the full dividend history?
Yes. With withDetails on, cashDividends carries every cash-dividend and JCP event B3 lists, stockDividends carries splits and bonus shares, and subscriptions carries rights events. Counts are in dividendCount, stockDividendCount and subscriptionCount.
Does it return quotes or prices? It returns the listed-company registry (identity, capital, dividends), not intraday quotes. Ticker codes and ISIN let you join to any price feed.
Is this an official B3 tool? No. This actor is independent and has no affiliation with B3. It reads only data that is publicly available on the B3 listed-companies registry. Use it in accordance with the source terms of use.
Related scrapers
- Argentina Companies Scraper: Argentine company registry records.
- SEC EDGAR Company Filings Scraper: US SEC filings by ticker or CIK.
- BCRA Deudores Scraper: Argentine central-bank debtor records.
- BaFin Germany Financial Institutions Scraper: German financial institutions supervised by BaFin.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Scraper de Tickers e Empresas Listadas na B3 (Bovespa) do Brasil
O scraper mais completo da bolsa brasileira B3 (Bovespa) na Apify. Exporte todo o cadastro de empresas listadas na B3 em JSON, CSV ou Excel limpo: razao social, cada ticker com ISIN, codigo CVM, CNPJ, segmento de listagem (Novo Mercado, Nivel 1, Nivel 2), setor, capital social, quantidade de acoes e todo o historico de dividendos. Nao precisa de conta na B3, apenas HTTP, sem API oficial da B3.
Veja um resultado real, com todos os campos que o actor retorna (os arrays cashDividends, stockDividends e subscriptions aparecem com um item cada):
{"companyName": "PETROLEO BRASILEIRO S.A. PETROBRAS","tradingName": "PETROBRAS","issuingCompany": "PETR","codeCVM": "9512","cnpj": "33000167000101","status": "active","segment": "Exploração. Refino e Distribuição","market": "BOVESPA NIVEL 2","marketIndicator": "17","b3Type": "1","typeBDR": null,"listingDate": "27/08/1968","mainCode": "PETR4","website": "https://www.petrobras.com.br","industryClassification": "Petróleo. Gás e Biocombustíveis / Petróleo. Gás e Biocombustíveis / Exploração. Refino e Distribuição","activity": "Pesquisa. lavra. refinação. processamento. comércio e transporte de petróleo...","categoryBVMF": null,"listingSegmentCode": "N2","listingSegment": "Nível 2","hasQuotation": true,"hasBDR": false,"hasEmissions": false,"lastUpdate": "02/09/2026 23:47:46","tickers": ["PETR3", "PETR4", "PETR-DEB62"],"otherCodes": [{ "code": "PETR3", "isin": "BRPETRACNOR9" },{ "code": "PETR4", "isin": "BRPETRACNPR6" }],"isinCodes": ["BRPETRACNOR9", "BRPETRACNPR6"],"registrarCommon": "BRADESCO","registrarPreferred": "BRADESCO","stockCapital": 205431960490.52,"numberCommonShares": 7442231382,"numberPreferredShares": 5446501379,"totalNumberShares": 12888732761,"commonSharesForm": "Escritural","preferredSharesForm": "Escritural","roundLot": 100,"quotedSince": "23/06/2000","cashDividends": [{"label": "DIVIDENDO","rate": "0,47156696000","relatedTo": "Anual/2026","approvedOn": "06/08/2026","lastDatePrior": "21/08/2026","paymentDate": "21/12/2026","isinCode": "BRPETRACNOR9","assetIssued": "BRPETRACNOR9","remarks": null}],"stockDividends": [{"label": "DESDOBRAMENTO","factor": "100,00000000000","approvedOn": "25/04/2008","lastDatePrior": "25/04/2008","isinCode": "BRPETRACNOR9","assetIssued": "BRPETRACNOR9","remarks": null}],"subscriptions": [{"label": "SUBSCRICAO","percentage": "20,00000000000","priceUnit": "1,00000000000","tradingPeriod": "01/01/1900 a 01/01/1900","subscriptionDate": null,"approvedOn": "15/08/1974","lastDatePrior": "14/11/1974","isinCode": "BRPETRACPPR1","assetIssued": "BRPETRACPPR1","remarks": null}],"dividendCount": 24,"stockDividendCount": 6,"subscriptionCount": 1,"hasDividends": true,"tickerCount": 3,"instrumentType": "Equity","url": "https://www.b3.com.br/en_us/products-and-services/trading/equities/listed-companies/listed-companies.htm","observedAt": "2026-09-04T02:53:24.588Z","aiSummary": null,"error": null}
Ele retorna todos os campos que o cadastro da B3 expoe para cada empresa listada, incluindo CNPJ, codigo CVM, classificacao setorial, todos os tickers com ISIN, segmento de governanca, capital social, quantidade de acoes, e todo o historico de dividendos em dinheiro, proventos em acoes (desdobramentos) e subscricoes, alem de contagens derivadas, e oferece cinco filtros para segmentar exatamente as empresas que voce precisa.
📥 Entrada · 📤 Saida · 💰 Precos · ▶️ Exemplos
Indice
- O que faz
- Para quem e
- Como se compara
- Inicio rapido
- Referencia de entrada
- Referencia de saida
- Exemplo de registro
- Executar via API e CLI
- Obter resultados
- Cobranca e limites
- Perguntas frequentes
O que faz
Este e um scraper da bolsa B3 e uma API de dados da Bovespa para o mercado brasileiro. Ele le o cadastro de empresas listadas na B3 (Brasil, Bolsa, Balcao) e grava um registro normalizado por empresa. Lista todo o cadastro ou filtra por nome, setor, mercado e situacao ativa.
Com withDetails ligado (o padrao) ele busca o registro de detalhe de cada empresa para adicionar classificacao setorial, atividade, site, cada ticker com seu ISIN, o segmento de governanca (Novo Mercado e niveis), capital social, quantidade de acoes, forma das acoes, escrituradores, e todo o historico de eventos corporativos: dividendos em dinheiro (dividendos e JCP), proventos em acoes (desdobramentos, grupamentos, bonificacoes) e subscricoes. Campos derivados (tickerCount, dividendCount, stockDividendCount, subscriptionCount, hasDividends, instrumentType) sao calculados sobre os dados brutos da B3. Valores ausentes na origem sao retornados como null, nunca inventados.
Um complemento de IA opcional (apenas planos pagos da Apify, desligado por padrao) escreve um resumo em linguagem simples de cada empresa a partir do proprio registro de detalhe da B3. Ele so e cobrado quando um resumo e produzido.
Para quem e
- Fintechs e corretoras montando um universo de acoes do Brasil (tickers, ISIN, CNPJ, codigo CVM) para cadastro, triagem ou dados de referencia.
- Times de quant e dados que precisam de uma lista limpa e legivel por maquina de cada empresa da B3 com financas e historico de dividendos.
- Fluxos de KYB, compliance e pesquisa que ligam um ticker brasileiro a um CNPJ, codigo CVM e razao social.
- Investidores de dividendos e renda acompanhando datas de pagamento, taxas e eventos de JCP em todo o mercado.
- Analistas e jornalistas mapeando setores, segmentos de governanca (Novo Mercado) e eventos corporativos na bolsa de Sao Paulo.
Buscas comuns que este actor responde: B3 scraper, B3 API, dados da Bovespa, dados da bolsa brasileira, acoes B3, cotacoes B3, empresas listadas B3, ticker CNPJ B3, market data Brasil.
Como se compara
Scrapers genericos de acoes globais retornam uma cotacao, mas nao trazem os campos de identidade do cadastro brasileiro (CNPJ, codigo CVM, ISIN, segmento de governanca) nem o historico de eventos corporativos. Este actor e nativo da B3 e retorna tudo isso.
| Recurso | Este actor | Scrapers genericos de acoes globais |
|---|---|---|
| Cadastro completo de empresas listadas na B3 | Sim, todas as empresas | Parcial, apenas tickers populares |
| Razao social e nome de pregao | Sim | As vezes |
| Todos os tickers por empresa | Sim, com ISIN | Geralmente um simbolo |
| Codigos ISIN | Sim | Raramente |
| Codigo de registro CVM | Sim | Nao |
| CNPJ (identificador fiscal brasileiro) | Sim | Nao |
| Segmento de listagem (Novo Mercado) | Sim, codigo e nome | Nao |
| Setor e classificacao setorial | Sim | As vezes |
| Capital social e acoes em circulacao | Sim | Raramente |
| Historico de dividendos (dividendos, JCP) | Sim, completo | Raramente |
| Proventos em acoes e subscricoes | Sim | Nao |
| Escrituradores e forma das acoes | Sim | Nao |
| Filtro por nome, setor, mercado, ativo | Sim | Varia |
| Rotulos de segmento em portugues ou ingles | Sim | Nao |
| Exportar JSON, CSV, Excel | Sim | Varia |
Inicio rapido
Abra o actor, cole isto na entrada e clique em Run. Ele retorna as primeiras 10 empresas listadas com detalhe completo.
{"maxCompanies": 10,"withDetails": true}
Use search para filtrar por nome (por exemplo petrobras, banco, energia). Deixe todos os filtros vazios para raspar todas as empresas da B3. Defina withDetails como false para uma varredura rapida apenas do cadastro.
Referencia de entrada
| Campo | Tipo | Obrigatorio | Padrao | Descricao |
|---|---|---|---|---|
maxCompanies | integer | nao | 10 | Numero maximo de empresas a coletar (1 a 1000000). |
withDetails | boolean | nao | true | Busca o registro de detalhe de cada empresa (setor, atividade, site, todos os tickers com ISIN, segmento de listagem, capital, dividendos, desdobramentos, subscricoes). Duas requisicoes extras por empresa. |
withAiSummary | boolean | nao | false | Complemento pago. Adiciona um resumo de IA construido a partir do registro de detalhe da B3. Requer withDetails. Requer plano pago da Apify. Cobrado apenas quando um resumo e produzido. |
search | string | nao | (vazio) | Filtra empresas por nome (no servidor, correspondencia parcial), por exemplo banco, energia, petro. Vazio lista todo o cadastro. |
segment | string | nao | (vazio) | Retorna apenas empresas cujo rotulo de setor contem este texto (sem diferenciar maiusculas). Vazio para todos os setores. |
market | string | nao | (vazio) | Retorna apenas empresas cujo mercado contem este texto (sem diferenciar maiusculas), por exemplo BOLSA, BALCAO. |
activeOnly | boolean | nao | false | Retorna apenas empresas com situacao de listagem ativa. |
language | enum | nao | pt-br | Idioma dos rotulos de segmento e setor retornados pela B3: pt-br ou en-us. |
Os filtros combinam com E logico.
Referencia de saida
Um item de dataset por empresa. Tipos: string, integer, number, boolean, string[], object[], ou null quando o valor de origem esta ausente.
| Campo | Tipo | Descricao |
|---|---|---|
companyName | string | Razao social completa. |
tradingName | string | Nome de pregao na B3. |
issuingCompany | string | Codigo do emissor de quatro letras, por exemplo PETR. |
codeCVM | string | Codigo de registro na CVM. |
cnpj | string | CNPJ da empresa, ou null. |
status | string | Situacao de listagem, por exemplo active. |
segment | string | Rotulo de setor economico (por exemplo petroleo e gas). |
market | string | Mercado, por exemplo BOVESPA NIVEL 2, BOLSA. |
marketIndicator | string | Codigo numerico de indicador de mercado da B3. |
b3Type | string | Codigo numerico de tipo de instrumento da B3. |
typeBDR | string | Tipo de BDR quando aplicavel, senao null. |
listingDate | string | Data da primeira listagem (DD/MM/AAAA). |
mainCode | string | Codigo de negociacao principal (apenas detalhe). |
website | string | Site da empresa (apenas detalhe), ou null. |
industryClassification | string | Caminho de classificacao setorial da B3 (apenas detalhe). |
activity | string | Descricao da atividade (apenas detalhe), ou null. |
categoryBVMF | string | Descricao da categoria BVMF (apenas detalhe), ou null. |
listingSegmentCode | string | Codigo do segmento de governanca (NM, N1, N2), apenas detalhe. |
listingSegment | string | Nome do segmento de governanca (Novo Mercado, Nivel 1, Nivel 2), apenas detalhe. |
hasQuotation | boolean | Se a empresa tem instrumentos cotados. |
hasBDR | boolean | Se a empresa tem BDRs. |
hasEmissions | boolean | Se a empresa tem emissoes. |
lastUpdate | string | Data e hora da ultima atualizacao na B3 (apenas detalhe). |
tickers | string[] | Todos os codigos de ticker da empresa. |
otherCodes | object[] | Pares de ticker e ISIN (apenas detalhe). |
isinCodes | string[] | Todos os codigos ISIN (apenas detalhe). |
registrarCommon | string | Escriturador das acoes ordinarias (apenas detalhe), ou null. |
registrarPreferred | string | Escriturador das acoes preferenciais (apenas detalhe), ou null. |
stockCapital | number | Capital social em BRL (apenas detalhe). |
numberCommonShares | integer | Quantidade de acoes ordinarias (apenas detalhe). |
numberPreferredShares | integer | Quantidade de acoes preferenciais (apenas detalhe). |
totalNumberShares | integer | Total de acoes em circulacao (apenas detalhe). |
commonSharesForm | string | Forma das acoes ordinarias, por exemplo Escritural (apenas detalhe). |
preferredSharesForm | string | Forma das acoes preferenciais (apenas detalhe). |
roundLot | integer | Tamanho do lote padrao (apenas detalhe). |
quotedSince | string | Data da primeira cotacao (apenas detalhe). |
cashDividends | object[] | Historico de dividendos e JCP (rotulo, taxa, periodo, aprovacao, datas, ISIN), ou null. |
stockDividends | object[] | Proventos em acoes: desdobramentos, grupamentos e bonificacoes (rotulo, fator, datas, ISIN), ou null. |
subscriptions | object[] | Eventos de subscricao (rotulo, percentual, preco, periodo, datas, ISIN), ou null. |
dividendCount | integer | Numero de eventos de dividendo em dinheiro encontrados. |
stockDividendCount | integer | Numero de eventos de provento em acoes encontrados. |
subscriptionCount | integer | Numero de eventos de subscricao encontrados. |
hasDividends | boolean | Se algum dividendo em dinheiro foi encontrado. |
tickerCount | integer | Numero de codigos de ticker. |
instrumentType | string | Tipo de instrumento, por exemplo Equity, BDR. |
url | string | URL de origem das empresas listadas na B3. |
observedAt | string | Data e hora ISO 8601 da coleta. |
aiSummary | string | Resumo em linguagem simples. Preenchido apenas quando o complemento de resumo de IA esta ligado, senao null. |
error | string | null em caso de sucesso. Em um item com falha, um item com o campo error preenchido e gravado. |
Exemplo de registro
Registro real de uma execucao ao vivo (entrada {"maxCompanies":10,"withDetails":true}), mostrando como os nulos sao retornados para uma empresa sem dados de detalhe:
{"companyName": "21SHARES CARDANO ETP","tradingName": "21SH CARDANO","issuingCompany": "AADA","codeCVM": "50104","cnpj": null,"status": "active","segment": "Não Classificados","market": "BOLSA","marketIndicator": "99","b3Type": "7","typeBDR": "DRE","listingDate": "17/07/2025","mainCode": "AADA39","listingSegmentCode": "BOLSA","listingSegment": "Tradicional","tickers": ["AADA39"],"isinCodes": ["BRAADABDR003"],"totalNumberShares": 5125000,"cashDividends": null,"stockDividends": null,"subscriptions": null,"dividendCount": 0,"instrumentType": "BDR","observedAt": "2026-09-04T14:40:42.149Z","error": null}
Executar via API e CLI
Inicie uma execucao e espere terminar, depois leia o dataset. Substitua <TOKEN> pelo seu token da API Apify.
Execute de forma sincrona e obtenha os itens do dataset em uma chamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"search":"banco","withDetails":true,"maxCompanies":25}'
Inicie uma execucao de forma assincrona:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"segment":"Bancos","activeOnly":true,"maxCompanies":100}'
CLI da Apify:
apify call scrapers_lat/b3-scraper \--input '{"search":"petrobras","withDetails":true}'
Obter resultados
Cada execucao grava em um dataset. Obtenha os itens em JSON, CSV ou Excel mudando format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> e retornado como defaultDatasetId no objeto da execucao. Use offset e limit para paginar grandes conjuntos de resultados. clean=true remove campos vazios e internos.
Cobranca e limites
- Pagamento por resultado. Voce e cobrado por registro de empresa retornado (evento
result). Veja a aba de precos para o preco por resultado atual. - Complementos cobrados a parte. A busca de detalhe (
details) e o resumo de IA (ai_summary) sao cobrados apenas pelo trabalho que realizam, e somente depois que o registro e entregue. O resumo de IA e cobrado apenas quando um resumo e produzido, em planos pagos. - Sem cobranca em caso de falha. Se um item da erro, o actor grava um item com o campo
errore nao cobra por ele. Execucoes vazias nao custam nada. - Limite de gasto respeitado. Defina
maxTotalChargeUsdna execucao; ao ser atingido, o actor para de emitir e cobrar mais resultados cobraveis. - Planos gratuitos da Apify sao limitados a 10 registros por execucao e nao podem usar o complemento de IA. Faca upgrade para
maxCompaniesmaior e enriquecimento.
Perguntas frequentes
Isto e uma API da B3 ou Bovespa? Ele entrega os mesmos dados de uma API: JSON ou CSV limpo de cada empresa listada na B3 (antiga Bovespa), sob demanda, sem nenhuma conta ou chave oficial da B3.
Uma execucao retornou 0 registros. Por que? O filtro de nome, setor ou mercado nao encontrou nada. Afrouxe os filtros ou limpe-os para listar todo o cadastro. Execucoes com zero resultados nao sao cobradas.
Por que website, activity, cashDividends ou as quantidades de acoes estao nulos?
Eles vem do registro de detalhe da empresa, que so e buscado quando withDetails esta ligado. Com ele desligado, apenas os campos do cadastro sao retornados.
Por que cnpj esta nulo em algumas empresas?
ETPs, BDRs e alguns instrumentos estrangeiros nao tem CNPJ brasileiro, entao o campo e null. Valores ausentes na origem sao retornados como null, nunca inventados.
Qual a diferenca entre segment e listingSegment?
segment e o setor economico (por exemplo petroleo e gas). listingSegment e o nivel de governanca corporativa na B3 (Novo Mercado, Nivel 1, Nivel 2, Tradicional), com listingSegmentCode como o codigo curto.
Posso obter todo o historico de dividendos?
Sim. Com withDetails ligado, cashDividends traz cada evento de dividendo e JCP que a B3 lista, stockDividends traz desdobramentos e bonificacoes, e subscriptions traz eventos de subscricao. As contagens estao em dividendCount, stockDividendCount e subscriptionCount.
Ele retorna cotacoes ou precos? Ele retorna o cadastro de empresas listadas (identidade, capital, dividendos), nao cotacoes intraday. Os codigos de ticker e ISIN permitem cruzar com qualquer fonte de precos.
Esta e uma ferramenta oficial da B3? Nao. Este actor e independente e nao tem afiliacao com a B3. Ele le apenas dados publicamente disponiveis no cadastro de empresas listadas da B3. Use de acordo com os termos de uso da fonte.
Mais scrapers em scrapers.lat
Construido e mantido pela scrapers.lat, onde publicamos scrapers para plataformas publicas dos EUA e da America Latina: cadastros de empresas, dados governamentais, financas, e-commerce e mais. Explore o catalogo ou solicite um scraper sob medida em scrapers.lat.
Ferramenta independente, sem afiliacao com a B3. Acessa apenas dados publicamente disponiveis do cadastro de empresas listadas da B3. Use de acordo com os termos de uso da fonte.
