curl --request GET \
--url https://openapi.dnse.com.vn/instruments \
--header 'X-Api-Key: <x-api-key>' \
--header 'X-Aux-Date: <x-aux-date>' \
--header 'X-Signature: <x-signature>'import requests
url = "https://openapi.dnse.com.vn/instruments"
headers = {
"X-Api-Key": "<x-api-key>",
"X-Aux-Date": "<x-aux-date>",
"X-Signature": "<x-signature>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Api-Key': '<x-api-key>',
'X-Aux-Date': '<x-aux-date>',
'X-Signature': '<x-signature>'
}
};
fetch('https://openapi.dnse.com.vn/instruments', 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://openapi.dnse.com.vn/instruments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>",
"X-Aux-Date: <x-aux-date>",
"X-Signature: <x-signature>"
],
]);
$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://openapi.dnse.com.vn/instruments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("X-Aux-Date", "<x-aux-date>")
req.Header.Add("X-Signature", "<x-signature>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.dnse.com.vn/instruments")
.header("X-Api-Key", "<x-api-key>")
.header("X-Aux-Date", "<x-aux-date>")
.header("X-Signature", "<x-signature>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.dnse.com.vn/instruments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["X-Aux-Date"] = '<x-aux-date>'
request["X-Signature"] = '<x-signature>'
response = http.request(request)
puts response.read_body{
"data": [
{
"symbol": "ACB",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2020-12-09",
"shortName": "Ngân hàng Á Châu",
"name": "Ngân hàng TMCP Á Châu",
"indexName": [
"VN100",
"VN30"
]
},
{
"symbol": "DSE",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2024-07-01",
"shortName": "Chứng khoán DNSE",
"name": "CTCP Chứng khoán DNSE",
"indexName": [
"VN100"
]
},
{
"symbol": "HUT",
"marketId": "STX",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2008-04-11",
"shortName": "CTCP TASCO",
"name": "CTCP Tasco",
"indexName": [
"HNX30"
]
},
{
"symbol": "SHS",
"marketId": "STX",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2009-06-25",
"shortName": "Chứng khoán SG HN",
"name": "CTCP Chứng khoán Sài Gòn - Hà Nội",
"indexName": [
"HNX30"
]
},
{
"symbol": "SSI",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2007-10-29",
"shortName": "Chứng khoán SSI",
"name": "CTCP Chứng khoán SSI",
"indexName": [
"VN100",
"VN30"
]
}
],
"total": 5,
"page": 1,
"pageSize": 100
}{
"status": 400,
"code": "OA-003",
"message": "Thông tin nhập không hợp lệ"
}{
"status": 500,
"code": "OA-009",
"message": "Lỗi hệ thống"
}Chi tiết mã chứng khoán
curl --request GET \
--url https://openapi.dnse.com.vn/instruments \
--header 'X-Api-Key: <x-api-key>' \
--header 'X-Aux-Date: <x-aux-date>' \
--header 'X-Signature: <x-signature>'import requests
url = "https://openapi.dnse.com.vn/instruments"
headers = {
"X-Api-Key": "<x-api-key>",
"X-Aux-Date": "<x-aux-date>",
"X-Signature": "<x-signature>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Api-Key': '<x-api-key>',
'X-Aux-Date': '<x-aux-date>',
'X-Signature': '<x-signature>'
}
};
fetch('https://openapi.dnse.com.vn/instruments', 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://openapi.dnse.com.vn/instruments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>",
"X-Aux-Date: <x-aux-date>",
"X-Signature: <x-signature>"
],
]);
$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://openapi.dnse.com.vn/instruments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("X-Aux-Date", "<x-aux-date>")
req.Header.Add("X-Signature", "<x-signature>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.dnse.com.vn/instruments")
.header("X-Api-Key", "<x-api-key>")
.header("X-Aux-Date", "<x-aux-date>")
.header("X-Signature", "<x-signature>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.dnse.com.vn/instruments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["X-Aux-Date"] = '<x-aux-date>'
request["X-Signature"] = '<x-signature>'
response = http.request(request)
puts response.read_body{
"data": [
{
"symbol": "ACB",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2020-12-09",
"shortName": "Ngân hàng Á Châu",
"name": "Ngân hàng TMCP Á Châu",
"indexName": [
"VN100",
"VN30"
]
},
{
"symbol": "DSE",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2024-07-01",
"shortName": "Chứng khoán DNSE",
"name": "CTCP Chứng khoán DNSE",
"indexName": [
"VN100"
]
},
{
"symbol": "HUT",
"marketId": "STX",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2008-04-11",
"shortName": "CTCP TASCO",
"name": "CTCP Tasco",
"indexName": [
"HNX30"
]
},
{
"symbol": "SHS",
"marketId": "STX",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2009-06-25",
"shortName": "Chứng khoán SG HN",
"name": "CTCP Chứng khoán Sài Gòn - Hà Nội",
"indexName": [
"HNX30"
]
},
{
"symbol": "SSI",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2007-10-29",
"shortName": "Chứng khoán SSI",
"name": "CTCP Chứng khoán SSI",
"indexName": [
"VN100",
"VN30"
]
}
],
"total": 5,
"page": 1,
"pageSize": 100
}{
"status": 400,
"code": "OA-003",
"message": "Thông tin nhập không hợp lệ"
}{
"status": 500,
"code": "OA-009",
"message": "Lỗi hệ thống"
}Tiêu đề
API key được cấp khi đăng ký dịch vụ DNSE OpenAPI.
Ví dụ: b3JnOmRuc2UgaWQ6MjdlZTc1MzcxZGFkNTY0NmYzYTM2NDk1ZGE3OGNiOGQgaDptdXJtdXIxMjg=
Thời gian thực hiện request, dùng trong cơ chế ký request của DNSE.
Ví dụ: Sat, 01 May 2026 14:24:23 +0000
Chữ ký xác thực request được tạo từ API key secret và X-Aux-Date.
Ví dụ: Signature keyId="b3JnOmRuc2UgaWQ6MjdlZTc1MzcxZGFkNTY0NmYzYTM2NDk1ZGE3OGNiOGQgaDptdXJtdXIxMjg=",algorithm="hmac-sha256",headers="(request-target) x-aux-date",signature="rfbVXHDUi%2B%2FsOkLXle7O17Qm%2F05cbISSR%2BDcFrBHfqQ%3D",nonce="4add8c3264e4492b9f8ecde0cf26b523"
Tham số truy vấn
Danh sách mã chứng khoán
Mã thị trường niêm yết
-
STO: Cổ phiếu sàn HOSE
-
STX: Cổ phiếu sàn HNX
-
UPX: Cổ phiếu sàn UPCOM
-
DVX: Phái sinh
-
HCX: Trái phiếu doanh nghiệp Mã thị trường.
-
UNSPECIFIED: Không xác định -
DVX: Phái sinh sàn HNX -
HCX: Trái phiếu doanh nghiệp sàn HNX -
STO: Cổ phiếu sàn HOSE -
STX: Cổ phiếu sàn HNX -
UPX: Cổ phiếu sàn Upcom
UNSPECIFIED, DVX, HCX, STO, STX, UPX "STO"
Nhóm chứng khoán
-
ST: Cổ phiếu
-
EF: Quỹ ETF
-
EW: Chứng quyền
-
FU: Hợp đồng tương lai
-
BS: Trái phiếu Định danh nhóm chứng khoán.
-
UNSPECIFIED: Không xác định -
BS: Trái phiếu doanh nghiệp -
EF: Quỹ ETF -
EW: Chứng quyền -
FU: Hợp đồng tương lai -
SR: Quyền mua -
ST: Cổ phiếu
UNSPECIFIED, BS, EF, EW, FU, SR, ST "ST"
Chỉ số thị trường
-
VN30: Top 30 cổ phiếu sàn HOSE
-
VN100: Top 100 cổ phiếu sàn HOSE
-
HNX30: Top 30 cổ phiếu sàn HNX Tên chỉ số thị trường.
-
VNINDEX: Chỉ số sàn HOSE -
HNX: Chỉ số sàn HNX -
HNX30: Chỉ số Top 30 cổ phiếu sàn HNX -
VN30: Chỉ số Top 30 cổ phiếu sàn HOSE -
VN100: Chỉ số Top 100 cổ phiếu sàn HOSE -
VNXALLSHARE: Chỉ số các cổ phiếu chọn lọc sàn HOSE -
UPCOM: Chỉ số sàn UPCOM -
VNMITECH: Chỉ số nhóm cổ phiếu công nghệ -
VN50GROWTH: Chỉ số nhóm 50 cổ phiếu tăng trưởng sàn HOSE -
VNDIVIDEND: Chỉ số nhóm cổ phiếu có tỷ suất cổ tức tăng trưởng
VNINDEX, HNX, HNX30, VN30, VN100, VNXALLSHARE, UPCOM, VNMITECH, VN50GROWTH, VNDIVIDEND "VN30"
Số bản ghi trên mỗi trang
Phân trang hiện tại
Phản hồi
OK
Danh sách thông tin mã chứng khoán
Show child attributes
Show child attributes
[
{
"symbol": "ACB",
"marketId": "STO",
"securityGroupId": "ST",
"symbolType": "",
"listedDate": "2020-12-09",
"shortName": "Ngân hàng Á Châu",
"name": "Ngân hàng TMCP Á Châu",
"indexName": ["VN100", "VN30"]
}
]
Tổng số bản ghi
5
Trang hiện tại (bắt đầu từ 1)
1
Số bản ghi trên mỗi trang
100