StatusInvest APIstatusinvest.com.br ↗
Access Brazilian stock search, financial indicators, price history, dividends, and full stock listings from StatusInvest via a single REST API.
What is the StatusInvest API?
The StatusInvest API exposes 5 endpoints covering the full breadth of Brazilian equity data available on statusinvest.com.br — from ticker search and detailed indicators like P/L, ROE, and dividend yield to approximately 30 days of daily closing prices. The get_details endpoint returns a structured indicator object for any B3-listed ticker, while list_stocks delivers the complete universe of Brazilian equities with valuation metrics in one call.
curl -X GET 'https://api.parse.bot/scraper/e22d137f-9aa8-4df2-8485-91eeea290359/search?query=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 statusinvest-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.statusinvest_api import StatusInvest, Stock, StockDetail, StockListing, DividendCalendar, DividendEvent, PriceHistory, StockNotFound
client = StatusInvest()
# Search for Petrobras stocks
for stock in client.stocks.search(query="PETR"):
print(stock.code, stock.name, stock.price, stock.variation_up)
# Get detailed indicators for a specific ticker
detail = client.stockdetails.get(ticker="PETR4")
print(detail.ticker, detail.url, detail.summary.current_price, detail.summary.dividend_yield)
# Get price history for the stock
for history in detail.history():
print(history.currency, history.symbol)
for point in history.prices:
print(point.date, point.price)
# List all stocks with financial metrics
for listing in client.stocklistings.list():
print(listing.ticker, listing.companyname, listing.price, listing.roe, listing.valormercado)
# Get dividend calendar for a specific month
calendar = client.dividendcalendars.get(year=2025, month=6)
print(calendar.year, calendar.month)
for event in calendar.announced:
print(event.code, event.company_name, event.type_desc, event.result_absolute_value, event.date_com)
Search for stocks by ticker symbol or company name. Returns matching stocks and BDRs with current price and daily variation. Each result includes the ticker code, company name, current price (in BRL, comma-decimal formatted), daily variation percentage, and a relative URL path.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search query — a ticker symbol (e.g. PETR4) or company name (e.g. Petrobras). |
{
"type": "object",
"fields": {
"items": "array of matching stock objects, each containing code (ticker), name, price, variation, variationUp, type, and url"
},
"sample": {
"data": {
"items": [
{
"id": 530,
"url": "/acoes/petr4",
"code": "PETR4",
"name": "PETROBRAS",
"type": 1,
"price": "41,83",
"parentId": 408,
"variation": "1,830",
"variationUp": true,
"nameFormated": "PETR4 - PETROBRAS",
"normalizedName": "petrobras"
}
]
},
"status": "success"
}
}About the StatusInvest API
What the API Covers
This API targets Brazilian equities listed on B3, including stocks and BDRs. The search endpoint accepts a ticker symbol (e.g. PETR4) or company name (e.g. Petrobras) and returns an array of matching instruments, each with code, name, price, variation, and url. The get_details endpoint takes a single ticker parameter and returns an indicators object mapping named financial metrics — P/L, P/VP, ROE, DY, profit margins, and others — alongside a summary object with current price and related fields.
Price History and Dividends
The get_history endpoint returns recent daily closing prices in BRL for a given ticker, covering approximately the last 30 trading days. The response is structured as an array of currency objects, each containing currency metadata and a prices array of date/price pairs. The get_dividends endpoint queries dividend events by year and month (both optional, defaulting to the current UTC period) and returns two arrays: announced (upcoming dividend announcements) and payments (confirmed paid events).
Full Stock Universe
The list_stocks endpoint requires no parameters and returns the complete set of B3-listed stocks. Each object in the response includes companyid, companyname, ticker, price, and a wide set of financial metrics: dy, p_l, p_vp, roe, roa, liquidity measures, and market cap. This makes it suitable for screening the full Brazilian equity market without needing to enumerate tickers in advance.
The StatusInvest API is a managed, monitored endpoint for statusinvest.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when statusinvest.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 statusinvest.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?+
- Screen all B3-listed stocks by P/L, P/VP, or ROE using
list_stocksfinancial metric fields. - Build a dividend calendar by querying
get_dividendsmonth-by-month to track announced and paid events. - Power a ticker autocomplete feature with
searchusing partial company names or ticker symbols. - Plot a 30-day price chart for any Brazilian stock using
get_historydate/price pairs. - Monitor current DY, margin, and valuation indicators for a watchlist of tickers via
get_details. - Compare P/VP and ROE across the full stock universe to identify valuation outliers.
- Aggregate dividend payment history for income-focused portfolio tracking.
| 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 StatusInvest have an official developer API?+
What does `get_details` return beyond the current price?+
indicators object mapping named financial ratios and metrics to their values — including P/L, P/VP, ROE, dividend yield, and profit margins — and a summary object containing the current price and closely related fields for the requested ticker.How far back does `get_history` go for price data?+
Does the API cover FIIs (real estate investment trusts) or other Brazilian asset classes beyond stocks and BDRs?+
Can I filter `list_stocks` results by sector or minimum liquidity?+
list_stocks endpoint returns the full stock universe in a single unfiltered response — it has no built-in filter parameters. Filtering by sector, liquidity threshold, or any other criterion needs to be applied client-side on the returned array. You can fork the API on Parse and revise it to add server-side filtering logic.