Balance sheet
curl --request GET \
--url https://api.ngnmarket.com/v1/companies/{symbol}/financials/balance-sheet \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/balance-sheet")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/companies/{symbol}/financials/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{
"success": true,
"data": {
"data": [
{
"period": "2025-12-31",
"period_type": "annual",
"year": 2025,
"quarter": "FY",
"period_label": "FY 2025",
"currency": "NGN",
"cash_and_equivalents": 285000000000,
"short_term_investments": 40000000000,
"receivables": 95000000000,
"inventory": 210000000000,
"current_assets": 680000000000,
"ppe_net": 1850000000000,
"intangible_assets": 12000000000,
"total_assets": 2650000000000,
"accounts_payable": 180000000000,
"short_term_debt": 120000000000,
"current_liabilities": 420000000000,
"long_term_debt": 680000000000,
"total_liabilities": 1230000000000,
"share_capital": 170000000000,
"retained_earnings": 1250000000000,
"shareholders_equity": 1420000000000,
"total_liabilities_and_equity": 2650000000000
}
],
"count": 1
},
"meta": {
"plan": "business",
"calls_used": 1204,
"calls_remaining": 1998796,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}Company Endpoints
Balance Sheet
Retrieve just the balance sheet for an NGX-listed company.
GET
/
companies
/
{symbol}
/
financials
/
balance-sheet
Balance sheet
curl --request GET \
--url https://api.ngnmarket.com/v1/companies/{symbol}/financials/balance-sheet \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/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://api.ngnmarket.com/v1/companies/{symbol}/financials/balance-sheet")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/companies/{symbol}/financials/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{
"success": true,
"data": {
"data": [
{
"period": "2025-12-31",
"period_type": "annual",
"year": 2025,
"quarter": "FY",
"period_label": "FY 2025",
"currency": "NGN",
"cash_and_equivalents": 285000000000,
"short_term_investments": 40000000000,
"receivables": 95000000000,
"inventory": 210000000000,
"current_assets": 680000000000,
"ppe_net": 1850000000000,
"intangible_assets": 12000000000,
"total_assets": 2650000000000,
"accounts_payable": 180000000000,
"short_term_debt": 120000000000,
"current_liabilities": 420000000000,
"long_term_debt": 680000000000,
"total_liabilities": 1230000000000,
"share_capital": 170000000000,
"retained_earnings": 1250000000000,
"shareholders_equity": 1420000000000,
"total_liabilities_and_equity": 2650000000000
}
],
"count": 1
},
"meta": {
"plan": "business",
"calls_used": 1204,
"calls_remaining": 1998796,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}This endpoint returns just the balance sheet for every reporting period available, ordered from most recent to oldest. It’s the same data you’d find under
balance_sheet in the combined financials endpoint, returned on its own so you’re not paying for the income statement, cash flow, and ratios sections when you only need assets, liabilities, and equity figures.
Use periodType (annual or quarterly) to filter by statement type, year to limit results to a specific fiscal year, and limit to control the maximum number of records returned. This endpoint requires a Business plan or higher.
For example, to fetch GTCO’s quarterly balance sheets for 2025:
curl "https://api.ngnmarket.com/v1/companies/GTCO/financials/balance-sheet?periodType=quarterly&year=2025" \
-H "Authorization: Bearer ngm_live_YOUR_KEY"
const url = new URL('https://api.ngnmarket.com/v1/companies/GTCO/financials/balance-sheet');
url.searchParams.set('periodType', 'quarterly');
url.searchParams.set('year', '2025');
const res = await fetch(url, {
headers: { Authorization: 'Bearer ngm_live_YOUR_KEY' },
});
const { data } = await res.json();
import requests
res = requests.get(
'https://api.ngnmarket.com/v1/companies/GTCO/financials/balance-sheet',
params={'periodType': 'quarterly', 'year': 2025},
headers={'Authorization': 'Bearer ngm_live_YOUR_KEY'},
)
data = res.json()['data']
Authorizations
Pass your API key as a Bearer token: Authorization: Bearer ngm_live_YOUR_KEY.
Generate keys at ngnmarket.com/dashboard/developer.
Path Parameters
NGX ticker symbol (e.g. GTCO). Case-insensitive.
Example:
"DANGCEM"
Query Parameters
Filter by reporting period type.
Available options:
annual, quarterly Filter by calendar year (e.g. 2025).
Example:
2025
Maximum number of periods to return (1–100).
Required range:
1 <= x <= 100