Guides
SEC risk review
Use filings list, metadata, and section text to summarize risks from primary SEC filings.
Short answer: find the filing, inspect its metadata, then read risk_factors or mda section text. Summaries must come from filing text only.
Use this when
Use this for prompts like:
- “What are risks in Tesla’s latest 10-K?”
- “Summarize the MD&A from the latest 10-Q.”
- “What changed in the risk factors?”
- “Use primary-source SEC text, not news.”
Do not use this for
- News or external claims. noxstock SEC summaries should not blend in headlines, web pages, consensus, or memory.
- Analyst views, transcripts, ownership/13F, or price targets.
- ETF filing reviews in v2. ETF filing support returns
freshness: "unsupported"today. - Fast page-load assumptions. Cold EDGAR paths can be slow.
Route plan
REST sequence:
# If the user gave a company name:
GET /v2/search?query=<company-name>
# Confirm stock support:
GET /v2/coverage?symbol=<symbol>
# List recent periodic filings:
GET /v2/filings?symbol=<symbol>&form=10-K,10-Q&limit=5
# Pick the accession for the latest matching filing, then inspect sections:
GET /v2/filings/{accession}
# Read one section only after metadata confirms it exists:
GET /v2/filings/{accession}/section/risk_factors
GET /v2/filings/{accession}/section/mdaUseful section names for periodic filings include business, risk_factors, mda, quantitative_qualitative_disclosures, and controls_and_procedures when available. For 8-K earnings releases, use press_release only when metadata says it is available.
MCP sequence
# Name only:
noxstock_search({ "query": "Tesla" })
# Confirm support:
noxstock_coverage({ "symbol": "TSLA" })
# Latest 10-K candidates:
noxstock_filings_list({ "symbol": "TSLA", "forms": ["10-K"], "limit": 3 })
# Metadata for selected accession:
noxstock_filings_get({ "accession": "<accession>" })
# Section text:
noxstock_filings_section({ "accession": "<accession>", "name": "risk_factors" })If the user asks for the latest periodic filing, request both 10-K and 10-Q in forms, then choose by filing_date and explain which form you used.
What to preserve in the answer
symbol,accession,form,filing_date,period_of_report,url,freshness,as_of, andmarket_status.sections[].nameandsections[].char_countfrom metadata.- Section response
available,reason,section,char_count, andtextboundaries. symbol_statusif an accession does not resolve cleanly to a supported symbol.- Cold-path caveats or retryable upstream errors.
Answer pattern:
Answer: <1-2 sentence risk summary from the filing text>
Key risks from <form> filed <filing_date>
- <risk from section text>
- <risk from section text>
- <risk from section text>
Source and freshness
- Accession: <accession>
- Section: risk_factors
- Filing as_of: <timestamp>, freshness: <freshness>
Calls used
- GET /v2/filings?symbol=...&form=10-K&limit=...
- GET /v2/filings/{accession}
- GET /v2/filings/{accession}/section/risk_factorsCommon mistakes
- Summarizing risks without fetching section text.
- Claiming “latest 10-K” after requesting
10-K,10-Qand selecting a 10-Q. - Calling every section before reading metadata.
- Using news, consensus, stock performance, or memory inside a filing-text summary.
- Retrying ETF filing
unsupportedstates. - Blocking a whole UI on cold EDGAR requests instead of using loading states or background jobs.