Edgar Filing Text
edgar_filing_textAUTHORITATIVE full text of a SEC filing's primary document (10-K / 10-Q / 8-K body), HTML stripped to clean plaintext — the source for disclosures that live in prose, not XBRL: going-concern language, ATM / at-the-market equity facilities, committed-equity share caps, public-float figures, subsequent events, the liquidity footnote, and MD&A KPIs XBRL never tags (test volume, units shipped, subscriber counts, same-store sales). Pass an accession (from edgar_search_filings / edgar_company_filings) plus the filer's ticker or CIK; OR omit accession and pass ticker + form_type to auto-resolve the latest matching filing. For a specific fact inside a long filing, pass search (a word or exact phrase, e.g. "tests processed" or "processed approximately") instead of paging blind — it scans the WHOLE document (before any offset/max_chars windowing) and returns every matching passage with surrounding context and its own offset in the document, so a KPI ~100k characters in is found in one call instead of paging through max_chars windows by hand. A zero-match search is a real answer (the filing does not use that exact wording) — retry with a shorter or different phrase rather than assuming the tool failed. For a question asking two facts from the same filing ("revenue and test volume in the latest 10-Q"), pass search as |-separated phrases (e.g. "revenue|tests processed") to get both in this one call under searches[] — and when a phrase names a financial total (revenue, net income, EPS, ...), the matching XBRL figure for this exact accession comes back under xbrl even if that total never appears as an absolute number in the prose (common: filings often state only the growth delta/percentage in text). Optionally set section to return just one part (going_concern | liquidity | capital_resources | subsequent_events); search runs within that slice when both are given. Large docs (a 10-Q is ~100k+ chars of text) are PAGED, not spilled, when search is not used: the result caps at max_chars (default 50000) from offset, and returns truncated + next_offset — pass next_offset back as offset to read the next window. An especially large filing (e.g. an S-1 with heavy inline-XBRL tagging can exceed 10MB of raw HTML) is also capped on the READ side — the response sets raw_truncated:true when only the first portion of the document was read at all, which bounds how far offset can page (and how far search can scan) and can make a late section or search term come back not-found even though it exists further in. Use for "does $TICKER disclose substantial doubt / going concern", "what ATM facility does $TICKER have", "read the liquidity section of the latest 10-Q", "how many tests did $TICKER process this quarter". For the list of documents/exhibits in a filing use edgar_filing_documents; for structured financial numbers use edgar_company_concept.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | Filer CIK number (e.g. "1652935"). Provide this OR ticker. | |
| find | No | Alias for `search`. | |
| offset | No | Character offset to start from (default 0). Pass the prior result's next_offset to page forward. | |
| phrase | No | Alias for `search`. | |
| search | No | Find a specific fact instead of paging blind. Pass a short 2-4 word phrase likely to appear VERBATIM in the prose ("processed approximately", "tests processed", "going concern") rather than restating the question. Case-insensitive substring match over the WHOLE document text (or the whole `section` slice), run BEFORE max_chars/offset windowing; returns matching passages (context + their own offset) instead of the paged `text`, ranking passages with a nearby figure first. If a multi-word phrase has no verbatim match, it falls back to the phrase's individual words and returns the passages holding the most of them (search.match_mode "words") — read those passages for the fact rather than treating them as confirmed. Use a returned offset with a follow-up call (no `search`) to read more surrounding text. **For TWO OR MORE facts from this same filing in one call, separate phrases with `|`** (e.g. "Signatera revenue|tests processed") — each is searched independently and reported under `searches[]`, keyed by `phrase`, instead of the singular `search`. This is the way to answer a compound question ("what was revenue AND test volume in the latest 10-Q") without a second call. Note: a phrase naming a financial TOTAL (revenue, net income, EPS, assets, cash, gross/operating profit, long-term debt, stockholders equity, shares outstanding) often has NO verbatim match at all, because filers frequently state only the growth delta/percentage in prose and report the actual total exclusively in XBRL — when a phrase names one of these, the response also attaches that concept's value for THIS SAME accession under `xbrl` (sourced like edgar_company_concept, not text-matched), so you don't need a separate edgar_company_concept call just to get the number the text search alone would report as a false "not found". Accepted aliases: `contains`, `find`, `phrase`. | |
| ticker | No | Filer ticker (e.g. "ACTU"). Provide this OR cik. ONLY pass a ticker you are CERTAIN of — a wrong remembered ticker silently retrieves a DIFFERENT company's filing as a clean success (a "SpaceX" question filled with SPCE returns Virgin Galactic's S-1). For a recent IPO or any uncertain ticker, resolve first: edgar_company_filings accepts the company NAME and returns the cik — pass that cik here. | |
| section | No | Return only this section (located by heading). Omit for the whole document. Unmatched sections fall back to the whole document (section_found:false). | |
| contains | No | Alias for `search`. | |
| accession | No | SEC accession number, dashed or not (e.g. "0001683168-26-003909"). Omit to auto-resolve the latest filing of form_type for the given ticker/cik. | |
| form_type | No | When accession is omitted, the form type of the latest filing to fetch — "10-K", "10-Q", "8-K", "DEF 14A", etc. For "the most recent 10-K OR 10-Q" (or any "whichever of these is newer" question), pass a `|`-separated SET, e.g. "10-K|10-Q" — do NOT guess a single type ("10-K" by habit skips a newer 10-Q) and do NOT omit this field to get "any type", since a company files far more 8-Ks/Form 4s/Form 144s between annual or quarterly reports than it files the reports themselves and an empty form_type returns the single most recent filing of ANY kind (verified live 2026-09-25, fleet #2450: NTRA's single most recent SEC filing was a Form 144 insider-sale notice, filed weeks after its real 10-Q and completely unrelated to the question asked). | |
| max_chars | No | Max characters to return in this page (1000–100000, default 50000). Doc text past this is available via next_offset. | |
| ticker_or_cik | No | Alias for `ticker` / `cik` — the single-argument spelling edgar_company_filings and edgar_insider_transactions use. Takes either a ticker or a CIK. |