Filings · filings

What a company said about itself.

SEC forms, A-share periodic and current reports, exchange inquiry letters and CSRC enforcement — the filings themselves, item by item.

updated 2026-10 · search 2 credits · free sample: CEO resignation

deepxiv fa · filings

What it answers

Find the filing
Form type, company and date narrow it; ids resolve by CIK or ticker.
Read one item
8-K items and 10-K sections are extracted, so item 1A can be read on its own.
Both layers
1.21M documents carry vectors; only the 105k 10-Q quarterlies are kept to the keyword store — every hit says which layer answered.

Three calls

Straight from the gateway’s own self-description — these are the calls it suggests first.

Find filings
POST /v1/filings/search {"query": "CEO 辞职", "filters": {"market": "us", "event_types": "officer_director_change", "filed_year": {"gte": 2023}}}
Read one filing
GET /v1/filings/read/us:861838:0001104659-23-092550
Everything for one company
POST /v1/filings/search {"query": "*", "filters": {"cik": "861838"}}
Search 10-Q quarterlies (Postgres layer)
POST /v1/filings/search {"query": "going concern liquidity", "filters": {"form": "10-Q"}}

Narrow it — market · doc_family · form · filed_at · filed_year · fiscal_year · event_types · report_kind

What it will not do

Financial figures come from XBRL, never from a model reading a table. A filing is what the company said, not whether it was true.

  • Fields differ by doc_family: event (8-K) has items / event_types / counterparties / amounts; periodic has main_business / segments / key_numbers; 10-Q quarterlies have mdna_drivers / liquidity / legal_updates / new_or_changed_risks / outlook; inquiry_letter has issues / deadline / has_reply; penalty has violation_types / facts / legal_basis / parties. Filter by doc_family before reading fields.
  • The 104,690 10-Q quarterlies carry no vectors by design and live only in the Postgres layer: filtering on form=10-Q (or doc_family=periodic with market=us) routes the whole query there — lexical search, sort=date and day-precision filed_at ranges, but no semantic search. Every hit is tagged with its layer and the response says which layer answered.
  • Lexical search in the Postgres layer also matches model-written retrieval keywords (kw_en / kw_zh, folded into the full-text index), so a Chinese query such as 持续经营 finds English going-concern language and synonyms absent from the source text. The trade-off: the score includes that contribution and the response does not distinguish a source-text match from a keyword-only match. The keywords themselves are not returned (the store marks them recall-only).

Answered something wrong here, or missing what you came for? Send us the case

Point an agent at it

Free samples run without a key; a key takes a minute.