mrkeyoor.com_
Tue 03 Nov 08:15 UTC
Dataevaluationupdated 03 Nov 2026

akshare review

AKShare is a Python library that collects financial data from public sources into pandas DataFrames with Chinese column names. Its README provides an English overview and links to Chinese documentation. The project states that its data is for academic research and warns that interfaces may be removed.

Verdict

AKShare is worth a research trial for Python analysts who can work with Chinese documentation and maintain checks for individual sources. The measured checkout at 16af748 installed in 14 seconds and passed 231 tests in 5 seconds. Live-data correctness and continuity remain unmeasured. Respect the academic-research statement, plan for removable interfaces and assess the later documented www.swsresearch.com certificate-verification exception if that source is required.

We ran it

Lab card: what happened when we ran akshareScreenshot of akshare (akshare.akfamily.xyz)
Install✓ · 14s55 packages · 246 MB
Build✓ · 1s
Tests✓ · 5s231 passed · 0 failed of 231 (pytest)
Known vulns0(pip-audit)
Repo515 files~105,711 lines of source · 11.6 MB · 2 CI workflows · tests dir

Answers from our run

Does akshare build from source?

Dependencies installed in 14 seconds (55 packages), and the build succeeded in 1 seconds. We cloned commit 16af748 into a clean Debian container with 3 CPUs and no project-specific setup.

Do akshare's tests pass?

Yes. The project's own test command finished in 5 seconds and reported 231 passed, 0 failed (pytest).

Does akshare have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use akshare?

Commercial applications seeking a licensed financial-data service.

What are the alternatives to akshare?

yfinance, pandas-datareader. AKShare is worth a research trial for Python analysts who can work with Chinese documentation and maintain checks for individual sources.

SetupN/AThe recorded installation succeeded, but the image label does not establish actual runtime versions. No supported live-data workflow was independently established, so installation timing alone cannot support a numerical setup-ease rating.
Docs3/5The visible rubric awards 3/5 for useful examples with material gaps. The supplied README explains data retrieval, registry discovery and usage limits, but its examples were not executed and their compatibility with measured commit 16af748 is not established. The Chinese main manual also adds work for the intended English-speaking reader.
CommunityN/AThe supplied release history establishes visible maintenance activity, but it does not measure support response times, resolution quality or the experience of users seeking help. Those unknowns do not support a numerical community rating.
MaturityN/AThe repository test step passed at the recorded checkout. The supplied run does not separately establish live-source continuity, data correctness or sustained reliability, and later release changes were not tested. A numerical maturity score would exceed that evidence.

Who it’s for

Python researchers who can read or translate Chinese documentation.
Analysts who can preserve dated inputs and inspect returned column labels.
Developers willing to maintain checks for individual data sources.

Who it’s NOT for

Commercial applications seeking a licensed financial-data service.
Pipelines that require guaranteed interface availability.
Teams requiring a complete English manual.
Users expecting AKShare itself to run an MCP server.

Setup reality

The supplied October 30, 2026 sandbox run at commit 16af748 installed in 14 seconds, built in 1 second and completed tests in 5 seconds. Pytest reported 231 passed and zero failed out of 231. The record lists 55 dependencies, 246 MB on disk and zero known vulnerabilities from pip-audit. These results do not separately establish live-feed reliability, data correctness or download throughput.

The recorded configuration had three CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. The image label does not establish the actual Python or operating-system version. The supplied current README requires 64-bit Python 3.11 or newer; its examples were not separately executed in this review.

The releases page associates v1.20.18 with measured commit 16af748. Later release notes for v1.20.19 describe disabling certificate verification for sessions accessing www.swsresearch.com, with index_research_sw.py identified as the exception. That is a maintainer account of a later revision, not behavior independently verified by the measured run. Review that exception if the selected source requires it. Companion AKTools and its MCP and HTTP connections were outside the sandbox assessment.

Choose AKShare one research source at a time

AKShare's README states that its data is for academic research and warns that interfaces may be removed. Evaluate it when you can inspect and preserve the inputs to a research script. A passing repository test command does not establish that a required financial-data source will remain available.

AKShare collects public financial data into pandas DataFrames with Chinese column names. Its project overview names East Money, Sina Finance and exchange websites among the sources. An English-speaking researcher needs to account for translating interface documentation, parameters and returned labels. The README has an English overview; the supplied main documentation is Chinese.

What happened when we ran it

Our October 30, 2026 sandbox installed AKShare at commit 16af748 in 14 seconds, built it in 1 second and completed the test step in 5 seconds. Pytest reported 231 passed and zero failed out of 231. The record lists 55 dependencies occupying 246 MB on disk.

The checkout contained 515 files and roughly 105,711 source lines, occupying 11.6 MB. The scan found two CI workflow files, a tests directory and no Dockerfile. The supplied record does not identify which live feeds the tests exercised or provide a separate measurement of data quality, feed reliability or download throughput.

