Skip to main content
Glama

MetricDuck — Financial Analysis

Full-Text SEC Filing Search

search_sec_filings
Read-only

Search the full text of SEC filings since 2001 to find companies related to any concept — a product, technology, regulation, event, or company.

Returns filing-level results with aggregated statistics (company count, form type breakdown, industry distribution). For 10-K/10-Q filings processed by MetricDuck, also shows WHICH SECTIONS contain the term with drill-in pointers.

Searchable form types — any SEC form (default window: last year); omit form_type for all:

  • Periodic reports: 10-K, 10-Q (section-level drill-down available), 20-F, 40-F, 6-K (foreign private issuers)

  • Events + proxies: 8-K, DEF 14A / DEFM14A / PRE 14A

  • Registration + offerings: S-1, F-1, S-3, S-4, 424B series

  • Ownership + other: SCHEDULE 13D/G (was SC 13D/G), SD (conflict minerals), N-CSR / N-CSRS (fund reports)

Section-level enrichment (10-K/10-Q only): results name which sections contain the term, with chunk pointers for drill-in via get_filing_section. Other forms return filing metadata + accession numbers only.

Use cases:

  • "Who supplies Apple?" → query=""Apple Inc."", form_type="10-K,10-Q,8-K" → Company Exposure Map of the filers mentioning Apple. Constrain forms — mutual-fund NPORT-P filings otherwise crowd the results (see date_from).

  • "What did WM say at its investor day?" → query=""investor day"", company="WM" → that filer only

  • "Recent data breaches?" → query="cybersecurity incident", form_type="8-K"

  • "Tariff-exposed companies?" → query="tariff", form_type="10-K" → risk factor disclosures

  • "Activist campaigns?" → query="board representation", form_type="DEF 14A,SCHEDULE 13D"

Other tools: one known company's filings → get_filing_index / list_filings; numeric filters → screen_companies; earnings-call trends → compare_earnings_calls.

Key limitation: keyword matching only, not semantic. "No material weakness" matches "material weakness found." Verify hits with get_filing_section for context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 100). Results deduplicated by filing, sorted most recent first. Section-level enrichment applies to the first 5 results.
queryNoSearch terms. All terms required by default (implicit AND). Syntax: exact phrase "revenue recognition", OR: "goodwill impairment" OR "asset writedown", NOT: restructuring NOT "restructuring charges", NEAR: goodwill NEAR(5) impairment (within N words; two single words only: SEC cannot run NEAR on a phrase, wildcard or hyphenated term, so such a clause is searched as AND), wildcard: restructur* (trailing only, not in phrases). Use formal terms as written in SEC filings, not abbreviations. Required.
companyNoRestrict to one company. Accepts a ticker in capitals (e.g. 'WSC'; resolved to its CIK, so exact), a CIK (exact match — get from search_companies; shorter numeric CIKs are auto-zero-padded to 10 digits), or a company name (partial match — may include unrelated companies).
date_toNoEnd date YYYY-MM-DD. Default: today.
rank_byNoSort order for the returned filing list. 'date' (default) = most recent filings first — best for time-sensitive queries (breaches, guidance changes, recent events). 'relevance' = EFTS native relevance score — best for thematic discovery where the most concentrated mentions matter more than recency (e.g., 'liquefied natural gas', 'H100 supply chain'). The Company Exposure Map is always frequency-ranked from EFTS aggregation regardless of rank_by.date
sectionsNoInclude section-level matches showing WHERE in each filing the term appears. Provides exact section + chunk pointers for immediate drill-in with get_filing_section. Set false for faster filing-level-only results.
date_fromNoStart date YYYY-MM-DD. Default: 1 year ago. For a HISTORICAL event (M&A announcement, lawsuit, restructuring, leadership change) set it before the event, with form_type='8-K' and rank_by='relevance': the default window and date order bury the anchor 8-K under mutual-fund NPORT-P holdings.
form_typeNoSEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before; either spelling searches both. A form includes its amendments ('10-K' finds 10-K/A too); name only 'X/A' for amendments alone. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match.
ticker_lookupNoRETIRED — returns a redirect. Scope with `company`; to find who MENTIONS a company, search its formal name with form_type.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / form_type / description
      Previous value: -"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before; either spelling searches both. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match."New value: +"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before; either spelling searches both. A form includes its amendments ('10-K' finds 10-K/A too); name only 'X/A' for amendments alone. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match."
  2. Changed2 schema fields changed
    • changedInput schema / properties / form_type / description
      Previous value: -"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before: pass both ('SC 13D,SCHEDULE 13D') for a window that spans it. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match."New value: +"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before; either spelling searches both. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match."
    • changedInput schema / properties / query / description
      Previous value: -"Search terms. All terms required by default (implicit AND). Syntax: exact phrase \"revenue recognition\", OR: \"goodwill impairment\" OR \"asset writedown\", NOT: restructuring NOT \"restructuring charges\", NEAR: goodwill NEAR(5) impairment (within N words), wildcard: restructur* (trailing only, not in phrases). Use formal terms as written in SEC filings, not abbreviations. Required."New value: +"Search terms. All terms required by default (implicit AND). Syntax: exact phrase \"revenue recognition\", OR: \"goodwill impairment\" OR \"asset writedown\", NOT: restructuring NOT \"restructuring charges\", NEAR: goodwill NEAR(5) impairment (within N words; two single words only: SEC cannot run NEAR on a phrase, wildcard or hyphenated term, so such a clause is searched as AND), wildcard: restructur* (trailing only, not in phrases). Use formal terms as written in SEC filings, not abbreviations. Required."
  3. Changed2 schema fields changed
    • changedInput schema / properties / company / description
      Previous value: -"Restrict to one company. Accepts a ticker (e.g. 'WSC'), a CIK (exact match, preferred — get from search_companies; shorter numeric CIKs are auto-zero-padded to 10 digits), or a company name (partial match — may include unrelated companies)."New value: +"Restrict to one company. Accepts a ticker in capitals (e.g. 'WSC'; resolved to its CIK, so exact), a CIK (exact match — get from search_companies; shorter numeric CIKs are auto-zero-padded to 10 digits), or a company name (partial match — may include unrelated companies)."
    • changedInput schema / properties / form_type / description
      Previous value: -"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before: pass both ('SC 13D,SCHEDULE 13D') for a window that spans it. Forms 3/4/5: a ticker in company finds almost none of a company's filings; use the 10-digit CIK (exact), not a name (partial match)."New value: +"SEC form type filter. 10-K (annual report), 10-Q (quarterly), 8-K (material events), DEF 14A (proxy/compensation), S-1 (IPO registration). Comma-separated for multiple: '10-K,10-Q'. Omit to search all types. 13D/13G are filed as 'SCHEDULE 13D' / 'SCHEDULE 13G' since December 2024 and as 'SC 13D' / 'SC 13G' before: pass both ('SC 13D,SCHEDULE 13D') for a window that spans it. Forms 3/4/5 (filed by insiders, naming the company as issuer): company as an upper-case ticker or a 10-digit CIK finds them (both exact); a name is a partial match."
  4. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources