InfoMoney APIinfomoney.com.br ↗
Access B3 stock quotes, historical OHLCV, intraday prices, fundamentals, dividends, currency rates, crypto, and news via the InfoMoney API.
What is the InfoMoney API?
The InfoMoney API covers 10 endpoints for Brazilian financial market data from infomoney.com.br, including real-time B3 stock quotes, paginated historical OHLCV records, intraday minute-by-minute prices, fundamental indicators, and dividend history. The get_stock_fundamentals endpoint alone returns over a dozen metrics including EBITDA margin, net debt, and total equity. Currency and cryptocurrency rates against BRL are also available alongside market news.
curl -X GET 'https://api.parse.bot/scraper/197d4554-7009-4a1e-852e-90977cea7fc4/get_stock_last_15_days?ticker=PETR4' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace infomoney-com-br-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.infomoney_stock_financial_data_api import InfoMoney, IntradayInterval, MoverOrder
client = InfoMoney()
# Get top movers (gainers) on the IBOV index
for mover in client.markets.top_movers(order=MoverOrder.DESC):
print(mover.symbol, mover.change, mover.price, mover.financial_volume)
# Fetch a specific stock and explore its data
petr4 = client.stock("PETR4")
# Get recent daily history
for quote in petr4.last_15_days():
print(quote.trade_date, quote.close, quote.change, quote.trade_volume)
# Get intraday 5-minute candles for the current day
for candle in petr4.intraday(interval=IntradayInterval.ONE_DAY, periodicity=5):
print(candle.trade_date, candle.open, candle.close, candle.price)
# Get fundamental indicators
fundamentals = petr4.fundamentals()
print(fundamentals.roe, fundamentals.net_margin, fundamentals.price_by_profit)
# Get dividend history for the last 12 months
for dividend in petr4.dividends(months=12):
print(dividend.type, dividend.rate, dividend.dividend_yield, dividend.last_date_prior_to_ex)
# Get currency exchange rates
for rate in client.markets.currency_rates(symbols="USD,EUR"):
print(rate.symbol, rate.bid, rate.ask)
# Get crypto rates
for crypto in client.markets.crypto_rates(symbols="Bitcoin,Ethereum"):
print(crypto.symbol, crypto.price, crypto.change)
# Get recent news for the stock
for article in petr4.news():
print(article.date, article.title, article.link)
Get stock values for the last 15 business days at daily resolution. Returns an array of OHLCV records ordered by most recent first. Each record includes open, high, low, close prices, daily change percentage, trade volume, and financial volume.
| Param | Type | Description |
|---|---|---|
| ticker | string | B3 stock ticker symbol (e.g. PETR4, VALE3, ITUB4) |
{
"type": "object",
"fields": {
"items": "array of daily OHLCV records with symbol, tradeDate, open, high, low, close, change, tradeVolume, financialVolume"
},
"sample": {
"data": {
"items": [
{
"low": 40.7,
"high": 41.37,
"open": 40.88,
"close": 41.17,
"change": -0.12,
"symbol": "PETR4",
"exchange": "B3",
"change52w": 51.81,
"tradeDate": "2026-06-09T17:05:54",
"changeYear": 37.46,
"changeMonth": -1.48,
"tradeVolume": 44680,
"financialVolume": 2328678966
}
]
},
"status": "success"
}
}About the InfoMoney API
Stock Quotes and Price History
The get_stock_quote endpoint returns the current intraday snapshot for any B3 ticker, including open, high, low, close, price, change, changeMonth, changeYear, change52w, avgPrice, and volume. For recent history without pagination, get_stock_last_15_days returns an array of daily OHLCV records for the last 15 business days ordered most-recent-first. For deeper history, get_stock_historical_data accepts page, page_size, and ticker and returns a result array plus a pageInfo object with a hasNextPage boolean to handle multi-page traversal.
Intraday and Fundamental Data
get_stock_intraday returns high-frequency price records via the intradayQuoteItems array. The interval parameter accepts 'OneDay' or 'FiveDays', and periodicity controls the candle frequency in minutes (1, 5, 15, or 60). For fundamentals, get_stock_fundamentals returns balance-sheet and income-statement metrics: netRevenue, netProfit, netMargin, ebitda, ebitdaMargin, totalAsset, grossDebt, netDebt, and totalEquity, among others — all tied to a specific ticker symbol.
Dividends, Movers, and Rates
get_stock_dividends accepts a months parameter to scope the lookback window and returns records with type, rate, yield, lastDatePriorToEx, and paymentDate — useful for reconstructing dividend yield timelines. get_b3_top_movers returns the 10 IBOV stocks with the highest or lowest daily change percentage depending on the order parameter ('Desc' for gainers, 'Asc' for losers). get_currency_rates returns bid and ask for major currencies against BRL; get_crypto_rates returns price and change for named cryptocurrencies such as Bitcoin and Ethereum.
News
get_stock_news queries InfoMoney's article catalog by ticker or keyword and returns up to 100 articles per call. Each record includes id, date, link, and nested title and excerpt objects with a rendered string — matching the WordPress REST API response shape used by InfoMoney's publishing platform.
The InfoMoney API is a managed, monitored endpoint for infomoney.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when infomoney.com.br changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official infomoney.com.br API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a B3 portfolio tracker that polls
get_stock_quotefor live prices and daily change percentages. - Backfill historical OHLCV data for Brazilian equities using
get_stock_historical_datawith pagination. - Screen IBOV stocks by momentum using
get_b3_top_moversto surface the day's top gainers and losers. - Display a dividend calendar for a watchlist by calling
get_stock_dividendswith a 12-month lookback. - Model BRL currency exposure in a multi-currency portfolio using
get_currency_ratesbid/ask data. - Aggregate fundamentals like EBITDA margin and net debt across tickers via
get_stock_fundamentalsfor comparative analysis. - Surface ticker-specific news headlines and excerpts in a research dashboard using
get_stock_news.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does InfoMoney offer an official public developer API?+
What does `get_stock_fundamentals` return and how current is it?+
netRevenue, netProfit, netMargin, ebitda, ebitdaMargin, totalAsset, grossDebt, netDebt, and totalEquity. The figures reflect what InfoMoney displays on the stock's fundamentals page, which is updated after quarterly earnings filings rather than in real time.Does the API cover stocks outside the IBOV index or non-B3 exchanges?+
How does pagination work for `get_stock_historical_data`?+
page and page_size as query parameters. Each response includes a pageInfo object with a hasNextPage boolean. Increment page and continue requesting until hasNextPage is false.