
下列接口需有效 licence 调用;左侧切换分类,右侧「目录」可快速跳转接口;接口内通过选项卡查看字段说明、返回示例与 Playground。 麦蕊智数所有接口均支持 HTTP GET 直接调用,也可通过官方多语言 SDK(Python / JS / Java / Go / C#)调用,鉴权与限流规则完全一致,可按习惯任选。
本页无匹配接口,可尝试上方「全站搜索结果」或更换关键词。
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 股票代码,如:000001 |
| mc | string | 股票名称,如:平安银行 |
| jys | string | 交易所,"sh"表示上证,"sz"表示深证 |
[
{
"dm": "688411",
"mc": "N海博",
"jys": "sh"
},
{
"dm": "001395",
"mc": "N亚联",
"jys": "sz"
},
{
"dm": "300766",
"mc": "每日互动",
"jys": "sz"
},
{
"dm": "301248",
"mc": "杰创智能",
"jys": "sz"
},
{
"dm": "301299",
"mc": "卓创资讯",
"jys": "sz"
},
{
"dm": "300229",
"mc": "拓尔思",
"jys": "sz"
},
{
"dm": "300996",
"mc": "普联软件",
"jys": "sz"
},
{
"dm": "300697",
"mc": "电工合金",
"jys": "sz"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/list/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_list()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/list/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_list();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/list/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockList();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/list/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockList()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/list/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockListAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| zqdm | string | 股票代码 |
| zqjc | string | 股票简称 |
| sgdm | string | 申购代码 |
| fxsl | number | 发行总数(股) |
| swfxsl | number | 网上发行(股) |
| sgsx | number | 申购上限(股) |
| dgsz | number | 顶格申购需配市值(元) |
| sgrq | string | 申购日期 |
| fxjg | number | 发行价格(元),null为“未知” |
| zxj | number | 最新价(元),null为“未知” |
| srspj | number | 首日收盘价(元),null为“未知” |
| zqgbrq | string | 中签号公布日,null为未知 |
| zqjkrq | string | 中签缴款日,null为未知 |
| ssrq | string | 上市日期,null为未知 |
| syl | number | 发行市盈率,null为“未知” |
| hysyl | number | 行业市盈率 |
| wszql | number | 中签率(%),null为“未知” |
| yzbsl | number | 连续一字板数量,null为“未知” |
| zf | number | 涨幅(%),null为“未知” |
| yqhl | number | 每中一签获利(元),null为“未知” |
| zyyw | string | 主营业务 |
[
{
"zqdm": "920108",
"zqjc": "宏海科技",
"sgdm": "920108",
"fxsl": 20000000,
"swfxsl": 19000000,
"sgsx": 950000,
"dgsz": 9500000,
"fxjg": 5.57,
"zxj": 0,
"srspj": null,
"sgrq": "2025-01-17",
"zqgbrq": null,
"zqjkrq": null,
"ssrq": "2025-02-06",
"syl": 14.99,
"hysyl": 18.54,
"wszql": null,
"yzbsl": null,
"zf": null,
"yqhl": null,
"zyyw": "空调结构件、热交换器、显示类结构件等家用电器配件产品的研发、设计、制造和销售"
},
{
"zqdm": "688411",
"zqjc": "海博思创",
"sgdm": "787411",
"fxsl": 44432537.0,
"swfxsl": 15126000,
"sgsx": 11000,
"dgsz": 110000,
"fxjg": 19.38,
"zxj": 0,
"srspj": null,
"sgrq": "2025-01-16",
"zqgbrq": "2025-01-20",
"zqjkrq": "2025-01-20",
"ssrq": "2025-01-27",
"syl": 6.14,
"hysyl": 18.54,
"wszql": 0.0329001,
"yzbsl": 0,
"zf": null,
"yqhl": null,
"zyyw": "电化学储能系统的研发、生产及销售,为传统发电、新能源发电、智能电网、终端电力用户等“源-网-荷”全链条行业客户提供全系列储能系统产品,提供储能系统一站式整体解决方案"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/new/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.new_stock_calendar()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/new/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.new_stock_calendar();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/new/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.newStockCalendar();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/new/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.NewStockCalendar()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/new/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.NewStockCalendarAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 概念指数代码,如:101076.BKZS |
| mc | string | 概念指数名称,如:GN玻璃 |
| jys | string | 交易所 |
[
{
"dm": "101075.BKZS",
"mc": "GNPM2.5",
"jys": "BK"
},
{
"dm": "101076.BKZS",
"mc": "GN玻璃",
"jys": "BK"
},
{
"dm": "101077.BKZS",
"mc": "GNC2M",
"jys": "BK"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/sectorslist/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.sectors_list()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/sectorslist/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.sectors_list();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/sectorslist/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.sectorsList();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/sectorslist/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.SectorsList()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/sectorslist/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.SectorsListAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| mc | string | 一级市场名称,如:1000SW1基础化工 |
[
{
"dm": "688411",
"mc": "N海博",
"jys": "sh"
},
{
"dm": "001395",
"mc": "N亚联",
"jys": "sz"
},
{
"dm": "300766",
"mc": "每日互动",
"jys": "sz"
},
{
"dm": "301248",
"mc": "杰创智能",
"jys": "sz"
},
{
"dm": "301299",
"mc": "卓创资讯",
"jys": "sz"
},
{
"dm": "300229",
"mc": "拓尔思",
"jys": "sz"
},
{
"dm": "300996",
"mc": "普联软件",
"jys": "sz"
},
{
"dm": "300697",
"mc": "电工合金",
"jys": "sz"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/primarylist/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.primary_sectors_list()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/primarylist/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.primary_sectors_list();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/primarylist/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.primarySectorsList();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/primarylist/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.PrimarySectorsList()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/primarylist/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.PrimarySectorsListAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| sector_name | string | 一级市场板块名称,如:1000SW1交通运输 |
| count | number | 成分股数量 |
| stocks | array | 成分股列表 |
| dm | string | 股票代码(stocks 内),如:000088.SZ |
| mc | string | 股票名称(stocks 内),如:盐 田 港 |
| jys | string | 交易所(stocks 内),SH/SZ/BJ |
{"sector_name":"1000SW1交通运输","count":31,"stocks":[{"dm":"000088.SZ","mc":"盐 田 港","jys":"SZ"},{"dm":"000089.SZ","mc":"深圳机场","jys":"SZ"}]}
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/sectors/一级市场板块名称(例如:1000SW1交通运输)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.sector_detail("1000SW1交通运输")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/sectors/一级市场板块名称(例如:1000SW1交通运输)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.sector_detail("1000SW1交通运输");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/sectors/一级市场板块名称(例如:1000SW1交通运输)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.sectorDetail("1000SW1交通运输");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/sectors/一级市场板块名称(例如:1000SW1交通运输)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.SectorDetail("1000SW1交通运输")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/sectors/一级市场板块名称(例如:1000SW1交通运输)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.SectorDetailAsync("1000SW1交通运输");
Console.WriteLine(data);
| 参数名称 | 说明 |
|---|---|
| year | 路径参数:年份,如 2026 |
| licence | 路径参数:您的licence |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| (数组元素) | string | 交易日,格式 YYYYMMDD,例如 20260105;整段响应为升序字符串数组 |
["20260105","20260106","20260107","20260108","20260109","20260112","..."]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/tcalendar/list/年份(如2026)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/tcalendar/list/年份(如2026)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/tcalendar/list/年份(如2026)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/tcalendar/list/年份(如2026)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/tcalendar/list/年份(如2026)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| name | string | 名称 |
| code | string | 代码 |
| type1 | number | 一级分类(0:A股,1:创业板,2:科创板,3:基金,4:香港股市,5:债券,6:美国股市,7:外汇,8:期货,9:黄金,10:英国股市) |
| type2 | number | 二级分类(0:A股-申万行业,1:A股-申万二级,2:A股-热门概念,3:A股-概念板块,4:A股-地域板块,5:A股-证监会行业,6:A股-分类,7:A股-指数成分,8:A股-风险警示,9:A股-大盘指数,10:A股-次新股,11:A股-沪港通,12:A股-深港通,13:基金-封闭式基金,14:基金-开放式基金,15:基金-货币型基金,16:基金-ETF基金净值,17:基金-ETF基金行情,18:基金-LOF基金行情,21:基金-科创板基金,22:香港股市-恒生行业,23:香港股市-全部港股,24:香港股市-热门港股,25:香港股市-蓝筹股,26:香港股市-红筹股,27:香港股市-国企股,28:香港股市-创业板,29:香港股市-指数,30:香港股市-A+H,31:香港股市-窝轮,32:香港股市-ADR,33:香港股市-沪港通,34:香港股市-深港通,35:香港股市-中华系列指数,36:债券-沪深债券,37:债券-深市债券,38:债券-沪市债券,39:债券-沪深可转债,40:美国股市-中国概念股,41:美国股市-科技类,42:美国股市-金融类,43:美国股市-制造零售类,44:美国股市-汽车能源类,45:美国股市-媒体类,46:美国股市-医药食品类,48:外汇-基本汇率,49:外汇-热门汇率,50:外汇-所有汇率,51:外汇-交叉盘汇率,52:外汇-美元相关汇率,53:外汇-人民币相关汇率,54:期货-全球期货,55:期货-中国金融期货交易所,56:期货-上海期货交易所,57:期货-大连商品交易所,58:期货-郑州商品交易所,59:黄金-黄金现货,60:黄金-黄金期货 |
| level | number | 层级,从0开始,根节点为0,二级节点为1,以此类推 |
| pcode | string | 父节点代码 |
| pname | string | 父节点名称 |
| isleaf | number | 是否为叶子节点,0:否,1:是 |
[
{
"name": "A股-申万行业-煤炭",
"code": "sw_mt",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-石油石化",
"code": "sw_sysh",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-美容护理",
"code": "sw_mrhl",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-环保",
"code": "sw_hb",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-电力设备",
"code": "sw_dlsb",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-社会服务",
"code": "sw_shfw",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-商贸零售",
"code": "sw_smls",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-纺织服饰",
"code": "sw_fzfs",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
},
{
"name": "A股-申万行业-基础化工",
"code": "sw_jchg",
"type1": 0,
"type2": 0,
"level": 2,
"pcode": "swhy",
"pname": "A股-申万行业",
"isleaf": 1
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hszg/list/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.concept_tree()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hszg/list/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.concept_tree();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hszg/list/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.conceptTree();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hszg/list/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.ConceptTree()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hszg/list/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.ConceptTreeAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码(根据接口参数可能是A股股票代码,也可能是其他指数、行业、概念的股票代码) |
| mc | string | 名称(根据接口参数可能是A股股票代码,也可能是其他指数、行业、概念的股票名称) |
| jys | string | 交易所,"sh"表示上证,"sz"表示深证(如果返回的是A股的股票,那么有值,否则是null) |
[
{
"dm": "920088",
"mc": "科力股份",
"jys": "bj"
},
{
"dm": "603798",
"mc": "康普顿",
"jys": "sh"
},
{
"dm": "603727",
"mc": "博迈科",
"jys": "sh"
},
{
"dm": "603619",
"mc": "中曼石油",
"jys": "sh"
},
{
"dm": "603353",
"mc": "和顺石油",
"jys": "sh"
},
{
"dm": "603223",
"mc": "恒通股份",
"jys": "sh"
},
{
"dm": "601857",
"mc": "中国石油",
"jys": "sh"
},
{
"dm": "601808",
"mc": "中海油服",
"jys": "sh"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hszg/gg/指数、行业、概念代码/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stocks_of_concept("sw_sysh")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hszg/gg/指数、行业、概念代码/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stocks_of_concept("sw_sysh");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hszg/gg/指数、行业、概念代码/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stocksOfConcept("sw_sysh");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hszg/gg/指数、行业、概念代码/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StocksOfConcept("sw_sysh")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hszg/gg/指数、行业、概念代码/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StocksOfConceptAsync("sw_sysh");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| code | string | 指数、行业、概念代码,如:sw2_650300 |
| name | string | 指数、行业、概念名称,如:沪深股市-申万二级-国防军工-地面兵装 |
[
{
"code": "sw_yx",
"name": "A股-申万行业-银行"
},
{
"code": "sw2_480300",
"name": "A股-申万二级-股份制银行Ⅱ"
},
{
"code": "chgn_700532",
"name": "A股-热门概念-MSCI中国"
},
{
"code": "chgn_700231",
"name": "A股-热门概念-区块链"
},
{
"code": "chgn_700095",
"name": "A股-热门概念-融资融券"
},
{
"code": "chgn_700216",
"name": "A股-热门概念-证金汇金"
},
{
"code": "chgn_700014",
"name": "A股-热门概念-大盘"
},
{
"code": "gn_rzrq",
"name": "A股-概念板块-融资融券"
},
{
"code": "gn_wzbj",
"name": "A股-概念板块-外资背景"
},
{
"code": "gn_byjj",
"name": "A股-概念板块-本月解禁"
},
{
"code": "gn_sbzc",
"name": "A股-概念板块-社保重仓"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hszg/zg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.concepts_of_stock("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hszg/zg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.concepts_of_stock("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hszg/zg/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.conceptsOfStock("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hszg/zg/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.ConceptsOfStock("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hszg/zg/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.ConceptsOfStockAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码 |
| mc | string | 名称 |
| p | number | 价格(元) |
| zf | number | 涨幅(%) |
| cje | number | 成交额(元) |
| lt | number | 流通市值(元) |
| zsz | number | 总市值(元) |
| hs | number | 换手率(%) |
| lbc | number | 连板数 |
| fbt | string | 首次封板时间(HH:mm:ss) |
| lbt | string | 最后封板时间(HH:mm:ss) |
| zj | number | 封板资金(元) |
| zbc | number | 炸板次数 |
| tj | string | 涨停统计(x天/y板) |
| hy | string | 所属行业 |
| hy | string | 所属行业 |
| hy | string | 所属行业 |
| hy | string | 所属行业 |
| hy | string | 所属行业 |
| hy | string | 所属行业 |
[{"dm":"sz000657","mc":"中钨高新","p":9.33,"zf":10.02,"cje":436073568.0,"lt":11568521214.51,"zsz":13037537784.96,"hs":3.77,"lbc":1,"fbt":"09:25:00","lbt":"09:34:33","zj":98243407,"zbc":3,"tj":"1/1"},{"dm":"sz000715","mc":"中兴商业","p":10.13,"zf":9.99,"cje":608770896.0,"lt":4204552674.22,"zsz":4211232902.72,"hs":14.49,"lbc":3,"fbt":"09:25:00","lbt":"10:12:15","zj":170175926,"zbc":1,"tj":"3/3"},{"dm":"sz002403","mc":"爱仕达","p":12.93,"zf":10.04,"cje":362526448.0,"lt":3955758350.22,"zsz":4404456787.68,"hs":9.16,"lbc":4,"fbt":"09:25:00","lbt":"09:25:00","zj":7605154,"zbc":0,"tj":"4/4"},{"dm":"sz000017","mc":"深中华A","p":5.41,"zf":9.96,"cje":83346703.0,"lt":1639148660.65,"zsz":3728490460.48,"hs":5.14,"lbc":2,"fbt":"09:30:06","lbt":"09:30:06","zj":86225164,"zbc":0,"tj":"2/2"},{"dm":"sh603099","mc":"长白山","p":29.18,"zf":9.99,"cje":1462451424.0,"lt":7781430600.0,"zsz":7781430600.0,"hs":19.22,"lbc":7,"fbt":"09:31:27","lbt":"13:03:12","zj":56022361,"zbc":3,"tj":"7/7"},{"dm":"sh603877","mc":"太平鸟","p":17.71,"zf":10.0,"cje":180538320.0,"lt":8370916737.26,"zsz":8391690531.84,"hs":2.21,"lbc":2,"fbt":"09:33:30","lbt":"09:39:27","zj":50028979,"zbc":4,"tj":"2/2"},{"dm":"sz002641","mc":"公元股份","p":5.91,"zf":10.06,"cje":349813616.0,"lt":6704161267.59,"zsz":7263944783.52,"hs":5.43,"lbc":2,"fbt":"09:35:27","lbt":"09:35:42","zj":253566599,"zbc":1,"tj":"2/2"},{"dm":"sz001368","mc":"通达创智","p":31.26,"zf":9.99,"cje":310960192.0,"lt":875280000.0,"zsz":3501120000.0,"hs":37.0,"lbc":2,"fbt":"09:36:45","lbt":"09:36:45","zj":63080585,"zbc":0,"tj":"2/2"},{"dm":"sz002162","mc":"悦心健康","p":4.87,"zf":9.93,"cje":352836880.0,"lt":4510465251.81,"zsz":4512055000.0,"hs":7.93,"lbc":1,"fbt":"09:37:06","lbt":"09:37:06","zj":42248891,"zbc":0,"tj":"1/1"},{"dm":"sh600716","mc":"凤凰股份","p":4.16,"zf":10.05,"cje":136723378.0,"lt":3894012054.4,"zsz":3894012062.72,"hs":3.61,"lbc":1,"fbt":"09:37:09","lbt":"09:37:09","zj":58107400,"zbc":0,"tj":"1/1"},{"dm":"sz003042","mc":"中农联合","p":20.89,"zf":10.01,"cje":189335026.0,"lt":1422854353.05,"zsz":2976407200.0,"hs":13.53,"lbc":1,"fbt":"09:38:39","lbt":"09:38:39","zj":45895747,"zbc":0,"tj":"1/1"},{"dm":"sz002762","mc":"金发拉比","p":10.11,"zf":10.01,"cje":633628000.0,"lt":2100037098.33,"zsz":3579192830.88,"hs":30.63,"lbc":1,"fbt":"09:38:42","lbt":"10:58:27","zj":12584139,"zbc":10,"tj":"1/1"},{"dm":"sz000532","mc":"华金资本","p":13.6,"zf":10.03,"cje":670297024.0,"lt":4672276545.6,"zsz":4688033369.6,"hs":14.68,"lbc":1,"fbt":"09:48:06","lbt":"10:45:06","zj":21175023,"zbc":2,"tj":"1/1"},{"dm":"sz002667","mc":"威领股份","p":12.09,"zf":10.01,"cje":108480685.0,"lt":2860223184.0,"zsz":2931365580.0,"hs":3.95,"lbc":1,"fbt":"09:49:54","lbt":"09:49:54","zj":34905643,"zbc":0,"tj":"1/1"},{"dm":"sh601086","mc":"国芳集团","p":6.04,"zf":10.02,"cje":173031172.0,"lt":4022640000.0,"zsz":4022640000.0,"hs":4.42,"lbc":1,"fbt":"09:52:48","lbt":"09:54:39","zj":63743544,"zbc":2,"tj":"1/1"},{"dm":"sz000982","mc":"中银绒业","p":1.56,"zf":9.86,"cje":182346970.0,"lt":6648528202.68,"zsz":6648528207.36,"hs":2.82,"lbc":1,"fbt":"09:53:03","lbt":"09:53:03","zj":47977787,"zbc":0,"tj":"1/1"},{"dm":"sh600844","mc":"丹化科技","p":3.86,"zf":9.97,"cje":375341488.0,"lt":3175740247.24,"zsz":3923783566.4,"hs":12.23,"lbc":1,"fbt":"09:56:56","lbt":"10:00:44","zj":25952277,"zbc":4,"tj":"6/3"},{"dm":"sz002610","mc":"爱康科技","p":2.66,"zf":9.92,"cje":1784701536.0,"lt":11905047816.76,"zsz":11915556567.04,"hs":15.6,"lbc":2,"fbt":"10:01:03","lbt":"10:16:21","zj":126176568,"zbc":1,"tj":"2/2"},{"dm":"sz002665","mc":"首航高科","p":2.72,"zf":10.12,"cje":168919263.0,"lt":6702974409.44,"zsz":6810724764.16,"hs":2.58,"lbc":1,"fbt":"10:02:54","lbt":"10:02:54","zj":54042393,"zbc":0,"tj":"1/1"},{"dm":"sh603798","mc":"康普顿","p":11.9,"zf":9.98,"cje":332482544.0,"lt":3051750835.0,"zsz":3051750835.0,"hs":11.37,"lbc":2,"fbt":"10:07:45","lbt":"10:07:45","zj":53314594,"zbc":0,"tj":"2/2"},{"dm":"sz002882","mc":"金龙羽","p":18.6,"zf":9.99,"cje":877955360.0,"lt":4585365000.0,"zsz":8051940000.0,"hs":20.11,"lbc":1,"fbt":"10:07:54","lbt":"10:19:15","zj":67566341,"zbc":2,"tj":"4/3"},{"dm":"sz002326","mc":"永太科技","p":11.5,"zf":10.05,"cje":243392322.0,"lt":9246378752.5,"zsz":10508249200.0,"hs":2.72,"lbc":1,"fbt":"10:16:12","lbt":"10:16:12","zj":57175608,"zbc":0,"tj":"1/1"},{"dm":"sh600480","mc":"凌云股份","p":9.94,"zf":9.96,"cje":511959920.0,"lt":9114636175.4,"zsz":9349622685.76,"hs":5.72,"lbc":1,"fbt":"10:16:30","lbt":"10:23:54","zj":22975395,"zbc":4,"tj":"1/1"},{"dm":"sh605117","mc":"德业股份","p":87.78,"zf":10.0,"cje":2651010160.0,"lt":12835897351.2,"zsz":37752496837.44,"hs":21.14,"lbc":1,"fbt":"10:17:10","lbt":"14:39:52","zj":5974570,"zbc":10,"tj":"1/1"},{"dm":"sh603032","mc":"德新科技","p":22.96,"zf":10.01,"cje":579600464.0,"lt":5237543360.0,"zsz":5406074352.0,"hs":11.58,"lbc":2,"fbt":"10:18:45","lbt":"10:18:45","zj":58813945,"zbc":0,"tj":"2/2"},{"dm":"sh603219","mc":"富佳股份","p":15.02,"zf":10.04,"cje":212999457.0,"lt":2332384379.9,"zsz":8432228000.0,"hs":9.5,"lbc":1,"fbt":"10:26:33","lbt":"10:26:33","zj":61824122,"zbc":0,"tj":"1/1"},{"dm":"sh601096","mc":"宏盛华源","p":6.16,"zf":10.0,"cje":1200970448.0,"lt":3996115883.76,"zsz":16478955342.08,"hs":32.78,"lbc":1,"fbt":"10:41:11","lbt":"10:41:11","zj":101559310,"zbc":0,"tj":"5/3"},{"dm":"sz002708","mc":"光洋股份","p":8.55,"zf":10.04,"cje":269437232.0,"lt":3496196189.25,"zsz":4805937626.4,"hs":7.97,"lbc":1,"fbt":"10:50:30","lbt":"10:50:30","zj":46392300,"zbc":0,"tj":"1/1"},{"dm":"sz002186","mc":"全 聚 德","p":13.22,"zf":9.98,"cje":325387408.0,"lt":4072469980.1,"zsz":4077893445.44,"hs":8.28,"lbc":1,"fbt":"11:03:48","lbt":"13:00:39","zj":62062612,"zbc":3,"tj":"1/1"},{"dm":"sh603231","mc":"索宝蛋白","p":24.44,"zf":9.99,"cje":253323709.0,"lt":1146370371.12,"zsz":4679260526.2,"hs":23.31,"lbc":1,"fbt":"11:17:46","lbt":"11:17:46","zj":41519967,"zbc":0,"tj":"1/1"},{"dm":"sh603085","mc":"天成自控","p":10.7,"zf":9.97,"cje":118515814.0,"lt":3961412143.8,"zsz":4248970000.0,"hs":3.06,"lbc":1,"fbt":"13:01:52","lbt":"13:03:31","zj":14921150,"zbc":1,"tj":"1/1"},{"dm":"sz002719","mc":"麦趣尔","p":12.27,"zf":10.04,"cje":198384554.0,"lt":1986173059.65,"zsz":2136691137.39,"hs":10.5,"lbc":1,"fbt":"13:18:24","lbt":"13:18:24","zj":91670887,"zbc":0,"tj":"1/1"},{"dm":"sh603333","mc":"尚纬股份","p":6.67,"zf":10.07,"cje":790927376.0,"lt":4145588998.62,"zsz":4145588985.28,"hs":20.47,"lbc":2,"fbt":"13:22:25","lbt":"13:26:43","zj":84495946,"zbc":2,"tj":"9/6"},{"dm":"sz000558","mc":"莱茵体育","p":3.44,"zf":9.9,"cje":327679840.0,"lt":4433075051.52,"zsz":4434930394.88,"hs":7.85,"lbc":1,"fbt":"13:37:00","lbt":"13:37:00","zj":59935120,"zbc":0,"tj":"1/1"},{"dm":"sh603536","mc":"惠发食品","p":14.72,"zf":10.01,"cje":471196816.0,"lt":3601134656.0,"zsz":3601134656.0,"hs":13.78,"lbc":1,"fbt":"13:46:31","lbt":"13:46:31","zj":75755008,"zbc":0,"tj":"1/1"},{"dm":"sh603719","mc":"良品铺子","p":19.81,"zf":9.99,"cje":369332960.0,"lt":7943810000.0,"zsz":7943810000.0,"hs":4.85,"lbc":1,"fbt":"14:08:24","lbt":"14:35:21","zj":6428701,"zbc":2,"tj":"1/1"},{"dm":"sh600628","mc":"新世界","p":7.95,"zf":9.96,"cje":161323642.0,"lt":5142659302.8,"zsz":5142659366.4,"hs":3.26,"lbc":1,"fbt":"14:16:03","lbt":"14:16:03","zj":17493164,"zbc":0,"tj":"1/1"},{"dm":"sh603268","mc":"松发股份","p":20.89,"zf":10.01,"cje":203384339.0,"lt":2593886232.0,"zsz":2593886232.0,"hs":8.44,"lbc":2,"fbt":"14:38:19","lbt":"14:54:28","zj":10396953,"zbc":2,"tj":"2/2"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/ztgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.limit_up_pool("2024-01-10")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/ztgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.limit_up_pool("2024-01-10");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/ztgc/日期(如2020-01-15)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.limitUpPool("2024-01-10");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/ztgc/日期(如2020-01-15)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.LimitUpPool("2024-01-10")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/ztgc/日期(如2020-01-15)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.LimitUpPoolAsync("2024-01-10");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码 |
| mc | string | 名称 |
| p | number | 价格(元) |
| zf | number | 跌幅(%) |
| cje | number | 成交额(元) |
| lt | number | 流通市值(元) |
| zsz | number | 总市值(元) |
| pe | number | 动态市盈率 |
| hs | number | 换手率(%) |
| lbc | number | 连续跌停次数 |
| lbt | string | 最后封板时间(HH:mm:ss) |
| zj | number | 封单资金(元) |
| fba | number | 板上成交额(元) |
| zbc | number | 开板次数 |
[{"dm":"sz002888","mc":"惠威科技","p":21.42,"zf":-10.0,"cje":541754256.0,"lt":1619363266.92,"zsz":3204682185.6,"pe":2001.86,"hs":31.96,"lbc":1,"lbt":"15:00:00","zj":1939795,"fba":32045816.0,"zbc":2},{"dm":"sz000595","mc":"宝塔实业","p":5.4,"zf":-10.0,"cje":476276416.0,"lt":6146375407.2,"zsz":6148744387.2,"pe":-91.26,"hs":7.45,"lbc":1,"lbt":"14:56:42","zj":2446200,"fba":24075359.0,"zbc":1},{"dm":"sh600329","mc":"达仁堂","p":31.63,"zf":-9.99,"cje":708590896.0,"lt":17898407243.88,"zsz":24360106143.36,"pe":21.29,"hs":3.88,"lbc":1,"lbt":"14:25:54","zj":6901666,"fba":172764313.0,"zbc":24},{"dm":"sh600697","mc":"欧亚集团","p":13.99,"zf":-9.97,"cje":493076000.0,"lt":2173710449.85,"zsz":2225642169.25,"pe":99.55,"hs":21.93,"lbc":1,"lbt":"14:45:56","zj":7112516,"fba":56795622.0,"zbc":5},{"dm":"sz002908","mc":"德生科技","p":11.29,"zf":-9.97,"cje":251634293.0,"lt":3489608848.88,"zsz":4870868363.84,"pe":71.45,"hs":7.03,"lbc":1,"lbt":"14:29:03","zj":7735953,"fba":32867446.0,"zbc":4},{"dm":"sz002323","mc":"雅博股份","p":2.73,"zf":-9.9,"cje":1173714144.0,"lt":5788940271.66,"zsz":5789934521.28,"pe":-468.34,"hs":20.08,"lbc":1,"lbt":"14:49:39","zj":13013972,"fba":2775711393.0,"zbc":9},{"dm":"sz002178","mc":"延华智能","p":5.63,"zf":-9.92,"cje":747686960.0,"lt":4006986854.14,"zsz":4009421435.04,"pe":361.17,"hs":18.35,"lbc":1,"lbt":"14:20:39","zj":20153148,"fba":75130661.0,"zbc":1},{"dm":"sz002306","mc":"中科云网","p":4.55,"zf":-9.9,"cje":478785024.0,"lt":3700470123.35,"zsz":3957419356.8,"pe":-27.23,"hs":12.22,"lbc":1,"lbt":"14:48:21","zj":23332800,"fba":41028715.0,"zbc":0},{"dm":"sh601595","mc":"上海电影","p":22.91,"zf":-9.98,"cje":462159216.0,"lt":10268262000.0,"zsz":10268262000.0,"pe":61.85,"hs":4.45,"lbc":1,"lbt":"14:03:50","zj":26025255,"fba":145862921.0,"zbc":25},{"dm":"sz002862","mc":"实丰文化","p":19.4,"zf":-9.98,"cje":276038048.0,"lt":1749435410.2,"zsz":2328000000.0,"pe":-164.19,"hs":15.59,"lbc":1,"lbt":"10:30:27","zj":53169580,"fba":122696270.0,"zbc":12},{"dm":"sz001314","mc":"亿道信息","p":52,"zf":-10.0,"cje":556621648.0,"lt":1825798000.0,"zsz":7383953200.0,"pe":58.28,"hs":29.75,"lbc":1,"lbt":"11:08:27","zj":57527808,"fba":136375200.0,"zbc":2}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/dtgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.limit_down_pool("2024-01-10")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/dtgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.limit_down_pool("2024-01-10");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/dtgc/日期(如2020-01-15)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.limitDownPool("2024-01-10");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/dtgc/日期(如2020-01-15)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.LimitDownPool("2024-01-10")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/dtgc/日期(如2020-01-15)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.LimitDownPoolAsync("2024-01-10");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码 |
| mc | string | 名称 |
| p | number | 价格(元) |
| ztp | number | 涨停价(元) |
| zf | number | 涨幅(%) |
| cje | number | 成交额(元) |
| lt | number | 流通市值(元) |
| zsz | number | 总市值(元) |
| zs | number | 涨速(%) |
| nh | number | 是否新高(0:否,1:是) |
| lb | number | 量比 |
| hs | number | 换手率(%) |
| tj | string | 涨停统计(x天/y板) |
[{"dm":"sh603333","mc":"尚纬股份","p":6.67,"ztp":6.67,"zf":10.07,"cje":790927376.0,"lt":4145588998.62,"zsz":4145588985.28,"zs":0.0,"nh":0,"lb":1.22,"hs":20.47,"tj":"9/6"},{"dm":"sz002641","mc":"公元股份","p":5.91,"ztp":5.91,"zf":10.06,"cje":349813616.0,"lt":6704161267.59,"zsz":7263944783.52,"zs":0.0,"nh":1,"lb":4.19,"hs":5.43,"tj":"2/2"},{"dm":"sz002403","mc":"爱仕达","p":12.93,"ztp":12.93,"zf":10.04,"cje":362526448.0,"lt":3955758350.22,"zsz":4404456787.68,"zs":0.0,"nh":1,"lb":1.52,"hs":9.16,"tj":"4/4"},{"dm":"sz000532","mc":"华金资本","p":13.6,"ztp":13.6,"zf":10.03,"cje":670297024.0,"lt":4672276545.6,"zsz":4688033369.6,"zs":0.0,"nh":1,"lb":1.55,"hs":14.68,"tj":"1/1"},{"dm":"sh601086","mc":"国芳集团","p":6.04,"ztp":6.04,"zf":10.02,"cje":173031172.0,"lt":4022640000.0,"zsz":4022640000.0,"zs":0.0,"nh":1,"lb":5.11,"hs":4.42,"tj":"1/1"},{"dm":"sh603032","mc":"德新科技","p":22.96,"ztp":22.96,"zf":10.01,"cje":579600464.0,"lt":5237543360.0,"zsz":5406074352.0,"zs":0.0,"nh":0,"lb":3.52,"hs":11.58,"tj":"2/2"},{"dm":"sz002762","mc":"金发拉比","p":10.11,"ztp":10.11,"zf":10.01,"cje":633628000.0,"lt":2100037098.33,"zsz":3579192830.88,"zs":0.0,"nh":1,"lb":5.86,"hs":30.63,"tj":"1/1"},{"dm":"sh603268","mc":"松发股份","p":20.89,"ztp":20.89,"zf":10.01,"cje":203384339.0,"lt":2593886232.0,"zsz":2593886232.0,"zs":0.0,"nh":1,"lb":4.04,"hs":8.44,"tj":"2/2"},{"dm":"sh601096","mc":"宏盛华源","p":6.16,"ztp":6.16,"zf":10.0,"cje":1200970448.0,"lt":3996115883.76,"zsz":16478955342.08,"zs":0.0,"nh":0,"lb":0.92,"hs":32.78,"tj":"5/3"},{"dm":"sh603877","mc":"太平鸟","p":17.71,"ztp":17.71,"zf":10.0,"cje":180538320.0,"lt":8370916737.26,"zsz":8391690531.84,"zs":0.0,"nh":0,"lb":3.03,"hs":2.21,"tj":"2/2"},{"dm":"sz002882","mc":"金龙羽","p":18.6,"ztp":18.6,"zf":9.99,"cje":877955360.0,"lt":4585365000.0,"zsz":8051940000.0,"zs":0.0,"nh":0,"lb":1.63,"hs":20.11,"tj":"4/3"},{"dm":"sz001368","mc":"通达创智","p":31.26,"ztp":31.26,"zf":9.99,"cje":310960192.0,"lt":875280000.0,"zsz":3501120000.0,"zs":0.0,"nh":1,"lb":2.68,"hs":37.0,"tj":"2/2"},{"dm":"sz000715","mc":"中兴商业","p":10.13,"ztp":10.13,"zf":9.99,"cje":608770896.0,"lt":4204552674.22,"zsz":4211232902.72,"zs":0.0,"nh":1,"lb":3.86,"hs":14.49,"tj":"3/3"},{"dm":"sh603099","mc":"长白山","p":29.18,"ztp":29.18,"zf":9.99,"cje":1462451424.0,"lt":7781430600.0,"zsz":7781430600.0,"zs":0.0,"nh":1,"lb":1.96,"hs":19.22,"tj":"7/7"},{"dm":"sz002186","mc":"全 聚 德","p":13.22,"ztp":13.22,"zf":9.98,"cje":325387408.0,"lt":4072469980.1,"zsz":4077893445.44,"zs":0.0,"nh":1,"lb":5.38,"hs":8.28,"tj":"1/1"},{"dm":"sh603798","mc":"康普顿","p":11.9,"ztp":11.9,"zf":9.98,"cje":332482544.0,"lt":3051750835.0,"zsz":3051750835.0,"zs":0.0,"nh":1,"lb":3.15,"hs":11.37,"tj":"2/2"},{"dm":"sh600844","mc":"丹化科技","p":3.86,"ztp":3.86,"zf":9.97,"cje":375341488.0,"lt":3175740247.24,"zsz":3923783566.4,"zs":0.0,"nh":1,"lb":1.13,"hs":12.23,"tj":"6/3"},{"dm":"sz000017","mc":"深中华A","p":5.41,"ztp":5.41,"zf":9.96,"cje":83346703.0,"lt":1639148660.65,"zsz":3728490460.48,"zs":0.0,"nh":1,"lb":1.5,"hs":5.14,"tj":"2/2"},{"dm":"sh600628","mc":"新世界","p":7.95,"ztp":7.95,"zf":9.96,"cje":161323642.0,"lt":5142659302.8,"zsz":5142659366.4,"zs":0.0,"nh":1,"lb":5.18,"hs":3.26,"tj":"1/1"},{"dm":"sh600480","mc":"凌云股份","p":9.94,"ztp":9.94,"zf":9.96,"cje":511959920.0,"lt":9114636175.4,"zsz":9349622685.76,"zs":0.0,"nh":1,"lb":1.87,"hs":5.72,"tj":"1/1"},{"dm":"sz002162","mc":"悦心健康","p":4.87,"ztp":4.87,"zf":9.93,"cje":352836880.0,"lt":4510465251.81,"zsz":4512055000.0,"zs":0.0,"nh":1,"lb":2.21,"hs":7.93,"tj":"1/1"},{"dm":"sz002610","mc":"爱康科技","p":2.66,"ztp":2.66,"zf":9.92,"cje":1784701536.0,"lt":11905047816.76,"zsz":11915556567.04,"zs":0.0,"nh":1,"lb":3.56,"hs":15.6,"tj":"2/2"},{"dm":"sz000558","mc":"莱茵体育","p":3.44,"ztp":3.44,"zf":9.9,"cje":327679840.0,"lt":4433075051.52,"zsz":4434930394.88,"zs":0.0,"nh":1,"lb":1.39,"hs":7.85,"tj":"1/1"},{"dm":"sz300237","mc":"美晨生态","p":2.27,"ztp":2.54,"zf":7.08,"cje":470389904.0,"lt":3265292407.35,"zsz":3273146886.56,"zs":0.0,"nh":1,"lb":10.95,"hs":13.92,"tj":"0/0"},{"dm":"sz002395","mc":"双象股份","p":23.1,"ztp":23.79,"zf":6.8,"cje":1435908368.0,"lt":6195627900.0,"zsz":6195627900.0,"zs":0.09,"nh":1,"lb":1.33,"hs":23.06,"tj":"12/6"},{"dm":"sz002150","mc":"通润装备","p":18.18,"ztp":18.73,"zf":6.75,"cje":335925776.0,"lt":6449915907.54,"zsz":6581651878.08,"zs":0.0,"nh":1,"lb":2.14,"hs":5.26,"tj":"0/0"},{"dm":"sh605158","mc":"华达新材","p":9.22,"ztp":9.5,"zf":6.71,"cje":571589392.0,"lt":4715292400.0,"zsz":4715292400.0,"zs":0.0,"nh":0,"lb":2.18,"hs":12.26,"tj":"4/2"},{"dm":"sh600277","mc":"亿利洁能","p":2.73,"ztp":2.82,"zf":6.64,"cje":263131031.0,"lt":9720498589.62,"zsz":9720498584.16,"zs":0.0,"nh":1,"lb":5.35,"hs":2.71,"tj":"0/0"},{"dm":"sz300833","mc":"浩洋股份","p":102.65,"ztp":116.21,"zf":6.0,"cje":52321379.0,"lt":5495502529.45,"zsz":8656166550.0,"zs":0.0,"nh":1,"lb":1.09,"hs":0.97,"tj":"0/0"},{"dm":"sz002419","mc":"天虹股份","p":6.05,"ztp":6.28,"zf":5.95,"cje":646422304.0,"lt":7070484433.65,"zsz":7071528851.2,"zs":0.0,"nh":1,"lb":4.19,"hs":9.36,"tj":"0/0"},{"dm":"sh603530","mc":"神马电力","p":21.11,"ztp":22.01,"zf":5.5,"cje":616505616.0,"lt":9125078832.97,"zsz":9125078854.08,"zs":-0.05,"nh":0,"lb":1.04,"hs":7.02,"tj":"10/5"},{"dm":"sh603212","mc":"赛伍技术","p":18.79,"ztp":19.66,"zf":5.15,"cje":987738704.0,"lt":8220449050.44,"zsz":8264425241.6,"zs":0.0,"nh":1,"lb":1.29,"hs":12.26,"tj":"0/0"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/qsgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.strong_pool("2024-01-10")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/qsgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.strong_pool("2024-01-10");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/qsgc/日期(如2020-01-15)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.strongPool("2024-01-10");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/qsgc/日期(如2020-01-15)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StrongPool("2024-01-10")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/qsgc/日期(如2020-01-15)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StrongPoolAsync("2024-01-10");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码 |
| mc | string | 名称 |
| p | number | 价格(元) |
| ztp | number | 涨停价(元,无涨停价为null) |
| zf | number | 涨跌幅(%) |
| cje | number | 成交额(元) |
| lt | number | 流通市值(元) |
| zsz | number | 总市值(元) |
| nh | number | 是否新高(0:否,1:是) |
| hs | number | 转手率(%) |
| tj | string | 涨停统计(x天/y板) |
| kb | number | 开板几日 |
| od | string | 开板日期(yyyyMMdd) |
| ipod | string | 上市日期(yyyyMMdd) |
[{"dm":"sh603325","mc":"N博隆","p":84.93,"ztp":null,"zf":17.21,"cje":930814816.0,"lt":1387300295.76,"zsz":5662283100.0,"nh":0,"hs":64.67,"tj":"0/0","kb":1,"od":"20240110","ipod":"20240110"},{"dm":"sh688717","mc":"艾罗能源","p":101.44,"ztp":104.28,"zf":16.73,"cje":882973520.0,"lt":1882666448.96,"zsz":16230400000.0,"nh":0,"hs":49.12,"tj":"0/0","kb":6,"od":"20240103","ipod":"20240103"},{"dm":"sz301566","mc":"达利凯普","p":23.5,"ztp":28.22,"zf":-0.09,"cje":308266928.0,"lt":1074558979.0,"zsz":9400235000.0,"nh":0,"hs":28.39,"tj":"0/0","kb":8,"od":"20231229","ipod":"20231229"},{"dm":"sz301578","mc":"辰奕智能","p":67.6,"ztp":82.8,"zf":-2.03,"cje":208945919.0,"lt":769205257.6,"zsz":3244800000.0,"nh":0,"hs":27.29,"tj":"0/0","kb":9,"od":"20231228","ipod":"20231228"},{"dm":"sh603004","mc":"鼎龙科技","p":31,"ztp":34,"zf":0.29,"cje":773771456.0,"lt":1788687817.0,"zsz":7301120000.0,"nh":0,"hs":43.24,"tj":"0/0","kb":10,"od":"20231227","ipod":"20231227"},{"dm":"sz301526","mc":"国际复材","p":5.67,"ztp":6.3,"zf":8.0,"cje":858169776.0,"lt":3095965594.26,"zsz":21380878532.16,"nh":0,"hs":28.77,"tj":"0/0","kb":11,"od":"20231226","ipod":"20231226"},{"dm":"sh601096","mc":"宏盛华源","p":6.16,"ztp":6.16,"zf":10.0,"cje":1200970448.0,"lt":3996115883.76,"zsz":16478955342.08,"nh":0,"hs":32.78,"tj":"5/3","kb":13,"od":"20231222","ipod":"20231222"},{"dm":"sz001358","mc":"兴欣新材","p":44.01,"ztp":48.27,"zf":0.3,"cje":117483453.0,"lt":948737873.25,"zsz":3872880000.0,"nh":0,"hs":12.38,"tj":"0/0","kb":14,"od":"20231221","ipod":"20231221"},{"dm":"sh603373","mc":"安邦护卫","p":40.58,"ztp":46.88,"zf":-4.79,"cje":253450438.0,"lt":1068925409.04,"zsz":4363440871.56,"nh":0,"hs":23.32,"tj":"0/0","kb":15,"od":"20231220","ipod":"20231220"},{"dm":"sz301413","mc":"安培龙","p":63.05,"ztp":76.8,"zf":-1.48,"cje":128402814.0,"lt":1018101009.9,"zsz":4772496296.75,"nh":0,"hs":12.66,"tj":"0/0","kb":17,"od":"20231218","ipod":"20231218"},{"dm":"sh603231","mc":"索宝蛋白","p":24.44,"ztp":24.44,"zf":9.99,"cje":253323709.0,"lt":1146370371.12,"zsz":4679260526.2,"nh":0,"hs":23.31,"tj":"1/1","kb":18,"od":"20231215","ipod":"20231215"},{"dm":"sz301459","mc":"丰茂股份","p":43.41,"ztp":52.8,"zf":-1.34,"cje":70962270.0,"lt":823357383.18,"zsz":3472800000.0,"nh":0,"hs":8.65,"tj":"0/0","kb":20,"od":"20231213","ipod":"20231213"},{"dm":"sz001239","mc":"永达股份","p":20.42,"ztp":22.33,"zf":0.59,"cje":237514837.0,"lt":975799084.38,"zsz":4900800000.0,"nh":0,"hs":24.16,"tj":"0/0","kb":21,"od":"20231212","ipod":"20231212"},{"dm":"sz301516","mc":"中远通","p":19.82,"ztp":23.45,"zf":1.43,"cje":239816727.0,"lt":1226279929.88,"zsz":5563508883.2,"nh":0,"hs":19.95,"tj":"0/0","kb":23,"od":"20231208","ipod":"20231208"},{"dm":"sh688720","mc":"艾森股份","p":49.57,"ztp":59.74,"zf":-0.42,"cje":66701815.0,"lt":824388111.59,"zsz":4368769366.38,"nh":0,"hs":8.12,"tj":"0/0","kb":25,"od":"20231206","ipod":"20231206"},{"dm":"sh601083","mc":"锦江航运","p":11.67,"ztp":12.96,"zf":-0.93,"cje":241910192.0,"lt":2197394481.0,"zsz":15102380400.0,"nh":0,"hs":11.0,"tj":"0/0","kb":26,"od":"20231205","ipod":"20231205"},{"dm":"sz301508","mc":"中机认检","p":31.44,"ztp":38.45,"zf":-1.87,"cje":175184779.0,"lt":1350460775.28,"zsz":7108118688.0,"nh":0,"hs":13.0,"tj":"0/0","kb":28,"od":"20231201","ipod":"20231201"},{"dm":"sh688652","mc":"京仪装备","p":56.8,"ztp":68.04,"zf":0.18,"cje":132450989.0,"lt":2151871294.4,"zsz":9542400000.0,"nh":0,"hs":6.16,"tj":"0/0","kb":30,"od":"20231129","ipod":"20231129"},{"dm":"sz301568","mc":"思泰克","p":42.09,"ztp":50.57,"zf":-0.12,"cje":119864142.0,"lt":1030678959.18,"zsz":4346146056.0,"nh":0,"hs":11.7,"tj":"0/0","kb":31,"od":"20231128","ipod":"20231128"},{"dm":"sh688653","mc":"康希通信","p":17.26,"ztp":20.93,"zf":-1.03,"cje":30546976.0,"lt":876231688.6,"zsz":7326524800.0,"nh":0,"hs":3.46,"tj":"0/0","kb":38,"od":"20231117","ipod":"20231117"},{"dm":"sz001306","mc":"夏厦精密","p":77.5,"ztp":87.8,"zf":-2.91,"cje":132742483.0,"lt":1176861680.0,"zsz":4805000000.0,"nh":0,"hs":11.37,"tj":"0/0","kb":39,"od":"20231116","ipod":"20231116"},{"dm":"sh688648","mc":"中邮科技","p":25.38,"ztp":29.76,"zf":2.34,"cje":54303011.0,"lt":729931566.42,"zsz":3451680000.0,"nh":0,"hs":7.54,"tj":"0/0","kb":42,"od":"20231113","ipod":"20231113"},{"dm":"sz001326","mc":"联域股份","p":53.42,"ztp":57.81,"zf":1.66,"cje":76288653.0,"lt":957923754.02,"zsz":3910344000.0,"nh":0,"hs":8.06,"tj":"0/0","kb":44,"od":"20231109","ipod":"20231109"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/cxgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.new_stock_pool("2024-01-10")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/cxgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.new_stock_pool("2024-01-10");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/cxgc/日期(如2020-01-15)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.newStockPool("2024-01-10");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/cxgc/日期(如2020-01-15)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.NewStockPool("2024-01-10")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/cxgc/日期(如2020-01-15)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.NewStockPoolAsync("2024-01-10");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 代码 |
| mc | string | 名称 |
| p | number | 价格(元) |
| ztp | number | 涨停价(元) |
| zf | number | 涨跌幅(%) |
| cje | number | 成交额(元) |
| lt | number | 流通市值(元) |
| zsz | number | 总市值(元) |
| zs | number | 涨速(%) |
| hs | number | 转手率(%) |
| tj | string | 涨停统计(x天/y板) |
| fbt | string | 首次封板时间(HH:mm:ss) |
| zbc | number | 炸板次数 |
[{"dm":"sz002611","mc":"东方精工","p":5.14,"ztp":5.79,"zf":-2.28,"cje":955617568.0,"lt":5201681387.8,"zsz":6376778576.0,"hs":17.33,"zs":-0.58,"tj":"2/1","fbt":"09:25:00","zbc":1},{"dm":"sh605080","mc":"浙江自然","p":25.72,"ztp":28.3,"zf":-0.04,"cje":548066192.0,"lt":1210718588.8,"zsz":3641258588.8,"hs":41.77,"zs":-0.04,"tj":"2/1","fbt":"09:30:04","zbc":4},{"dm":"sz003025","mc":"思进智能","p":18.59,"ztp":21.29,"zf":-3.93,"cje":1526952944.0,"lt":4398913869.35,"zsz":4398913869.35,"hs":31.04,"zs":-0.48,"tj":"8/5","fbt":"09:30:15","zbc":6},{"dm":"sz002981","mc":"朝阳科技","p":38.69,"ztp":39.27,"zf":8.38,"cje":414025984.0,"lt":3278977500.0,"zsz":3714240000.0,"hs":12.6,"zs":0.0,"tj":"0/0","fbt":"09:30:33","zbc":3},{"dm":"sz002877","mc":"智能自控","p":11,"ztp":12.21,"zf":-0.9,"cje":725520896.0,"lt":2293217333.0,"zsz":3888390880.0,"hs":29.74,"zs":0.09,"tj":"2/1","fbt":"09:31:54","zbc":3},{"dm":"sz002395","mc":"双象股份","p":23.1,"ztp":23.79,"zf":6.8,"cje":1435908368.0,"lt":6195627900.0,"zsz":6195627900.0,"hs":23.06,"zs":0.09,"tj":"12/6","fbt":"09:33:21","zbc":6},{"dm":"sh603787","mc":"新日股份","p":12.16,"ztp":13.68,"zf":-2.25,"cje":202861600.0,"lt":2798548486.4,"zsz":2798548486.4,"hs":6.81,"zs":-0.73,"tj":"0/0","fbt":"09:43:02","zbc":1},{"dm":"sz001316","mc":"润贝航科","p":35,"ztp":37.65,"zf":2.25,"cje":74993558.0,"lt":994612500.0,"zsz":2877455000.0,"hs":7.38,"zs":-0.71,"tj":"0/0","fbt":"10:00:57","zbc":1},{"dm":"sh600277","mc":"亿利洁能","p":2.73,"ztp":2.82,"zf":6.64,"cje":263131031.0,"lt":9720498589.62,"zsz":9720498584.16,"hs":2.71,"zs":0.0,"tj":"0/0","fbt":"10:06:05","zbc":1},{"dm":"sh603398","mc":"沐邦高科","p":18.64,"ztp":19.46,"zf":5.37,"cje":121568576.0,"lt":6386707210.48,"zsz":6386707303.68,"hs":1.91,"zs":0.05,"tj":"0/0","fbt":"10:23:36","zbc":1},{"dm":"sh605389","mc":"长龄液压","p":28.02,"ztp":30.25,"zf":1.89,"cje":338505824.0,"lt":954550615.2,"zsz":4037319701.4,"hs":34.67,"zs":-0.21,"tj":"2/1","fbt":"10:25:50","zbc":3},{"dm":"sh600228","mc":"返利科技","p":7.68,"ztp":8.07,"zf":4.63,"cje":310676720.0,"lt":2183758986.24,"zsz":4659254231.04,"hs":14.27,"zs":0.0,"tj":"0/0","fbt":"10:32:31","zbc":1},{"dm":"sh605158","mc":"华达新材","p":9.22,"ztp":9.5,"zf":6.71,"cje":571589392.0,"lt":4715292400.0,"zsz":4715292400.0,"hs":12.26,"zs":0.0,"tj":"4/2","fbt":"10:33:55","zbc":3},{"dm":"sh688717","mc":"艾罗能源","p":101.44,"ztp":104.28,"zf":16.73,"cje":882973520.0,"lt":1882666448.96,"zsz":16230400000.0,"hs":49.12,"zs":0.0,"tj":"0/0","fbt":"13:56:33","zbc":1}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hslt/zbgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.broken_board_pool("2024-01-10")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hslt/zbgc/日期(如2020-01-15)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.broken_board_pool("2024-01-10");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hslt/zbgc/日期(如2020-01-15)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.brokenBoardPool("2024-01-10");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hslt/zbgc/日期(如2020-01-15)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.BrokenBoardPool("2024-01-10")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hslt/zbgc/日期(如2020-01-15)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.BrokenBoardPoolAsync("2024-01-10");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| name | string | 公司名称 |
| ename | string | 公司英文名称 |
| market | string | 上市市场 |
| idea | string | 概念及板块,多个概念由英文逗号分隔 |
| ldate | string | 上市日期,格式yyyy-MM-dd |
| sprice | string | 发行价格(元) |
| principal | string | 主承销商 |
| rdate | string | 成立日期 |
| rprice | string | 注册资本 |
| instype | string | 机构类型 |
| organ | string | 组织形式 |
| secre | string | 董事会秘书 |
| phone | string | 公司电话 |
| sphone | string | 董秘电话 |
| fax | string | 公司传真 |
| sfax | string | 董秘传真 |
| string | 公司电子邮箱 | |
| semail | string | 董秘电子邮箱 |
| site | string | 公司网站 |
| post | string | 邮政编码 |
| infosite | string | 信息披露网址 |
| oname | string | 证券简称更名历史 |
| addr | string | 注册地址 |
| oaddr | string | 办公地址 |
| desc | string | 公司简介 |
| bscope | string | 经营范围 |
| printype | string | 承销方式 |
| referrer | string | 上市推荐人 |
| putype | string | 发行方式 |
| pe | string | 发行市盈率(按发行后总股本) |
| firgu | string | 首发前总股本(万股) |
| lastgu | string | 首发后总股本(万股) |
| realgu | string | 实际发行量(万股) |
| planm | string | 预计募集资金(万元) |
| realm | string | 实际募集资金合计(万元) |
| pubfee | string | 发行费用总额(万元) |
| collect | string | 募集资金净额(万元) |
| signfee | string | 承销费用(万元) |
| pdate | string | 招股公告日 |
{"name":"平安银行股份有限公司","ename":"Ping An Bank Co.,Ltd.","market":"深圳证券交易所","ldate":"1991-04-03","sprice":"40.00","principal":"","rdate":"1987-12-22","rprice":"1940590万元(CNY)","instype":"股份制商业银行","organ":"民营企业","secre":"周强","phone":"0755-82080387","sphone":"0755-82080387","fax":"0755-82080386","sfax":"0755-82080386","email":"PAB_db@pingan.com.cn","semail":"PAB_db@pingan.com.cn","site":"https://www.bank.pingan.com","post":"518001,518033","infosite":"","oname":"S深发展A 深发展A 平安银行","addr":"广东省深圳市罗湖区深南东路5047号","oaddr":"广东省深圳市罗湖区深南东路5047号,中国广东省深圳市福田区益田路5023号平安金融中心B座","desc":"本行系在对深圳经济特区原六家信用社改组的同时经中国人民银行深圳经济特区分行[87]深人融管字第93号文批准向社会公众发行股票,并经中国人民银行银复[1987]365号文批准设立的股份有限公司。本行在深圳市工商行政管理局注册登记,取得营业执照,营业执照注册号为:440301103098545。本行于1987年5月9日经中国人民银行深圳经济特区分行批准,首次向境内社会公众发行人民币普通股39.7万股。于1988年4月在深圳经济特区证券公司挂牌柜台交易。并于1991年4月3日在深圳证券交易所上市。 自2012年7月27日起,公司名称由\"深圳发展银行股份有限公司\"变更为\"平安银行股份有限公司\",英文名称由\"Shenzhen Development Bank Co.,Ltd.\"变更为\"Ping An Bank Co.,Ltd.\"。","bscope":"人民币、外币存贷款;国际、国内结算;票据贴现;外汇买卖;提供担保及信用证服务;提供保管箱服务等。","idea":"本月解禁,外资背景,证金汇金,区块链,融资融券,券商重仓,保险重仓,深圳本地,大盘,MSCI中国,基金重仓,社保重仓","printype":"代销","referrer":"--","putype":"其他","pe":"--","firgu":"--","lastgu":"--","realgu":"67.50","planm":"--","realm":"--","pubfee":"--","collect":"--","signfee":"--","pdate":"1989-03-10"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/gsjj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_profile("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/gsjj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_profile("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/gsjj/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyProfile("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/gsjj/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyProfile("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/gsjj/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyProfileAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| mc | string | 指数名称 |
| dm | string | 指数代码 |
| ind | string | 进入日期yyyy-MM-dd |
| outd | string | 退出日期yyyy-MM-dd |
[{"mc":"金融业","dm":"825500","ind":"","outd":""},{"mc":"中信大盘","dm":"816100","ind":"","outd":""},{"mc":"大盘成长","dm":"816120","ind":"","outd":""},{"mc":"中标300","dm":"816000","ind":"2004-01-02","outd":""},{"mc":"深证综指","dm":"399106","ind":"1991-04-03","outd":""},{"mc":"深证A指","dm":"399107","ind":"1992-10-04","outd":""},{"mc":"成份A指","dm":"399002","ind":"1995-01-23","outd":""},{"mc":"金融指数","dm":"399190","ind":"2001-07-02","outd":""},{"mc":"巨潮100","dm":"399313","ind":"2004-11-01","outd":""},{"mc":"沪深300","dm":"399300","ind":"2005-04-08","outd":""},{"mc":"道中指数","dm":"DWJ001","ind":"2005-04-01","outd":""},{"mc":"道中88","dm":"DWJ004","ind":"2005-04-01","outd":""},{"mc":"道深指数","dm":"DWJ003","ind":"2005-04-01","outd":""},{"mc":"道财600","dm":"DWJ005","ind":"2005-04-01","outd":""},{"mc":"道财金融","dm":"DWJ010","ind":"2005-09-08","outd":""},{"mc":"中证100","dm":"000903","ind":"2006-05-29","outd":"2022-06-13"},{"mc":"中证100","dm":"399903","ind":"2006-05-29","outd":"2022-06-13"},{"mc":"巨潮40","dm":"399310","ind":"","outd":"2021-06-15"},{"mc":"巨潮300","dm":"399312","ind":"","outd":"2021-06-15"},{"mc":"巨潮大盘","dm":"399314","ind":"","outd":""},{"mc":"巨潮A指","dm":"399317","ind":"1900-01-01","outd":""},{"mc":"巨潮1000","dm":"399311","ind":"","outd":""},{"mc":"深报指数","dm":"399351","ind":"","outd":""},{"mc":"深报综指","dm":"399352","ind":"","outd":""},{"mc":"深证成长","dm":"399325","ind":"1900-01-01","outd":"2011-01-04"},{"mc":"沪深300全收益","dm":"QSY301","ind":"2005-04-21","outd":""},{"mc":"中证800","dm":"000906","ind":"2005-01-04","outd":""},{"mc":"中证800","dm":"399906","ind":"2005-01-04","outd":""},{"mc":"中证100全收益","dm":"QSY913","ind":"2006-05-29","outd":"2022-06-13"},{"mc":"中证800全收益","dm":"QSY916","ind":"2007-01-15","outd":""},{"mc":"300金融","dm":"000914","ind":"2002-01-04","outd":""},{"mc":"300金融","dm":"399914","ind":"2002-01-04","outd":""},{"mc":"新指数","dm":"399100","ind":"2007-06-20","outd":""},{"mc":"CBN珠三角40","dm":"399356","ind":"2007-07-02","outd":""},{"mc":"巨潮治理","dm":"399322","ind":"2008-01-02","outd":"2020-08-31"},{"mc":"深证治理","dm":"399327","ind":"2008-01-02","outd":""},{"mc":"300成长","dm":"000918","ind":"2008-01-02","outd":"2018-06-11"},{"mc":"300成长","dm":"399918","ind":"2008-01-02","outd":"2018-06-11"},{"mc":"300价值","dm":"000919","ind":"2008-01-02","outd":"2020-06-15"},{"mc":"300价值","dm":"399919","ind":"2008-01-02","outd":""},{"mc":"300R成长","dm":"000920","ind":"2008-01-02","outd":"2018-06-11"},{"mc":"300R成长","dm":"399920","ind":"2008-01-02","outd":""},{"mc":"300R价值","dm":"000921","ind":"2008-01-02","outd":""},{"mc":"300R价值","dm":"399921","ind":"2008-01-02","outd":""},{"mc":"申万300","dm":"801300","ind":"2000-01-04","outd":""},{"mc":"沪深300","dm":"000300","ind":"2005-04-08","outd":""},{"mc":"申万50","dm":"801001","ind":"2008-01-02","outd":"2016-07-01"},{"mc":"申万A指","dm":"801003","ind":"1991-04-03","outd":""},{"mc":"大盘指数","dm":"801811","ind":"2008-01-02","outd":""},{"mc":"低市盈率指数","dm":"801823","ind":"2008-05-05","outd":"2009-05-04"},{"mc":"高价股指数","dm":"801841","ind":"2008-04-01","outd":"2009-01-05"},{"mc":"绩优股指数","dm":"801853","ind":"2008-05-05","outd":"2009-05-04"},{"mc":"基金重仓","dm":"801901","ind":"2008-05-05","outd":""}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/sszs/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_indexes("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/sszs/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_indexes("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/sszs/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyIndexes("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/sszs/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyIndexes("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/sszs/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyIndexesAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| name | string | 姓名 |
| title | string | 职务 |
| sdate | string | 起始日期yyyy-MM-dd |
| edate | string | 终止日期yyyy-MM-dd |
[{"name":"杨志群","title":"副行长","sdate":"2019-04-20","edate":"--"},{"name":"项有志","title":"首席财务官","sdate":"2018-01-29","edate":"--"},{"name":"项有志","title":"副行长","sdate":"2020-06-05","edate":"--"},{"name":"周强","title":"董事会秘书","sdate":"2014-10-21","edate":"--"},{"name":"邱伟","title":"纪委书记","sdate":"2015-12-31","edate":"--"},{"name":"邱伟","title":"党委副书记","sdate":"2015-12-31","edate":"--"},{"name":"吴雷鸣","title":"首席风险官","sdate":"2024-04-03","edate":"--"},{"name":"吴雷鸣","title":"行长助理","sdate":"2024-04-03","edate":"--"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/ljgg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_executives("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/ljgg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_executives("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/ljgg/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyExecutives("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/ljgg/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyExecutives("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/ljgg/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyExecutivesAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| name | string | 姓名 |
| title | string | 职务 |
| sdate | string | 起始日期yyyy-MM-dd |
| edate | string | 终止日期yyyy-MM-dd |
[{"name":"谢永林","title":"董事长","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"谢永林","title":"非执行董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"陈心颖","title":"非执行董事","sdate":"2022-11-10","edate":"2024-10-08"},{"name":"蔡方方","title":"非执行董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"付欣","title":"非执行董事","sdate":"2024-03-06","edate":"2025-11-09"},{"name":"郭建","title":"非执行董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"郭晓涛","title":"非执行董事","sdate":"2024-10-08","edate":"2025-11-09"},{"name":"胡跃飞","title":"执行董事","sdate":"2022-11-10","edate":"2023-06-07"},{"name":"杨志群","title":"执行董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"郭世邦","title":"执行董事","sdate":"2022-11-10","edate":"2023-12-21"},{"name":"项有志","title":"执行董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"冀光恒","title":"执行董事","sdate":"2023-11-10","edate":"2025-11-09"},{"name":"杨军","title":"独立董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"艾春荣","title":"独立董事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"吴志攀","title":"独立董事","sdate":"2023-05-11","edate":"2025-11-09"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/ljds/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_directors("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/ljds/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_directors("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/ljds/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyDirectors("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/ljds/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyDirectors("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/ljds/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyDirectorsAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| name | string | 姓名 |
| title | string | 职务 |
| sdate | string | 起始日期yyyy-MM-dd |
| edate | string | 终止日期yyyy-MM-dd |
[{"name":"叶望春","title":"监事长","sdate":"2022-12-30","edate":"2025-11-09"},{"name":"邱伟","title":"职工监事","sdate":"2022-11-10","edate":"2022-12-23"},{"name":"邱伟","title":"监事长","sdate":"2022-11-10","edate":"2022-12-23"},{"name":"叶望春","title":"职工监事","sdate":"2022-12-23","edate":"2025-11-09"},{"name":"孙永桢","title":"职工监事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"邓红","title":"职工监事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"王春汉","title":"外部监事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"王松奇","title":"外部监事","sdate":"2022-11-10","edate":"2024-07-18"},{"name":"韩小京","title":"外部监事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"车国宝","title":"股东监事","sdate":"2022-11-10","edate":"2025-11-09"},{"name":"邱伟","title":"监事长","sdate":"2020-05-15","edate":"2022-11-09"},{"name":"邱伟","title":"职工监事","sdate":"2020-05-14","edate":"2022-11-09"},{"name":"孙永桢","title":"职工监事","sdate":"2020-05-14","edate":"2022-11-09"},{"name":"王群","title":"职工监事","sdate":"2020-05-14","edate":"2022-11-09"},{"name":"王春汉","title":"外部监事","sdate":"2020-09-16","edate":"2022-11-09"},{"name":"王松奇","title":"外部监事","sdate":"2020-09-06","edate":"2022-11-09"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/ljjj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_supervisors("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/ljjj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_supervisors("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/ljjj/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companySupervisors("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/ljjj/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanySupervisors("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/ljjj/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanySupervisorsAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| sdate | string | 公告日期yyyy-MM-dd |
| give | string | 每10股送股(单位:股) |
| change | string | 每10股转增(单位:股) |
| send | string | 每10股派息(税前,单位:元) |
| line | string | 进度 |
| cdate | string | 除权除息日yyyy-MM-dd |
| edate | string | 股权登记日yyyy-MM-dd |
| hdate | string | 红股上市日yyyy-MM-dd |
[{"sdate":"2024-09-26","give":"0","change":"0","send":"2.46","line":"实施","cdate":"2024-10-10","edate":"2024-10-09","hdate":"--"},{"sdate":"2024-06-06","give":"0","change":"0","send":"7.19","line":"实施","cdate":"2024-06-14","edate":"2024-06-13","hdate":"--"},{"sdate":"2023-06-07","give":"0","change":"0","send":"2.85","line":"实施","cdate":"2023-06-14","edate":"2023-06-13","hdate":"--"},{"sdate":"2022-07-15","give":"0","change":"0","send":"2.28","line":"实施","cdate":"2022-07-22","edate":"2022-07-21","hdate":"--"},{"sdate":"2021-05-07","give":"0","change":"0","send":"1.8","line":"实施","cdate":"2021-05-14","edate":"2021-05-13","hdate":"--"},{"sdate":"2020-05-22","give":"0","change":"0","send":"2.18","line":"实施","cdate":"2020-05-28","edate":"2020-05-27","hdate":"--"},{"sdate":"2019-06-20","give":"0","change":"0","send":"1.45","line":"实施","cdate":"2019-06-26","edate":"2019-06-25","hdate":"--"},{"sdate":"2018-07-06","give":"0","change":"0","send":"1.36","line":"实施","cdate":"2018-07-12","edate":"2018-07-11","hdate":"--"},{"sdate":"2017-07-17","give":"0","change":"0","send":"1.58","line":"实施","cdate":"2017-07-21","edate":"2017-07-20","hdate":"--"},{"sdate":"2016-06-08","give":"0","change":"2","send":"1.53","line":"实施","cdate":"2016-06-16","edate":"2016-06-15","hdate":"--"},{"sdate":"2015-04-07","give":"0","change":"2","send":"1.74","line":"实施","cdate":"2015-04-13","edate":"2015-04-10","hdate":"--"},{"sdate":"2014-06-06","give":"0","change":"2","send":"1.6","line":"实施","cdate":"2014-06-12","edate":"2014-06-11","hdate":"--"},{"sdate":"2013-06-14","give":"6","change":"0","send":"1.7","line":"实施","cdate":"2013-06-20","edate":"2013-06-19","hdate":"--"},{"sdate":"2012-10-12","give":"0","change":"0","send":"1","line":"实施","cdate":"2012-10-19","edate":"2012-10-18","hdate":"--"},{"sdate":"2012-03-09","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2011-02-25","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2010-03-12","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2009-03-20","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2008-10-24","give":"3","change":"0","send":"0.335","line":"实施","cdate":"2008-10-31","edate":"2008-10-30","hdate":"--"},{"sdate":"2008-03-20","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2007-06-14","give":"1","change":"0","send":"0.09","line":"实施","cdate":"2007-06-18","edate":"2007-06-15","hdate":"2007-06-20"},{"sdate":"2007-03-22","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2006-04-01","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2005-06-18","give":"0","change":"0","send":"0","line":"不分配","cdate":"--","edate":"--","hdate":"--"},{"sdate":"2003-09-23","give":"0","change":"0","send":"1.5","line":"实施","cdate":"2003-09-29","edate":"2003-09-26","hdate":"--"},{"sdate":"2002-07-17","give":"0","change":"0","send":"1.5","line":"实施","cdate":"2002-07-23","edate":"2002-07-22","hdate":"--"},{"sdate":"1999-10-16","give":"0","change":"0","send":"6","line":"实施","cdate":"1999-10-18","edate":"1999-10-15","hdate":"--"},{"sdate":"1997-08-19","give":"5","change":"0","send":"2","line":"实施","cdate":"1997-08-25","edate":"1997-08-22","hdate":"--"},{"sdate":"1996-05-23","give":"5","change":"5","send":"0","line":"实施","cdate":"1996-05-27","edate":"1996-05-24","hdate":"1996-05-29"},{"sdate":"1995-09-15","give":"2","change":"0","send":"3","line":"实施","cdate":"1995-09-25","edate":"1995-09-22","hdate":"--"},{"sdate":"1994-07-02","give":"3","change":"2","send":"5","line":"实施","cdate":"1994-07-11","edate":"1994-07-08","hdate":"--"},{"sdate":"1993-05-09","give":"3.5","change":"5","send":"3","line":"实施","cdate":"1993-05-24","edate":"1993-05-21","hdate":"--"},{"sdate":"1991-03-03","give":"4","change":"0","send":"3","line":"实施","cdate":"1991-04-03","edate":"1991-03-12","hdate":"--"},{"sdate":"1900-01-01","give":"3","change":"0","send":"0","line":"实施","cdate":"1991-08-17","edate":"--","hdate":"--"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jnfh/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_dividends("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jnfh/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_dividends("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jnfh/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyDividends("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jnfh/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyDividends("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jnfh/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyDividendsAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| sdate | string | 公告日期yyyy-MM-dd |
| type | string | 发行方式 |
| price | string | 发行价格 |
| tprice | string | 实际公司募集资金总额 |
| fprice | string | 发行费用总额 |
| amount | string | 实际发行数量 |
[{"sdate":"2015-05-20","type":"定向配售、网下询价配售","price":"16.70元","tprice":"1,000,000.00万元","fprice":"6,000.00万元","amount":"59880.2395万股"},{"sdate":"2014-01-08","type":"定向配售","price":"11.17元","tprice":"1,478,221.03万元","fprice":"4,850.00万元","amount":"132338.4991万股"},{"sdate":"2011-07-29","type":"定向配售","price":"17.75元","tprice":"269,005.23万元","fprice":"0.00元","amount":"163833.6654万股"},{"sdate":"2010-09-16","type":"定向配售","price":"18.26元","tprice":"693,113.08万元","fprice":"2,386.23万元","amount":"37958万股"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jnzf/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_seo("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jnzf/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_seo("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jnzf/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companySeo("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jnzf/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanySeo("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jnzf/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanySeoAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| rdate | string | 解禁日期yyyy-MM-dd |
| ramount | number | 解禁数量(万股) |
| rprice | number | 解禁股流通市值(亿元) |
| batch | number | 上市批次 |
| pdate | string | 公告日期yyyy-MM-dd |
[{"rdate":"2018-05-21","ramount":25224.8,"rprice":27.2932,"batch":15,"pdate":"2015-05-20"},{"rdate":"2017-01-09","ramount":228680.93,"rprice":209.7004,"batch":14,"pdate":"2014-01-08"},{"rdate":"2014-09-01","ramount":314560.64,"rprice":319.279,"batch":12,"pdate":"2011-07-29"},{"rdate":"2013-11-12","ramount":60732.8,"rprice":80.9568,"batch":11,"pdate":"2010-09-16"},{"rdate":"2010-06-28","ramount":18125.57,"rprice":33.5867,"batch":10,"pdate":"2008-03-20"},{"rdate":"2009-10-15","ramount":35.74,"rprice":0.0808,"batch":8,"pdate":"2009-10-14"},{"rdate":"2009-06-22","ramount":13908.07,"rprice":31.4322,"batch":7,"pdate":"2008-03-20"},{"rdate":"2008-06-26","ramount":28972.91,"rprice":65.4788,"batch":4,"pdate":"2008-06-25"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jjxs/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_unlock("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jjxs/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_unlock("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jjxs/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyUnlock("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jjxs/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyUnlock("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jjxs/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyUnlockAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| date | string | 截止日期yyyy-MM-dd |
| income | string | 营业收入(万元) |
| expend | string | 营业支出(万元) |
| profit | string | 营业利润(万元) |
| totalp | string | 利润总额(万元) |
| reprofit | string | 净利润(万元) |
| basege | string | 基本每股收益(元/股) |
| ettege | string | 稀释每股收益(元/股) |
| otherp | string | 其他综合收益(万元) |
| totalcp | string | 综合收益总额(万元) |
[{"date":"2024-09-30","income":"11,158,200.00","expend":"3,169,900.00","profit":"4,786,900.00","totalp":"4,774,400.00","reprofit":"3,972,900.00","basege":"1.9400","ettege":"1.9400","otherp":"-78,600.00","totalcp":"3,894,300.00"},{"date":"2024-06-30","income":"7,713,200.00","expend":"2,189,200.00","profit":"3,208,700.00","totalp":"3,197,700.00","reprofit":"2,587,900.00","basege":"1.2300","ettege":"1.2300","otherp":"-35,600.00","totalcp":"2,552,300.00"},{"date":"2024-03-31","income":"3,877,000.00","expend":"1,082,000.00","profit":"1,855,400.00","totalp":"1,852,500.00","reprofit":"1,493,200.00","basege":"0.6600","ettege":"0.6600","otherp":"34,500.00","totalcp":"1,527,700.00"},{"date":"2023-12-31","income":"16,469,900.00","expend":"4,767,700.00","profit":"5,792,800.00","totalp":"5,771,800.00","reprofit":"4,645,500.00","basege":"2.2500","ettege":"2.2500","otherp":"-37,200.00","totalcp":"4,608,300.00"},{"date":"2023-09-30","income":"12,763,400.00","expend":"3,517,300.00","profit":"4,904,700.00","totalp":"4,899,300.00","reprofit":"3,963,500.00","basege":"1.9400","ettege":"1.9400","otherp":"-83,800.00","totalcp":"3,879,700.00"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jdlr/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_quarter_profit("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jdlr/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_quarter_profit("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jdlr/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyQuarterProfit("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jdlr/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyQuarterProfit("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jdlr/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyQuarterProfitAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| date | string | 截止日期yyyy-MM-dd |
| jyin | string | 经营活动现金流入小计(万元) |
| jyout | string | 经营活动现金流出小计(万元) |
| jyfinal | string | 经营活动产生的现金流量净额(万元) |
| tzin | string | 投资活动现金流入小计(万元) |
| tzout | string | 投资活动现金流出小计(万元) |
| tzfinal | string | 投资活动产生的现金流量净额(万元) |
| czin | string | 筹资活动现金流入小计(万元) |
| czout | string | 筹资活动现金流出小计(万元) |
| czfinal | string | 筹资活动产生的现金流量净额(万元) |
| hl | string | 汇率变动对现金及现金等价物的影响(万元) |
| cashinc | string | 现金及现金等价物净增加额(万元) |
| cashs | string | 期初现金及现金等价物余额(万元) |
| cashe | string | 期末现金及现金等价物余额(万元) |
[{"date":"2024-09-30","jyin":"53,854,700.00","jyout":"40,138,900.00","jyfinal":"13,715,800.00","tzin":"46,389,500.00","tzout":"47,443,400.00","tzfinal":"-1,053,900.00","czin":"51,304,000.00","czout":"65,857,200.00","czfinal":"-14,553,200.00","hl":"-59,400.00","cashinc":"-1,950,700.00","cashs":"29,821,900.00","cashe":"27,871,200.00"},{"date":"2024-06-30","jyin":"50,878,400.00","jyout":"39,506,200.00","jyfinal":"11,372,200.00","tzin":"29,409,700.00","tzout":"26,600,400.00","tzfinal":"2,809,300.00","czin":"45,294,400.00","czout":"59,982,500.00","czfinal":"-14,688,100.00","hl":"103,200.00","cashinc":"-403,400.00","cashs":"29,821,900.00","cashe":"29,418,500.00"},{"date":"2024-03-31","jyin":"22,175,200.00","jyout":"24,313,400.00","jyfinal":"-2,138,200.00","tzin":"12,364,300.00","tzout":"11,533,200.00","tzfinal":"831,100.00","czin":"29,476,400.00","czout":"27,196,300.00","czfinal":"2,280,100.00","hl":"92,300.00","cashinc":"1,065,300.00","cashs":"29,821,900.00","cashe":"30,887,200.00"},{"date":"2023-12-31","jyin":"52,903,500.00","jyout":"43,657,400.00","jyfinal":"9,246,100.00","tzin":"44,072,500.00","tzout":"46,686,700.00","tzfinal":"-2,614,200.00","czin":"93,341,600.00","czout":"92,532,700.00","czfinal":"808,900.00","hl":"148,500.00","cashinc":"7,589,300.00","cashs":"22,232,600.00","cashe":"29,821,900.00"},{"date":"2023-09-30","jyin":"43,959,000.00","jyout":"32,366,000.00","jyfinal":"11,593,000.00","tzin":"34,152,800.00","tzout":"29,149,900.00","tzfinal":"5,002,900.00","czin":"64,898,900.00","czout":"74,001,200.00","czfinal":"-9,102,300.00","hl":"345,300.00","cashinc":"7,838,900.00","cashs":"22,232,600.00","cashe":"30,071,500.00"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jdxj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_quarter_cashflow("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jdxj/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_quarter_cashflow("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jdxj/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyQuarterCashflow("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jdxj/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyQuarterCashflow("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jdxj/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyQuarterCashflowAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| pdate | string | 公告日期yyyy-MM-dd |
| rdate | string | 报告期yyyy-MM-dd |
| type | string | 类型 |
| abs | string | 业绩预告摘要 |
| old | string | 上年同期每股收益(元) |
[{"pdate":"2023-01-17","rdate":"2022-12-31","type":"预升","abs":"预计2022年1-12月归属于上市公司股东的净利润为:45516百万,与上年同期相比变动幅度:25.3%。","old":"1.7300"},{"pdate":"2022-01-14","rdate":"2021-12-31","type":"预升","abs":"预计2021年1-12月归属于上市公司股东的净利润为:36336百万,与上年同期相比变动幅度:25.6%。","old":"1.4000"},{"pdate":"2020-01-14","rdate":"2019-12-31","type":"预升","abs":"预计2019年1-12月归属于上市公司股东的净利润为:28195百万,与上年同期相比变动幅度:13.6%。","old":"1.3900"},{"pdate":"2019-01-04","rdate":"2018-12-31","type":"预升","abs":"预计2018年1-12月归属于上市公司股东的净利润为:24818百万,与上年同期相比变动幅度:7%。","old":"1.3000"},{"pdate":"2016-01-21","rdate":"2015-12-31","type":"预升","abs":"预计2015年1-12月归属于上市公司股东的净利润:2,079,206万元-2,277,225万元,与上年同期相比增长:5%-15%。","old":"1.7300"},{"pdate":"2012-01-30","rdate":"2011-12-31","type":"预增","abs":"预计2011年1月1日至2011年12月31日归属于上市公司股东的净利润为:盈利999,446 万元 – 1,061,912 万元,比上年同期增长:60% – 70% 。","old":"1.9100"},{"pdate":"2011-10-15","rdate":"2011-09-30","type":"预增","abs":"预计2011年1月1日 – 2011年9月30日,归属于上市公司股东的净利润:比上年同期增长:60% – 70%,盈利:754,914万元 – 802,096万元。","old":"1.4600"},{"pdate":"2011-10-15","rdate":"2011--","type":"预增","abs":"预计2011年7月1日-9月30日,归属于上市公司股东的净利润:比上年同期增长:70% – 80%,盈利:288,893万元 – 305,887万元。","old":""}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/yjyg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_earnings_forecast("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/yjyg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_earnings_forecast("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/yjyg/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyEarningsForecast("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/yjyg/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyEarningsForecast("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/yjyg/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyEarningsForecastAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| date | string | 报告日期yyyy-MM-dd |
| tbmg | string | 摊薄每股收益(元)d |
| jqmg | string | 加权每股收益(元)型 |
| mgsy | string | 每股收益_调整后(元) |
| kfmg | string | 扣除非经常性损益后的每股收益(元) |
| mgjz | string | 每股净资产_调整前(元) |
| mgjzad | string | 每股净资产_调整后(元) |
| mgjy | string | 每股经营性现金流(元) |
| mggjj | string | 每股资本公积金(元) |
| mgwly | string | 每股未分配利润(元) |
| zclr | string | 总资产利润率(%) |
| zylr | string | 主营业务利润率(%) |
| zzlr | string | 总资产净利润率(%) |
| cblr | string | 成本费用利润率(%) |
| yylr | string | 营业利润率(%) |
| zycb | string | 主营业务成本率(%) |
| xsjl | string | 销售净利率(%) |
| gbbc | string | 股本报酬率(%) |
| jzbc | string | 净资产报酬率(%) |
| zcbc | string | 资产报酬率(%) |
| xsml | string | 销售毛利率(%) |
| xxbz | string | 三项费用比重 |
| fzy | string | 非主营比重 |
| zybz | string | 主营利润比重 |
| gxff | string | 股息发放率(%) |
| tzsy | string | 投资收益率(%) |
| zyyw | string | 主营业务利润(元) |
| jzsy | string | 净资产收益率(%) |
| jqjz | string | 加权净资产收益率(%) |
| kflr | string | 扣除非经常性损益后的净利润(元) |
| zysr | string | 主营业务收入增长率(%) |
| jlzz | string | 净利润增长率(%) |
| jzzz | string | 净资产增长率(%) |
| zzzz | string | 总资产增长率(%) |
| yszz | string | 应收账款周转率(次) |
| yszzt | string | 应收账款周转天数(天) |
| chzz | string | 存货周转天数(天) |
| chzzl | string | 存货周转率(次) |
| gzzz | string | 固定资产周转率(次) |
| zzzzl | string | 总资产周转率(次) |
| zzzzt | string | 总资产周转天数(天) |
| ldzz | string | 流动资产周转率(次) |
| ldzzt | string | 流动资产周转天数(天) |
| gdzz | string | 股东权益周转率(次) |
| ldbl | string | 流动比率 |
| sdbl | string | 速动比率 |
| xjbl | string | 现金比率(%) |
| lxzf | string | 利息支付倍数 |
| zjbl | string | 长期债务与营运资金比率(%) |
| gdqy | string | 股东权益比率(%) |
| cqfz | string | 长期负债比率(%) |
| gdgd | string | 股东权益与固定资产比率(%) |
| fzqy | string | 负债与所有者权益比率(%) |
| zczjbl | string | 长期资产与长期资金比率(%) |
| zblv | string | 资本化比率(%) |
| gdzcjz | string | 固定资产净值率(%) |
| zbgdh | string | 资本固定化比率(%) |
| cqbl | string | 产权比率(%) |
| qxjzb | string | 清算价值比率(%) |
| gdzcbz | string | 固定资产比重(%) |
| zcfzl | string | 资产负债率(%) |
| zzc | string | 总资产(元) |
| jyxj | string | 经营现金净流量对销售收入比率(%) |
| zcjyxj | string | 资产的经营现金流量回报率(%) |
| jylrb | string | 经营现金净流量与净利润的比率(%) |
| jyfzl | string | 经营现金净流量对负债比率(%) |
| xjlbl | string | 现金流量比率(%) |
| dqgptz | string | 短期股票投资(元) |
| dqzctz | string | 短期债券投资(元) |
| dqjytz | string | 短期其它经营性投资(元) |
| qcgptz | string | 长期股票投资(元) |
| cqzqtz | string | 长期债券投资(元) |
| cqjyxtz | string | 长期其它经营性投资(元) |
| yszk1 | string | 1年以内应收帐款(元) |
| yszk12 | string | 1-2年以内应收帐款(元) |
| yszk23 | string | 2-3年以内应收帐款(元) |
| yszk3 | string | 3年以内应收帐款(元) |
| yfhk1 | string | 1年以内预付货款(元) |
| yfhk12 | string | 1-2年以内预付货款(元) |
| yfhk23 | string | 2-3年以内预付货款(元) |
| yfhk3 | string | 3年以内预付货款(元) |
| ysk1 | string | 1年以内其它应收款(元) |
| ysk12 | string | 1-2年以内其它应收款(元) |
| ysk23 | string | 2-3年以内其它应收款(元) |
| ysk3 | string | 3年以内其它应收款(元) |
[{"date":"2024-09-30","tbmg":"2.0473","jqmg":"1.94","mgsy":"1.94","kfmg":"1.94","mgjz":"25.2742","mgjzad":"21.67","mgjy":"7.0678","mggjj":"4.1593","mgwly":"12.3622","zclr":"0.6914","zylr":"--","zzlr":"0.7011","cblr":"150.6167","yylr":"--","zycb":"--","xsjl":"--","gbbc":"204.7262","jzbc":"8.1002","zcbc":"0.6914","xsml":"--","xxbz":"--","fzy":"38.2184","zybz":"-2.3521","gxff":"--","tzsy":"--","zyyw":"-1123000000","jzsy":"8.1","jqjz":"9.1","kflr":"39748000000","zysr":"--","jlzz":"0.2372","jzzz":"5.2825","zzzz":"4.1621","yszz":"--","yszzt":"--","chzz":"--","chzzl":"--","gzzz":"--","zzzzl":"--","zzzzt":"--","ldzz":"--","ldzzt":"--","gdzz":"--","ldbl":"--","sdbl":"--","xjbl":"--","lxzf":"--","zjbl":"--","gdqy":"8.5359","cqfz":"--","gdgd":"--","fzqy":"1071.5293","zczjbl":"--","zblv":"--","gdzcjz":"--","zbgdh":"1171.5293","cqbl":"0","qxjzb":"--","gdzcbz":"--","zcfzl":"91.4641","zzc":"5745988000000","jyxj":"--","zcjyxj":"0.0239","jylrb":"3.4523","jyfzl":"0.0261","xjlbl":"--","dqgptz":null,"dqzctz":"--","dqjytz":"--","qcgptz":null,"cqzqtz":"777403000000","cqjyxtz":"--","yszk1":"--","yszk12":"--","yszk23":"--","yszk3":"--","yfhk1":"--","yfhk12":"--","yfhk23":"--","yfhk3":"--","ysk1":"--","ysk12":"--","ysk23":"--","ysk3":"--"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/cwzb/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_financial_index("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/cwzb/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_financial_index("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/cwzb/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyFinancialIndex("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/cwzb/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyFinancialIndex("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/cwzb/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyFinancialIndexAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期yyyy-MM-dd |
| ggrq | string | 公告日期yyyy-MM-dd |
| gdsm | string | 股东说明 |
| gdzs | number | 股东总数 |
| pjcg | number | 平均持股(单位:股,按总股本计算) |
| sdgd | array<ZygdSdgd> | 十大股东,其中ZygdSdgd对象见下方说明 |
[{"jzrq":"2024-09-30","ggrq":"2024-10-19","gdsm":"","gdzs":517695,"pjcg":37489,"sdgd":[{"pm":1,"gdmc":"中国平安保险(集团)股份有限公司-集团本级-自有资金","cgsl":9618540236,"cgbl":49.56,"gbxz":"流通A股"},{"pm":2,"gdmc":"中国平安人寿保险股份有限公司-自有资金","cgsl":1186100488,"cgbl":6.11,"gbxz":"流通A股"},{"pm":3,"gdmc":"香港中央结算有限公司","cgsl":851414551,"cgbl":4.39,"gbxz":"流通A股"},{"pm":4,"gdmc":"中国平安人寿保险股份有限公司-传统-普通保险产品","cgsl":440478714,"cgbl":2.27,"gbxz":"流通A股"},{"pm":5,"gdmc":"中国证券金融股份有限公司","cgsl":429232688,"cgbl":2.21,"gbxz":"流通A股"},{"pm":6,"gdmc":"中国工商银行股份有限公司-华泰柏瑞沪深300交易型开放式指数证券投资基金","cgsl":185360838,"cgbl":0.96,"gbxz":"流通A股"},{"pm":7,"gdmc":"中国建设银行股份有限公司-易方达沪深300交易型开放式指数发起式证券投资基金","cgsl":123146496,"cgbl":0.63,"gbxz":"流通A股"},{"pm":8,"gdmc":"中国工商银行股份有限公司-华夏沪深300交易型开放式指数证券投资基金","cgsl":78266877,"cgbl":0.4,"gbxz":"流通A股"},{"pm":9,"gdmc":"中国银行股份有限公司-嘉实沪深300交易型开放式指数证券投资基金","cgsl":76478723,"cgbl":0.39,"gbxz":"流通A股"},{"pm":10,"gdmc":"深圳中电投资有限公司","cgsl":62523366,"cgbl":0.32,"gbxz":"流通A股"}]},{"jzrq":"2024-06-30","ggrq":"2024-08-16","gdsm":"","gdzs":546413,"pjcg":35519,"sdgd":[{"pm":1,"gdmc":"中国平安保险(集团)股份有限公司-集团本级-自有资金","cgsl":9618540236,"cgbl":49.56,"gbxz":"流通A股"},{"pm":2,"gdmc":"中国平安人寿保险股份有限公司-自有资金","cgsl":1186100488,"cgbl":6.11,"gbxz":"流通A股"},{"pm":3,"gdmc":"香港中央结算有限公司","cgsl":698756824,"cgbl":3.6,"gbxz":"流通A股"},{"pm":4,"gdmc":"中国平安人寿保险股份有限公司-传统-普通保险产品","cgsl":440478714,"cgbl":2.27,"gbxz":"流通A股"},{"pm":5,"gdmc":"中国证券金融股份有限公司","cgsl":429232688,"cgbl":2.21,"gbxz":"流通A股"},{"pm":6,"gdmc":"中国工商银行股份有限公司-华泰柏瑞沪深300交易型开放式指数证券投资基金","cgsl":114458038,"cgbl":0.59,"gbxz":"流通A股"},{"pm":7,"gdmc":"中国建设银行股份有限公司-易方达沪深300交易型开放式指数发起式证券投资基金","cgsl":76260746,"cgbl":0.39,"gbxz":"流通A股"},{"pm":8,"gdmc":"深圳中电投资有限公司","cgsl":62523366,"cgbl":0.32,"gbxz":"流通A股"},{"pm":9,"gdmc":"和谐健康保险股份有限公司-万能产品","cgsl":58894176,"cgbl":0.3,"gbxz":"流通A股"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/sdgd/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_top10_holders("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/sdgd/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_top10_holders("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/sdgd/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyTop10Holders("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/sdgd/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyTop10Holders("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/sdgd/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyTop10HoldersAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期yyyy-MM-dd |
| ggrq | string | 公告日期yyyy-MM-dd |
| sdgd | array<ZygdSdgd> | 十大流通股东,其中ZygdSdgd对象见下方说明 |
[{"jzrq":"2024-09-30","ggrq":"2024-10-19","sdgd":[{"pm":1,"gdmc":"中国平安保险(集团)股份有限公司-集团本级-自有资金","cgsl":9618540236,"cgbl":49.566,"gbxz":"境内法人股"},{"pm":2,"gdmc":"中国平安人寿保险股份有限公司-自有资金","cgsl":1186100488,"cgbl":6.112,"gbxz":"境内法人股"},{"pm":3,"gdmc":"香港中央结算有限公司","cgsl":851414551,"cgbl":4.387,"gbxz":"境外法人股"},{"pm":4,"gdmc":"中国平安人寿保险股份有限公司-传统-普通保险产品","cgsl":440478714,"cgbl":2.27,"gbxz":"境内法人股"},{"pm":5,"gdmc":"中国证券金融股份有限公司","cgsl":429232688,"cgbl":2.212,"gbxz":"国有股"},{"pm":6,"gdmc":"中国工商银行股份有限公司-华泰柏瑞沪深300交易型开放式指数证券投资基金","cgsl":185360838,"cgbl":0.955,"gbxz":"境内法人股"},{"pm":7,"gdmc":"中国建设银行股份有限公司-易方达沪深300交易型开放式指数发起式证券投资基金","cgsl":123146496,"cgbl":0.635,"gbxz":"境内法人股"},{"pm":8,"gdmc":"中国工商银行股份有限公司-华夏沪深300交易型开放式指数证券投资基金","cgsl":78266877,"cgbl":0.403,"gbxz":"境内法人股"},{"pm":9,"gdmc":"中国银行股份有限公司-嘉实沪深300交易型开放式指数证券投资基金","cgsl":76478723,"cgbl":0.394,"gbxz":"境内法人股"},{"pm":10,"gdmc":"深圳中电投资有限公司","cgsl":62523366,"cgbl":0.322,"gbxz":"国有股"}]},{"jzrq":"2024-06-30","ggrq":"2024-08-16","sdgd":[{"pm":1,"gdmc":"中国平安保险(集团)股份有限公司-集团本级-自有资金","cgsl":9618540236,"cgbl":49.566,"gbxz":"境内法人股"},{"pm":2,"gdmc":"中国平安人寿保险股份有限公司-自有资金","cgsl":1186100488,"cgbl":6.112,"gbxz":"境内法人股"},{"pm":3,"gdmc":"香港中央结算有限公司","cgsl":698756824,"cgbl":3.601,"gbxz":"境外法人股"},{"pm":4,"gdmc":"中国平安人寿保险股份有限公司-传统-普通保险产品","cgsl":440478714,"cgbl":2.27,"gbxz":"境内法人股"},{"pm":5,"gdmc":"中国证券金融股份有限公司","cgsl":429232688,"cgbl":2.212,"gbxz":"国有股"},{"pm":6,"gdmc":"中国工商银行股份有限公司-华泰柏瑞沪深300交易型开放式指数证券投资基金","cgsl":114458038,"cgbl":0.59,"gbxz":"境内法人股"},{"pm":7,"gdmc":"中国建设银行股份有限公司-易方达沪深300交易型开放式指数发起式证券投资基金","cgsl":76260746,"cgbl":0.393,"gbxz":"境内法人股"},{"pm":8,"gdmc":"深圳中电投资有限公司","cgsl":62523366,"cgbl":0.322,"gbxz":"国有股"},{"pm":9,"gdmc":"和谐健康保险股份有限公司-万能产品","cgsl":58894176,"cgbl":0.303,"gbxz":"境内法人股"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/ltgd/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_top10_float_holders("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/ltgd/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_top10_float_holders("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/ltgd/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyTop10FloatHolders("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/ltgd/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyTop10FloatHolders("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/ltgd/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyTop10FloatHoldersAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期yyyy-MM-dd |
| gdhs | string | 股东户数 |
| bh | string | 比上期变化情况 |
[{"jzrq":"2024-09-30","gdhs":"517695","bh":"减少28718"},{"jzrq":"2024-06-30","gdhs":"546413","bh":"减少21489"},{"jzrq":"2024-03-31","gdhs":"567902","bh":"新增1702"},{"jzrq":"2024-03-29","gdhs":"566200","bh":"不变"},{"jzrq":"2024-03-22","gdhs":"566200","bh":"不变"},{"jzrq":"2024-02-29","gdhs":"566200","bh":"不变"},{"jzrq":"2024-02-28","gdhs":"566200","bh":"减少7082"},{"jzrq":"2023-12-31","gdhs":"573282","bh":"新增43053"},{"jzrq":"2023-09-30","gdhs":"530229","bh":"减少6472"},{"jzrq":"2023-06-30","gdhs":"536701","bh":"新增29834"},{"jzrq":"2023-03-31","gdhs":"506867","bh":"新增29563"},{"jzrq":"2023-02-28","gdhs":"477304","bh":"减少9896"},{"jzrq":"2022-12-31","gdhs":"487200","bh":"减少60535"},{"jzrq":"2022-09-30","gdhs":"547735","bh":"新增54706"},{"jzrq":"2022-06-30","gdhs":"493029","bh":"减少15650"},{"jzrq":"2022-03-31","gdhs":"508679","bh":"新增1945"},{"jzrq":"2022-02-28","gdhs":"506734","bh":"新增4018"},{"jzrq":"2021-12-31","gdhs":"502716","bh":"新增112226"},{"jzrq":"2021-09-30","gdhs":"390490","bh":"新增93662"},{"jzrq":"2021-06-30","gdhs":"296828","bh":"减少35001"},{"jzrq":"2021-03-31","gdhs":"331829","bh":"新增41079"},{"jzrq":"2021-01-31","gdhs":"290750","bh":"减少17974"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/gdbh/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_holder_change("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/gdbh/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_holder_change("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/gdbh/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyHolderChange("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/gdbh/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyHolderChange("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/gdbh/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyHolderChangeAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期yyyy-MM-dd |
| jjmc | string | 基金名称 |
| jjdm | string | 基金代码 |
| ccsl | number | 持仓数量(股) |
| ltbl | number | 占流通股比例(%) |
| cgsz | number | 持股市值(元) |
| jzbl | number | 占净值比例(%) |
[{"jzrq":"2024-12-31","jjmc":"易方达上证50增强A","jjdm":"110003","ccsl":50383468,"ltbl":0.2596,"cgsz":589487000,"jzbl":2.95},{"jzrq":"2024-12-31","jjmc":"易方达上证50增强Y","jjdm":"022933","ccsl":50383468,"ltbl":0.2596,"cgsz":589487000,"jzbl":2.95},{"jzrq":"2024-12-31","jjmc":"易方达上证50增强C","jjdm":"004746","ccsl":50383468,"ltbl":0.2596,"cgsz":589487000,"jzbl":2.95},{"jzrq":"2024-12-31","jjmc":"华宝中证银行ETF","jjdm":"512800","ccsl":24396546,"ltbl":0.1257,"cgsz":285440000,"jzbl":3.81},{"jzrq":"2024-12-31","jjmc":"深红利ETF","jjdm":"159905","ccsl":13652000,"ltbl":0.0704,"cgsz":159728000,"jzbl":4.66},{"jzrq":"2024-12-31","jjmc":"天弘中证银行ETF","jjdm":"515290","ccsl":12854700,"ltbl":0.0662,"cgsz":150400000,"jzbl":3.84},{"jzrq":"2024-12-31","jjmc":"易方达沪深300精选增强Y","jjdm":"022914","ccsl":8000000,"ltbl":0.0412,"cgsz":93600000,"jzbl":2.77},{"jzrq":"2024-12-31","jjmc":"易方达沪深300精选增强C","jjdm":"010737","ccsl":8000000,"ltbl":0.0412,"cgsz":93600000,"jzbl":2.77},{"jzrq":"2024-12-31","jjmc":"易方达沪深300精选增强A","jjdm":"010736","ccsl":8000000,"ltbl":0.0412,"cgsz":93600000,"jzbl":2.77},{"jzrq":"2024-12-31","jjmc":"中证银行ETF","jjdm":"512820","ccsl":7034100,"ltbl":0.0362,"cgsz":82299000,"jzbl":3.84},{"jzrq":"2024-12-31","jjmc":"易方达增强回报债券B","jjdm":"110018","ccsl":6797211,"ltbl":0.035,"cgsz":79527400,"jzbl":0.29},{"jzrq":"2024-12-31","jjmc":"易方达增强回报债券A","jjdm":"110017","ccsl":6797211,"ltbl":0.035,"cgsz":79527400,"jzbl":0.29},{"jzrq":"2024-12-31","jjmc":"南方中证银行ETF","jjdm":"512700","ccsl":5134300,"ltbl":0.0265,"cgsz":60071300,"jzbl":3.84},{"jzrq":"2024-12-31","jjmc":"长信内需成长混合A","jjdm":"519979","ccsl":3900000,"ltbl":0.0201,"cgsz":45630000,"jzbl":6.72},{"jzrq":"2024-12-31","jjmc":"长信内需成长混合C","jjdm":"015768","ccsl":3900000,"ltbl":0.0201,"cgsz":45630000,"jzbl":6.72},{"jzrq":"2024-12-31","jjmc":"长信内需成长混合E","jjdm":"006397","ccsl":3900000,"ltbl":0.0201,"cgsz":45630000,"jzbl":6.72},{"jzrq":"2024-12-31","jjmc":"易方达金融行业股票C","jjdm":"019026","ccsl":3897300,"ltbl":0.0201,"cgsz":45598400,"jzbl":6.92}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hscp/jjcg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.company_fund_holding("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hscp/jjcg/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.company_fund_holding("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hscp/jjcg/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.companyFundHolding("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hscp/jjcg/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.CompanyFundHolding("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hscp/jjcg/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.CompanyFundHoldingAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| fm | number | 五分钟涨跌幅(%) |
| h | number | 最高价(元) |
| hs | number | 换手(%) |
| lb | number | 量比(%) |
| l | number | 最低价(元) |
| lt | number | 流通市值(元) |
| o | number | 开盘价(元) |
| pe | number | 市盈率(动态,总市值除以预估全年净利润,例如当前公布一季度净利润1000万,则预估全年净利润4000万) |
| pc | number | 涨跌幅(%) |
| p | number | 当前价格(元) |
| sz | number | 总市值(元) |
| cje | number | 成交额(元) |
| ud | number | 涨跌额(元) |
| v | number | 成交量(手) |
| yc | number | 昨日收盘价(元) |
| zf | number | 振幅(%) |
| zs | number | 涨速(%) |
| sjl | number | 市净率 |
| zdf60 | number | 60日涨跌幅(%) |
| zdfnc | number | 年初至今涨跌幅(%) |
| t | string | 更新时间yyyy-MM-ddHH:mm:ss |
{"o":11.69,"fm":0.17,"h":11.71,"hs":0.5,"lb":0.7,"l":11.55,"lt":225881388026.0,"pe":4.26,"pc":-0.17,"p":11.64,"sz":225884887825.0,"cje":1131033823.93,"ud":-0.02,"v":973969,"yc":11.66,"zf":1.37,"zs":0.17,"sjl":0.54,"zdf60":0.0,"zdfnc":-0.51,"t":"2025-02-21 15:29:05"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsrl/ssjy/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_ssjy("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsrl/ssjy/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_ssjy("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsrl/ssjy/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockSsjy("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsrl/ssjy/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockSsjy("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsrl/ssjy/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockSsjyAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| d | string | 数据归属日期(yyyy-MM-dd) |
| t | string | 时间(HH:mm:dd) |
| v | number | 成交量(股) |
| p | number | 成交价 |
| ts | number | 交易方向(0:中性盘,1:买入,2:卖出) |
[{"d":"2025-02-21","t":"15:00:00","v":1341800,"p":11.64,"ts":1},{"d":"2025-02-21","t":"14:57:00","v":3900,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:57","v":11300,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:54","v":31600,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:51","v":70900,"p":11.61,"ts":2},{"d":"2025-02-21","t":"14:56:48","v":8700,"p":11.61,"ts":2},{"d":"2025-02-21","t":"14:56:45","v":6500,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:42","v":2900,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:39","v":11500,"p":11.63,"ts":1},{"d":"2025-02-21","t":"14:56:36","v":7200,"p":11.61,"ts":2},{"d":"2025-02-21","t":"14:56:33","v":18000,"p":11.63,"ts":1},{"d":"2025-02-21","t":"14:56:30","v":20800,"p":11.61,"ts":2},{"d":"2025-02-21","t":"14:56:27","v":9000,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:24","v":5800,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:21","v":6500,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:18","v":7400,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:56:15","v":11300,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:12","v":3400,"p":11.61,"ts":2},{"d":"2025-02-21","t":"14:56:09","v":10400,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:06","v":11700,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:56:03","v":26400,"p":11.63,"ts":1},{"d":"2025-02-21","t":"14:56:00","v":130300,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:55:57","v":39400,"p":11.63,"ts":1},{"d":"2025-02-21","t":"14:55:54","v":8900,"p":11.62,"ts":2},{"d":"2025-02-21","t":"14:55:51","v":20500,"p":11.62,"ts":1},{"d":"2025-02-21","t":"14:55:48","v":4500,"p":11.62,"ts":1}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsrl/zbjy/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_zbjy("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsrl/zbjy/股票代码(如000001)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_zbjy("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsrl/zbjy/股票代码(如000001)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockZbjy("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsrl/zbjy/股票代码(如000001)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockZbjy("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsrl/zbjy/股票代码(如000001)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockZbjyAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| p | number | 最新价 |
| o | number | 开盘价 |
| h | number | 最高价 |
| l | number | 最低价 |
| yc | number | 前收盘价 |
| cje | number | 成交总额 |
| v | number | 成交总量 |
| pv | number | 原始成交总量 |
| ud | float | 涨跌额 |
| pc | float | 涨跌幅 |
| zf | float | 振幅 |
| t | string | 更新时间 |
| pe | number | 市盈率 |
| tr | number | 换手率 |
| pb_ratio | number | 市净率 |
| tv | number | 成交量 |
[]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/real/time/股票代码/证书您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_real_time("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/real/time/股票代码/证书您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_real_time("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/real/time/股票代码/证书您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockRealTime("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/real/time/股票代码/证书您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockRealTime("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/real/time/股票代码/证书您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockRealTimeAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| ps | number | 委卖价 |
| pb | number | 委买价 |
| vs | number | 委卖量 |
| vb | number | 委买量 |
| t | string | 更新时间 |
[]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/real/five/股票代码/证书您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_real_five("000001")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/real/five/股票代码/证书您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_real_five("000001");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/real/five/股票代码/证书您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockRealFive("000001");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/real/five/股票代码/证书您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockRealFive("000001")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/real/five/股票代码/证书您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockRealFiveAsync("000001");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 股票代码 |
| p | number | 最新价 |
| o | number | 开盘价 |
| h | number | 最高价 |
| l | number | 最低价 |
| yc | number | 前收盘价 |
| cje | number | 成交总额 |
| v | number | 成交总量 |
| pv | number | 原始成交总量 |
| ud | float | 涨跌额 |
| pc | float | 涨跌幅 |
| zf | float | 振幅 |
| t | string | 更新时间 |
| pe | number | 市盈率 |
| tr | number | 换手率 |
| pb_ratio | number | 市净率 |
| tv | number | 成交量 |
[
{
"o": 11.31,
"fm": -0.09,
"h": 11.39,
"hs": 0.33,
"lb": 0.82,
"l": 11.3,
"lt": 220059184779.0,
"pe": 4.94,
"pc": -0.26,
"p": 11.34,
"sz": 220063112365.0,
"cje": 730375807.93,
"ud": -0.03,
"v": 643914,
"yc": 11.37,
"zf": 0.79,
"zs": 0.0,
"sjl": 0.52,
"zdf60": -3.08,
"zdfnc": -3.08,
"t": "2025-04-03 15:29:10",
"dm": "000001"
},
{
"o": 6.12,
"fm": -0.16,
"h": 6.22,
"hs": 0.9,
"lb": 0.89,
"l": 6.1,
"lt": 2147977873.0,
"pe": 507.22,
"pc": 0.98,
"p": 6.2,
"sz": 2147977873.0,
"cje": 19206391.82,
"ud": 0.06,
"v": 31090,
"yc": 6.14,
"zf": 1.95,
"zs": -0.16,
"sjl": 16.66,
"zdf60": -11.81,
"zdfnc": -11.81,
"t": "2025-04-03 15:29:10",
"dm": "000007"
},
{
"o": 8.14,
"fm": -0.12,
"h": 8.24,
"hs": 0.32,
"lb": 0.68,
"l": 8.12,
"lt": 20870700050.0,
"pe": 41.06,
"pc": -0.24,
"p": 8.18,
"sz": 21097970234.0,
"cje": 66906490.52,
"ud": -0.02,
"v": 81774,
"yc": 8.2,
"zf": 1.46,
"zs": -0.12,
"sjl": 2.08,
"zdf60": -10.6,
"zdfnc": -10.6,
"t": "2025-04-03 15:29:10",
"dm": "000009"
},
{
"o": 2.81,
"fm": 0.36,
"h": 2.85,
"hs": 2.97,
"lb": 0.77,
"l": 2.77,
"lt": 1483182838.0,
"pe": -40.91,
"pc": 0.36,
"p": 2.82,
"sz": 3242019463.0,
"cje": 43862642.0,
"ud": 0.01,
"v": 156265,
"yc": 2.81,
"zf": 2.85,
"zs": -0.35,
"sjl": 14.82,
"zdf60": 0.36,
"zdfnc": 0.36,
"t": "2025-04-03 15:29:10",
"dm": "000010"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsrl/ssjy/all/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_ssjy_all()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsrl/ssjy/all/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_ssjy_all();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsrl/ssjy/all/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockSsjyAll();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsrl/ssjy/all/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockSsjyAll()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsrl/ssjy/all/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockSsjyAllAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| p | number | 最新价 |
| o | number | 开盘价 |
| h | number | 最高价 |
| l | number | 最低价 |
| yc | number | 前收盘价 |
| cje | number | 成交总额 |
| v | number | 成交总量 |
| pv | number | 原始成交总量 |
| ud | float | 涨跌额 |
| pc | float | 涨跌幅 |
| zf | float | 振幅 |
| t | string | 更新时间 |
| pe | number | 市盈率 |
| tr | number | 换手率 |
| pb_ratio | number | 市净率 |
| tv | number | 成交量 |
[
{
"o": 11.31,
"fm": -0.09,
"h": 11.39,
"hs": 0.33,
"lb": 0.82,
"l": 11.3,
"lt": 220059184779.0,
"pe": 4.94,
"pc": -0.26,
"p": 11.34,
"sz": 220063112365.0,
"cje": 730375807.93,
"ud": -0.03,
"v": 643914,
"yc": 11.37,
"zf": 0.79,
"zs": 0.0,
"sjl": 0.52,
"zdf60": -3.08,
"zdfnc": -3.08,
"t": "2025-04-03 15:29:10",
"dm": "000001"
},
{
"o": 6.12,
"fm": -0.16,
"h": 6.22,
"hs": 0.9,
"lb": 0.89,
"l": 6.1,
"lt": 2147977873.0,
"pe": 507.22,
"pc": 0.98,
"p": 6.2,
"sz": 2147977873.0,
"cje": 19206391.82,
"ud": 0.06,
"v": 31090,
"yc": 6.14,
"zf": 1.95,
"zs": -0.16,
"sjl": 16.66,
"zdf60": -11.81,
"zdfnc": -11.81,
"t": "2025-04-03 15:29:10",
"dm": "000007"
},
{
"o": 8.14,
"fm": -0.12,
"h": 8.24,
"hs": 0.32,
"lb": 0.68,
"l": 8.12,
"lt": 20870700050.0,
"pe": 41.06,
"pc": -0.24,
"p": 8.18,
"sz": 21097970234.0,
"cje": 66906490.52,
"ud": -0.02,
"v": 81774,
"yc": 8.2,
"zf": 1.46,
"zs": -0.12,
"sjl": 2.08,
"zdf60": -10.6,
"zdfnc": -10.6,
"t": "2025-04-03 15:29:10",
"dm": "000009"
},
{
"o": 2.81,
"fm": 0.36,
"h": 2.85,
"hs": 2.97,
"lb": 0.77,
"l": 2.77,
"lt": 1483182838.0,
"pe": -40.91,
"pc": 0.36,
"p": 2.82,
"sz": 3242019463.0,
"cje": 43862642.0,
"ud": 0.01,
"v": 156265,
"yc": 2.81,
"zf": 2.85,
"zs": -0.35,
"sjl": 14.82,
"zdf60": 0.36,
"zdfnc": 0.36,
"t": "2025-04-03 15:29:10",
"dm": "000010"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsrl/ssjy_more/您的licence?stock_codes=股票代码1,股票代码2……股票代码20'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_ssjy_more("000001,000002,000004")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsrl/ssjy_more/您的licence?stock_codes=股票代码1,股票代码2……股票代码20'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_ssjy_more("000001,000002,000004");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsrl/ssjy_more/您的licence?stock_codes=股票代码1,股票代码2……股票代码20".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockSsjyMore("000001,000002,000004");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsrl/ssjy_more/您的licence?stock_codes=股票代码1,股票代码2……股票代码20', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockSsjyMore("000001,000002,000004")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsrl/ssjy_more/您的licence?stock_codes=股票代码1,股票代码2……股票代码20".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockSsjyMoreAsync("000001,000002,000004");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| dm | string | 股票代码 |
| fm | number | 五分钟涨跌幅(%) |
| h | number | 最高价(元) |
| hs | number | 换手(%) |
| lb | number | 量比(%) |
| l | number | 最低价(元) |
| lt | number | 流通市值(元) |
| o | number | 开盘价(元) |
| pe | number | 市盈率(动态,总市值除以预估全年净利润,例如当前公布一季度净利润1000万,则预估全年净利润4000万) |
| pc | number | 涨跌幅(%) |
| p | number | 当前价格(元) |
| sz | number | 总市值(元) |
| cje | number | 成交额(元) |
| ud | number | 涨跌额(元) |
| v | number | 成交量(手) |
| yc | number | 昨日收盘价(元) |
| zf | number | 振幅(%) |
| zs | number | 涨速(%) |
| sjl | number | 市净率 |
| zdf60 | number | 60日涨跌幅(%) |
| zdfnc | number | 年初至今涨跌幅(%) |
| t | string | 更新时间yyyy-MM-ddHH:mm:ss |
[
{
"o": 11.31,
"fm": -0.09,
"h": 11.39,
"hs": 0.33,
"lb": 0.82,
"l": 11.3,
"lt": 220059184779.0,
"pe": 4.94,
"pc": -0.26,
"p": 11.34,
"sz": 220063112365.0,
"cje": 730375807.93,
"ud": -0.03,
"v": 643914,
"yc": 11.37,
"zf": 0.79,
"zs": 0.0,
"sjl": 0.52,
"zdf60": -3.08,
"zdfnc": -3.08,
"t": "2025-04-03 15:29:10",
"dm": "000001"
},
{
"o": 6.12,
"fm": -0.16,
"h": 6.22,
"hs": 0.9,
"lb": 0.89,
"l": 6.1,
"lt": 2147977873.0,
"pe": 507.22,
"pc": 0.98,
"p": 6.2,
"sz": 2147977873.0,
"cje": 19206391.82,
"ud": 0.06,
"v": 31090,
"yc": 6.14,
"zf": 1.95,
"zs": -0.16,
"sjl": 16.66,
"zdf60": -11.81,
"zdfnc": -11.81,
"t": "2025-04-03 15:29:10",
"dm": "000007"
},
{
"o": 8.14,
"fm": -0.12,
"h": 8.24,
"hs": 0.32,
"lb": 0.68,
"l": 8.12,
"lt": 20870700050.0,
"pe": 41.06,
"pc": -0.24,
"p": 8.18,
"sz": 21097970234.0,
"cje": 66906490.52,
"ud": -0.02,
"v": 81774,
"yc": 8.2,
"zf": 1.46,
"zs": -0.12,
"sjl": 2.08,
"zdf60": -10.6,
"zdfnc": -10.6,
"t": "2025-04-03 15:29:10",
"dm": "000009"
},
{
"o": 2.81,
"fm": 0.36,
"h": 2.85,
"hs": 2.97,
"lb": 0.77,
"l": 2.77,
"lt": 1483182838.0,
"pe": -40.91,
"pc": 0.36,
"p": 2.82,
"sz": 3242019463.0,
"cje": 43862642.0,
"ud": 0.01,
"v": 156265,
"yc": 2.81,
"zf": 2.85,
"zs": -0.35,
"sjl": 14.82,
"zdf60": 0.36,
"zdfnc": 0.36,
"t": "2025-04-03 15:29:10",
"dm": "000010"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsrl/real/all/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_real_all()
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsrl/real/all/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_real_all();
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsrl/real/all/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockRealAll();
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsrl/real/all/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockRealAll()
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsrl/real/all/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockRealAllAsync();
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | int | 交易时间 |
| zmbzds | int | 主买单总单数 |
| zmszds | int | 主卖单总单数 |
| dddx | float | 大单动向 |
| zddy | float | 涨跌动因 |
| ddcf | float | 大单差分 |
| zmbzdszl | int | 主买单总单数增量 |
| zmszdszl | int | 主卖单总单数增量 |
| cjbszl | int | 成交笔数增量 |
| zmbtdcje | float | 主买特大单成交额 |
| zmbddcje | float | 主买大单成交额 |
| zmbzdcje | float | 主买中单成交额 |
| zmbxdcje | float | 主买小单成交额 |
| zmstdcje | float | 主卖特大单成交额 |
| zmsddcje | float | 主卖大单成交额 |
| zmszdcje | float | 主卖中单成交额 |
| zmsxdcje | float | 主卖小单成交额 |
| bdmbtdcje | float | 被动买特大单成交额 |
| bdmbddcje | float | 被动买大单成交额 |
| bdmbzdcje | float | 被动买中单成交额 |
| bdmbxdcje | float | 被动买小单成交额 |
| bdmstdcje | float | 被动卖特大单成交额 |
| bdmsddcje | float | 被动卖大单成交额 |
| bdmszdcje | float | 被动卖中单成交额 |
| bdmsxdcje | float | 被动卖小单成交额 |
| bdmsljcje | float | 被动卖累计成交额 |
| zmbtdcjl | int | 主买特大单成交量 |
| zmbddcjl | int | 主买大单成交量 |
| zmbzdcjl | int | 主买中单成交量 |
| zmbxdcjl | int | 主买小单成交量 |
| zmstdcjl | int | 主卖特大单成交量 |
| zmsddcjl | int | 主卖大单成交量 |
| zmszdcjl | int | 主卖中单成交量 |
| zmsxdcjl | int | 主卖小单成交量 |
| bdmbtdcjl | int | 被动买特大单成交量 |
| bdmbddcjl | int | 被动买大单成交量 |
| bdmbzdcjl | int | 被动买中单成交量 |
| bdmbxdcjl | int | 被动买小单成交量 |
| bdmstdcjl | int | 被动卖特大单成交量 |
| bdmsddcjl | int | 被动卖大单成交量 |
| bdmszdcjl | int | 被动卖中单成交量 |
| bdmsxdcjl | int | 被动卖小单成交量 |
| zmbtdcjzl | float | 主买特大单成交额增量 |
| zmbddcjzl | float | 主买大单成交额增量 |
| zmbzdcjzl | float | 主买中单成交额增量 |
| zmbxdcjzl | float | 主买小单成交额增量 |
| zmstdcjzl | float | 主卖特大单成交额增量 |
| zmsddcjzl | float | 主卖大单成交额增量 |
| zmszdcjzl | float | 主卖中单成交额增量 |
| zmsxdcjzl | float | 主卖小单成交额增量 |
| bdmbtdcjzl | float | 被动买特大单成交额增量 |
| bdmbddcjzl | float | 被动买大单成交额增量 |
| bdmbzdcjzl | float | 被动买中单成交额增量 |
| bdmbxdcjzl | float | 被动买小单成交额增量 |
| bdmstdcjzl | float | 被动卖特大单成交额增量 |
| bdmsddcjzl | float | 被动卖大单成交额增量 |
| bdmszdcjzl | float | 被动卖中单成交额增量 |
| bdmsxdcjzl | float | 被动卖小单成交额增量 |
| zmbtdcjzlv | int | 主买特大单成交量增量 |
| zmbddcjzlv | int | 主买大单成交量增量 |
| zmbzdcjzlv | int | 主买中单成交量增量 |
| zmbxdcjzlv | int | 主买小单成交量增量 |
| zmstdcjzlv | int | 主卖特大单成交量增量 |
| zmsddcjzlv | int | 主卖大单成交量增量 |
| zmszdcjzlv | int | 主卖中单成交量增量 |
| zmsxdcjzlv | int | 主卖小单成交量增量 |
| bdmbtdcjzlv | int | 被动买特大单成交量增量 |
| bdmbddcjzlv | int | 被动买大单成交量增量 |
| bdmbzdcjzlv | int | 被动买中单成交量增量 |
| bdmbxdcjzlv | int | 被动买小单成交量增量 |
| bdmstdcjzlv | int | 被动卖特大单成交量增量 |
| bdmsddcjzlv | int | 被动卖大单成交量增量 |
| bdmszdcjzlv | int | 被动卖中单成交量增量 |
| bdmsxdcjzlv | int | 被动卖小单成交量增量 |
[
{
"t": "2025-08-15 00:00:00",
"zmbzds": 2567,
"zmszds": 2113,
"dddx": -5.3,
"zddy": -9.69,
"ddcf": 2.39,
"zmbzdszl": 2567,
"zmszdszl": 2113,
"cjbszl": 115433,
"zmbtdcje": 643556632.0,
"zmbddcje": 358436868.0,
"zmbzdcje": 112809518.0,
"zmbxdcje": 8789754.0,
"zmstdcje": 809155040.0,
"zmsddcje": 316750969.0,
"zmszdcje": 87548959.0,
"zmsxdcje": 7025757.0,
"bdmbtdcje": 809155040.0,
"bdmbddcje": 316750969.0,
"bdmbzdcje": 87548959.0,
"bdmbxdcje": 7025757.0,
"bdmstdcje": 643556632.0,
"bdmsddcje": 358436868.0,
"bdmszdcje": 112809518.0,
"bdmsxdcje": 8789754.0,
"zmbtdcjl": 534893,
"zmbddcjl": 297992,
"zmbzdcjl": 93818,
"zmbxdcjl": 7307,
"zmstdcjl": 672438,
"zmsddcjl": 263427,
"zmszdcjl": 72786,
"zmsxdcjl": 5842,
"bdmbtdcjl": 672438,
"bdmbddcjl": 263427,
"bdmbzdcjl": 72786,
"bdmbxdcjl": 5842,
"bdmstdcjl": 534893,
"bdmsddcjl": 297992,
"bdmszdcjl": 93818,
"bdmsxdcjl": 7307,
"zmbtdcjzl": 643556632.0,
"zmbddcjzl": 358436868.0,
"zmbzdcjzl": 112809518.0,
"zmbxdcjzl": 8789754.0,
"zmstdcjzl": 809155040.0,
"zmsddcjzl": 316750969.0,
"zmszdcjzl": 87548959.0,
"zmsxdcjzl": 7025757.0,
"bdmbtdcjzl": 809155040.0,
"bdmbddcjzl": 316750969.0,
"bdmbzdcjzl": 87548959.0,
"bdmbxdcjzl": 7025757.0,
"bdmstdcjzl": 643556632.0,
"bdmsddcjzl": 358436868.0,
"bdmszdcjzl": 112809518.0,
"bdmsxdcjzl": 8789754.0,
"zmbtdcjzlv": 534893,
"zmbddcjzlv": 297992,
"zmbzdcjzlv": 93818,
"zmbxdcjzlv": 7307,
"zmstdcjzlv": 672438,
"zmsddcjzlv": 263427,
"zmszdcjzlv": 72786,
"zmsxdcjzlv": 5842,
"bdmbtdcjzlv": 672438,
"bdmbddcjzlv": 263427,
"bdmbzdcjzlv": 72786,
"bdmbxdcjzlv": 5842,
"bdmstdcjzlv": 534893,
"bdmsddcjzlv": 297992,
"bdmszdcjzlv": 93818,
"bdmsxdcjzlv": 7307
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/transaction/股票代码(如000001)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_transaction("000001", st="20250101", et="20251201", lt=50)
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/transaction/股票代码(如000001)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_transaction("000001", { st: "20250101", et: "20251201", lt: 50 });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/transaction/股票代码(如000001)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
q.lt = 50;
Object data = api.stockTransaction("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/transaction/股票代码(如000001)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
lt := 50
data, _ := api.StockTransaction("000001", mairui.TimeRangeQuery{St: &st, Et: &et, Lt: <})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/transaction/股票代码(如000001)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201", Lt = 50 };
var data = await api.StockTransactionAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间 |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额 |
| pc | float | 前收盘价 |
| sf | int | 停牌 1停牌,0 不停牌 |
{
"t": "2025-04-21 00:00:00",
"o": 11.0,
"h": 11.13,
"l": 10.97,
"c": 11.02,
"v": 1114184,
"a": 1230804536.0,
"pc": 11.18,
"sf": 0
}
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?lt=最新条数(如5)'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_latest("000001.SZ", "d", "n", lt=1)
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?lt=最新条数(如5)'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_latest("000001.SZ", "d", "n", { lt: 1 });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?lt=最新条数(如5)".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.lt = 1;
Object data = api.stockLatest("000001.SZ", "d", "n", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?lt=最新条数(如5)', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
lt := 1
data, _ := api.StockLatest("000001.SZ", "d", "n", mairui.TimeRangeQuery{Lt: <})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?lt=最新条数(如5)".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { Lt = 1 };
var data = await api.StockLatestAsync("000001.SZ", "d", "n", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间 |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额 |
| pc | float | 前收盘价 |
| sf | int | 停牌 1停牌,0 不停牌 |
[
{
"t": "2025-04-21 00:00:00",
"o": 11.0,
"h": 11.13,
"l": 10.97,
"c": 11.02,
"v": 1114184,
"a": 1230804536.0,
"pc": 11.18,
"sf": 0
},
{
"t": "2025-04-22 00:00:00",
"o": 11.02,
"h": 11.06,
"l": 10.98,
"c": 11.04,
"v": 831129,
"a": 915967678.0,
"pc": 11.02,
"sf": 0
},
{
"t": "2025-04-23 00:00:00",
"o": 11.04,
"h": 11.05,
"l": 10.97,
"c": 11.01,
"v": 586383,
"a": 645842400.0,
"pc": 11.04,
"sf": 0
},
{
"t": "2025-04-24 00:00:00",
"o": 11.0,
"h": 11.06,
"l": 10.99,
"c": 11.03,
"v": 689256,
"a": 760348555.0,
"pc": 11.01,
"sf": 0
},
{
"t": "2025-04-25 00:00:00",
"o": 11.04,
"h": 11.05,
"l": 10.99,
"c": 11.01,
"v": 637547,
"a": 702315255.0,
"pc": 11.03,
"sf": 0
},
{
"t": "2025-04-28 00:00:00",
"o": 11.0,
"h": 11.04,
"l": 10.96,
"c": 11.0,
"v": 642018,
"a": 706520175.0,
"pc": 11.01,
"sf": 0
},
{
"t": "2025-04-29 00:00:00",
"o": 11.0,
"h": 11.02,
"l": 10.95,
"c": 10.98,
"v": 649045,
"a": 712792543.0,
"pc": 11.0,
"sf": 0
},
{
"t": "2025-04-30 00:00:00",
"o": 10.96,
"h": 10.97,
"l": 10.89,
"c": 10.91,
"v": 869835,
"a": 949911030.0,
"pc": 10.98,
"sf": 0
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_history("000001.SZ", "d", "n", st="20250101", et="20250430", lt=100)
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_history("000001.SZ", "d", "n", { st: "20250101", et: "20250430", lt: 100 });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20250430";
q.lt = 100;
Object data = api.stockHistory("000001.SZ", "d", "n", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20250430"
lt := 100
data, _ := api.StockHistory("000001.SZ", "d", "n", mairui.TimeRangeQuery{St: &st, Et: &et, Lt: <})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20250430", Lt = 100 };
var data = await api.StockHistoryAsync("000001.SZ", "d", "n", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易日期 |
| h | float | 涨停价格 |
| l | float | 跌停价格 |
[
{
"o": 11.31,
"fm": -0.09,
"h": 11.39,
"hs": 0.33,
"lb": 0.82,
"l": 11.3,
"lt": 220059184779.0,
"pe": 4.94,
"pc": -0.26,
"p": 11.34,
"sz": 220063112365.0,
"cje": 730375807.93,
"ud": -0.03,
"v": 643914,
"yc": 11.37,
"zf": 0.79,
"zs": 0.0,
"sjl": 0.52,
"zdf60": -3.08,
"zdfnc": -3.08,
"t": "2025-04-03 15:29:10",
"dm": "000001"
},
{
"o": 6.12,
"fm": -0.16,
"h": 6.22,
"hs": 0.9,
"lb": 0.89,
"l": 6.1,
"lt": 2147977873.0,
"pe": 507.22,
"pc": 0.98,
"p": 6.2,
"sz": 2147977873.0,
"cje": 19206391.82,
"ud": 0.06,
"v": 31090,
"yc": 6.14,
"zf": 1.95,
"zs": -0.16,
"sjl": 16.66,
"zdf60": -11.81,
"zdfnc": -11.81,
"t": "2025-04-03 15:29:10",
"dm": "000007"
},
{
"o": 8.14,
"fm": -0.12,
"h": 8.24,
"hs": 0.32,
"lb": 0.68,
"l": 8.12,
"lt": 20870700050.0,
"pe": 41.06,
"pc": -0.24,
"p": 8.18,
"sz": 21097970234.0,
"cje": 66906490.52,
"ud": -0.02,
"v": 81774,
"yc": 8.2,
"zf": 1.46,
"zs": -0.12,
"sjl": 2.08,
"zdf60": -10.6,
"zdfnc": -10.6,
"t": "2025-04-03 15:29:10",
"dm": "000009"
},
{
"o": 2.81,
"fm": 0.36,
"h": 2.85,
"hs": 2.97,
"lb": 0.77,
"l": 2.77,
"lt": 1483182838.0,
"pe": -40.91,
"pc": 0.36,
"p": 2.82,
"sz": 3242019463.0,
"cje": 43862642.0,
"ud": 0.01,
"v": 156265,
"yc": 2.81,
"zf": 2.85,
"zs": -0.35,
"sjl": 14.82,
"zdf60": 0.36,
"zdfnc": 0.36,
"t": "2025-04-03 15:29:10",
"dm": "000010"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/stopprice/history/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_stopprice("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/stopprice/history/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_stopprice("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/stopprice/history/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockStopprice("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/stopprice/history/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockStopprice("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/stopprice/history/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockStoppriceAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| time | string | 更新时间 |
| lb | float | 量比 |
| om | float | 1分钟涨速(%) |
| fm | float | 5分钟涨速(%) |
| 3d | float | 3日涨幅(%) |
| 5d | float | 5日涨幅(%) |
| 10d | float | 10日涨幅(%) |
| 3t | float | 3日换手(%) |
| 5t | float | 5日换手(%) |
| 10t | float | 10日换手(%) |
"[
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/indicators/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_indicators("600519.SH")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/indicators/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_indicators("600519.SH");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/indicators/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockIndicators("600519.SH");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/indicators/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockIndicators("600519.SH")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/indicators/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockIndicatorsAsync("600519.SH");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间 |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额 |
| pc | float | 前收盘价 |
| sf | int | 停牌 1停牌,0 不停牌 |
[
{
"t": "2025-04-21 00:00:00",
"o": 11.0,
"h": 11.13,
"l": 10.97,
"c": 11.02,
"v": 1114184,
"a": 1230804536.0,
"pc": 11.18,
"sf": 0
},
{
"t": "2025-04-22 00:00:00",
"o": 11.02,
"h": 11.06,
"l": 10.98,
"c": 11.04,
"v": 831129,
"a": 915967678.0,
"pc": 11.02,
"sf": 0
},
{
"t": "2025-04-23 00:00:00",
"o": 11.04,
"h": 11.05,
"l": 10.97,
"c": 11.01,
"v": 586383,
"a": 645842400.0,
"pc": 11.04,
"sf": 0
},
{
"t": "2025-04-24 00:00:00",
"o": 11.0,
"h": 11.06,
"l": 10.99,
"c": 11.03,
"v": 689256,
"a": 760348555.0,
"pc": 11.01,
"sf": 0
},
{
"t": "2025-04-25 00:00:00",
"o": 11.04,
"h": 11.05,
"l": 10.99,
"c": 11.01,
"v": 637547,
"a": 702315255.0,
"pc": 11.03,
"sf": 0
},
{
"t": "2025-04-28 00:00:00",
"o": 11.0,
"h": 11.04,
"l": 10.96,
"c": 11.0,
"v": 642018,
"a": 706520175.0,
"pc": 11.01,
"sf": 0
},
{
"t": "2025-04-29 00:00:00",
"o": 11.0,
"h": 11.02,
"l": 10.95,
"c": 10.98,
"v": 649045,
"a": 712792543.0,
"pc": 11.0,
"sf": 0
},
{
"t": "2025-04-30 00:00:00",
"o": 10.96,
"h": 10.97,
"l": 10.89,
"c": 10.91,
"v": 869835,
"a": 949911030.0,
"pc": 10.98,
"sf": 0
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://专属子域名.mairuiapi.com/hsstock/vip/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_vip_history("000001.SZ", "d", "n")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://专属子域名.mairuiapi.com/hsstock/vip/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_vip_history("000001.SZ", "d", "n");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://专属子域名.mairuiapi.com/hsstock/vip/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockVipHistory("000001.SZ", "d", "n");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://专属子域名.mairuiapi.com/hsstock/vip/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockVipHistory("000001.SZ", "d", "n")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://专属子域名.mairuiapi.com/hsstock/vip/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的licence?st=开始时间(如20240601)&et=结束时间(如20250430)<=最新条数(如100)".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockVipHistoryAsync("000001.SZ", "d", "n");
Console.WriteLine(data);
| 参数名称 | 说明 |
|---|---|
| 股票代码 | 如 000001.SZ |
| 分时级别 | 固定为 1(1 分钟),需Quant Pro 增强包 |
| 除权方式 | 分钟级请使用 n |
| licence | 已开通Quant Pro 增强包的付费证书 |
| lt | 最新条数,可选,最大 5 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间(北京时间) |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额(若有) |
| pc | float | 涨跌幅(若有) |
| sf | float | 涨跌额(若有) |
[{"t":"2026-07-25 14:59:00","o":11.2,"h":11.25,"l":11.18,"c":11.22,"v":123456,"a":1380000}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/pro/latest/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?lt=最新条数(如5)'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/pro/latest/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?lt=最新条数(如5)'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/pro/latest/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?lt=最新条数(如5)".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/pro/latest/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?lt=最新条数(如5)', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/pro/latest/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?lt=最新条数(如5)".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 参数名称 | 说明 |
|---|---|
| 股票代码 | 如 000001.SZ |
| 分时级别 | 固定为 1(1 分钟),需Quant Pro 增强包 |
| 除权方式 | 分钟级请使用 n |
| licence | 已开通Quant Pro 增强包的付费证书 |
| st | 开始时间,可选,如 20240601 或 20240601100000 |
| et | 结束时间,可选 |
| lt | 返回最近 N 条,可选 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间(北京时间) |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额(若有) |
| pc | float | 涨跌幅(若有) |
| sf | float | 涨跌额(若有) |
[{"t":"2026-07-25 14:59:00","o":11.2,"h":11.25,"l":11.18,"c":11.22,"v":123456,"a":1380000}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/pro/history/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/pro/history/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/pro/history/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/pro/history/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/pro/history/股票代码.市场(如000001.SZ)/1/除权方式(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| ei | string | 市场代码 |
| ii | string | 股票代码 |
| name | string | 股票名称 |
| od | string | 上市日期(股票IPO日期) |
| pc | float | 前收盘价格 |
| up | float | 当日涨停价 |
| dp | float | 当日跌停价 |
| fv | float | 流通股本 |
| tv | float | 总股本 |
| pk | float | 最小价格变动单位 |
| is | int | 股票停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;) |
[
{
"o": 11.31,
"fm": -0.09,
"h": 11.39,
"hs": 0.33,
"lb": 0.82,
"l": 11.3,
"lt": 220059184779.0,
"pe": 4.94,
"pc": -0.26,
"p": 11.34,
"sz": 220063112365.0,
"cje": 730375807.93,
"ud": -0.03,
"v": 643914,
"yc": 11.37,
"zf": 0.79,
"zs": 0.0,
"sjl": 0.52,
"zdf60": -3.08,
"zdfnc": -3.08,
"t": "2025-04-03 15:29:10",
"dm": "000001"
},
{
"o": 6.12,
"fm": -0.16,
"h": 6.22,
"hs": 0.9,
"lb": 0.89,
"l": 6.1,
"lt": 2147977873.0,
"pe": 507.22,
"pc": 0.98,
"p": 6.2,
"sz": 2147977873.0,
"cje": 19206391.82,
"ud": 0.06,
"v": 31090,
"yc": 6.14,
"zf": 1.95,
"zs": -0.16,
"sjl": 16.66,
"zdf60": -11.81,
"zdfnc": -11.81,
"t": "2025-04-03 15:29:10",
"dm": "000007"
},
{
"o": 8.14,
"fm": -0.12,
"h": 8.24,
"hs": 0.32,
"lb": 0.68,
"l": 8.12,
"lt": 20870700050.0,
"pe": 41.06,
"pc": -0.24,
"p": 8.18,
"sz": 21097970234.0,
"cje": 66906490.52,
"ud": -0.02,
"v": 81774,
"yc": 8.2,
"zf": 1.46,
"zs": -0.12,
"sjl": 2.08,
"zdf60": -10.6,
"zdfnc": -10.6,
"t": "2025-04-03 15:29:10",
"dm": "000009"
},
{
"o": 2.81,
"fm": 0.36,
"h": 2.85,
"hs": 2.97,
"lb": 0.77,
"l": 2.77,
"lt": 1483182838.0,
"pe": -40.91,
"pc": 0.36,
"p": 2.82,
"sz": 3242019463.0,
"cje": 43862642.0,
"ud": 0.01,
"v": 156265,
"yc": 2.81,
"zf": 2.85,
"zs": -0.35,
"sjl": 14.82,
"zdf60": 0.36,
"zdfnc": 0.36,
"t": "2025-04-03 15:29:10",
"dm": "000010"
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/instrument/股票代码(如000001.SZ)/您的licence'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_instrument("000001.SZ")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/instrument/股票代码(如000001.SZ)/您的licence'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_instrument("000001.SZ");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/instrument/股票代码(如000001.SZ)/您的licence".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockInstrument("000001.SZ");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/instrument/股票代码(如000001.SZ)/您的licence', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockInstrument("000001.SZ")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/instrument/股票代码(如000001.SZ)/您的licence".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockInstrumentAsync("000001.SZ");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期 |
| plrq | string | 披露日期 |
| nbysk | float | 内部应收款 |
| gdzcql | float | 固定资产清理 |
| yffbzk | float | 应付分保账款 |
| jsbfj | float | 结算备付金 |
| ysbf | float | 应收保费 |
| ysfbzk | float | 应收分保账款 |
| ysfbhtzbj | float | 应收分保合同准备金 |
| ysgl | float | 应收股利 |
| ysckts | float | 应收出口退税 |
| ysbtk | float | 应收补贴款 |
| ysbzj | float | 应收保证金 |
| dfy | float | 待摊费用 |
| dclldzcsy | float | 待处理流动资产损益 |
| ynndqdfldzc | float | 一年内到期的非流动资产 |
| cqysk | float | 长期应收款 |
| qtcqtz | float | 其他长期投资 |
| gdzcyz | float | 固定资产原值 |
| gdzcjz | float | 固定资产净值 |
| gdzcjzzbj | float | 固定资产减值准备 |
| scxswzc | float | 生产性生物资产 |
| gyxswzc | float | 公益性生物资产 |
| yqzc | float | 油气资产 |
| kfzc | float | 开发支出 |
| gqfzltq | float | 股权分置流通权 |
| qtfldzc | float | 其他非流动资产 |
| yfsxfyj | float | 应付手续费及佣金 |
| qtjyk | float | 其他应交款 |
| yfbzj | float | 应付保证金 |
| nbyfk | float | 内部应付款 |
| ytfy | float | 预提费用 |
| bxhtzbj | float | 保险合同准备金 |
| dlmmzqk | float | 代理买卖证券款 |
| dlcxzqk | float | 代理承销证券款 |
| gjpjjs | float | 国际票证结算 |
| gnpjjs | float | 国内票证结算 |
| dysr | float | 递延收益 |
| yfdqzq | float | 应付短期债券 |
| cqdysr | float | 长期递延收益 |
| wqddtzss | float | 未确定的投资损失 |
| nfpxjgl | float | 拟分配现金股利 |
| yjfz | float | 预计负债 |
| xsckjtycf | float | 吸收存款及同业存放 |
| yjldfz | float | 预计流动负债 |
| j_kcg | float | 减:库存股 |
| hbzj | float | 货币资金 |
| cczj | float | 拆出资金 |
| jyxjrzc | float | 交易性金融资产 |
| ysjrzc | float | 衍生金融资产 |
| yspj | float | 应收票据 |
| yszk | float | 应收账款 |
| yfkx | float | 预付款项 |
| yslx | float | 应收利息 |
| qtysk | float | 其他应收款 |
| mrfsjrzck | float | 买入返售金融资产款 |
| gyjzjzbdqjsrdq | float | 以公允价值计量且其变动计入当期损益的金融资产 |
| ch | float | 存货 |
| qtldzc | float | 其他流动资产 |
| ldzchj | float | 流动资产合计 |
| ffdkjjd | float | 发放贷款及垫款 |
| kkgsjrzc | float | 可供出售金融资产 |
| cyzdqtz | float | 持有至到期投资 |
| cqgqtz | float | 长期股权投资 |
| tzxfd | float | 投资性房地产 |
| ljzj | float | 累计折旧 |
| gdzc | float | 固定资产 |
| zjgc | float | 在建工程 |
| gcwz | float | 工程物资 |
| cqfz | float | 长期负债 |
| wxzc | float | 无形资产 |
| sy | float | 商誉 |
| cqdtfy | float | 长期待摊费用 |
| dysdszc | float | 递延所得税资产 |
| fldzchj | float | 非流动资产合计 |
| zczj | float | 资产总计 |
| dqjk | float | 短期借款 |
| xzyhyhk | float | 向中央银行借款 |
| crzj | float | 拆入资金 |
| jyxjrfz | float | 交易性金融负债 |
| ysjrfz | float | 衍生金融负债 |
| yfpj | float | 应付票据 |
| yfzk | float | 应付账款 |
| ysk | float | 预收账款 |
| mchgjrzck | float | 卖出回购金融资产款 |
| yfgzxc | float | 应付职工薪酬 |
| yjsf | float | 应交税费 |
| yflx | float | 应付利息 |
| yfgl | float | 应付股利 |
| qtfzk | float | 其他应付款 |
| ynndqdfldfz | float | 一年内到期的非流动负债 |
| qtldfz | float | 其他流动负债 |
| ldfzhj | float | 流动负债合计 |
| cqjk | float | 长期借款 |
| yfzq | float | 应付债券 |
| cqyfk | float | 长期应付款 |
| zxyfk | float | 专项应付款 |
| dysdsfz | float | 递延所得税负债 |
| qtfldfz | float | 其他非流动负债 |
| fldfzhj | float | 非流动负债合计 |
| fzhj | float | 负债合计 |
| sszb | float | 实收资本(或股本) |
| zbgj | float | 资本公积 |
| zxzb | float | 专项储备 |
| ylgj | float | 盈余公积 |
| ybfxzb | float | 一般风险准备 |
| wfplr | float | 未分配利润 |
| wbbzbzhc | float | 外币报表折算差额 |
| gsmgdqsyhj | float | 归属于母公司股东权益合计 |
| ssgdqy | float | 少数股东权益 |
| syzqyhj | float | 所有者权益合计 |
| fzhgdqyzj | float | 负债和股东权益总计 |
[{"jzrq": "20250930", "plrq": "20251025", "nbysk": "-", "gdzcql": "-", "yffbzk": "-", "jsbfj": "-", "ysbf": "-", "ysfbzk": "-", "ysfbhtzbj": "-", "ysgl": "-", "ysckts": "-", "ysbtk": "-", "ysbzj": "-", "dfy": "-", "dclldzcsy": "-", "ynndqdfldzc": "-", "cqysk": "-", "qtcqtz": "-", "gdzcyz": "-", "gdzcjz": "-", "gdzcjzzbj": "-", "scxswzc": "-", "gyxswzc": "-", "yqzc": "-", "kfzc": "-", "gqfzltq": "-", "qtfldzc": "-", "yfsxfyj": "-", "qtjyk": "-", "yfbzj": "-", "nbyfk": "-", "ytfy": "-", "bxhtzbj": "-", "dlmmzqk": "-", "dlcxzqk": "-", "gjpjjs": "-", "gnpjjs": "-", "dysr": "-", "yfdqzq": "-", "cqdysr": "-", "wqddtzss": "-", "nfpxjgl": "-", "yjfz": 5439000000.0, "xsckjtycf": 472053000000.0, "yjldfz": "-", "j_kcg": "-", "hbzj": 263926000000.0, "cczj": 234666000000.0, "jyxjrzc": 698487000000.0, "ysjrzc": 26661000000.0, "yspj": "-", "yszk": "-", "yfkx": "-", "yslx": "-", "qtysk": "-", "mrfsjrzck": 17501000000.0, "gyjzjzbdqjsrdq": "-", "ch": "-", "qtldzc": "-", "ldzchj": "-", "ffdkjjd": 3344599000000.0, "kkgsjrzc": "-", "cyzdqtz": "-", "cqgqtz": "-", "tzxfd": 290000000.0, "ljzj": "-", "gdzc": 7928000000.0, "zjgc": "-", "gcwz": "-", "cqfz": "-", "wxzc": 5684000000.0, "sy": 7568000000.0, "cqdtfy": "-", "dysdszc": 49860000000.0, "fldzchj": "-", "zczj": 5766764000000.0, "dqjk": "-", "xzyhyhk": 111573000000.0, "crzj": 65653000000.0, "jyxjrfz": 162779000000.0, "ysjrfz": 25725000000.0, "yfpj": "-", "yfzk": "-", "ysk": "-", "mchgjrzck": 99298000000.0, "yfgzxc": 14236000000.0, "yjsf": 6904000000.0, "yflx": "-", "yfgl": "-", "qtfzk": "-", "ynndqdfldfz": "-", "qtldfz": "-", "ldfzhj": "-", "cqjk": "-", "yfzq": 634581000000.0, "cqyfk": "-", "zxyfk": "-", "dysdsfz": "-", "qtfldfz": "-", "fldfzhj": "-", "fzhj": 5248834000000.0, "sszb": 19406000000.0, "zbgj": 80637000000.0, "zxzb": "-", "ylgj": 10781000000.0, "ybfxzb": 68415000000.0, "wfplr": 268047000000.0, "wbbzbzhc": "-", "gsmgdqsyhj": 517930000000.0, "ssgdqy": "-", "syzqyhj": 517930000000.0, "fzhgdqyzj": 5766764000000.0}, {"jzrq": "20250630", "plrq": "20250823", "nbysk": "-", "gdzcql": "-", "yffbzk": "-", "jsbfj": "-", "ysbf": "-", "ysfbzk": "-", "ysfbhtzbj": "-", "ysgl": "-", "ysckts": "-", "ysbtk": "-", "ysbzj": "-", "dfy": "-", "dclldzcsy": "-", "ynndqdfldzc": "-", "cqysk": "-", "qtcqtz": "-", "gdzcyz": "-", "gdzcjz": "-", "gdzcjzzbj": "-", "scxswzc": "-", "gyxswzc": "-", "yqzc": "-", "kfzc": "-", "gqfzltq": "-", "qtfldzc": "-", "yfsxfyj": "-", "qtjyk": "-", "yfbzj": "-", "nbyfk": "-", "ytfy": "-", "bxhtzbj": "-", "dlmmzqk": "-", "dlcxzqk": "-", "gjpjjs": "-", "gnpjjs": "-", "dysr": "-", "yfdqzq": "-", "cqdysr": "-", "wqddtzss": "-", "nfpxjgl": "-", "yjfz": 5584000000.0, "xsckjtycf": 545099000000.0, "yjldfz": "-", "j_kcg": "-", "hbzj": 264474000000.0, "cczj": 276905000000.0, "jyxjrzc": 714895000000.0, "ysjrzc": 34570000000.0, "yspj": "-", "yszk": "-", "yfkx": "-", "yslx": "-", "qtysk": "-", "mrfsjrzck": 44172000000.0, "gyjzjzbdqjsrdq": "-", "ch": "-", "qtldzc": "-", "ldzchj": "-", "ffdkjjd": 3332319000000.0, "kkgsjrzc": "-", "cyzdqtz": "-", "cqgqtz": "-", "tzxfd": 249000000.0, "ljzj": "-", "gdzc": 8163000000.0, "zjgc": "-", "gcwz": "-", "cqfz": "-", "wxzc": 5856000000.0, "sy": 7568000000.0, "cqdtfy": "-", "dysdszc": 50481000000.0, "fldzchj": "-", "zczj": 5874961000000.0, "dqjk": "-", "xzyhyhk": 214228000000.0, "crzj": 53102000000.0, "jyxjrfz": 107624000000.0, "ysjrfz": 32369000000.0, "yfpj": "-", "yfzk": "-", "ysk": "-", "mchgjrzck": 51009000000.0, "yfgzxc": 14061000000.0, "yjsf": 7097000000.0, "yflx": "-", "yfgl": "-", "qtfzk": "-", "ynndqdfldfz": "-", "qtldfz": "-", "ldfzhj": "-", "cqjk": "-", "yfzq": 547071000000.0, "cqyfk": "-", "zxyfk": "-", "dysdsfz": "-", "qtfldfz": "-", "fldfzhj": "-", "fzhj": 5364899000000.0, "sszb": 19406000000.0, "zbgj": 80702000000.0, "zxzb": "-", "ylgj": 10781000000.0, "ybfxzb": 68366000000.0, "wfplr": 259207000000.0, "wbbzbzhc": "-", "gsmgdqsyhj": 510062000000.0, "ssgdqy": "-", "syzqyhj": 510062000000.0, "fzhgdqyzj": 5874961000000.0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/balance/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_balance("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/balance/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_balance("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/balance/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockBalance("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/balance/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockBalance("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/balance/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockBalanceAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期 |
| plrq | string | 披露日期 |
| yysr | float | 营业收入 |
| yzbf | float | 已赚保费 |
| fdczssr | float | 房地产销售收入 |
| yyzcb | float | 营业总成本 |
| fdczscb | float | 房地产销售成本 |
| yffy | float | 研发费用 |
| tbj | float | 退保金 |
| pczjje | float | 赔付支出净额 |
| tqbxhtzbjje | float | 提取保险合同准备金净额 |
| bdhlzc | float | 保单红利支出 |
| fbfy | float | 分保费用 |
| gyjzbdsy | float | 公允价值变动收益 |
| qhsy | float | 期货损益 |
| tgsy | float | 托管收益 |
| btsr | float | 补贴收入 |
| qtywlr | float | 其他业务利润 |
| bhbfzhbqsljlr | float | 被合并方在合并前实现净利润 |
| lxsr | float | 利息收入 |
| sxfjyjsr | float | 手续费及佣金收入 |
| sxfjyjzc | float | 手续费及佣金支出 |
| qtywcb | float | 其他业务成本 |
| hdsy | float | 汇兑收益 |
| fldzcczsy | float | 非流动资产处置收益 |
| sdsfy | float | 所得税费用 |
| wqrtzss | float | 未确认投资损失 |
| gsmgsyzzdjlr | float | 归属于母公司所有者的净利润 |
| lxzc | float | 利息支出 |
| qtywsr | float | 其他业务收入 |
| yyzsr | float | 营业总收入 |
| yycb | float | 营业成本 |
| yysjjfj | float | 营业税金及附加 |
| xsfy | float | 销售费用 |
| glfy | float | 管理费用 |
| cwfy | float | 财务费用 |
| zcjzss | float | 资产减值损失 |
| tzsy | float | 投资收益 |
| lyqyhhhqydtzsy | float | 联营企业和合营企业的投资收益 |
| yylr | float | 营业利润 |
| ywsr | float | 营业外收入 |
| ywzc | float | 营业外支出 |
| lrze | float | 利润总额 |
| jlr | float | 净利润 |
| jlrhfcjcx | float | 净利润(扣除非经常性损益后) |
| ssgdsy | float | 少数股东损益 |
| jbmgsy | float | 基本每股收益 |
| xsmgsy | float | 稀释每股收益 |
| zhsyz | float | 综合收益总额 |
| gsssgdzhsyz | float | 归属于少数股东的综合收益总额 |
| qtsy | float | 其他收益 |
[{"jzrq": "20250930", "plrq": "20251025", "yysr": 100668000000.0, "yzbf": "-", "fdczssr": "-", "yyzcb": 54571000000.0, "fdczscb": "-", "yffy": "-", "tbj": "-", "pczjje": "-", "tqbxhtzbjje": "-", "bdhlzc": "-", "fbfy": "-", "gyjzbdsy": -2382000000.0, "qhsy": "-", "tgsy": "-", "btsr": "-", "qtywlr": "-", "bhbfzhbqsljlr": "-", "lxsr": 66553000000.0, "sxfjyjsr": 18685000000.0, "sxfjyjzc": "-", "qtywcb": "-", "hdsy": 994000000.0, "fldzcczsy": 258000000.0, "sdsfy": 7581000000.0, "wqrtzss": "-", "gsmgsyzzdjlr": 38339000000.0, "lxzc": "-", "qtywsr": 229000000.0, "yyzsr": 100668000000.0, "yycb": 54571000000.0, "yysjjfj": 933000000.0, "xsfy": "-", "glfy": "-", "cwfy": "-", "zcjzss": "-", "tzsy": 16275000000.0, "lyqyhhhqydtzsy": "-", "yylr": 46097000000.0, "ywsr": 29000000.0, "ywzc": 206000000.0, "lrze": 45920000000.0, "jlr": 38339000000.0, "jlrhfcjcx": 38269000000.0, "ssgdsy": "-", "jbmgsy": 1.87, "xsmgsy": 1.87, "zhsyz": 36793000000.0, "gsssgdzhsyz": "-", "qtsy": 56000000.0}, {"jzrq": "20250630", "plrq": "20250823", "yysr": 69385000000.0, "yzbf": "-", "fdczssr": "-", "yyzcb": 39283000000.0, "fdczscb": "-", "yffy": "-", "tbj": "-", "pczjje": "-", "tqbxhtzbjje": "-", "bdhlzc": "-", "fbfy": "-", "gyjzbdsy": -1665000000.0, "qhsy": "-", "tgsy": "-", "btsr": "-", "qtywlr": "-", "bhbfzhbqsljlr": "-", "lxsr": 44507000000.0, "sxfjyjsr": 12739000000.0, "sxfjyjzc": "-", "qtywcb": "-", "hdsy": 767000000.0, "fldzcczsy": 83000000.0, "sdsfy": 5062000000.0, "wqrtzss": "-", "gsmgsyzzdjlr": 24870000000.0, "lxzc": "-", "qtywsr": 174000000.0, "yyzsr": 69385000000.0, "yycb": 39283000000.0, "yysjjfj": 627000000.0, "xsfy": "-", "glfy": "-", "cwfy": "-", "zcjzss": "-", "tzsy": 12730000000.0, "lyqyhhhqydtzsy": "-", "yylr": 30102000000.0, "ywsr": 25000000.0, "ywzc": 195000000.0, "lrze": 29932000000.0, "jlr": 24870000000.0, "jlrhfcjcx": 24930000000.0, "ssgdsy": "-", "jbmgsy": 1.18, "xsmgsy": 1.18, "zhsyz": 24280000000.0, "gsssgdzhsyz": "-", "qtsy": 50000000.0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/income/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_income("000001", st="20250101", et="20251231")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/income/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_income("000001", { st: "20250101", et: "20251231" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/income/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251231";
Object data = api.stockIncome("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/income/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251231"
data, _ := api.StockIncome("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/income/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251231" };
var data = await api.StockIncomeAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期 |
| plrq | string | 披露日期 |
| sdydbxbfqdxj | float | 收到原保险合同保费取得的现金 |
| sdzbxywxjjje | float | 收到再保险业务现金净额 |
| bhcjjtkkjzje | float | 保户储金及投资款净增加额 |
| czjyxjrzcjzje | float | 处置交易性金融资产净增加额 |
| sqlxsxfjyjdxj | float | 收取利息、手续费及佣金的现金 |
| hgywzjjzje | float | 回购业务资金净增加额 |
| zfybxhtpfkxdj | float | 支付原保险合同赔付款项的现金 |
| zfbdhldxj | float | 支付保单红利的现金 |
| czfzgsjqtsddxj | float | 处置子公司及其他收到的现金 |
| jszyhdqckssddxj | float | 减少质押和定期存款所收到的现金 |
| tzszfdxj | float | 投资所支付的现金 |
| zydkjzje | float | 质押贷款净增加额 |
| qdfzgsjqtywdwzfdxjje | float | 取得子公司及其他营业单位支付的现金净额 |
| zjzyhdqckszfdxj | float | 增加质押和定期存款所支付的现金 |
| qzfzgsxrxj | float | 其中子公司吸收现金 |
| qz:fzgszfgsssgdglr | float | 其中:子公司支付给少数股东的股利、利润 |
| ssgdsy | float | 少数股东损益 |
| wqrdtzss | float | 未确认的投资损失 |
| dysyzj(j:js) | float | 递延收益增加(减:减少) |
| yjfz | float | 预计负债 |
| jxyyfxmdzj | float | 经营性应付项目的增加 |
| ywgwswjskdjs(j:zj) | float | 已完工尚未结算款的减少(减:增加) |
| yjswgwgdjz(j:js) | float | 已结算尚未完工款的增加(减:减少) |
| xssptglwsddxj | float | 销售商品、提供劳务收到的现金 |
| khckhtyckxkjzje | float | 客户存款和同业存放款项净增加额 |
| xzyhyhkjzje | float | 向中央银行借款净增加额(万元) |
| xtjrgjqjcrzjjzje | float | 向其他金融机构拆入资金净增加额 |
| sddsfyfh | float | 收到的税费与返还 |
| tzzfdxj | float | 投资支付的现金 |
| sdqtyjyghdxj | float | 收到的其他与经营活动有关的现金 |
| jyhdxjlrxj | float | 经营活动现金流入小计 |
| gmspjslwzfdxj | float | 购买商品、接受劳务支付的现金 |
| khdkjdknzje | float | 客户贷款及垫款净增加额 |
| cfzyxhytckxkjzje | float | 存放中央银行和同业款项净增加额 |
| zflxsxfjyjdxj | float | 支付利息、手续费及佣金的现金 |
| zfgzyjwzgzfdxj | float | 支付给职工以及为职工支付的现金 |
| zfdgxsf | float | 支付的各项税费 |
| zfqtyjyghdxj | float | 支付其他与经营活动有关的现金 |
| jyhdxjlcxj | float | 经营活动现金流出小计 |
| jyhdcsdxjlje | float | 经营活动产生的现金流量净额 |
| shtzssddxj | float | 收回投资所收到的现金 |
| qdtzsysddxj | float | 取得投资收益所收到的现金 |
| czgdzcwxzhqtqctzssddxj | float | 处置固定资产、无形资产和其他长期投资收到的现金 |
| sdqtytzghdxj | float | 收到的其他与投资活动有关的现金 |
| tzhdxjlrxj | float | 投资活动现金流入小计 |
| gjgdzcwxzhqtqctzzfdxj | float | 购建固定资产、无形资产和其他长期投资支付的现金 |
| tzhdxjlcxj | float | 投资活动现金流出小计 |
| tzhdcsdxjlxj | float | 投资活动产生的现金流量净额 |
| xstzsdj | float | 吸收投资收到的现金 |
| qdjkjddxj | float | 取得借款收到的现金 |
| fxzjsddxj | float | 发行债券收到的现金 |
| sdqtczghdxj | float | 收到其他与筹资活动有关的现金 |
| czhdxjlrxj | float | 筹资活动现金流入小计 |
| chzwzfxj | float | 偿还债务支付现金 |
| fpglrlhcllxzfdxj | float | 分配股利、利润或偿付利息支付的现金 |
| zfqtczdxj | float | 支付其他与筹资的现金 |
| czhdxjlcxj | float | 筹资活动现金流出小计 |
| czhdcsdxjlxj | float | 筹资活动产生的现金流量净额 |
| hlbddxjdxy | float | 汇率变动对现金的影响 |
| xjxjdhwjzje | float | 现金及现金等价物净增加额 |
| qcxjjxjdhwye | float | 期初现金及现金等价物余额 |
| qmxjjxjdhwye | float | 期末现金及现金等价物余额 |
| jlr | float | 净利润 |
| zcjzzb | float | 资产减值准备 |
| gdzczjyqzcshscxwzczj | float | 固定资产折旧、油气资产折耗、生产性物资折旧 |
| wxzctx | float | 无形资产摊销 |
| cqdtfytx | float | 长期待摊费用摊销 |
| dtfydjs | float | 待摊费用的减少 |
| ytfydzj | float | 预提费用的增加 |
| czgdzcwxzhqtqctzss | float | 处置固定资产、无形资产和其他长期资产的损失 |
| gdzcgbss | float | 固定资产报废损失 |
| gyjzbds | float | 公允价值变动损失 |
| cwfy | float | 财务费用 |
| tzss | float | 投资损失 |
| dysdszcjs | float | 递延所得税资产减少 |
| dysdsfzzj | float | 递延所得税负债增加 |
| chdjs | float | 存货的减少 |
| jxyysxmdjs | float | 经营性应收项目的减少 |
| qt | float | 其他 |
| jyhdcsdxjlxj | float | 经营活动产生现金流量净额 |
| zwzwzb | float | 债务转为资本 |
| ynndqdkzhgzq | float | 一年内到期的可转换公司债券 |
| rzrgdzc | float | 融资租入固定资产 |
| xjdqmye | float | 现金的期末余额 |
| xjdqcye | float | 现金的期初余额 |
| xjdhwdqmye | float | 现金等价物的期末余额 |
| xjdhwdqcye | float | 现金等价物的期初余额 |
| xjxjdhwdjzje | float | 现金及现金等价物的净增加额 |
[{"jzrq": "20250930", "plrq": "20251025", "sdydbxbfqdxj": "-", "sdzbxywxjjje": "-", "bhcjjtkkjzje": "-", "czjyxjrzcjzje": "-", "sqlxsxfjyjdxj": 142555000000.0, "hgywzjjzje": "-", "zfybxhtpfkxdj": "-", "zfbdhldxj": "-", "czfzgsjqtsddxj": "-", "jszyhdqckssddxj": "-", "tzszfdxj": 715059000000.0, "zydkjzje": "-", "qdfzgsjqtywdwzfdxjje": "-", "zjzyhdqckszfdxj": "-", "qzfzgsxrxj": "-", "qz:fzgszfgsssgdglr": "-", "ssgdsy": "-", "wqrdtzss": "-", "dysyzj(j:js)": "-", "yjfz": "-", "jxyyfxmdzj": "-", "ywgwswjskdjs(j:zj)": "-", "yjswgwgdjz(j:js)": "-", "xssptglwsddxj": "-", "khckhtyckxkjzje": 43696000000.0, "xzyhyhkjzje": 25801000000.0, "xtjrgjqjcrzjjzje": -21437000000.0, "sddsfyfh": "-", "tzzfdxj": "-", "sdqtyjyghdxj": 42399000000.0, "jyhdxjlrxj": 320645000000.0, "gmspjslwzfdxj": "-", "khdkjdknzje": 100165000000.0, "cfzyxhytckxkjzje": "-", "zflxsxfjyjdxj": 62063000000.0, "zfgzyjwzgzfdxj": 16045000000.0, "zfdgxsf": 20095000000.0, "zfqtyjyghdxj": 13742000000.0, "jyhdxjlcxj": 248862000000.0, "jyhdcsdxjlxj": 71783000000.0, "shtzssddxj": 680442000000.0, "qdtzsysddxj": 22376000000.0, "czgdzcwxzhqtqctzssddxj": 284000000.0, "sdqtytzghdxj": "-", "tzhdxjlrxj": 703102000000.0, "gjgdzcwxzhqtqctzzfdxj": 1288000000.0, "tzhdxjlcxj": 716347000000.0, "tzhdcsdxjlxj": -13245000000.0, "xstzsdj": "-", "qdjkjddxj": "-", "fxzjsddxj": 507286000000.0, "sdqtczghdxj": "-", "czhdxjlrxj": 507286000000.0, "chzwzfxj": 1677000000.0, "fpglrlhcllxzfdxj": 11104000000.0, "zfqtczdxj": 74000000.0, "czhdxjlcxj": 587867000000.0, "czhdcsdxjlxj": -80581000000.0, "hlbddxjdxy": -65000000.0, "xjxjdhwjzje": -22108000000.0, "qcxjjxjdhwye": 256946000000.0, "qmxjjxjdhwye": 234838000000.0, "jlr": "-", "zcjzzb": "-", "gdzczjyqzcshscxwzczj": "-", "wxzctx": "-", "cqdtfytx": "-", "dtfydjs": "-", "ytfydzj": "-", "czgdzcwxzhqtqctzss": "-", "gdzcgbss": "-", "gyjzbds": "-", "cwfy": "-", "tzss": "-", "dysdszcjs": "-", "dysdsfzzj": "-", "chdjs": "-", "jxyysxmdjs": "-", "qt": "-", "jyhdcsdxjlje": "-", "zwzwzb": "-", "ynndqdkzhgzq": "-", "rzrgdzc": "-", "xjdqmye": "-", "xjdqcye": "-", "xjdhwdqmye": "-", "xjdhwdqcye": "-", "xjxjdhwdjzje": "-"}, {"jzrq": "20250630", "plrq": "20250823", "sdydbxbfqdxj": "-", "sdzbxywxjjje": "-", "bhcjjtkkjzje": "-", "czjyxjrzcjzje": "-", "sqlxsxfjyjdxj": 96360000000.0, "hgywzjjzje": "-", "zfybxhtpfkxdj": "-", "zfbdhldxj": "-", "czfzgsjqtsddxj": "-", "jszyhdqckssddxj": "-", "tzszfdxj": 442541000000.0, "zydkjzje": "-", "qdfzgsjqtywdwzfdxjje": "-", "zjzyhdqckszfdxj": "-", "qzfzgsxrxj": "-", "qz:fzgszfgsssgdglr": "-", "ssgdsy": "-", "wqrdtzss": "-", "dysyzj(j:js)": "-", "yjfz": "-", "jxyyfxmdzj": "-", "ywgwswjskdjs(j:zj)": "-", "yjswgwgdjz(j:js)": "-", "xssptglwsddxj": "-", "khckhtyckxkjzje": 257464000000.0, "xzyhyhkjzje": 128351000000.0, "xtjrgjqjcrzjjzje": -83002000000.0, "sddsfyfh": "-", "tzzfdxj": "-", "sdqtyjyghdxj": 16730000000.0, "jyhdxjlrxj": 530188000000.0, "gmspjslwzfdxj": "-", "khdkjdknzje": 74186000000.0, "cfzyxhytckxkjzje": "-", "zflxsxfjyjdxj": 40807000000.0, "zfgzyjwzgzfdxj": 11970000000.0, "zfdgxsf": 15796000000.0, "zfqtyjyghdxj": 58195000000.0, "jyhdxjlcxj": 355506000000.0, "jyhdcsdxjlxj": 174682000000.0, "shtzssddxj": 466277000000.0, "qdtzsysddxj": 15643000000.0, "czgdzcwxzhqtqctzssddxj": 147000000.0, "sdqtytzghdxj": "-", "tzhdxjlrxj": 482067000000.0, "gjgdzcwxzhqtqctzzfdxj": 838000000.0, "tzhdxjlcxj": 443379000000.0, "tzhdcsdxjlxj": 38688000000.0, "xstzsdj": "-", "qdjkjddxj": "-", "fxzjsddxj": 306282000000.0, "sdqtczghdxj": "-", "czhdxjlrxj": 306282000000.0, "chzwzfxj": 1143000000.0, "fpglrlhcllxzfdxj": 10394000000.0, "zfqtczdxj": 7000000.0, "czhdxjlcxj": 470926000000.0, "czhdcsdxjlxj": -164644000000.0, "hlbddxjdxy": -152000000.0, "xjxjdhwjzje": 48574000000.0, "qcxjjxjdhwye": 256946000000.0, "qmxjjxjdhwye": 305520000000.0, "jlr": "-", "zcjzzb": "-", "gdzczjyqzcshscxwzczj": "-", "wxzctx": "-", "cqdtfytx": "-", "dtfydjs": "-", "ytfydzj": "-", "czgdzcwxzhqtqctzss": "-", "gdzcgbss": "-", "gyjzbds": "-", "cwfy": "-", "tzss": "-", "dysdszcjs": "-", "dysdsfzzj": "-", "chdjs": "-", "jxyysxmdjs": "-", "qt": "-", "jyhdcsdxjlje": "-", "zwzwzb": "-", "ynndqdkzhgzq": "-", "rzrgdzc": "-", "xjdqmye": "-", "xjdqcye": "-", "xjdhwdqmye": "-", "xjdhwdqcye": "-", "xjxjdhwdjzje": "-"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/cashflow/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_cashflow("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/cashflow/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_cashflow("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/cashflow/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockCashflow("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/cashflow/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockCashflow("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/cashflow/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockCashflowAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| jzrq | string | 截止日期 |
| plrq | string | 披露日期 |
| mgjyhdxjl | float | 每股经营活动现金流量 |
| mgjzc | float | 每股净资产 |
| jbmgsy | float | 基本每股收益 |
| xsmgsy | float | 稀释每股收益 |
| mgwfplr | float | 每股未分配利润 |
| mgzbgjj | float | 每股资本公积金 |
| kfmgsy | float | 扣非每股收益 |
| jzcsyl | float | 净资产收益率 |
| xsmlv | float | 销售毛利率 |
| zyyrsrzz | float | 主营收入同比增长 |
| jlrzz | float | 净利润同比增长 |
| gsmgsyzzdjlrzz | float | 归属于母公司所有者的净利润同比增长 |
| kfjlrzz | float | 扣非净利润同比增长 |
| yyzsrgdhbzz | float | 营业总收入滚动环比增长 |
| sljlrjqhbzz | float | 归属净利润滚动环比增长 |
| kfjlrgdhbzz | float | 扣非净利润滚动环比增长 |
| jqjzcsyl | float | 加权净资产收益率 |
| tbjzcsyl | float | 摊薄净资产收益率 |
| tbzzcsyl | float | 摊薄总资产收益率 |
| mlv | float | 毛利率 |
| jlv | float | 净利率 |
| sjslv | float | 实际税率 |
| yskyysr | float | 预收款营业收入 |
| xsxjlyysr | float | 销售现金流营业收入 |
| zcfzl | float | 资产负债比率 |
| chzzl | float | 存货周转率 |
[{"jzrq": "20250930", "plrq": "20251025", "mgjyhdxjl": 3.699, "mgjzc": 23.08, "jbmgsy": 1.87, "xsmgsy": 1.87, "mgwfplr": 13.8126, "mgzbgjj": 4.1553, "kfmgsy": 1.87, "jzcsyl": 7.5711, "xsmlv": "-", "zyyrsrzz": -9.7811, "jlrzz": -3.4987, "gsmgsyzzdjlrzz": -3.4987, "kfjlrzz": -3.7209, "yyzsrgdhbzz": "-", "sljlrjqhbzz": "-", "kfjlrgdhbzz": "-", "jqjzcsyl": 8.28, "tbjzcsyl": 7.4024, "tbzzcsyl": "-", "mlv": "-", "jlv": 38.0846, "sjslv": "-", "yskyysr": "-", "xsxjlyysr": "-", "zcfzl": 91.0187, "chzzl": "-"}, {"jzrq": "20250630", "plrq": "20250823", "mgjyhdxjl": 9.0015, "mgjzc": 22.68, "jbmgsy": 1.18, "xsmgsy": 1.18, "mgwfplr": 13.3571, "mgzbgjj": 4.1586, "kfmgsy": 1.18, "jzcsyl": 4.9497, "xsmlv": "-", "zyyrsrzz": -10.0438, "jlrzz": -3.8989, "gsmgsyzzdjlrzz": -3.8989, "kfjlrzz": -3.6708, "yyzsrgdhbzz": "-", "sljlrjqhbzz": "-", "kfjlrgdhbzz": "-", "jqjzcsyl": 5.25, "tbjzcsyl": 4.8759, "tbzzcsyl": "-", "mlv": "-", "jlv": 35.8435, "sjslv": "-", "yskyysr": "-", "xsxjlyysr": "-", "zcfzl": 91.318, "chzzl": "-"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/pershareindex/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_pershareindex("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/pershareindex/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_pershareindex("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/pershareindex/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockPershareindex("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/pershareindex/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockPershareindex("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/pershareindex/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockPershareindexAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| zgb | float | 总股本 |
| ysltag | float | 已上市流通A股 |
| xsltgf | float | 限售流通股份 |
| bdrq | string | 变动日期 |
| plrq | string | 公告日 |
[{"zgb": 19405918198.0, "ysltag": 19405600653.0, "xsltgf": 0.0, "bdrq": "20250630", "plrq": "20250823"}, {"zgb": 19405918198.0, "ysltag": 19405571850.0, "xsltgf": 0.0, "bdrq": "20250331", "plrq": "20250331"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/capital/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_capital("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/capital/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_capital("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/capital/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockCapital("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/capital/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockCapital("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/capital/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockCapitalAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| plrq | string | 公告日期 |
| jzrq | string | 截止日期 |
| gdmc | string | 股东名称 |
| gdlx | string | 股东类型 |
| cgsl | string | 持股数量 |
| bdyy | string | 变动原因 |
| cgbl | string | 持股比例 |
| gfxz | string | 股份性质 |
| cgpm | string | 持股排名 |
[{"plrq": "20251025", "jzrq": "20250930", "gdmc": "深圳中电投资有限公司", "gdlx": "机构投资账户", "cgsl": 62523366.0, "bdyy": "不变", "cgbl": 0.32, "gfxz": "流通A股", "cgpm": 10.0}, {"plrq": "20250823", "jzrq": "20250630", "gdmc": "深圳中电投资有限公司", "gdlx": "", "cgsl": 62523366.0, "bdyy": "不变", "cgbl": 0.32, "gfxz": "流通A股", "cgpm": 10.0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/topholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_top_holders("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/topholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_top_holders("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/topholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockTopHolders("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/topholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockTopHolders("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/topholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockTopHoldersAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| ggrq | string | 公告日期 |
| jzrq | string | 截止日期 |
| gdmc | string | 股东名称 |
| gdlx | string | 股东类型 |
| cgsl | string | 持股数量 |
| bdyy | string | 变动原因 |
| cgbl | string | 持股比例 |
| gfxz | string | 股份性质 |
| cgpm | string | 持股排名 |
[{"plrq": "20251025", "jzrq": "20250930", "gdmc": "深圳中电投资有限公司", "gdlx": "机构投资账户", "cgsl": 62523366.0, "bdyy": "不变", "cgbl": 0.32, "gfxz": "流通A股", "cgpm": 10.0}, {"plrq": "20250823", "jzrq": "20250630", "gdmc": "深圳中电投资有限公司", "gdlx": "机构投资账户", "cgsl": 62523366.0, "bdyy": "不变", "cgbl": 0.32, "gfxz": "流通A股", "cgpm": 10.0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/flowholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_flow_holders("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/flowholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_flow_holders("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/flowholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockFlowHolders("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/flowholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockFlowHolders("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/flowholder/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockFlowHoldersAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| plrq | string | 公告日期 |
| jzrq | string | 截止日期 |
| gdzs | string | 股东总数 |
| agdhs | string | A股东户数 |
| bgdhs | string | B股东户数 |
| hgdhs | string | H股东户数 |
| yltgdhs | string | 已流通股东户数 |
| wltgdhs | string | 未流通股东户数 |
[{"plrq": "20251025", "jzrq": "20250930", "gdzs": 453515.0, "agdhs": 453515.0, "bgdhs": 0.0, "hgdhs": 0.0, "yltgdhs": 0.0, "wltgdhs": 0.0}, {"plrq": "20250823", "jzrq": "20250630", "gdzs": 443583.0, "agdhs": 443583.0, "bgdhs": 0.0, "hgdhs": 0.0, "yltgdhs": 0.0, "wltgdhs": 0.0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/financial/hm/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_shareholder_count("000001", st="20250101", et="20251201")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/financial/hm/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_shareholder_count("000001", { st: "20250101", et: "20251201" });
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/financial/hm/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
MairuiClient.TimeRangeQuery q = new MairuiClient.TimeRangeQuery();
q.st = "20250101";
q.et = "20251201";
Object data = api.stockShareholderCount("000001", q);
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/financial/hm/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
st := "20250101"
et := "20251201"
data, _ := api.StockShareholderCount("000001", mairui.TimeRangeQuery{St: &st, Et: &et})
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/financial/hm/股票代码(如000001.SZ)/您的licence?st=开始时间&et=结束时间".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var q = new TimeRangeQuery { St = "20250101", Et = "20251201" };
var data = await api.StockShareholderCountAsync("000001", q);
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
| diff | number | DIFF值 |
| dea | number | DEA值 |
| macd | number | MACD值 |
| ema12 | number | EMA(12)值 |
| ema26 | number | EMA(26)值 |
[
{
"t": "2025-06-03 00:00:00",
"diff": 0.0,
"dea": 0.0,
"macd": 0.0,
"ema12": 11.81,
"ema26": 11.81
},
{
"t": "2025-06-04 00:00:00",
"diff": 0.002,
"dea": 0.0,
"macd": 0.004,
"ema12": 11.8146,
"ema26": 11.8122
},
{
"t": "2025-06-05 00:00:00",
"diff": -0.009,
"dea": -0.001,
"macd": -0.016,
"ema12": 11.7924,
"ema26": 11.8017
},
{
"t": "2025-06-06 00:00:00",
"diff": -0.016,
"dea": -0.004,
"macd": -0.023,
"ema12": 11.7782,
"ema26": 11.7942
},
{
"t": "2025-06-09 00:00:00",
"diff": -0.02,
"dea": -0.008,
"macd": -0.025,
"ema12": 11.7677,
"ema26": 11.7879
},
{
"t": "2025-06-10 00:00:00",
"diff": -0.015,
"dea": -0.009,
"macd": -0.013,
"ema12": 11.7742,
"ema26": 11.7896
},
{
"t": "2025-06-11 00:00:00",
"diff": -0.008,
"dea": -0.009,
"macd": 0.001,
"ema12": 11.7858,
"ema26": 11.794
},
{
"t": "2025-06-12 00:00:00",
"diff": -0.016,
"dea": -0.01,
"macd": -0.011,
"ema12": 11.7696,
"ema26": 11.7856
},
{
"t": "2025-06-13 00:00:00",
"diff": -0.03,
"dea": -0.014,
"macd": -0.031,
"ema12": 11.7404,
"ema26": 11.7704
},
{
"t": "2025-06-16 00:00:00",
"diff": -0.024,
"dea": -0.016,
"macd": -0.015,
"ema12": 11.748,
"ema26": 11.7718
},
{
"t": "2025-06-17 00:00:00",
"diff": -0.021,
"dea": -0.017,
"macd": -0.008,
"ema12": 11.7499,
"ema26": 11.7709
},
{
"t": "2025-06-18 00:00:00",
"diff": -0.018,
"dea": -0.017,
"macd": -0.001,
"ema12": 11.753,
"ema26": 11.7709
},
{
"t": "2025-06-19 00:00:00",
"diff": -0.021,
"dea": -0.018,
"macd": -0.006,
"ema12": 11.7448,
"ema26": 11.7656
},
{
"t": "2025-06-20 00:00:00",
"diff": -0.012,
"dea": -0.017,
"macd": 0.01,
"ema12": 11.7595,
"ema26": 11.7711
},
{
"t": "2025-06-23 00:00:00",
"diff": 0.003,
"dea": -0.013,
"macd": 0.031,
"ema12": 11.7857,
"ema26": 11.7829
},
{
"t": "2025-06-24 00:00:00",
"diff": 0.014,
"dea": -0.007,
"macd": 0.043,
"ema12": 11.8079,
"ema26": 11.7938
},
{
"t": "2025-06-25 00:00:00",
"diff": 0.033,
"dea": 0.001,
"macd": 0.065,
"ema12": 11.8467,
"ema26": 11.8135
},
{
"t": "2025-06-26 00:00:00",
"diff": 0.076,
"dea": 0.016,
"macd": 0.12,
"ema12": 11.9333,
"ema26": 11.8577
},
{
"t": "2025-06-27 00:00:00",
"diff": 0.091,
"dea": 0.031,
"macd": 0.121,
"ema12": 11.9744,
"ema26": 11.8831
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_macd("000001.SZ", "d", "n")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_macd("000001.SZ", "d", "n");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockMacd("000001.SZ", "d", "n");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockMacd("000001.SZ", "d", "n")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/macd/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockMacdAsync("000001.SZ", "d", "n");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
| ma3 | number | MA3,没有则为null |
| ma5 | number | MA5,没有则为null |
| ma10 | number | MA10,没有则为null |
| ma15 | number | MA15,没有则为null |
| ma20 | number | MA20,没有则为null |
| ma30 | number | MA30,没有则为null |
| ma60 | number | MA60,没有则为null |
| ma120 | number | MA120,没有则为null |
| ma200 | number | MA200,没有则为null |
| ma250 | number | MA250,没有则为null |
[
{
"t": "2025-07-21 15:00",
"ma3": 12.6,
"ma5": 12.598,
"ma10": 12.597,
"ma15": 12.5927,
"ma20": 12.591,
"ma30": 12.5903,
"ma60": 12.6127,
"ma120": 12.6279,
"ma200": 12.6154,
"ma250": 12.6638
},
{
"t": "2025-07-22 09:35",
"ma3": 12.6,
"ma5": 12.596,
"ma10": 12.595,
"ma15": 12.5933,
"ma20": 12.5915,
"ma30": 12.5897,
"ma60": 12.6115,
"ma120": 12.628,
"ma200": 12.6146,
"ma250": 12.6622
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_ma("000001.SZ", "d", "n")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_ma("000001.SZ", "d", "n");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockMa("000001.SZ", "d", "n");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockMa("000001.SZ", "d", "n")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/ma/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockMaAsync("000001.SZ", "d", "n");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
| u | number | 上轨 |
| d | number | 下轨 |
| m | number | 中轨 |
[
{
"t": "2025-07-18 14:00",
"u": 13.11,
"d": 12.38,
"m": 12.75
},
{
"t": "2025-07-18 15:00",
"u": 13.09,
"d": 12.38,
"m": 12.74
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_boll("000001.SZ", "d", "n")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_boll("000001.SZ", "d", "n");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockBoll("000001.SZ", "d", "n");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockBoll("000001.SZ", "d", "n")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/boll/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockBollAsync("000001.SZ", "d", "n");
Console.WriteLine(data);
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
| k | number | K值 |
| d | number | D值 |
| j | number | J值 |
[
{
"t": "2025-07-18 14:00",
"k": 57.73,
"d": 43.01,
"j": 87.16
},
{
"t": "2025-07-18 15:00",
"k": 63.88,
"d": 49.97,
"j": 91.71
}
]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
from mairui import Client
with Client(licence="您的licence") as api:
data = api.stock_kdj("000001.SZ", "d", "n")
print(data)
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
import { Client } from "@mairuiapi/mairui";
const api = new Client({ licence: "您的licence" });
const data = await api.stock_kdj("000001.SZ", "d", "n");
console.log(data);
api.close();
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
import com.mairui.MairuiClient;
MairuiClient api = new MairuiClient("您的licence");
Object data = api.stockKdj("000001.SZ", "d", "n");
System.out.println(data);
api.close();
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
package main
import (
"fmt"
"github.com/MaiRuiApi/mairui-go"
)
func main() {
api, _ := mairui.NewClient(mairui.ClientOptions{Licence: "您的licence"})
defer api.Close()
data, _ := api.StockKdj("000001.SZ", "d", "n")
fmt.Println(data)
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/history/kdj/股票代码(如000001.SZ)/分时级别(如d)/除权类型(如n)/您的licence?st=开始时间&et=结束时间<=最新条数".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
using MairuiSdk;
var api = new MairuiClient("您的licence");
var data = await api.StockKdjAsync("000001.SZ", "d", "n");
Console.WriteLine(data);
| 参数名称 | 说明 |
|---|---|
| stock_code | 股票代码,支持 000001 或 000001.SZ |
| licence | 用户证书码 |
| st | 开始时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| et | 结束时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| lt | 返回最近 N 条,可选 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 时间 |
| su | int | 涨停开始时间 |
| eu | int | 涨停结束时间 |
| bu | int | 炸板次数 |
| ua | float | 涨停金额 |
| sd | int | 跌停开始时间 |
| ed | int | 跌停结束时间 |
| bd | int | 开板次数(跌停侧) |
| da | float | 跌停金额 |
| dr | int | 涨跌方向(0无、1涨停、2跌停) |
| vr | float | 封成比 |
| fr | float | 封流比 |
| sc | int | 几板 |
| dy | int | 几天 |
| sb | int | 封板中断天数 |
[{"t":"2026-04-24 00:00:00","su":0,"eu":0,"bu":0,"ua":0.0,"sd":0,"ed":0,"bd":0,"da":0.0,"dr":0,"vr":0.0,"fr":0.0,"sc":0,"dy":0,"sb":0}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/lup/limit/{stock_code}/{licence}'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/lup/limit/{stock_code}/{licence}'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/lup/limit/{stock_code}/{licence}".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/lup/limit/{stock_code}/{licence}', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/lup/limit/{stock_code}/{licence}".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 参数名称 | 说明 |
|---|---|
| stock_code | 股票代码,支持 000001 或 000001.SZ |
| licence | 用户证书码 |
| st | 开始时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| et | 结束时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| lt | 返回最近 N 条,可选 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 时间 |
| ov | int | 开盘集合竞价成交量(单位:手) |
| cv | int | 收盘集合竞价成交量(单位:手) |
| fv | int | 盘后定价成交量 |
| bp | float | 竞昨比 |
[{"t":"2026-04-24 00:00:00","ov":3882,"cv":4200,"fv":0,"bp":0.545853}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/lup/auction/{stock_code}/{licence}'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/lup/auction/{stock_code}/{licence}'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/lup/auction/{stock_code}/{licence}".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/lup/auction/{stock_code}/{licence}', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/lup/auction/{stock_code}/{licence}".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 参数名称 | 说明 |
|---|---|
| stock_code | 股票代码,支持 000001 或 000001.SZ |
| licence | 用户证书码 |
| st | 开始时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| et | 结束时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| lt | 返回最近 N 条,可选 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 时间 |
| q | string | 提问内容 |
| a | string | 回答内容 |
| qt | string | 提问时间 |
| at | string | 回答时间 |
| id | string | 问答编号 |
[{"t":"2026-04-24 00:00:00","qh":"问题标题","q":"提问内容","a":"回答内容"}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/interactiveqa/{stock_code}/{licence}'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/interactiveqa/{stock_code}/{licence}'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/interactiveqa/{stock_code}/{licence}".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/interactiveqa/{stock_code}/{licence}', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/interactiveqa/{stock_code}/{licence}".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
| 参数名称 | 说明 |
|---|---|
| stock_code | 股票代码,支持 600050 或 600050.SH |
| licence | 用户证书码 |
| st | 开始时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| et | 结束时间,可选:YYYYMMDD 或 YYYYMMDDhhmmss |
| lt | 返回最近 N 条,可选 |
| 字段名称 | 数据类型 | 字段说明 |
|---|---|---|
| t | string | 时间 |
| zt | string | 主题 |
| gs | string | 格式 |
| nr | string | 公告链接 |
| jb | int | 级别 |
| lx | int | 类型(0-其他,1-财报类) |
[{"t":"2026-04-22 00:00:00","zq":"600050.SH","zt":"公告主题","zy":"摘要","gs":"TXT","nr":"http://...pdf","jb":0,"lx":1}]
选择语言后,上方为 GET 请求示例,下方为官方 SDK 示例(鉴权与限流规则一致)
# pip install mairui 或使用 requests
import requests
LICENCE = "YOUR-LICENCE" # 替换为您的证书
url = 'https://api.mairuiapi.com/hsstock/announcement/{stock_code}/{licence}'.replace("YOUR-LICENCE", LICENCE)
resp = requests.get(url, timeout=15)
print(resp.status_code)
print(resp.json())
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
const licence = "YOUR-LICENCE";
const url = 'https://api.mairuiapi.com/hsstock/announcement/{stock_code}/{licence}'.replace("YOUR-LICENCE", licence);
const resp = await fetch(url);
console.log(resp.status);
console.log(await resp.json());
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class MairuiDemo {
public static void main(String[] args) throws Exception {
String licence = "YOUR-LICENCE";
String url = "https://api.mairuiapi.com/hsstock/announcement/{stock_code}/{licence}".replace("YOUR-LICENCE", licence);
HttpRequest req = HttpRequest.newBuilder(URI.create(url)).GET().build();
HttpResponse<String> resp = HttpClient.newHttpClient()
.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode());
System.out.println(resp.body());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
licence := "YOUR-LICENCE"
url := strings.ReplaceAll('https://api.mairuiapi.com/hsstock/announcement/{stock_code}/{licence}', "YOUR-LICENCE", licence)
resp, err := http.Get(url)
if err != nil { panic(err) }
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode)
fmt.Println(string(body))
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
var licence = "YOUR-LICENCE";
var url = "https://api.mairuiapi.com/hsstock/announcement/{stock_code}/{licence}".Replace("YOUR-LICENCE", licence);
using var http = new HttpClient();
var resp = await http.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());
}
}
当前接口在官方多语言 SDK(v1.2.0)中暂无专用方法封装,请使用本页「HTTP 请求」方式调用;鉴权与限流规则与 SDK 完全一致。