# B3 Brazil Listed Company Registry Scraper (`scrapers_lat/b3-scraper`) Actor

Extract the B3 Brazilian stock exchange listed-company registry. Scrape company name, trading name, ticker codes with ISIN, CVM code, CNPJ, segment, market, industry classification and corporate website.

- **URL**: https://apify.com/scrapers\_lat/b3-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<!-- actor-banner -->
[![B3 Brazil Listed Company Registry Scraper](https://scrapers.lat/banners/b3-scraper.png)](https://console.apify.com/actors/xEoaFPoKAHsdgnGlM/input)
<!-- /actor-banner -->

## B3 Scraper

> Extract the full B3 listed-company registry from the Brazilian stock exchange, covering all 3,400+ issuers with ticker codes, CVM codes and CNPJ

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Brazil-blue)
![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>21 fields</strong><br>per record</td>
<td align="center"><strong>Brazil</strong><br>coverage</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
<td align="center"><strong>Updated</strong><br>2026-06-23</td>
</tr></table>

<br>

### What you get

Each record is one company in the B3 (B3 S.A. Brasil, Bolsa, Balcão) listed-company registry, useful for equity research, market mapping, KYC and CRM enrichment of Brazilian issuers.

- **companyName**: full registered company name (razao social)
- **tradingName**: short trading name used on the exchange
- **issuingCompany**: four-letter issuer code (e.g. PETR, VALE, ITUB)
- **codeCVM**: CVM registration code (Brazilian securities regulator)
- **cnpj**: company tax identifier, digits only
- **status**: registry status (active when the issuer is listed)
- **segment**: listing segment or governance level (e.g. Novo Mercado, N1, N2)
- **market**: market the security trades on (e.g. BOVESPA NIVEL 2, BALCAO NAO ORG.)
- **typeBDR**: BDR type when the issuer is a Brazilian Depositary Receipt
- **listingDate**: date the company was listed
- **industryClassification\***: B3 sector / subsector / segment classification path
- **activity\***: description of the company's corporate activity
- **website\***: corporate or investor-relations website
- **hasQuotation\***: whether the issuer currently has a market quotation
- **hasBDR\***: whether the issuer has an associated BDR
- **hasEmissions\***: whether the issuer has fixed-income emissions
- **lastUpdate\***: timestamp of the last B3 update for the issuer
- **tickers\***: array of trading ticker codes for the issuer (e.g. PETR3, PETR4)
- **otherCodes\***: array of ticker codes paired with their ISIN identifiers
- **isinCodes\***: array of ISIN securities identifiers for the issuer's tradable codes
- **registrarCommon\***: registrar / transfer bank for the common (ON) shares
- **registrarPreferred\***: registrar / transfer bank for the preferred (PN) shares
- **url**: link to the B3 listed-companies page
- **observedAt**: when this record was last seen by the scraper

*\*These fields only appear when withDetails is set to true.*

### Who is it for

| Use case | Who benefits |
|---|---|
| Build a master list of every B3-listed issuer | Equity researchers and data teams |
| Map ticker codes to company names and CNPJ | Fintech and brokerage developers |
| Enrich CRM records with CVM code and segment | Sales and onboarding teams |
| Screen issuers by industry classification | Investment analysts |
| Monitor the registry for new listings | Market-data providers |

### Frequently Asked Questions

**Which companies does this scraper cover?**
It covers every issuer in the B3 listed-companies registry for Brazil, more than 3,400 records including ordinary companies, BDRs and exchange-traded products. You can scrape the whole registry or filter by company name.

**How many records can I get in one run?**
The full registry is over 3,400 companies and the scraper paginates through all of them. Use the Max Items field to cap the run, or leave it empty to collect everything.

**Can I filter by company name?**
Yes. The Company name search field filters the registry server-side by a partial name match, so a search like banco, energia or petro returns only matching issuers.

**What is the difference between running with and without details?**
Without details you get the core registry fields (name, ticker issuer code, CVM code, CNPJ, segment). With details enabled the scraper fetches each company's detail record to add industry classification, activity, website, all trading ticker codes with ISIN, ISIN code array, the registrar / transfer banks for common and preferred shares, and market.

**Why are some fields like website or tickers empty for certain companies?**
Many entries in the registry are holding companies, depositary receipts or registry-only issuers that do not actively trade, so B3 publishes no website, activity or ticker for them. The scraper returns null for these instead of inventing values; actively traded companies such as Petrobras or Itau populate every field.



<!-- example-tasks -->
### Example use cases

Ready-to-run example tasks, each preconfigured for a common scenario. Open one and press run, or use it as a template:

- [B3 Bank Sector Stocks Search by Company Name](https://apify.com/scrapers_lat/b3-scraper/examples/b3-bank-stocks-search): Find Brazilian bank stocks on B3 by company name. Get tickers, CNPJ, industry segment, market and website for every matching listed bank.
- [B3 Listed Companies Full Export with Details](https://apify.com/scrapers_lat/b3-scraper/examples/b3-listed-companies-export): Export every company listed on B3, the Brazil stock exchange, with industry classification, CNPJ, tickers, ISIN and website.
- [B3 Tickers and Company Fundamentals Snapshot](https://apify.com/scrapers_lat/b3-scraper/examples/b3-tickers-company-fundamentals): Pull B3 ticker codes with ISIN plus company fundamentals: trading name, CNPJ, industry classification, market segment and website.

<!-- /example-tasks -->

<!-- related-actors -->
### Related scrapers

Need data from the same space? Here are other scrapers we build and maintain:

- [Argentina Dollar Exchange Rate Scraper](https://apify.com/scrapers_lat/argentina-dolar-scraper): Scrape Argentina dollar exchange rates (blue, oficial, MEP, CCL, tarjeta, cripto) with buy and sell...
- [Doctoralia Doctor Profiles & Reviews Scraper](https://apify.com/scrapers_lat/doctoralia-scraper): Extract doctors and specialists from Doctoralia across LATAM. Scrape names, specialties, cities...
- [Paginas Amarillas Business Listings Scraper](https://apify.com/scrapers_lat/paginasamarillas-scraper): Extract business listings from Páginas Amarillas across 9 LATAM countries. Scrape business name...
- [SUNAT Peru RUC Scraper](https://apify.com/scrapers_lat/sunat-scraper): Extract Peru SUNAT taxpayer records by RUC or company name: legal name, status, tax address, CIIU...
- [Colombia SECOP Scraper](https://apify.com/scrapers_lat/colombia-secop-scraper): Extract Colombia public contracts from SECOP II (datos.gov.co): entity and supplier, NIT, contract...
- [Chile Mercado Publico Supplier & Award Scraper](https://apify.com/scrapers_lat/mercado-publico-scraper): Extract Chile state suppliers from Mercado Publico and ChileProveedores with public-procurement...

<!-- /related-actors -->

<!-- scrapers-lat-cta -->
### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for Latin American and US public platforms: real estate, jobs, e-commerce, company registries and government data. Browse the full catalog, see live sample output for each one, or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

---

> This actor is an independent tool and has no affiliation with B3 S.A. It only accesses data that is publicly available on the B3 website. B3 also offers an official paid market-data feed; this actor uses public web data. Use it in accordance with B3's terms of service.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of listed companies to collect. Optional.
## `withDetails` (type: `boolean`):

When enabled, the scraper fetches the detail record for each company (industry classification, activity, website, all ticker codes with ISIN, market). One extra request per company.
## `search` (type: `string`):

Filter companies by name (server-side, partial match). Leave empty to list the entire registry. Example: banco, energia, petro.
## `language` (type: `string`):

Language for segment labels returned by B3.
## `proxyConfiguration` (type: `object`):

Optional proxy. B3's public endpoints respond from datacenter IPs, so a proxy is normally not required.

## Actor input object example

```json
{
  "maxItems": 10,
  "withDetails": true,
  "language": "pt-br",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/b3-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/b3-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call scrapers_lat/b3-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapers_lat/b3-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "B3 Brazil Listed Company Registry Scraper",
        "description": "Extract the B3 Brazilian stock exchange listed-company registry. Scrape company name, trading name, ticker codes with ISIN, CVM code, CNPJ, segment, market, industry classification and corporate website.",
        "version": "0.1",
        "x-build-id": "BVnnqwyzIoH5bRF63"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers_lat~b3-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers_lat-b3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapers_lat~b3-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers_lat-b3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapers_lat~b3-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers_lat-b3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum number of listed companies to collect. Optional."
                    },
                    "withDetails": {
                        "title": "Fetch company details",
                        "type": "boolean",
                        "description": "When enabled, the scraper fetches the detail record for each company (industry classification, activity, website, all ticker codes with ISIN, market). One extra request per company.",
                        "default": true
                    },
                    "search": {
                        "title": "Company name search",
                        "type": "string",
                        "description": "Filter companies by name (server-side, partial match). Leave empty to list the entire registry. Example: banco, energia, petro."
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "pt-br",
                            "en-us"
                        ],
                        "type": "string",
                        "description": "Language for segment labels returned by B3.",
                        "default": "pt-br"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy. B3's public endpoints respond from datacenter IPs, so a proxy is normally not required.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
