TL;DR: This guide shows you how to fetch live and historical price data, company fundamentals, dividend history, and corporate filings for Dangote Cement (DANGCEM) using the NGN Market API. Most of the data covered here is available on the free or ₦15,000/month Hobby plan. All examples are in JavaScript.
Dangote Cement is the largest company on the Nigerian Exchange by market capitalisation, consistently accounting for around 15% of the entire NGX equity market cap on its own. If you are building any kind of Nigerian stock app, portfolio tracker, or financial data product, DANGCEM is almost certainly one of the first stocks your users will look up.
This guide walks through every piece of data the NGN Market API provides for DANGCEM — current price, OHLCV history, company profile, dividends, financial statements, and corporate disclosures — with working code for each.
Quick start: get the current DANGCEM price
The fastest way to get DANGCEM's current price is the /companies/DANGCEM endpoint. One call, everything you need for a stock card or summary widget:
const API_KEY = 'ngm_live_YOUR_KEY';
async function getDANGCEM() {
const res = await fetch(
'https://api.ngnmarket.com/v1/companies/DANGCEM',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
return body.data;
}
const stock = await getDANGCEM();
console.log(`Price: ₦${stock.current_price.toLocaleString()}`);
console.log(`Change today: ${stock.price_change_percent}%`);
console.log(`Day range: ₦${stock.day_low} – ₦${stock.day_high}`);
console.log(`Market cap: ₦${(stock.market_cap / 1e12).toFixed(2)}T`);
console.log(`52-week range: ₦${stock.low_52wk} – ₦${stock.high_52wk}`);
A real response for DANGCEM looks like this:
{
"symbol": "DANGCEM",
"name": "Dangote Cement Plc",
"sector": "Industrial Goods",
"sub_sector": "Building Materials",
"market_classification": "Main Board",
"current_price": 1180.00,
"prev_close": 1180.00,
"day_open": 1178.00,
"day_high": 1189.00,
"day_low": 1175.00,
"volume": 284729,
"value_traded": 336380220,
"market_cap": 20107799138000,
"price_change": 0.00,
"price_change_percent": 0.00,
"high_52wk": 1189.00,
"high_52wk_date": "2026-06-12",
"low_52wk": 420.00,
"low_52wk_date": "2025-08-03",
"ttm_eps": 98.40,
"shareholders_equity": 1820000000000,
"ttm_dividends": 45.00,
"pb_ratio": 11.04,
"de_ratio": 0.38,
"current_ratio": 1.62,
"dividend_yield": 3.81,
"website": "https://www.dangotecement.com",
"last_updated": "2026-06-13T16:00:00.000Z"
}
This endpoint is on the Hobby plan, which is ₦15,000 per month. If you only need the price, change, and volume for a list of stocks without the full profile, the free /companies endpoint returns that lightweight data for all NGX-listed companies in one call — DANGCEM included.
About Dangote Cement
Dangote Cement Plc is Africa's largest cement producer, listed on the NGX Main Board. The company operates across Nigeria and ten other African countries, with an installed capacity of around 51.6 million tonnes per year. It is a subsidiary of the Dangote Group, founded by Aliko Dangote.
On the NGX, DANGCEM regularly sits among the top three stocks by value traded on any given session. Its price movements have an outsized effect on the All Share Index given its weight in the index — a 5% move in DANGCEM can shift the ASI by 0.7 percentage points on its own.
The stock has been a significant wealth creator for long-term investors. Its 52-week range as of mid-2026 runs from ₦420 to ₦1,189, reflecting both the general NGX bull run and the company's own earnings recovery.
Historical price data (OHLCV)
The /companies/DANGCEM/chart endpoint returns the full OHLCV price history — open, high, low, close, and volume for every trading day back to DANGCEM's listing. You can request preset periods or a custom date range.
async function getDANGCEMHistory(period = '1y', format = 'detailed') {
const res = await fetch(
`https://api.ngnmarket.com/v1/companies/DANGCEM/chart?period=${period}&format=${format}`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
return body.data;
}
const history = await getDANGCEMHistory('1y', 'detailed');
console.log(`Data points: ${history.count}`);
console.log(`Period: ${history.statistics.start_date} to ${history.statistics.end_date}`);
console.log(`Price change: ${history.statistics.price_change_percent}%`);
console.log(`Highest close: ₦${history.statistics.max_price}`);
console.log(`Lowest close: ₦${history.statistics.min_price}`);
Three format options are available depending on what you are building:
format=detailed returns full objects with every field per day. Use this when you want VWAP, trade count, or value traded alongside the price.
format=chart returns compact [timestamp, close] pairs — the lightest option and the one that plugs directly into Chart.js, Recharts, or any charting library that expects a time series.
format=ohlcv returns [timestamp, open, high, low, close, volume] arrays. Use this for candlestick charts in ApexCharts, Highcharts, ECharts, or Plotly.
For a custom date range, use ?from=2025-01-01&to=2025-12-31 instead of the ?period parameter:
const res = await fetch(
'https://api.ngnmarket.com/v1/companies/DANGCEM/chart?from=2025-01-01&to=2025-12-31&format=ohlcv',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
Drawing a candlestick chart
Here is how to take the OHLCV data and render a candlestick chart using ApexCharts:
import ApexCharts from 'apexcharts';
async function renderDANGCEMChart(containerId, period = '90d') {
const res = await fetch(
`https://api.ngnmarket.com/v1/companies/DANGCEM/chart?period=${period}&format=ohlcv`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
const candleData = body.data.data.map(([ts, open, high, low, close]) => ({
x: new Date(ts),
y: [open, high, low, close],
}));
const options = {
chart: {
type: 'candlestick',
height: 400,
},
title: {
text: 'DANGCEM — Dangote Cement Plc',
align: 'left',
},
xaxis: {
type: 'datetime',
},
yaxis: {
tooltip: { enabled: true },
labels: {
formatter: (val) => `₦${val.toLocaleString()}`,
},
},
series: [{
name: 'DANGCEM',
data: candleData,
}],
};
const chart = new ApexCharts(
document.getElementById(containerId),
options
);
chart.render();
}
renderDANGCEMChart('chart-container', '90d');
DANGCEM dividend history
Dangote Cement has paid dividends consistently. The /companies/DANGCEM/dividends endpoint returns the full history of dividend payments — ex-date, payment date, and amount per share:
async function getDANGCEMDividends() {
const res = await fetch(
'https://api.ngnmarket.com/v1/companies/DANGCEM/dividends',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
return body.data;
}
const dividends = await getDANGCEMDividends();
dividends.dividends.forEach(d => {
console.log(`${d.ex_dividend_date}: ₦${d.dividend} per share (yield: ${d.yield}%)`);
});
This endpoint is available on the Starter plan at ₦50,000 per month. If you want to see whether there are upcoming ex-dividend dates for DANGCEM specifically, you can also call the upcoming dividends calendar at /dividends/upcoming and filter by symbol.
Corporate disclosures and filings
Every time Dangote Cement files a document with the NGX — earnings results, AGM notices, dividend declarations, board resolutions, director share dealings — it appears in the disclosures feed. This endpoint is free.
async function getDANGCEMDisclosures(options = {}) {
const params = new URLSearchParams({
symbol: 'DANGCEM',
limit: options.limit || 20,
...(options.type && { type: options.type }),
...(options.from && { from: options.from }),
});
const res = await fetch(
`https://api.ngnmarket.com/v1/disclosures?${params}`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
return body.data;
}
const allFilings = await getDANGCEMDisclosures();
const financialFilings = await getDANGCEMDisclosures({
type: 'Financial Statements',
});
const filings2026 = await getDANGCEMDisclosures({
from: '2026-01-01',
});
allFilings.data.forEach(doc => {
console.log(`[${doc.disclosed_at}] ${doc.title}`);
console.log(` Type: ${doc.submission_type}`);
console.log(` PDF: ${doc.document_url}`);
});
The document_url field links directly to the PDF on the NGX document library. For investment research tools, displaying the filing feed alongside price data is the kind of feature that separates a serious product from a basic price board.
You can also reach the same data through the company-scoped route:
const res = await fetch(
'https://api.ngnmarket.com/v1/companies/DANGCEM/disclosures',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
Financial statements
For developers building valuation tools, stock screeners, or fundamental analysis features, the /companies/DANGCEM/financials endpoint returns structured income statement, balance sheet, and cash flow data for every reporting period available. Computed ratios come back alongside the raw figures — gross margin, ROE, ROA, D/E ratio, current ratio, free cash flow margin, book value per share, and more.
This endpoint is on the Business plan at ₦700,000 per month and is one of the only places in Nigeria where you can access structured financial statement data for NGX companies programmatically.
async function getDANGCEMFinancials(periodType = 'annual') {
const res = await fetch(
`https://api.ngnmarket.com/v1/companies/DANGCEM/financials?periodType=${periodType}&limit=5`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const body = await res.json();
if (!body.success) throw new Error(body.error.message);
return body.data;
}
const financials = await getDANGCEMFinancials('annual');
financials.data.forEach(period => {
console.log(`\n${period.period_label} (${period.period})`);
console.log(` Revenue: ₦${(period.income_statement.revenue / 1e9).toFixed(1)}B`);
console.log(` Net income: ₦${(period.income_statement.net_income / 1e9).toFixed(1)}B`);
console.log(` Gross margin: ${(period.ratios.gross_margin * 100).toFixed(1)}%`);
console.log(` ROE: ${(period.ratios.return_on_equity * 100).toFixed(1)}%`);
console.log(` EPS: ₦${period.income_statement.eps_basic}`);
});
Use periodType=quarterly for quarterly data if you want to track earnings momentum across the year.
Putting it all together: a DANGCEM stock page
Here is a complete function that fetches everything needed to render a full DANGCEM research page in one go. It runs the profile, history, and disclosures calls in parallel to keep load time down:
async function loadDANGCEMPage() {
const [profileRes, historyRes, disclosuresRes] = await Promise.all([
fetch('https://api.ngnmarket.com/v1/companies/DANGCEM',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }),
fetch('https://api.ngnmarket.com/v1/companies/DANGCEM/chart?period=90d&format=ohlcv',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }),
fetch('https://api.ngnmarket.com/v1/companies/DANGCEM/disclosures?limit=10',
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }),
]);
const [profile, history, disclosures] = await Promise.all([
profileRes.json(),
historyRes.json(),
disclosuresRes.json(),
]);
return {
profile: profile.success ? profile.data : null,
history: history.success ? history.data : null,
disclosures: disclosures.success ? disclosures.data : null,
quota: profile.meta.calls_remaining,
};
}
const page = await loadDANGCEMPage();
console.log(`Loaded DANGCEM page data`);
console.log(`Price: ₦${page.profile.current_price.toLocaleString()}`);
console.log(`Chart: ${page.history.count} days of OHLCV`);
console.log(`Filings: ${page.disclosures.data.length} recent documents`);
console.log(`API calls remaining: ${page.quota}`);
Three parallel requests, three data sets, one composed page. The same pattern works for any NGX-listed company — just swap DANGCEM for the symbol you need.
Other large NGX stocks to look at
The same API calls in this guide work for any NGX ticker. These are the other large-cap stocks that see the most developer interest alongside DANGCEM:
- MTNN (MTN Nigeria) — the largest telecom on the NGX and one of the highest-value stocks by daily turnover
- AIRTELAFRI (Airtel Africa) — dual-listed on the NGX and the London Stock Exchange
- GTCO (Guaranty Trust Holding Company) — one of the most traded banking stocks
- ZENITHBANK (Zenith Bank) — the largest bank by assets on the NGX
- ACCESSCORP (Access Holdings) — consistently high daily volume
- SEPLAT (Seplat Energy) — the most actively watched oil and gas name on the exchange
- BUACEMENT (BUA Cement) — the second-largest cement producer after Dangote
All of these work with the exact same endpoints and code shown above. The symbol is the only thing you change.
Frequently asked questions
Is DANGCEM in the NGX 30 index?
Yes. DANGCEM is one of the 30 largest and most liquid stocks on the NGX and is a constituent of the NGX 30 index. It is also in the NGX Pension index and the NGX Industrial Goods index. You can fetch the full constituent list for any index via the /indices/:symbol endpoint.
How do I check whether DANGCEM traded today?
Look at the last_updated timestamp in the profile response. If it matches today's date and falls within or after market close (16:00 WAT), the stock traded in today's session. If price_change_percent is 0.00 and volume is 0, the stock did not trade in the current session.
What is the minimum data I need for a DANGCEM price card?
The free /companies endpoint returns symbol, name, price, price_change_percent, volume, and market cap for every NGX stock including DANGCEM. That is enough for a stock card. You only need the Hobby plan's /companies/DANGCEM endpoint when you need the full profile including 52-week range, EPS, P/B ratio, or business description.
Can I get intraday price data for DANGCEM?
The NGN Market API provides end-of-session daily data. The market snapshot endpoint at /market/snapshot does update intraday during trading hours, giving you the ASI and market totals in near real time, but individual company prices in the chart history are daily closes. For tick-by-tick intraday data you would need a direct feed from the NGX.
How far back does the DANGCEM price history go?
Use ?period=all on the chart endpoint to get every available data point from DANGCEM's listing date. The NGN Market API holds price history going back to 2017 at minimum across NGX equities.
The NGN Market API documentation covers the full response schema for each endpoint used in this guide, along with additional filtering options, pagination parameters, and the complete list of supported fields.