Skip to main content
A filing is more than its three statements. Astreus parses two further layers and serves both:
  • Sections — the narrative items (Business, Risk Factors, MD&A, …) of 10-Ks, 10-Qs, 20-Fs, proxies and S-1s, and the annual and interim reports of exchange-lane issuers, as plain text.
  • Note tables — the tables inside the notes to the financial statements (inventories, property and equipment, debt, leases, receivables, taxes, revenue disaggregation, …), read from inline XBRL, HTML or PDF, checked by gates, and pivoted into time series across filings.

Sections

Every parsed filing, newest first, with its sections in item order:
cik is the company’s lineage chain — a predecessor registrant’s filings are included. Section codes are item_1 … item_16 for 10-Ks, the 10-Q items, f20_item_* for 20-Fs, proxy_* for DEF 14A, s1_* for registration statements, and ir_* for the integrated annual reports of non-SEC issuers, whose documents appear with form types FS-A, AR, CGR and DISC.
returns the section as text/plain. The id must belong to one of the company’s filings. This is what astreus section and the MCP tool get_section_text read.

Note tables

The index

  • families[] groups the company’s tables by what they describe. tables are the served ones; held lists tables that failed a hard gate, with a holdReason and no values.
  • sourceKind says where the grid was read from: xbrl, ixbrl, html or pdf. A Saudi issuer’s INVENTORIES note from a PDF financial statement (SAU-2280-2025FY-FS, scale 1,000, SAR) sits in the same family as NVIDIA’s iXBRL schedule.
  • gates[] is the verdict list — footing (N1_footing, P1_block_footing), tie to the statement anchor (N2_anchor_tie, P2_anchor_tie), comparative binding (N3_comparative_binding), and more — each pass, fail or n/a, with hard marking the ones that hold a table.
  • documents[] is the per-filing count: how many tables were found, served and held.

One table

The grid as filed: columns[] (key, label, periodKind — instant, duration, bucket or text — periodEnd, periodStart), rows[] (label, concept, canonicalLine, depth, isHeader, isTotal, dims) and, per cell, value, raw, its source evidence — the XBRL context, the HTML row, or the PDF page and x-range — and any flags. A held table is a 404: values that did not pass are never returned.

A family as a time series

Pivots every served table of one family into canonical lines × period ends:
Each point remembers the document and table it came from; own is true when that document reported the period itself and false when it merely restated it as a comparative. When a later filing disagrees with the original, the later value is listed under otherVintages rather than silently replacing it. With cadence=quarterly, flow lines (a provisions charge, an expense) get a derived fourth quarter — FY minus the nine-month year-to-date — marked derived: true with derivedFrom[] citing both sources; balance lines never need it. family must be one of the keys below; cadence defaults to annual. astreus note-tables, astreus note-table and astreus note-series read these three routes and print the gate verdicts and the citing filing under every grid (--held lists what a gate held, and why).

Families

Filings and documents

The company index is paginated (pageSize 1–100) and filterable by exact form type; typeCounts in the response is always the unfiltered count per form, so a category picker stays complete. Non-SEC documents appear with negative ids and their document reference as the accession (FS-A, FS-Q, PR, AR, PRES, CGR, OWN, DISC, XBRL). The document routes return the filing itself: sanitized text/html for an SEC submission, application/pdf for a stored PDF, or the media file for a webcast exhibit, with the title in an X-Document-Title header. /filings/{accession} accepts SEC accessions only; /companies/{id}/filings/{accession} also accepts document references (SAU-2280-2025FY-FS, EDINET-S100YEOO, MOPS-2356-2025Q4, DART-…). An XBRL-only package with nothing renderable is a 415.

Bounded document text

Add format=text to the company document route to read extracted text as JSON. Use part, page_from, page_to, offset and max_chars to bound a request; retain the returned document/page and character-window provenance. The normal company publication and document gates still apply. get_document_text provides the same source-reading workflow over MCP.
Use an accession or document reference returned by the filing index. A scan or slide deck without held OCR can return text_unavailable; use the source/page image rather than interpreting absent text as an empty document. The default document response remains the original HTML, PDF or media representation. For note research, view=summary, family, document, limit and offset bound the tables index where supported. Note-family series accept from, to and limit alongside cadence. MCP get_note_tables supports these research views; inspect its schema for the corresponding action and bounds.