Cash flow statement
curl --request GET \
--url https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow"
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/cash-flow', 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/cash-flow",
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/cash-flow"
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/cash-flow")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow")
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",
"net_cash_operating": 780000000000,
"net_cash_investing": -310000000000,
"net_cash_financing": -220000000000,
"capital_expenditure": -280000000000,
"free_cash_flow": 500000000000,
"dividends_paid": -206000000000
}
],
"count": 1
},
"meta": {
"plan": "business",
"calls_used": 1204,
"calls_remaining": 1998796,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}Company Endpoints
Cash Flow Statement
Retrieve just the cash flow statement for an NGX-listed company.
GET
/
companies
/
{symbol}
/
financials
/
cash-flow
Cash flow statement
curl --request GET \
--url https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow"
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/cash-flow', 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/cash-flow",
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/cash-flow"
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/cash-flow")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/companies/{symbol}/financials/cash-flow")
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",
"net_cash_operating": 780000000000,
"net_cash_investing": -310000000000,
"net_cash_financing": -220000000000,
"capital_expenditure": -280000000000,
"free_cash_flow": 500000000000,
"dividends_paid": -206000000000
}
],
"count": 1
},
"meta": {
"plan": "business",
"calls_used": 1204,
"calls_remaining": 1998796,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}This endpoint returns just the cash flow statement for every reporting period available, ordered from most recent to oldest. It’s the same data you’d find under
cash_flow in the combined financials endpoint, returned on its own so you’re not paying for the income statement, balance sheet, and ratios sections when you only need operating, investing, and financing cash flows.
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 cash flow statements for 2025:
curl "https://api.ngnmarket.com/v1/companies/GTCO/financials/cash-flow?periodType=quarterly&year=2025" \
-H "Authorization: Bearer ngm_live_YOUR_KEY"
const url = new URL('https://api.ngnmarket.com/v1/companies/GTCO/financials/cash-flow');
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/cash-flow',
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