curl --request GET \
--url https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet \
--header 'Authorization: Bearer <token>'import requests
url = "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"company_id": "x9t057a0io1tdakqk19y",
"profile": "nonbank",
"statement_type": "balance_sheet",
"statement_scope": "consolidated",
"reporting_type": "as_of",
"fiscal_year": 2025,
"fiscal_quarter": "Q4",
"period_end_date": "2025-03-31",
"audit_status": "Audited",
"currency": "INR",
"scale": "crores",
"financials": {
"non_current_assets": {
"property_plant_equipment": 350000,
"capital_work_in_progress": 120000,
"intangible_assets": 45000
},
"current_assets": {
"inventories": 85000,
"financial_assets_current": {
"trade_receivables": 42000,
"cash_equivalents": 18000
}
},
"equity": {
"equity_share_capital": 6766,
"reserves_surplus": 520000,
"non_controlling_interest": 15000
},
"non_current_liabilities": {
"financial_liabilities_non_current": {
"borrowings": 180000
}
},
"current_liabilities": {
"financial_liabilities_current": {
"trade_payables": 95000
}
}
}
}
}{
"errors": [
{
"status": "400",
"title": "Invalid field - reporting_type",
"message": "reporting_type must be one of: quarterly, half_yearly, nine_months, annual"
}
]
}{
"errors": [
{
"status": "401",
"title": "Unauthorized",
"message": "Invalid or missing API key"
}
]
}{
"errors": [
{
"status": "404",
"title": "Company not found",
"message": "No company found for ticker: INVALID"
}
]
}{
"errors": [
{
"status": "500",
"title": "Internal Server Error"
}
]
}Balance Sheet
Retrieve a structured balance sheet for an Indian company. By default, this returns the latest consolidated balance sheet from a half-yearly filing. Balance-sheet facts remain point-in-time (reporting_type: as_of); the optional reporting_type query parameter selects the source filing cadence. The financials structure is selected by the returned profile: bank, nonbank, life_insurance, general_insurance, or investment_trust.
curl --request GET \
--url https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet \
--header 'Authorization: Bearer <token>'import requests
url = "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://stockinsights-ai-main-95a26a0.zuplo.app/api/in/v0/financial-statements/balance-sheet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"company_id": "x9t057a0io1tdakqk19y",
"profile": "nonbank",
"statement_type": "balance_sheet",
"statement_scope": "consolidated",
"reporting_type": "as_of",
"fiscal_year": 2025,
"fiscal_quarter": "Q4",
"period_end_date": "2025-03-31",
"audit_status": "Audited",
"currency": "INR",
"scale": "crores",
"financials": {
"non_current_assets": {
"property_plant_equipment": 350000,
"capital_work_in_progress": 120000,
"intangible_assets": 45000
},
"current_assets": {
"inventories": 85000,
"financial_assets_current": {
"trade_receivables": 42000,
"cash_equivalents": 18000
}
},
"equity": {
"equity_share_capital": 6766,
"reserves_surplus": 520000,
"non_controlling_interest": 15000
},
"non_current_liabilities": {
"financial_liabilities_non_current": {
"borrowings": 180000
}
},
"current_liabilities": {
"financial_liabilities_current": {
"trade_payables": 95000
}
}
}
}
}{
"errors": [
{
"status": "400",
"title": "Invalid field - reporting_type",
"message": "reporting_type must be one of: quarterly, half_yearly, nine_months, annual"
}
]
}{
"errors": [
{
"status": "401",
"title": "Unauthorized",
"message": "Invalid or missing API key"
}
]
}{
"errors": [
{
"status": "404",
"title": "Company not found",
"message": "No company found for ticker: INVALID"
}
]
}{
"errors": [
{
"status": "500",
"title": "Internal Server Error"
}
]
}ticker=RELIANCE uses:
- Latest available period
reporting_type=half_yearlyfor selecting the filingstatement_scope=consolidated
reporting_type: "as_of". Use period_end_date for an exact historical result;
common reporting-period dates are 2025-03-31, 2025-06-30, 2025-09-30,
and 2025-12-31. Availability depends on the selected filing cadence, and
existing exact-date requests do not need to add one.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Company ticker symbol. Supports formats: plain ticker (RELIANCE), exchange-prefixed with dot (NSE.RELIANCE, BSE.RELIANCE), or colon (NSE:RELIANCE, BSE:RELIANCE), and BSE numeric IDs (BSE.500325). When no exchange is specified, matches against the generic stock ticker.
"RELIANCE"
Optional reporting-period end date in YYYY-MM-DD format. Common Indian reporting boundaries include 2025-03-31, 2025-06-30, 2025-09-30, and 2025-12-31; availability depends on the selected statement and reporting type. Omit this parameter to receive the latest matching statement.
Optional cadence of the filing from which the point-in-time balance sheet is selected. When both this parameter and period_end_date are omitted, the API defaults to the latest half_yearly filing. The response reporting type remains as_of.
quarterly, half_yearly, nine_months, annual "half_yearly"
Whether to retrieve consolidated or standalone financial statements. Defaults to consolidated.
consolidated, standalone "consolidated"
Response
Successful response with balance sheet data. Returns null data if no statement is available for the given parameters.