A fundamentals panel that scrapes filings by hand will stall the first time the page layout changes, so AAPL's statements should come from one request.
This guide calls GET /v2/markets/stock/financials with ticker=AAPL and walks the sample income rows for Total Revenue, Cost of Revenue, and Gross Profit. There is no timeframe parameter on this endpoint, and the payload has no revenueTable.
To access this endpoint, you must obtain an API key: Get your API key
The Endpoint
Company statements for one ticker live on this path. meta.symbol echoes the ticker. body includes incomeStatementTable, balanceSheetTable, cashFlowTable, and financialRatiosTable. The sample ticker is AAPL.
Method: GET
Endpoint: https://api.mboum.com/v2/markets/stock/financials?ticker=AAPL
Documentation: Company financials
Parameters
- ticker: required company symbol. The sample uses AAPL.
Python Example
The function requests AAPL financials and prints the income-statement header label plus Total Revenue, Cost of Revenue, and Gross Profit from value1, value2, and value3.
import requests
def fetch_financials():
url = "https://api.mboum.com/v2/markets/stock/financials"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"ticker": "AAPL"}
response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
return response.json()
payload = fetch_financials()
print(payload.get("meta", {}))
income = ((payload.get("body") or {}).get("incomeStatementTable") or {})
print((income.get("headers") or {}).get("value1"))
for row in income.get("rows") or []:
if isinstance(row, dict) and row.get("value1") in (
"Total Revenue",
"Cost of Revenue",
"Gross Profit",
):
print(row.get("value1"), row.get("value2"), row.get("value3"))
Understanding the Response
meta.symbol is AAPL. On incomeStatementTable, headers.value1 is Period Ending: and value2 through value5 are 09/28/2024, 09/30/2023, 09/24/2022, and 09/25/2021. Total Revenue is $383,285,000, $383,285,000, $394,328,000, and $365,817,000 across value2 through value5. Cost of Revenue value2 is $210,352,000. Gross Profit value2 is $172,933,000. The same headers-and-rows pattern applies to balanceSheetTable, cashFlowTable, and financialRatiosTable.
{
"meta": {
"symbol": "AAPL"
},
"body": {
"incomeStatementTable": {
"headers": {
"value1": "Period Ending:",
"value2": "09/28/2024",
"value3": "09/30/2023",
"value4": "09/24/2022",
"value5": "09/25/2021"
},
"rows": [
{
"value1": "Total Revenue",
"value2": "$383,285,000",
"value3": "$383,285,000",
"value4": "$394,328,000",
"value5": "$365,817,000"
},
{
"value1": "Cost of Revenue",
"value2": "$210,352,000",
"value3": "$214,137,000",
"value4": "$223,546,000",
"value5": "$212,981,000"
},
{
"value1": "Gross Profit",
"value2": "$172,933,000",
"value3": "$169,148,000",
"value4": "$170,782,000",
"value5": "$152,836,000"
}
]
}
}
}
Amounts are display strings such as "$383,285,000", so parse them before math. Row value1 is the line label, and value2 through value5 are amounts. Do not expect a value6. This endpoint has no revenueTable and is not the modules route.
Key Fields
- Echo: meta.symbol echoes the ticker. The sample is AAPL.
- Tables: body includes incomeStatementTable, balanceSheetTable, cashFlowTable, and financialRatiosTable. Each table has headers and rows.
- Period headers: headers.value1 is Period Ending:. In the sample, value2 through value5 are 09/28/2024, 09/30/2023, 09/24/2022, and 09/25/2021.
- Line amounts: row value1 is the line label, and value2 through value5 are amounts. The sample income labels are Total Revenue, Cost of Revenue, and Gross Profit.
Practical Use Cases
Income lines for AAPL
Open incomeStatementTable and read Total Revenue, Cost of Revenue, and Gross Profit. Total Revenue value2 in the sample is $383,285,000, Cost of Revenue value2 is $210,352,000, and Gross Profit value2 is $172,933,000. Parse those display strings before any ratio math.
Balance sheet, cash flow, and ratios
After the income rows match, open balanceSheetTable, cashFlowTable, and financialRatiosTable the same way. headers.value1 stays Period Ending:, and the amounts stay in value2 through value5.
Learn more or explore other endpoints: Company financials