Skip to main content

DataSinking

PyPI version

Full-text A-share financial reports, as clean Markdown.

DataSinking is a China stock market data API that serves full-text A-share financial reports — annual, semi-annual and quarterly — as clean Markdown. Download China A-share financial statements (balance sheet, income statement, cash flow) by FMP-style symbol (600519.SS) or filter by exchange / report period, through a simple REST API. Raw PDFs are sourced from cninfo.com.cn (the officially designated disclosure platform) and parsed into structured Markdown with YAML frontmatter, preserved headings, paragraphs and tables — ready for LLM reading and analysis.


What this repo is

Examples, research and tutorials showing how to work with financial report data, including reproducing the presentation styles found in financial-report research papers.

datasinking/
├── examples/     # Example scripts: pull data from the API and analyze it
├── research/     # Research notes / blog posts (reproducing paper-style presentation)
├── datasinking/  # Python client — pip install datasinking
├── llm-examples.md  # Ask an LLM — no code needed (3 end-to-end examples)
├── api-examples.md  # 7 examples × 3 interfaces (curl / Python / LLM)
└── README.md

Quick start

  1. Get an API key at datasink.ing
  2. One line (FMP-style ?apikey=):
curl "https://api.datasink.ing/documents?symbol=600519.SS&with_content=1&apikey=YOUR_KEY"

Or in Python:

pip install datasinking
from datasinking import DataSinking

ds = DataSinking("YOUR_KEY")
for r in ds.get_stock_reports("600519.SS", limit=3):
    print(r["report_period"], r["title"], len(r["content"]), "chars")

All five functions (curl / Python / LLM): api-examples.md.

Ask an LLM (no code)

Don't want to write code? Point any LLM at datasink.ing, give it your API key, and ask in plain language. See llm-examples.md for three end-to-end examples — explore coverage, list a company's reports, and extract a figure with correct units.

Examples (examples/)

File What it does
01_quickstart.py The 5 core functions: list exchanges / stocks / reports / fetch a report / fetch a stock's reports
02_download_company.py Download a company's full reports to local Markdown files
03_download_exchange.py Download an entire exchange's reports (all stocks) to local Markdown files

Every example pulls from the live API and runs as-is.

03_download_exchange.py fetches every report on an exchange (e.g. all of Shenzhen — 130k+ documents). Free keys work too, but fall back to slow per-document fetching (1 req/s + shared daily quota); a paid (yearly) key is strongly recommended for full-exchange downloads.

Research (research/)

research/ hosts research notes and blog posts, each based on DataSinking data with the source cited. You can reproduce charts and presentations found in financial-report research papers, e.g.:

  • Long-term revenue / profit trends
  • Industry comparison and distribution
  • Time series of financial metrics

Start from research/TEMPLATE.md.

Data overview

Coverage SSE / SZSE / BSE, 5,000+ A-share companies
Document types annual / semiannual / q1 / q3 / amendment
Format Full-text Markdown (with YAML frontmatter)
API REST — GET /documents, batch download, with_content=1 for full text
Symbols FMP style: 600519.SS / 000001.SZ / 830799.BJ
Auth ?apikey= query parameter (FMP style)

Data source

All reports originate from cninfo.com.cn, the officially designated information disclosure platform of China's listed companies.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datasinking-0.1.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datasinking-0.1.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file datasinking-0.1.1.tar.gz.

File metadata

  • Download URL: datasinking-0.1.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for datasinking-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a0e9140b9bad395c7b181e502a1f75388905f13b1e691026fcfdf85dca387f9e
MD5 341c071fc76383c8933835e23a549dd1
BLAKE2b-256 94514fc3756a1f06d1b236e3f2ec0489a559121ac5f8e81489bd754fe4fb18fe

See more details on using hashes here.

File details

Details for the file datasinking-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: datasinking-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for datasinking-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8173cfba26fb3b7b2e08a4fc93c1eb2124240652f83c4075d926fb49154f650
MD5 7fed40ba85a1c595d6d50c540fc953df
BLAKE2b-256 21b2dce4e54799cc98d65649fc0ea7cc1ba73ca10de9e999461ad8a5ba817a51

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page