Retrieve contracts and exhibits from SEC filings using the EDGAR full-text search API and the company Submissions API
domain: sec.gov · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Query the EDGAR Full-Text Search API to keyword-search the body text of filings and their attachments/exhibits together - both the main filing document and exhibits (e.g., material contracts filed as EX-10 exhibits) are indexed and matched by the same query.
Combine full-text search with structured filters (date range, form type, ticker/CIK) to narrow results to specific exhibit types; new filings typically become searchable in under 60 seconds of being published on EDGAR.
For a known company, call the Submissions API (data.sec.gov/submissions/CIK##########.json) to get its full filing history - form types, filing dates, accession numbers - and construct document index URLs to fetch individual exhibit files.
Send a compliant User-Agent header on every request to sec.gov/data.sec.gov identifying your organization and a contact (e.g., 'CompanyName [email protected]') - requests without one are rejected.
Stay under the fair-access rate limit of 10 requests per second; sustained excess from scripted bulk pulls can get your IP throttled.
Known gotchas
Missing or generic (default-library) User-Agent headers are flatly rejected with 403 by EDGAR and can trigger a temporary IP block - this trips up scripts more often than the rate limit itself.
Full-text search only covers filings submitted since 2001; older contracts/exhibits require a different retrieval path (e.g., historical EDGAR full-index files) since they aren't in the full-text index.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?