Financial Data and Stock API
APPLE INC.
MICROSOFT CORPORATION
Type a ticker in the search above, or get the same data straight from the API. View the endpoint docs.
curl "https://api.roic.ai/v3.0.0/tickers/search?query=AAPL"Coverage
Financial data coverage
- 40+
- Years of financial statements
- 120+
- Quarters per company
- 68k+
- Symbols & tickers
- 70+
- Global exchanges
- 17+
- Years of call transcripts
- 35
- Documented endpoints
Endpoints
Explore the financial data API
Predictable REST routes, the same field names across every company, and documented formulas behind every metric. Here is exactly what each group returns.
Earnings Call Transcripts API
GET /v3.0.0/earnings-calls/{identifier}Full earnings call transcripts going back more than 17 years, organized by fiscal quarter and ready for search or LLM retrieval.
A filterable, market-wide calendar of earnings releases with confirmed or estimated timing, fiscal periods, and reported results.
Financial Statements API
GET /v3.0.0/fundamental/income-statement/{identifier}Income statements, balance sheets and cash-flow statements, annual or quarterly, standardized into one schema. The same field names work for every company on every exchange.
Pre-calculated ratios you would otherwise derive yourself, ROIC, ROE, margins, leverage and more, split across five focused endpoints.
Stock Prices API
GET /v3.0.0/stock-prices/{identifier}Historical daily prices, a separate latest-price endpoint and optional split or total-return adjustments, plus a market-wide stock-splits feed.
A canonical, market-wide feed of forward and reverse stock splits, filterable by company and execution date.
Reference data for every covered company: profile, logo and employee history, resolvable by exchange:symbol, ticker ID or FIGI.
Valuation multiples, enterprise value and per-share metrics, computed consistently so comparables line up across companies.
Usage
Make your first API call
Authenticate with a Bearer token or the browser-friendly apikey query parameter and call any endpoint. The v3 API returns consistent JSON by default.
curl -G https://api.roic.ai/v3.0.0/fundamental/ratios/profitability/NASDAQ:AAPL \
-H "Authorization: Bearer YOUR_API_KEY" \
-d period_type=annual \
-d limit=1{
"data": [
{
"id": "fnd_N7wh3Ukmc6CRKm",
"symbol": "NASDAQ:AAPL",
"period_type": "annual",
"period_end_date": "2025-09-30",
"fiscal_year": 2025,
"period_label": "FY",
"currency": "USD",
"return_on_inv_capital": 59.7897,
"return_com_eqy": 156.192,
"return_on_asset": 30.9325,
"gross_margin": 46.9052,
"oper_margin": 31.9708,
"profit_margin": 26.9151
}
],
"next_page_url": null,
"previous_page_url": null
}Use cases
Built for research, financial products, and AI agents
From backtests to consumer apps to AI agents, teams reach for the same standardized financial data and skip the parsing entirely.
Quantitative research and backtesting
Pull decades of fundamentals and adjusted prices to test factor models, screen for value and validate strategies without survivorship bias. Consistent fiscal-period labelling aligns statements across thousands of tickers.
Fintech products and dashboards
Power company pages, watchlists and screeners with the same data that runs roic.ai. Predictable responses and generous rate limits let you cache aggressively and ship financial features in days, not quarters.
Financial modeling and valuation
Drive DCF, comparable-company and ROIC analyses from clean JSON. Documented formulas mean every ratio you display traces back to the underlying line items.
AI agents and LLM context
Give chat assistants and autonomous agents grounded, structured financial data instead of stale training data, over REST or the roic.ai MCP server. Clean JSON and stable field names make retrieval and function-calling reliable.
Academic and market research
Access long, normalized histories across global exchanges for empirical studies, with explicit units and reporting periods that hold up to peer review.
Portfolio monitoring and alerts
Track fundamentals, prices and key ratios across a book of positions, and trigger alerts when a metric crosses a threshold you define.
Guides & the knowledge base
Learn the data, then build with it
Put decades of fundamentals behind your next build
Generate a free API key and make your first call in under a minute. No credit card required.
FAQ
Questions, answered plainly
Is there a free stock API?
Yes. The ROIC.ai Free plan covers annual financial statements, ratios, valuation, single-symbol stock prices, stock splits, earnings-call transcripts, single-pair forex data, company data, ticker search, and reference data across all covered markets. It includes 5 requests per minute, 2 years of annual fundamentals and daily price history, and 2 quarters of earnings-call transcripts. Batch feeds, exchange trading hours and holidays, and the earnings calendar require the Individual plan or higher. No credit card is required.
Can I use the financial data API in a commercial product?
Commercial use requires the Enterprise plan. It includes everything in Professional plus multi-user access, invoicing, and a commercial-use API license. API data may be used only under your plan and may not be redistributed, resold, or sublicensed without explicit authorization from ROIC.ai.
How do I get stock prices from an API?
Call /v3.0.0/stock-prices/{identifier} for historical daily prices, or /v3.0.0/stock-prices/latest/{identifier} for the latest available daily price. The identifier can be an exchange-qualified symbol such as NASDAQ:AAPL, a ticker ID, or a FIGI. Authenticate with a Bearer token or add your apikey as a query parameter, for example https://api.roic.ai/v3.0.0/stock-prices/latest/NASDAQ:AAPL?apikey=YOUR_API_KEY.
Does the stock price API provide real-time data?
No. ROIC.ai provides historical daily prices and the latest available daily price, not a real-time streaming market feed.
How do I get historical stock data via an API?
Use /v3.0.0/stock-prices/{identifier} for daily history, with date.gte and date.lte to bound the range, and the fundamental endpoints for historical statements. Pass adjustment=splits or adjustment=total_return when you need adjusted prices. History depth follows your plan: 2 years on the free tier, 5 on Individual, and 40+ on Professional.
How do I get financial statements from an API?
Call /v3.0.0/fundamental/income-statement/{identifier}, /v3.0.0/fundamental/balance-sheet/{identifier}, or /v3.0.0/fundamental/cash-flow/{identifier}. Pass period_type=annual, quarterly, or ttm, and the API returns standardized statements as JSON.
Is there an API for stock fundamental data?
Yes. roic.ai serves fundamental data, financial statements, pre-calculated ratios, valuation multiples, enterprise value and per-share metrics, standardized into one schema across 68k+ companies and 70+ exchanges.
Is there a stock news API?
Company news is available through the v2 API at /v2/company/news/{identifier}. The v3 API does not expose company news; its company endpoints cover profiles, employee counts, and logos.
Is there an earnings call transcript API?
Yes. Use /v3.0.0/earnings-calls to list calls across the market or filter by identifier, fiscal year, and fiscal quarter. Retrieve one transcript from /v3.0.0/earnings-calls/{identifier} with fiscal_year and fiscal_quarter. Responses contain structured speaker turns, or you can pass format=text for plain text.
Is there a stock screener API?
There is no single screener endpoint, but you can build one: list tickers with /v3.0.0/tickers or find them with /v3.0.0/tickers/search, then pull fundamentals, ratios, and valuation per ticker and filter on the fields you need. The roic.ai website also has a visual screener and query builder.
How do I get stock data in Python?
From Python, use a plain requests call, no SDK needed: requests.get("https://api.roic.ai/v3.0.0/fundamental/income-statement/NASDAQ:AAPL", params={"apikey": "YOUR_API_KEY"}). The same REST endpoints work for prices, ratios, and transcripts.
What is an API key and how do I get one?
An API key is a token that authenticates your requests. Sign up at roic.ai, copy your key from your account settings, and send it in the Authorization header as Bearer YOUR_API_KEY. For browser-friendly requests, you can pass apikey=YOUR_API_KEY as a query parameter instead. Use one authentication method per request, not both.
Is there a global, international stock market data API?
Yes. roic.ai covers 68k+ companies across 70+ global exchanges through the same endpoints and field names, with the reporting currency on every figure so US and international companies compare consistently.
Is there an API for financial ratios?
Yes. roic.ai pre-calculates ratios across five v3 endpoints under /v3.0.0/fundamental/ratios/: profitability (ROIC, ROE, and margins), credit, liquidity (including the Altman Z-Score), working-capital, and yield-analysis, each with documented formulas.

