Top US gainers and losers
curl --request GET \
--url https://api.ngnmarket.com/v1/us/market/movers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/us/market/movers"
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/us/market/movers', 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/us/market/movers",
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/us/market/movers"
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/us/market/movers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/us/market/movers")
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,
"meta": {
"plan": "starter",
"calls_used": 4821,
"calls_remaining": 95179,
"reset_at": "2026-06-15T23:57:00.000Z",
"market": "US",
"currency": "USD",
"as_of": "2023-11-07T05:31:56Z",
"newest": "2023-11-07T05:31:56Z"
},
"data": {
"top_gainers": [
{
"symbol": "AAPL",
"name": "Apple Inc.",
"sector": "<string>",
"logo_url": "<string>",
"last_price": 123,
"prev_close": 123,
"change_abs": 123,
"change_pct": 123,
"volume": 123,
"market_cap": 123,
"is_delayed": true,
"quote_time": "2023-11-07T05:31:56Z"
}
],
"top_losers": [
{
"symbol": "AAPL",
"name": "Apple Inc.",
"sector": "<string>",
"logo_url": "<string>",
"last_price": 123,
"prev_close": 123,
"change_abs": 123,
"change_pct": 123,
"volume": 123,
"market_cap": 123,
"is_delayed": true,
"quote_time": "2023-11-07T05:31:56Z"
}
],
"summary": {
"total_gainers": 123,
"total_losers": 123,
"biggest_gainer": {
"symbol": "<string>",
"change_pct": 123
},
"biggest_loser": {
"symbol": "<string>",
"change_pct": 123
}
}
}
}Market Endpoints
US Market Movers
Top gaining and losing US tickers for the current session.
GET
/
us
/
market
/
movers
Top US gainers and losers
curl --request GET \
--url https://api.ngnmarket.com/v1/us/market/movers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ngnmarket.com/v1/us/market/movers"
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/us/market/movers', 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/us/market/movers",
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/us/market/movers"
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/us/market/movers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngnmarket.com/v1/us/market/movers")
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,
"meta": {
"plan": "starter",
"calls_used": 4821,
"calls_remaining": 95179,
"reset_at": "2026-06-15T23:57:00.000Z",
"market": "US",
"currency": "USD",
"as_of": "2023-11-07T05:31:56Z",
"newest": "2023-11-07T05:31:56Z"
},
"data": {
"top_gainers": [
{
"symbol": "AAPL",
"name": "Apple Inc.",
"sector": "<string>",
"logo_url": "<string>",
"last_price": 123,
"prev_close": 123,
"change_abs": 123,
"change_pct": 123,
"volume": 123,
"market_cap": 123,
"is_delayed": true,
"quote_time": "2023-11-07T05:31:56Z"
}
],
"top_losers": [
{
"symbol": "AAPL",
"name": "Apple Inc.",
"sector": "<string>",
"logo_url": "<string>",
"last_price": 123,
"prev_close": 123,
"change_abs": 123,
"change_pct": 123,
"volume": 123,
"market_cap": 123,
"is_delayed": true,
"quote_time": "2023-11-07T05:31:56Z"
}
],
"summary": {
"total_gainers": 123,
"total_losers": 123,
"biggest_gainer": {
"symbol": "<string>",
"change_pct": 123
},
"biggest_loser": {
"symbol": "<string>",
"change_pct": 123
}
}
}
}Returns the top gaining and losing US tickers by current-session change percent, drawn from live quotes rather than a per-date historical query — US quotes only ever hold the current snapshot, unlike NGX’s per-date equity table.
Restricted to common stock and ADRs, and to quotes no more than one hour older than the freshest quote in the dataset, so illiquid securities with stale or erratic prices don’t dominate the ranking.
Authorizations
Pass your API key as a Bearer token: Authorization: Bearer ngm_live_YOUR_KEY.
Generate keys at ngnmarket.com/dashboard/developer.
Query Parameters
Omit to return both.
Available options:
gainers, losers Required range:
1 <= x <= 50