Skip to main content
GET 

/fundamentals/:isin/income-statement

Get Income Statement

API to retrieve the historical income statement (profit and loss) data for a company identified by its ISIN. The response groups income data by category (Revenue, Operating profit, Net profit), each with historical values and period-over-period percentage changes. You can filter by statement type (consolidated or standalone) and reporting frequency (yearly or quarterly). All monetary values are in Indian Rupees (Crore).

Path Parameters​

NameRequiredTypeDescription
isinRequiredstringInternational Securities Identification Number (ISIN) of the company. Example: INE002A01018.

Query Parameters​

NameRequiredTypeDescription
typeOptionalstringFinancial statement type. Allowed values: consolidated, standalone. Default: consolidated.
time_periodOptionalstringReporting period. Allowed values: yearly, quarterly. Default: yearly.
fsOptionalbooleanWhen set to true, the response includes a detailed line-item breakdown in the full_statement field.

Request​

curl --location 'https://api.upstox.com/v2/fundamentals/INE002A01018/income-statement?type=consolidated&time_period=yearly&fs=true' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

For additional samples in various languages, please refer to the Sample code section on this page.

Responses​

Response Body​

{
"status": "success",
"data": {
"type": "consolidated",
"time_period": "yearly",
"units_in": "crore",
"income_statement": [
{
"category": "revenue",
"history": [
{ "value": 1086181, "period": "Mar 2026", "change": "+10.53%" },
{ "value": 982671, "period": "Mar 2025", "change": "+7.15%" },
{ "value": 917121, "period": "Mar 2024", "change": "+3.1%" },
{ "value": 889569, "period": "Mar 2023" }
]
},
{
"category": "operating_profit",
"history": [
{ "value": 123162, "period": "Mar 2026", "change": "+16.17%" },
{ "value": 106017, "period": "Mar 2025", "change": "+1.61%" },
{ "value": 104340, "period": "Mar 2024", "change": "+10.95%" },
{ "value": 94046, "period": "Mar 2023" }
]
},
{
"category": "net_profit",
"history": [
{ "value": 95610, "period": "Mar 2026", "change": "+18.35%" },
{ "value": 80787, "period": "Mar 2025", "change": "+2.74%" },
{ "value": 78633, "period": "Mar 2024", "change": "+6.13%" },
{ "value": 74088, "period": "Mar 2023" }
]
}
],
"full_statement": [
{
"particular": "Revenue",
"history": [
{ "period": "Mar 2025", "value": 964693 },
{ "period": "Mar 2024", "value": 901064 },
{ "period": "Mar 2023", "value": 877835 },
{ "period": "Mar 2022", "value": 695963 }
]
},
{
"particular": "Other Income",
"history": [
{ "period": "Mar 2025", "value": 17978 },
{ "period": "Mar 2024", "value": 16057 },
{ "period": "Mar 2023", "value": 11734 },
{ "period": "Mar 2022", "value": 14943 }
]
},
{
"particular": "Total Revenue",
"history": [
{ "period": "Mar 2025", "value": 982671 },
{ "period": "Mar 2024", "value": 917121 },
{ "period": "Mar 2023", "value": 889569 },
{ "period": "Mar 2022", "value": 710906 }
]
},
{
"particular": "Total Expenses",
"history": [
{ "period": "Mar 2025", "value": 876654 },
{ "period": "Mar 2024", "value": 812781 },
{ "period": "Mar 2023", "value": 795547 },
{ "period": "Mar 2022", "value": 631883 }
]
},
{
"particular": "Profit Before Tax",
"history": [
{ "period": "Mar 2025", "value": 106017 },
{ "period": "Mar 2024", "value": 104340 },
{ "period": "Mar 2023", "value": 94046 },
{ "period": "Mar 2022", "value": 82154 }
]
},
{
"particular": "Tax",
"history": [
{ "period": "Mar 2025", "value": 25230 },
{ "period": "Mar 2024", "value": 25707 },
{ "period": "Mar 2023", "value": 20376 },
{ "period": "Mar 2022", "value": 15970 }
]
},
{
"particular": "Profit After Tax",
"history": [
{ "period": "Mar 2025", "value": 80787 },
{ "period": "Mar 2024", "value": 78633 },
{ "period": "Mar 2023", "value": 73670 },
{ "period": "Mar 2022", "value": 66184 }
]
},
{
"particular": "EPS - Basic",
"history": [
{ "period": "Mar 2025", "value": 51.47 },
{ "period": "Mar 2024", "value": 51.45 },
{ "period": "Mar 2023", "value": 98.59 },
{ "period": "Mar 2022", "value": 92 }
]
},
{
"particular": "EPS - Diluted",
"history": [
{ "period": "Mar 2025", "value": 51.47 },
{ "period": "Mar 2024", "value": 51.45 },
{ "period": "Mar 2023", "value": 98.59 },
{ "period": "Mar 2022", "value": 90.86 }
]
}
]
}
}
NameTypeDescription
statusstringA string indicating the outcome of the request. Possible values: success, error.
dataobjectIncome statement data for the requested statement type and time period.
data.typestringFinancial statement type. Possible values: consolidated, standalone.
data.time_periodstringReporting period. Possible values: yearly, quarterly.
data.units_instringUnit of monetary values. Value: crore.
data.income_statementarrayIncome statement categories with historical values ordered by reporting period (most recent first).
data.income_statement[].categorystringIncome statement category. Possible values: revenue, operating_profit, net_profit.
data.income_statement[].historyarrayHistorical values for the income statement category.
data.income_statement[].history[].valuenumberValue for the period (in Crore). Negative values indicate a loss.
data.income_statement[].history[].periodstringReporting period label, e.g., Mar 2026.
data.income_statement[].history[].changestringPeriod-over-period percentage change, e.g., "+10.53%". Absent for the oldest period in the series.
data.full_statementarrayDetailed line-item breakdown of the income statement. Present only when fs=true is passed. Always reported on an annual basis, irrespective of the time_period filter.
data.full_statement[].particularstringLabel for the income statement line item, e.g., Revenue, Other Income, Total Revenue, Total Expenses, Profit Before Tax, Tax, Profit After Tax, EPS - Basic, EPS - Diluted.
data.full_statement[].historyarrayHistorical values for the line item across reporting periods.
data.full_statement[].history[].periodstringReporting period label, e.g., Mar 2025.
data.full_statement[].history[].valuenumberMonetary value for the period (in Crore).

Sample Code​

import requests

url = 'https://api.upstox.com/v2/fundamentals/INE002A01018/income-statement'
params = {
'type': 'consolidated',
'time_period': 'yearly',
'fs': 'true'
}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {your_access_token}'
}

response = requests.get(url, params=params, headers=headers)
print(response.json())