DataSinking

API Reference

DataSinking serves full-text financial reports as Markdown over a simple REST API. All endpoints require an API key.

Authentication

Pass your API key as an apikey query parameter (FMP style):

curl "https://api.datasink.ing/documents?apikey=YOUR_API_KEY"

Missing or invalid keys return 401. Requests over your plan's rate limit return 429.

Rate limits and quotas vary by plan. Free keys are limited to 1 request per second and cannot use batch download. Yearly keys allow 31 requests per second with a monthly quota.

List exchanges GET /exchanges

List the available exchanges.

curl "https://api.datasink.ing/exchanges?apikey=YOUR_API_KEY"

List stocks GET /stocks

List stocks for an exchange, with report counts.

exchangestringsse / szse / bj
curl "https://api.datasink.ing/stocks?exchange=sse&apikey=YOUR_API_KEY"

List documents GET /documents

Paginated list of document metadata with filters.

pageintPage number (default 1)
sizeintPage size (default 50, max 200)
symbolstringFMP-style ticker, e.g. 600519.SS
stock_codestring6-digit code, e.g. 600519
exchangestringsse / szse / bj
doc_typestringannual / semiannual / q1 / q3 / amendment
report_periodstringe.g. 2023-12-31
report_period_fromstringreport period lower bound, e.g. 2023-01-01
report_period_tostringreport period upper bound, e.g. 2023-12-31
orderstringasc (default) / desc (latest report period first)
curl "https://api.datasink.ing/documents?symbol=600519.SS&doc_type=annual&order=desc&apikey=YOUR_API_KEY"

Get a document GET /documents/:id

Returns metadata plus the full report body in Markdown (content field).

curl "https://api.datasink.ing/documents/42?apikey=YOUR_API_KEY"

Batch download POST /documents/batch

Fetch multiple documents (with full content) by ID in one request. Max 100 IDs per request. Not available on the free plan.

curl -X POST -H "Content-Type: application/json" \
  -d '{"doc_ids": [1, 2, 3]}' \
  "https://api.datasink.ing/documents/batch?apikey=YOUR_API_KEY"

Symbol format

Symbols follow the FMP / Yahoo convention, so they drop into existing workflows:

ExchangeSuffixExample
Shanghai (SSE).SS600519.SS
Shenzhen (SZSE).SZ000001.SZ
Beijing (BSE).BJ830799.BJ