Ibovespa Brazil Stocks Market API - B3 Fundamentals Scraper avatar

Ibovespa Brazil Stocks Market API - B3 Fundamentals Scraper

Pricing

from $50.00 / 1,000 per cnpj (tax id)s

Go to Apify Store
Ibovespa Brazil Stocks Market API - B3 Fundamentals Scraper

Ibovespa Brazil Stocks Market API - B3 Fundamentals Scraper

Every traded Brazilian stock on B3, including all Ibovespa stocks: price in BRL and USD, 20 fundamental indicators (P/E, P/B, dividend yield, ROE, ROIC, margins, EV/EBITDA) plus market cap, net income, EPS and net debt. Filter by ticker or export the full table as JSON, CSV or Excel.

Pricing

from $50.00 / 1,000 per cnpj (tax id)s

Rating

5.0

(2)

Developer

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

📈 What is the Ibovespa & Brazil Stocks API?

This Brazil stocks API and scraper returns every traded stock on B3, the Brazilian stock exchange (including all Ibovespa stocks), with the latest price in BRL and USD and 20 fundamental indicators: P/E, P/B, dividend yield, ROE, ROIC, margins, EV/EBITDA, debt and growth. It also calculates market cap, net income, revenue, EBIT, enterprise value, net debt, EPS, book value and dividend per share. Get the full market table in one run, or only the tickers you need.

  • ✅ Whole market in one call: around 960 traded stocks per run, ready for screening and ranking.
  • ✅ Filter by ticker: send PETR4, VALE3, ITUB4... and get only those.
  • ✅ Clean numbers: values come as real numbers (no "1.083,50" or "8,5%" strings), with English field names.
  • ✅ Valuation, profitability, debt and growth in the same record.
  • ✅ No login, no captcha, no API key from any broker.
  • ✅ You only pay for what is delivered: invalid or not found tickers are not charged.

💼 Use cases

  • 📊 Stock screening: rank the Brazilian market by P/E, dividend yield, ROE or EV/EBITDA.
  • 💰 Dividend investing: find B3 stocks with the highest dividend yield and healthy debt.
  • 🧮 Quant and backtesting: take a daily snapshot of the whole market's fundamentals.
  • 🧾 Portfolio monitoring: follow the indicators of the stocks you hold, every day.
  • 🤖 AI agents and dashboards: feed spreadsheets, BI tools and LLM agents with Brazilian market data.
  • 📰 Research and content: build tables and rankings for reports and articles.

🚀 How to use the API

curl -X POST "https://api.apify.com/v2/acts/brasildados~ibovespa-brazil-stocks-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tickers":["PETR4","VALE3"]}'

Real response (shortened to one of the two stocks):

[
{
"ticker": "PETR4",
"companyName": "PETROBRAS",
"priceBrl": 59.68,
"priceUsd": 11.74,
"priceToEarnings": 5.77,
"priceToBookValue": 1.6,
"priceToSalesRatio": 1.402,
"dividendYieldPercent": 6.11,
"priceToAssets": 0.601,
"priceToWorkingCapital": -29.14,
"priceToEbit": 3.28,
"priceToNetCurrentAssets": -1.2,
"evToEbit": 4.61,
"evToEbitda": 3.36,
"grossMarginPercent": 50.6,
"ebitMarginPercent": 42.76,
"netMarginPercent": 24.39,
"currentRatio": 0.85,
"roicPercent": 19.69,
"roePercent": 27.73,
"avgDailyVolume2MonthsBrl": 2315290000,
"shareholdersEquityBrl": 480950000000,
"netDebtToEquity": 0.65,
"revenueGrowth5yPercent": -2.33,
"marketCapBrl": 769520000000,
"netIncomeBrl": 133365684575,
"netRevenueBrl": 548873038516,
"ebitBrl": 234609756098,
"totalAssetsBrl": 1280399334443,
"enterpriseValueBrl": 1081550975610,
"netDebtBrl": 312617500000,
"earningsPerShareBrl": 10.34,
"bookValuePerShareBrl": 37.3,
"dividendPerShareBrl": 3.65,
"retrievedAt": "2026-10-19T14:34:15.370Z"
}
]

