Skip to main content
SDKs and the CLI call the public SEC API. Pick the surface that matches where your code runs; use REST when you need direct control of the HTTP exchange, and MCP when a compatible client needs tool discovery rather than an application client.

JavaScript SDK

TypeScript and JavaScript services, workers, and scripts.

Python SDK

Research scripts, notebooks, jobs, and Python services.

Go SDK

Go services calling the REST contract.

Rust SDK

Async Rust services with configurable HTTP behavior.

SEC API CLI

Terminal inspection and shell automation.

Hosted MCP

MCP-aware research and coding clients.

Verify any client with one filing

After installation, make a single call for a known issuer and inspect the returned source record. The method and command names below are the supported first steps: The successful result is not merely an HTTP 200. Preserve the returned accession number, form, filing date, filing URL, and request ID, then use those fields in any downstream citation. A filing’s content and accession can change as issuers file.

Lifecycle and errors

Set SECAPI_API_KEY in your runtime secret store. SDKs and the CLI read it for normal data calls and send it as x-api-key; browser-session bearer credentials are for documented signed-in account operations, not routine data access. Set application-level deadlines and let one layer own retries. On 429, honor Retry-After when supplied and reduce concurrency. Correct validation errors rather than retrying them, and do not blindly replay a mutation. Preserve requestId, source identifiers, and any returned provenance, freshness, materialization, or trace fields with each result. Continue with First request flows, then read API overview before adding pagination, caching, or background work.