# B3 Bovespa Brazil Stock Tickers & Listed Company Scraper (`scrapers_lat/b3-scraper`) Actor

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.

- **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:** 1 total users, 0 monthly users, 96.7% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $11.54 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

[![B3 Bovespa Brazil Stock Tickers & Listed Company Scraper](https://scrapers.lat/banners/b3-scraper.png)](https://console.apify.com/actors/xEoaFPoKAHsdgnGlM/input)

## 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):

```json
{
  "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](https://apify.com/scrapers_lat/b3-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/b3-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/b3-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/b3-scraper/examples)**

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

### Table of contents

- [What it does](#what-it-does)
- [Who it is for](#who-it-is-for)
- [How it compares](#how-it-compares)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#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.

```json
{
  "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:

```json
{
  "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:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/run-sync-get-dataset-items?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"search":"banco","withDetails":true,"maxCompanies":25}'
```

Start a run asynchronously:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/runs?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"segment":"Bancos","activeOnly":true,"maxCompanies":100}'
```

Apify CLI:

```bash
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`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=csv"

## Paginate large datasets
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&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 (`result` event). See the [pricing tab](https://apify.com/scrapers_lat/b3-scraper/pricing) 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 `error` field and does not charge for it. Empty runs cost nothing.
- **Spend cap respected.** Set `maxTotalChargeUsd` on 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 `maxCompanies` and 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](https://apify.com/scrapers_lat/argentina-companies-scraper): Argentine company registry records.
- [SEC EDGAR Company Filings Scraper](https://apify.com/scrapers_lat/sec-edgar-filings-scraper): US SEC filings by ticker or CIK.
- [BCRA Deudores Scraper](https://apify.com/scrapers_lat/bcra-deudores-scraper): Argentine central-bank debtor records.
- [BaFin Germany Financial Institutions Scraper](https://apify.com/scrapers_lat/bafin-germany-financial-institutions-scraper): German financial institutions supervised by BaFin.

### More scrapers at scrapers.lat

Built and maintained by [scrapers.lat](https://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](https://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):

```json
{
  "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](https://apify.com/scrapers_lat/b3-scraper/input-schema) · 📤 [Saida](https://apify.com/scrapers_lat/b3-scraper/output-schema) · 💰 [Precos](https://apify.com/scrapers_lat/b3-scraper/pricing) · ▶️ [Exemplos](https://apify.com/scrapers_lat/b3-scraper/examples)**

### Indice

- [O que faz](#o-que-faz)
- [Para quem e](#para-quem-e)
- [Como se compara](#como-se-compara)
- [Inicio rapido](#inicio-rapido)
- [Referencia de entrada](#referencia-de-entrada)
- [Referencia de saida](#referencia-de-saida)
- [Exemplo de registro](#exemplo-de-registro)
- [Executar via API e CLI](#executar-via-api-e-cli)
- [Obter resultados](#obter-resultados)
- [Cobranca e limites](#cobranca-e-limites)
- [Perguntas frequentes](#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.

```json
{
  "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:

```json
{
  "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:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/run-sync-get-dataset-items?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"search":"banco","withDetails":true,"maxCompanies":25}'
```

Inicie uma execucao de forma assincrona:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~b3-scraper/runs?token=%3CTOKEN%3E" \
  -H "Content-Type: application/json" \
  -d '{"segment":"Bancos","activeOnly":true,"maxCompanies":100}'
```

CLI da Apify:

```bash
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`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&clean=true&format=csv"

## Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/%3CDATASET_ID%3E/items?token=%3CTOKEN%3E&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](https://apify.com/scrapers_lat/b3-scraper/pricing) 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 `error` e nao cobra por ele. Execucoes vazias nao custam nada.
- **Limite de gasto respeitado.** Defina `maxTotalChargeUsd` na 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 `maxCompanies` maior 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](https://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](https://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.

# Actor input Schema

## `maxCompanies` (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.

## `withAiSummary` (type: `boolean`):

When enabled, adds an AI-generated plain-English investor snapshot of each company (built from its B3 detail record: activity, industry, capital and dividend history). Requires 'Fetch company details'. Billed per company only when a summary is produced. Paid Apify plans only.

## `search` (type: `string`):

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

## `segment` (type: `string`):

Optional. Only return companies whose listing segment contains this text (case-insensitive), e.g. 'Novo Mercado', 'Nivel 2'. Leave empty for all segments.

## `market` (type: `string`):

Optional. Only return companies whose market contains this text (case-insensitive), e.g. 'BOLSA', 'BALCAO'. Leave empty for all markets.

## `activeOnly` (type: `boolean`):

Optional. When enabled, only companies with active listing status are returned.

## `language` (type: `string`):

Language for segment labels returned by B3.

## Actor input object example

```json
{
  "maxCompanies": 10,
  "withDetails": true,
  "withAiSummary": false,
  "activeOnly": false,
  "language": "pt-br"
}
```

# 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 = {
    "maxCompanies": 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 = { "maxCompanies": 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(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

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

```

## CLI example

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/b3-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/xEoaFPoKAHsdgnGlM/builds/fC48Mch1acFxCLsAF/openapi.json
