Trading date activity and breadth
curl --request GET \
--url https://api.ngnmarket.com/v1/market/breadth \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/market/breadth"
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/market/breadth', 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/market/breadth",
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/market/breadth"
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/market/breadth")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/market/breadth")
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": {
"count": 3,
"latest": "2026-04-17",
"earliest": "2026-04-15",
"data": [
{
"date": "2026-04-17",
"label": "latest",
"gainers_count": 48,
"losers_count": 22,
"unchanged_count": 14,
"total_records": 84,
"formatted_date": "Fri, Apr 17, 2026"
},
{
"date": "2026-04-16",
"label": "previous",
"gainers_count": 31,
"losers_count": 39,
"unchanged_count": 12,
"total_records": 82,
"formatted_date": "Thu, Apr 16, 2026"
},
{
"date": "2026-04-15",
"label": null,
"gainers_count": 55,
"losers_count": 14,
"unchanged_count": 14,
"total_records": 83,
"formatted_date": "Wed, Apr 15, 2026"
}
]
},
"meta": {
"plan": "pro",
"calls_used": 215,
"calls_remaining": 249785,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}Trading date activity and breadth
Returns a list of NGX trading sessions enriched with market breadth data: total securities traded, how many advanced, how many declined, and how many were unchanged per day. Useful for identifying active sessions, powering calendar views, or filtering date ranges before querying snapshot data.
Plan required: Pro
GET
/
market
/
breadth
Trading date activity and breadth
curl --request GET \
--url https://api.ngnmarket.com/v1/market/breadth \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/market/breadth"
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/market/breadth', 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/market/breadth",
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/market/breadth"
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/market/breadth")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/market/breadth")
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": {
"count": 3,
"latest": "2026-04-17",
"earliest": "2026-04-15",
"data": [
{
"date": "2026-04-17",
"label": "latest",
"gainers_count": 48,
"losers_count": 22,
"unchanged_count": 14,
"total_records": 84,
"formatted_date": "Fri, Apr 17, 2026"
},
{
"date": "2026-04-16",
"label": "previous",
"gainers_count": 31,
"losers_count": 39,
"unchanged_count": 12,
"total_records": 82,
"formatted_date": "Thu, Apr 16, 2026"
},
{
"date": "2026-04-15",
"label": null,
"gainers_count": 55,
"losers_count": 14,
"unchanged_count": 14,
"total_records": 83,
"formatted_date": "Wed, Apr 15, 2026"
}
]
},
"meta": {
"plan": "pro",
"calls_used": 215,
"calls_remaining": 249785,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}Authorizations
Pass your API key as a Bearer token: Authorization: Bearer ngm_live_YOUR_KEY.
Generate keys at ngnmarket.com/dashboard/developer.
Query Parameters
Start date in YYYY-MM-DD format (inclusive). Use with to for a specific range; overrides limit.
Example:
"2026-01-01"
End date in YYYY-MM-DD format (inclusive). Use with from.
Example:
"2026-04-17"
Maximum number of dates to return (1–365). Dates are returned newest-first. Ignored when from/to are both set.
Required range:
1 <= x <= 365