Start with the filing, then inspect the disclosure
SEC EDGAR is the primary record. Use this API to move from an issuer identifier to a filing, filed section, or XBRL-backed result while keeping the original source within reach. The useful outcome is a result a researcher or agent can reopen at the SEC, not an uncited answer about an issuer.A practical EDGAR workflow
Start with an issuer and filing family. The filing manifest is the handoff point: it identifies the form, filing date, accession number, and SEC filing URL that should accompany every later extraction.accessionNumber, form, filingDate, filingUrl, requestId, and any returned provenance, freshness, and materialization fields. Follow nextCursor only while hasMore is true.
For the actual disclosure, request a named section from the filing you selected:
Choose the surface by question
/v1/filings/latest without form means the newest filing of any type. Pin form=10-K, 10-Q, or another family when that distinction matters.
Implementation paths
In TypeScript,@secapi/sdk-js provides client.searchFilings, client.latestFiling, client.filingByAccession, client.latestSection, client.facts, and client.statements. The hosted MCP server exposes corresponding focused tools including entities.resolve, filings.search, filings.latest, sections.get, facts.get, and statements.get.
Ask an MCP client to resolve the issuer first, then request the filing or section needed for the question. Keep its returned citation fields in the agent’s final answer; MCP is not a substitute for opening the filing when wording or accounting treatment matters.
Coverage and evidence limits
- EDGAR availability is not a promise that every historic exhibit, section, or derived field is normalized and ready.
- A filing manifest establishes that a filing was found; it does not establish that every parsed surface is complete or current enough for your use.
view=agentand compact views intentionally omit parts of the default metadata envelope. Use the default response when you need the full provenance and freshness context.- Retain
Request-Idandtraceparentfor failed or surprising responses. Treat non-2xx responses as errors, not empty results.

