Live NGN exchange rates
curl --request GET \
--url https://api.ngnmarket.com/v1/forex/current \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/forex/current"
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/forex/current', 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/forex/current",
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/forex/current"
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/forex/current")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/forex/current")
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": {
"target": "NGN",
"date": "2026-04-17",
"rates": [
{
"currency": "USD",
"rate": 1603.5,
"inverse_rate": 0.000624,
"daily_change": 2.5,
"daily_change_percent": 0.1561,
"last_updated": "2026-04-17"
},
{
"currency": "EUR",
"rate": 1748.2,
"inverse_rate": 0.000572,
"daily_change": -5.1,
"daily_change_percent": -0.2909,
"last_updated": "2026-04-17"
},
{
"currency": "GBP",
"rate": 2037.8,
"inverse_rate": 0.000491,
"daily_change": 0,
"daily_change_percent": 0,
"last_updated": "2026-04-17"
}
]
},
"meta": {
"plan": "free",
"calls_used": 142,
"calls_remaining": 9858,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}Forex Endpoints
Current Forex Rates
Retrieve the latest NGN exchange rates against all supported currencies.
GET
/
forex
/
current
Live NGN exchange rates
curl --request GET \
--url https://api.ngnmarket.com/v1/forex/current \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/forex/current"
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/forex/current', 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/forex/current",
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/forex/current"
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/forex/current")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/forex/current")
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": {
"target": "NGN",
"date": "2026-04-17",
"rates": [
{
"currency": "USD",
"rate": 1603.5,
"inverse_rate": 0.000624,
"daily_change": 2.5,
"daily_change_percent": 0.1561,
"last_updated": "2026-04-17"
},
{
"currency": "EUR",
"rate": 1748.2,
"inverse_rate": 0.000572,
"daily_change": -5.1,
"daily_change_percent": -0.2909,
"last_updated": "2026-04-17"
},
{
"currency": "GBP",
"rate": 2037.8,
"inverse_rate": 0.000491,
"daily_change": 0,
"daily_change_percent": 0,
"last_updated": "2026-04-17"
}
]
},
"meta": {
"plan": "free",
"calls_used": 142,
"calls_remaining": 9858,
"reset_at": "2026-05-15T23:57:00.000Z"
}
}This endpoint returns the most recent NGN exchange rates for all supported currencies. Each rate object includes
rate (how many NGN one unit of the foreign currency costs, so 1603.50 means $1 = ₦1,603.50), inverse_rate (how much foreign currency ₦1 buys, e.g. 0.000624), and daily_change plus daily_change_percent for movement since the previous day.
Rates are sourced from NGN Market’s live data feed and reflect the latest available market close. This endpoint accepts no query parameters.Authorizations
Pass your API key as a Bearer token: Authorization: Bearer ngm_live_YOUR_KEY.
Generate keys at ngnmarket.com/dashboard/developer.