AStockEvent

API & MCP

Two shells over one service layer.

Coverage

No key, no sign-up

Everything below is open. There is rate limiting, and the headers tell you when you hit it.

REST

EndpointWhat it answers
GET /v1/coverageWhat is in scope and what the limits are. Call this first.
GET /v1/filingsRecent filings of one company: title, date, source PDF link, and any extraction.
GET /v1/filings/{aann_}/parsedOne filing already parsed: normalised text and tables as cells. Recent filings only.
GET /v1/entity_stateFolded state for a company (code+market) or a shareholder (aent_).
GET /v1/events/{aevt}One event plus its whole timeline, in a single call.
GET /v1/whats_newWhat changed recently, with a cursor.
GET /v1/scanCross-company scan by filing type and date range.

The machine-readable contract lives at /openapi.json; an interactive browser is at /docs.

# Recent filings of one company, each with its source PDF link
curl "https://astockevent.com/v1/filings?code=000029&market=SZ"

# Folded state for one company
curl "https://astockevent.com/v1/entity_state?code=300750&market=SZ"

# Everything that changed in the last few days
curl "https://astockevent.com/v1/whats_new?limit=20"

MCP

Streamable HTTP, no stdio wrapper needed. Point any MCP client at the URL below; cloud-hosted agents can connect directly.

https://astockevent.com/mcp/
ToolWhat it answers
list_coverageScope and limits. Call this before concluding data is missing.
list_company_filingsRecent filings of one company, with source links and any extraction.
get_filing_parsedOne filing's normalised text and tables. Takes the aann_ from list_company_filings.
get_entity_stateFolded state for a company or a shareholder.
get_event_with_contextOne event plus its whole timeline.
whats_newRecent changes, cursor-paged.
scan_recent_eventsCross-company scan by type and date.

How to check us

Every event carries source_pdf_url — the exchange's own PDF. We do not ask you to trust the extraction; we hand you the original so you can look.

Empty is not the same as unknown

A company with no filings of a type comes back as covered-with-nothing-found, not as an empty result. A security we do not carry comes back as not-found with a reason. Telling those two apart is the point of this service.