The configuration recorded three CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. That image label does not establish the actual runtime or operating-system version.

Pip-audit reported zero known vulnerabilities. This is a dependency-audit result, not verification of every retrieval path or of the downloaded financial data.

Keep release evidence separate from the measured checkout

The supplied releases page associates v1.20.18 with commit 16af748. It also lists v1.20.22, dated November 2, 2026. The sandbox results belong to 16af748; they do not validate those later changes. The supplied page contains releases after v1.20.22, so v1.20.22 should not be described as the latest release.

The v1.20.19 release notes describe disabling certificate verification for sessions accessing www.swsresearch.com. They identify index_research_sw.py as the exception. According to those notes, the site omitted an intermediate certificate, and the project removed the certificate previously bundled with the package.

This is the maintainers' description of a later implementation. Neither that implementation nor its live requests was independently inspected or tested in the supplied run. If your research requires this source, assess the documented exception before choosing a version. The earlier passing tests and dependency audit do not settle that decision.

Inspect an interface before normalizing its output

The supplied README demonstrates stock_zh_a_hist with a symbol, daily period, date range and adjustment parameter. Its sample output includes Chinese date and price columns. This is an unexecuted documentation example for this review, not a reproduced live-data result or proof of behavior at 16af748.

For your own evaluation, choose one required interface and inspect its returned schema. Save the raw output with the interface name, parameters, installed version and retrieval date, then normalize a copy for analysis. Record the adjustment setting explicitly when working with adjusted price series.

The project overview explains that changes to source websites require interface maintenance. Keep checks for required columns and date coverage beside the retrieval call, and reject unexpected output before analysis. These are recommended evaluation steps, not additional tests performed for this review.

Offline discovery does not validate a feed

The supplied current README describes an offline interface registry for keyword lookup without a network request. It demonstrates search for finding interface names and interface_info for inspecting parameters, output columns and a usage example. It describes the lookup as keyword matching rather than semantic search.

Registry lookup helps select an interface. It does not establish that the subsequent financial-data request succeeds or that the remote source is reachable. Registry behavior was not separately exercised in the supplied sandbox run.

Evaluate AKTools separately

AKShare is a Python library and does not run an MCP server itself. Its README assigns MCP and HTTP access to companion AKTools. An assistant integration therefore adds a separate service to assess.

The supplied run did not assess AKTools, access tokens or client connections. The README's Python data example shows no API key, but this does not establish authentication requirements for every source. Check the selected interface and source before integration.

Choose alternatives by the source you need

yfinance uses Yahoo's publicly available APIs and is intended for research and educational purposes. Its README directs users to Yahoo's data-use terms and says the Yahoo Finance API is intended for personal use only. Evaluate it when Yahoo supplies the required data and those terms fit the project.

pandas-datareader focuses on macroeconomic, policy and factor-style sources, including FRED and Fama/French. Evaluate it when those sources supply the required series. This review does not compare either alternative's retrieval speed, data quality or installation results with AKShare.

How to read the scores

The documentation rubric uses 1/5 for inadequate orientation, 2/5 for basic orientation without a usable task example, 3/5 for useful examples with material gaps, 4/5 for examples plus discovery and usage-limit guidance, and 5/5 for checked task-level guidance across the assessed workflow.

Documentation receives 3/5. The supplied README contains data examples, registry guidance and explicit usage limits, but its relationship to the measured checkout is not fully established. The main manual is Chinese, and the live examples were not executed in the supplied run. Those gaps matter to the intended English-speaking researcher and prevent a higher rating under this assessment.

Setup ease, community support and maturity remain unassessed. Installation succeeded, but the actual runtime and a supported live-data workflow were not independently established. Release activity does not measure support response quality, and passing repository tests do not measure sustained source availability.

Start with one required interface. Preserve a dated output sample, check its schema and date coverage, and read its usage terms. If losing that interface would stop the project, identify a replacement source before building the rest of the pipeline.

Alternatives

ProjectWhat it isPick it when
yfinancePython access to Yahoo Finance data through its publicly available APIs.Evaluate it when Yahoo supplies the required data and its data-use terms fit the project. Its README says the Yahoo Finance API is intended for personal use only.
pandas-datareaderRemote pandas data access focused on macroeconomic, policy and factor-style sources.Evaluate it when documented sources such as FRED or Fama/French supply the required research series.

What people are saying

  1. [velocity-scout] akfamily/akshare

Sources

  1. AKShare README
  2. AKShare project overview
  3. AKShare releases, including v1.20.18 at 16af748 and the v1.20.19 TLS change
  4. yfinance README
  5. pandas-datareader README

More data reviews

DB-GPT · spektrafilm · jq · pgx · HowToLiveLonger · ip2region · the whole board →