Resolve a company's CIK from its ticker using GET https://www.sec.gov/cgi-bin/browse-edgar?company=&CIK={ticker}&type=&dateb=&owner=include&count=10&search_text=&action=getcompany or the ticker-to-CIK mapping file at https://www.sec.gov/files/company_tickers.json
Fetch the company's full submissions history (the last 1,000 filings inline, older filings paginated via additional JSON files) by calling GET https://data.sec.gov/submissions/CIK{10-digit-zero-padded-CIK}.json
Parse the filings object in the submissions JSON; each filing entry includes accession number, form type, filing date, and primary document filename
Retrieve all XBRL-tagged financial facts across all filings for a company with GET https://data.sec.gov/api/xbrl/companyfacts/CIK{10-digit-CIK}.json; the response is organized by taxonomy (us-gaap, dei, ifrs-full) and concept tag
To fetch a single financial concept (e.g., us-gaap/Assets) over time, use GET https://data.sec.gov/api/xbrl/companyconcept/CIK{10-digit-CIK}/us-gaap/Assets.json
No API key or authentication is required; set a descriptive User-Agent header (organization name and contact email) and stay within the SEC's rate limit guidance
Known gotchas
CIKs must be zero-padded to exactly 10 digits in all data.sec.gov URLs; a CIK supplied without leading zeros will return a 404
The companyfacts endpoint can return very large JSON payloads for long-reporting companies; stream or chunk the response rather than loading it entirely into memory
XBRL tags are not standardized across filers; companies may use different concept names or custom extensions for the same financial item — normalize carefully when comparing across companies
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp