Skip to main content

Python SDK for AShareHub — Chinese A-Share market data API (30+ endpoints)

Project description

AShareHub Python SDK

Official Python SDK for Chinese A-Share Market Data

PyPI version Python versions License: MIT

WebsiteDocumentationAPI ReferenceGet API Key


Overview

AShareHub provides institutional-grade Chinese A-Share market data through a simple, modern Python SDK. Access real-time and historical data for all listed Chinese A-shares.

Key Features:

  • Returns pd.DataFrame — same convention as Tushare
  • 38 data endpoints covering market, financial, real-time, news, and reference data
  • 10+ years of historical data
  • Secure API key authentication
  • Fast and reliable

Installation

pip install asharehub

Requirements: Python 3.10+, pandas


Quick Start

from asharehub import AShareHub

client = AShareHub(api_key="ash_your_key_here")

# Get daily market data — returns pd.DataFrame
df = client.market_daily(ts_code="000001.SZ", start_date="2024-01-01", end_date="2024-12-31")
print(df[["trade_date", "open", "high", "low", "close", "vol"]])

client.close()

API Methods

All methods return pd.DataFrame. Empty results return an empty DataFrame (df.empty == True).

Market Data

df = client.market_daily(ts_code="000001.SZ", start_date="2024-01-01")
df = client.fundamentals(ts_code="000001.SZ", start_date="2024-01-01")
df = client.margin(ts_code="000001.SZ", limit=100)
df = client.block_trade(ts_code="000001.SZ", limit=100)
df = client.top_list(limit=100)
df = client.shareholders(ts_code="000001.SZ", limit=100)
df = client.holder_trade(ts_code="000001.SZ", limit=100)
df = client.concepts(limit=100)
df = client.concept_members(ts_code="TS2", limit=100)
df = client.adj_factor(ts_code="000001.SZ", limit=100)
df = client.technical_factors(ts_code="000001.SZ", limit=100)
df = client.limit_list(limit_type="U", limit=100)

Capital Flows

df = client.moneyflow_hsgt(start_date="2024-01-01", limit=100)
df = client.moneyflow(ts_code="000001.SZ", limit=100)
df = client.northbound_holdings(ts_code="000001.SZ", limit=100)

Financials

df = client.financial_indicators(ts_code="000001.SZ", limit=20)
df = client.income(ts_code="000001.SZ", limit=20)
df = client.balance_sheet(ts_code="000001.SZ", limit=20)
df = client.cash_flow(ts_code="000001.SZ", limit=20)
df = client.forecast(ts_code="000001.SZ", limit=50)
df = client.express(ts_code="000001.SZ", limit=50)
df = client.dividend(ts_code="000001.SZ", limit=50)

Indices

df = client.index_daily(ts_code="000300.SH", start_date="2024-01-01")
df = client.index_weight(index_code="399300.SZ", limit=100)

Other

df = client.chip_distribution(ts_code="000001.SZ", limit=100)
df = client.fx_daily(ts_code="USDCNH.FXCM", limit=100)

Reference Data

df = client.stock_list(limit=100)
df = client.industry_list(limit=100)
df = client.trade_calendar(exchange="SSE", start_date="2024-01-01")

Common Parameters

All data methods accept:

Parameter Type Description
ts_code str Stock/index code, e.g. 000001.SZ
start_date str Start date, YYYY-MM-DD
end_date str End date, YYYY-MM-DD
limit int Max rows per request
offset int Pagination offset

Common Index Codes

Code Name
000001.SH SSE Composite (上证综指)
000300.SH CSI 300 (沪深300)
399001.SZ SZSE Component (深证成指)
399006.SZ ChiNext (创业板指)
000016.SH SSE 50 (上证50)

Authentication

Get your free API key:

  1. Visit asharehub.com/console/register
  2. Create an account
  3. Generate your API key in the dashboard

Free tier includes 100 API calls per day.


Error Handling

from asharehub import AShareHub
import httpx

client = AShareHub(api_key="your_key")

try:
    df = client.market_daily(ts_code="000001.SZ")
except httpx.HTTPStatusError as e:
    if e.response.status_code == 401:
        print("Invalid API key")
    elif e.response.status_code == 429:
        print("Rate limit exceeded")
    else:
        print(f"HTTP error: {e}")

Advanced Usage

Context Manager

with AShareHub(api_key="your_key") as client:
    df = client.market_daily(ts_code="000001.SZ")
    # Client automatically closes when exiting context

Custom Base URL

client = AShareHub(
    api_key="your_key",
    base_url="https://custom.api.url",
    timeout=60.0
)

Rate Limits

Plan Price Daily Limit
Free $0 100 requests
Pro $49/month 10,000 requests
Business $99/month 50,000 requests

Support


License

MIT License - see the LICENSE file for details.


Built for the global investment community

asharehub.com

Project details


Download files

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

Source Distribution

asharehub-0.4.4.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

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

asharehub-0.4.4-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file asharehub-0.4.4.tar.gz.

File metadata

  • Download URL: asharehub-0.4.4.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asharehub-0.4.4.tar.gz
Algorithm Hash digest
SHA256 231d59f5f9e664a32e5ab8166480cbb281c95c3be781fb9fc9dd4f85b079a548
MD5 07a53777ebc77203f38713da4813e0f4
BLAKE2b-256 0d002b3604e2b838c34ba80d5301b07a9145a47b231f01ff83049785bd071787

See more details on using hashes here.

Provenance

The following attestation bundles were made for asharehub-0.4.4.tar.gz:

Publisher: publish-pypi.yml on ChuYiCui1/AshareHub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asharehub-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: asharehub-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asharehub-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f6ed05d74d324d1cecbef8ae45f547f4ce5ebc78839cda6f1df8c74122b13fd0
MD5 b1bb23ac549b16fe35ee3f7a72175af2
BLAKE2b-256 2c7e178f3625b680f340b992f933a6e6ca3d37568d6d280d6bf3e17646fa02b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for asharehub-0.4.4-py3-none-any.whl:

Publisher: publish-pypi.yml on ChuYiCui1/AshareHub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page