To get the full market, send an empty body: -d '{}'.

Your API token is in Settings → API & Integrations in the Apify Console. Always send it in the Authorization: Bearer header, never in the URL.

🖱️ From the Console

  1. Click Try for free (or Start) at the top of this page.
  2. Add tickers, one per line, or leave the field empty to get every stock.
  3. Click Start. Results appear in the Output tab, ready to export as JSON, CSV or Excel.

⬇️ Input

FieldDescription
tickersOptional. List of B3 tickers (e.g. PETR4, VALE3, ITUB4). Leave empty to get every traded stock.
{
"tickers": ["PETR4", "VALE3"]
}

⚠️ Invalid, repeated or not found tickers:

You sendWhat happens
PETR4 or petr4✅ Returned (tickers are case-insensitive).
The same ticker twice✅ Returned and charged once.
abc (not a B3 ticker format)⏭️ Ignored and listed in the log, not charged. The run continues.
A valid format that is not traded (e.g. XXXX9)⏭️ Listed in the log as not found, not charged.

⬆️ Output

One record per stock. Downloads (JSON, CSV, Excel) and the API always include every field; the views in the Console Output tab only change which columns are shown on screen.

FieldDescription
tickerB3 ticker (e.g. PETR4)
companyNameShort name of the listed company (e.g. PETROBRAS)
priceBrlLast price, in Brazilian reais (BRL)
priceUsdLast price in US dollars, converted with the latest official PTAX selling rate (Central Bank of Brazil)
priceToEarningsP/E: price divided by earnings per share
priceToBookValueP/B: price divided by book value per share
priceToSalesRatioP/S (PSR): market value divided by net revenue
dividendYieldPercentDividend yield in the last 12 months, in percent (6.11 = 6.11%)
priceToAssetsMarket value divided by total assets
priceToWorkingCapitalMarket value divided by working capital
priceToEbitMarket value divided by EBIT
priceToNetCurrentAssetsMarket value divided by net current assets
evToEbitEnterprise value divided by EBIT
evToEbitdaEnterprise value divided by EBITDA
grossMarginPercentGross margin, in percent
ebitMarginPercentEBIT margin, in percent
netMarginPercentNet margin, in percent
currentRatioCurrent assets divided by current liabilities
roicPercentReturn on invested capital, in percent
roePercentReturn on equity, in percent
avgDailyVolume2MonthsBrlAverage daily traded volume in the last 2 months, in BRL
shareholdersEquityBrlShareholders' equity, in BRL
netDebtToEquityNet debt divided by equity (negative = more cash than debt)
revenueGrowth5yPercentNet revenue compound annual growth over 5 years, in percent
marketCapBrlCalculated. Market cap in BRL: P/B × shareholders' equity
netIncomeBrlCalculated. Net income (last 12 months) in BRL: market cap ÷ P/E; negative = loss
netRevenueBrlCalculated. Net revenue (last 12 months) in BRL: market cap ÷ P/S
ebitBrlCalculated. EBIT (last 12 months) in BRL: market cap ÷ P/EBIT
totalAssetsBrlCalculated. Total assets in BRL: market cap ÷ P/Assets
enterpriseValueBrlCalculated. Enterprise value in BRL: EV/EBIT × EBIT
netDebtBrlCalculated. Net debt in BRL: net debt/equity × equity; negative = more cash than debt
earningsPerShareBrlCalculated. Earnings per share in BRL: price ÷ P/E
bookValuePerShareBrlCalculated. Book value per share in BRL: price ÷ P/B
dividendPerShareBrlCalculated. Dividends per share in the last 12 months, in BRL: price × dividend yield
retrievedAtDate and time the data was retrieved (ISO 8601)

