Financial statements
const url = 'https://api.tapetide.com/v1/stocks/example/financials?section=quarterly&periods=12';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.tapetide.com/v1/stocks/example/financials?section=quarterly&periods=12' \ --header 'Authorization: Bearer <token>'Financial statements. section is one of quarterly (quarterly P&L), profit_loss, balance_sheet, cash_flow, ratios (all annual). Omit it for every section. Each section carries periods (oldest first), data {row: {period: value}}, pct_changes, row_order and an availability array with the point-in-time available_from date per period. Unlike the MCP tool, this route returns the FULL document: periods defaults to every period held, and nothing is trimmed to fit a context window. ETFs, index funds and bonds have no statements and return 404.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Stock or index symbol, e.g. “RELIANCE”, “TCS”, “NIFTY”. Percent-encode symbols containing “&” (M%26M).
Query Parameters
Section titled “Query Parameters”Quarterly | profit_loss | balance_sheet | cash_flow | ratios. Accepted spellings include quarters, quarterly_results, income_statement, pnl, bs, cf.
Example
quarterlyLatest N periods per section (max 40). Default: all periods held. Also accepted as: quarters.
Example
12Responses
Section titled “Responses”OK. Costs one request unit.
object
The document. Shape is route-specific and never truncated.
Paging and window information where the route pages (e.g. window.next_cursor on price history).
object
When this response was assembled (UTC).
The operationId that served it.
Example generated
{ "data": "example", "meta": { "as_of": "2026-04-15T12:00:00Z", "route": "example" }}Headers
Section titled “Headers”Unix seconds when the binding quota window resets (IST boundaries).
Malformed or out-of-range parameter. Not charged.
object
object
object
Example
{ "error": { "code": "authentication_required" }}Missing or invalid bearer token.
object
object
object
Example
{ "error": { "code": "authentication_required" }}The symbol, index or document does not exist. Not charged.
object
object
object
Example
{ "error": { "code": "authentication_required" }}Per-minute burst cap or plan quota reached.
object
object
object
Example
{ "error": { "code": "authentication_required" }}Headers
Section titled “Headers”Unix seconds when the binding quota window resets (IST boundaries).
A data dependency was unavailable. Not charged.
object
object
object
Example
{ "error": { "code": "authentication_required" }}