Securities Data API
A-share stocks, indices, and ETFs — 11 data dimensions in one endpoint
Overview
GET /v1/finance/stock returns unified securities data for A-share stocks, indices (e.g. 000001.SH for SSE Composite), and ETFs (e.g. 510300 / 510300.SH). Pass a single symbol or a comma-separated list for side-by-side comparison (up to 10 symbols per request). Alternatively, use keyword alone to search stocks by name or code (mutually exclusive with symbol). Successful JSON responses include "success": true and a top-level data payload.
When to Use
Pick aspects based on user intent (most → least common):
| User asks | aspects | Note |
|---|---|---|
| "How is XXX doing?" / quick look | overview (default) | One-shot snapshot: quote + brief profile + brief financials |
| "Show me the price / PE" | quote | Latest quote only |
| "Show me the K-line / chart" | quote,kline | Quote + historical K-line |
| "Technical / MACD / signals" | quote,kline,technical | + indicators + signal detection |
| "Earnings / financials" | financial | Full 3 statements + industry comparison |
| "Top shareholders" | holders | Shareholder data |
| "Management team" | management | Executives / directors / supervisors |
| "Dividends / unlocks / forecasts" | events | Corporate event calendar |
| "Industry ranking / peers" | peers | Same-industry comparison |
| "Comprehensive analysis" | summary | Multi-dimensional fact aggregation |
Search mode (when you don't know the code): use keyword instead of symbol, e.g. ?keyword=茅台.
Multi-symbol compare: symbol=600519,000858,601398 (comma-separated, up to 10).
Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes, unless keyword is set | — | One or more codes, comma-separated. Examples: 600519, 000001.SH (index), 510300 (ETF). Exchange suffix optional where unambiguous. |
keyword | string | Yes, unless symbol is set | — | Stock search by name or code. Cannot be combined with symbol. |
aspects | string | No | overview | Comma-separated data slices to return (see table below). |
days | int | No | 60 | Lookback window (1–500) for aspects that use history: kline, technical (and internals for summary). |
period | string | No | d | K-line bar size: d (daily), w (weekly), m (monthly). |
limit | int | No | 10 | Max results when using keyword search only (1–50). |
Data aspects ([object Object])
| Aspect | Description |
|---|---|
overview | Quote snapshot plus brief profile and financial highlights. |
profile | Full company / instrument profile. |
quote | Latest closing snapshot (price, PE/PB, market cap, turnover, etc.). |
kline | Historical OHLCV candles for the chosen period and days. |
technical | MACD/MA/BOLL/KDJ indicators computed from historical K-line data, plus signal detection. |
financial | Financial statements and key financial metrics. |
holders | Top 10 shareholders, top 10 float holders, holder count trend, fund holdings. |
management | Directors, executives, and management-related records. |
events | Corporate actions and notable events. |
summary | Condensed cross-aspect summary (quote, technical, financial, holders). |
peers | Peer group / comparable securities for context. |
Request Examples
Single stock — default overview
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?symbol=600519"Index
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?symbol=000001.SH"ETF
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?symbol=510300"Multiple aspects, daily K-line, 120 days
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?symbol=600519&aspects=quote,kline,technical&days=120&period=d"Multi-symbol compare (comma-separated)
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?symbol=600519,000858&aspects=overview,quote"Keyword search (stocks only)
curl -H "X-API-Key: sk_gapi_xxxxx" \
"https://api.groundapi.net/v1/finance/stock?keyword=茅台&limit=10"Response Examples
Single-symbol data ([object Object] + [object Object])
All data comes from the local database (synced daily after market close). No real-time data is provided.
{
"success": true,
"data": {
"symbol": "600519",
"type": "stock",
"quote": {
"price": 1443.31,
"open": 1444.0,
"high": 1446.5,
"low": 1433.0,
"prev_close": 1453.96,
"change_pct": -0.73,
"pe": 20.98,
"pb": 7.03,
"volume": 25214,
"turnover": 3629675500,
"turnover_rate": 0.2,
"total_market_cap": 1807414124012,
"limit_up": 1606.54,
"limit_down": 1314.44,
"update_time": "2026-04-13",
"market_status": "closed"
},
"profile_brief": {
"industry": "食品饮料",
"listing_date": "2001-08-27",
"total_shares": 1252270215,
"float_shares": 1252270215,
"concepts": ["保险重仓", "QFII重仓", "基金重仓", "奢侈品"]
},
"financial_brief": {
"report_date": "2025-09-30",
"eps": 46.36,
"bps": 210.76,
"roe": 8.08,
"revenue_yoy": 16.33,
"profit_yoy": 15.04,
"debt_ratio": 20.88
}
}
}Multi-symbol compare
{
"success": true,
"data": {
"compare": [
{ "symbol": "600519", "type": "stock", "quote": {} },
{ "symbol": "000858", "type": "stock", "quote": {} }
],
"count": 2
}
}Keyword search
{
"success": true,
"data": [
{
"dm": "600519",
"mc": "贵州茅台",
"jys": "sh"
}
]
}Pricing
$0.02/call. First 500 calls/month are free.