Data notes:

  • Only stocks with a price above zero are returned; listed securities with no trading are left out.
  • A ratio of 0 may mean the indicator is not available for that company (for example, P/E when there is no profit to compare).
  • Percent fields are already in percent: 6.11 means 6.11%.
  • Calculated fields (market cap, net income, revenue, EBIT, assets, EV, net debt and per-share values) are derived from the published ratios at run time. They are approximations, because the ratios are rounded to 2 or 3 decimals, and come as null when the ratio they depend on is not available.
  • priceUsd uses the latest PTAX rate published by the Central Bank of Brazil (business days, around 1 p.m. Brasília time). If the rate cannot be loaded, priceUsd comes as null and the rest of the run is not affected.

💰 How much does it cost?

You pay per stock returned. A run with two tickers bills two records; the full market bills one record per traded stock. Current prices are in the Pricing tab.

🆓 Not charged: invalid tickers and tickers that are not found or not traded.

🔗 Integrations

  • REST API and official Apify clients for JavaScript and Python.
  • Google Sheets, n8n, Make and Zapier to keep a market table always updated.
  • Webhooks and Slack after each run.
  • Scheduling on Apify to take a daily snapshot of the market (e.g. cron 0 22 * * 1-5, after the B3 close).
  • MCP to use the Actor inside AI agents.

❓ FAQ

How do I get Brazilian stock fundamentals via API?

Call run-sync-get-dataset-items with {"tickers":["PETR4"]} (see How to use the API), or with {} for every traded stock. Each record has the price and 20 indicators.

Does it include every Ibovespa stock?

Yes. It returns every traded stock on B3: in our last test, all 76 stocks of the official Ibovespa portfolio were in the table, together with small caps and units (tickers ending in 11). BDRs are not included.

How many stocks come in the full table?

Around 960 traded stocks (961 in our last test). The number changes as companies list, delist or stop trading.

How are market cap, net income and the per-share values calculated?

From the published ratios, at run time: market cap = P/B × equity; net income = market cap ÷ P/E; revenue = market cap ÷ P/S; EBIT = market cap ÷ P/EBIT; EV = EV/EBIT × EBIT; EPS = price ÷ P/E; book value per share = price ÷ P/B; dividend per share = price × dividend yield. They are close approximations of the company figures, not numbers reported by the company.

Is the price available in US dollars?

Yes. priceUsd converts the price with the latest official PTAX selling rate from the Central Bank of Brazil.

Can I get historical prices?

No. Each run returns the current snapshot. To build a history, schedule a daily run and store the results.

Why do some indicators come as 0?

A 0 may mean the indicator is not available for that company, such as P/E without a profit or margins for companies without revenue data.

Do I need a broker account, API key or captcha?

No. Only your Apify token to call the API.

What happens if I send a wrong ticker?

It is ignored, listed in the log and not charged. The run continues with the valid tickers.

How often is the data updated?

Each run fetches the data again at that moment. The retrievedAt field records the exact time.

🧩 Other brasildados Actors

🌐 https://brasildados.org/ · 🛒 All brasildados Actors

🇧🇷 Resumo em português

API de ações brasileiras (B3 e Ibovespa) com indicadores fundamentalistas. Retorna todas as ações negociadas na B3, incluindo todas as do Ibovespa, com cotação e 20 indicadores: P/L, P/VP, dividend yield, ROE, ROIC, margens, EV/EBITDA, endividamento e crescimento.

  • Entrada: tickers (opcional). Vazio = todas as ações negociadas (~960).
  • Saída: um registro por ação, com números já convertidos (6.11 = 6,11%) e nomes de campo em inglês. Inclui a cotação em dólar (PTAX do Banco Central) e valores calculados a partir dos múltiplos: valor de mercado, lucro, receita, EBIT, ativo total, valor da firma, dívida líquida, LPA, VPA e dividendo por ação. Os títulos e descrições dos campos estão em inglês e português.
  • Usos: filtro de ações, carteira de dividendos, análise quantitativa, acompanhamento de carteira e agentes de IA.
  • Preço: por ação retornada; ticker inválido ou não encontrado não é cobrado. Veja a aba Pricing.
  • API: POST https://api.apify.com/v2/acts/brasildados~ibovespa-brazil-stocks-api/run-sync-get-dataset-items com {"tickers":["PETR4","VALE3"]} e Authorization: Bearer <token>.