Pull Income Statements, Balance Sheets, and Cash Flow Statements for 3,500+ US-listed companies directly into your Python models — sourced from SEC EDGAR and normalized for instant analysis.
Features
One endpoint. Three statement types. Normalized line items across every ticker — so your models don't break when one company calls it "Net Sales" and another calls it "Revenue."
Pull Income Statements, Balance Sheets, and Cash Flow Statements with a single parameter. Annual and quarterly cadences both supported.
The simple mode maps company-specific labels to standardized names across all tickers — no more per-ticker string matching in your pipeline.
All data is sourced directly from official SEC EDGAR filings — the same primary source used by institutional investors and quant funds.
Filter results by start and end date to pull exactly the history your model needs, without over-fetching or post-processing on your end.
Responses are clean JSON arrays that load directly into a pandas DataFrame in two lines. No parsing gymnastics required.
Simple API key and secret authentication passed as query parameters — easy to integrate into any HTTP client, script, or workflow tool.
API Reference
financialstatement parameter now accepts a simple value. It uses YouDomo mapping logic to standardize line item names across all tickers — so AAPL's "Net Sales" and ADBE's "Revenue" both return as "Revenue", making cross-ticker analysis seamless.
| Parameter | Required | Description |
|---|---|---|
| ticker | Required | Stock ticker symbol (e.g., AAPL, MSFT, TSLA). |
| financialstatement | Required | Statement type. Choose from income, balancesheet, cashflow, or simple (normalized line items). |
| api_key | Required | Your unique API key for authentication. |
| api_secret | Required | Your API secret for secure access. |
| start_date | Optional | Filter results from this date. Format: YYYY-MM-DD. |
| end_date | Optional | Filter results up to this date. Format: YYYY-MM-DD. |
| isannual | Optional | Set to Y for annual statements. Default: Y. |
| isquarterly | Optional | Set to Y for quarterly statements. Default: N. |
GET https://youdomo-api-live.onrender.com/api/statements ?ticker=AAPL &financialstatement=income &api_key=your_key &api_secret=your_secret &start_date=2022-01-01 &end_date=2025-01-01 &isannual=Y &isquarterly=N
import requests import pandas as pd # The YouDomo API endpoint url = "https://youdomo-api-live.onrender.com/api/statements" # Query parameters params = { "ticker": "AAPL", "financialstatement": "income", "api_key": "your_key_here", "api_secret": "your_secret_here", "start_date": "2022-01-01", "end_date": "2025-01-01", "isannual": "Y", "isquarterly": "N", } # Make GET request response = requests.get(url, params=params) # Raise error if something went wrong response.raise_for_status() # Convert JSON response to DataFrame data = response.json() df = pd.DataFrame(data) df
[ { "statementpk": 22199928, "ticker": "AAPL", "date": "2024-09-28", "datekey": 20240928, "shareunits": "Thousands", "units": "Millions", "lineitem": "basic in dollars per share", "value": 6, "lineitemorder": 13, "financialstatement": "income", "isannual": "Y", "isquarterly": "N", "datasource": "SEC EDGAR", "loadtimestamp": "2025-11-01 22:50:55", "filingdate": "2025-10-31 00:00:00" }, { "statementpk": 22199931, "ticker": "AAPL", "date": "2024-09-28", "datekey": 20240928, "shareunits": "Thousands", "units": "Millions", "lineitem": "basic in shares", "value": 15343783, "lineitemorder": 16, "financialstatement": "income", "isannual": "Y", "isquarterly": "N", "datasource": "SEC EDGAR", "loadtimestamp": "2025-11-01 22:50:55", "filingdate": "2025-10-31 00:00:00" }, ... ]
Found incorrect financial data or have a feature suggestion? Reach out to the YouDomo team at hello@youdomo.com and we'll get back to you.
How It Works
Create a free YouDomo account to receive your API key and secret. Both are passed as query parameters — no OAuth flow, no headers to configure.
Pass your ticker, statement type, date range, and credentials to the endpoint. Use simple mode to get normalized line item names across all tickers.
The JSON response drops straight into a pandas DataFrame. Annual or quarterly cadence, up to 10+ years of history — ready for any analysis or model you're building.
FAQ
simple option applies YouDomo's mapping logic to standardize line item names across all companies. For example, Apple reports "Net Sales" while Adobe reports "Revenue." Passing simple returns both as "Revenue," making cross-ticker comparisons and multi-stock models much easier to build.isannual and isquarterly parameters to select your cadence. Annual is the default. You can combine date filters with either cadence to retrieve exactly the window of history your model needs.Free to start. No credit card required. 3,500+ stocks and 10+ years of history.