SEC Full-Text Search
sec_full_text_search — search EDGAR filing content / full-text index for specific terms or phrases across SEC filings. Thin wrapper around the sec-api.io full-text-search API. Accepts ticker symbols and resolves them to CIKs automatically.
Use when the user wants filings that mention a term/phrase. Supports AND, OR, NOT, wildcards (*), and exact phrases ("quoted"). Generic words like "award" also match boilerplate (stock awards) — prefer exact phrases.
DO NOT USE to extract a named section ("risk factors", "MD&A") from a specific filing — use sec_filing_section (it calls this concept filingType, a singular enum, not formTypes). For company background use company_enrich; for non-SEC web info use web_search.
DOMAIN→TICKER: accepts tickers only. Resolve a domain or name to a ticker first (via web_search or company_firmographic).
SCOPING: omitting BOTH tickers and formTypes searches the entire EDGAR corpus (~10,000-result flood). Always pass tickers (preferred) or at least formTypes unless a cross-company sweep is intended.
DATES: startDate defaults to last 30 days. Annual filings (10-K, 20-F, 40-F) need startDate "2020-01-01" or you get zero results.
Returns up to 100 filings per page with direct EDGAR URLs. If resolvedCiks in searchParams is empty after passing tickers, the ticker filter was NOT applied — check it and warnings before treating results as company-specific.
Credits
1 — Per call. See the full credit table for how AI Credits work.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
query | string | cybersecurity incident | Search query. Supports AND, OR, NOT, wildcards (*), and exact phrases ("quoted"). NOT for extracting a named section from a specific filing — use sec_filing_section. Scope broad/common-word queries with tickers or formTypes; a bare query searches the entire EDGAR corpus. |
formTypes | array | - | Filter by SEC form type (e.g., ["8-K", "10-K", "20-F"]). Recommended for wildcard queries to reduce noise: ["8-K", "10-K", "10-Q"]. Matching is family-based, not exact: ["10-K"] also returns 10-K/A and NT 10-K; ["8-K"] also returns 8-K/A and CORRESP. Post-filter on each result's formType field if you need exact types. Note: sec_filing_section calls this concept filingType — a singular enum string, not an array. |
tickers | array | - | Filter by company ticker symbol (e.g., ["MSFT", "AAPL"]). Resolved to CIKs automatically via the sec-api.io Mapping API for real server-side filtering. IMPORTANT: if resolvedCiks in the response is empty, the ticker(s) could not be resolved and NO filter was applied — results are the full unfiltered corpus, not company-specific. Always check resolvedCiks (and the warnings array) before trusting results as company-specific. Some foreign/ADR issuers may not resolve. |
startDate | string | - | Start date (YYYY-MM-DD). Defaults to 30 days ago. For annual filings (10-K, 20-F, 40-F) pass "2020-01-01" — the 30-day default misses most annual reports. |
endDate | string | - | End date (YYYY-MM-DD). Defaults to today. |
page | integer | 1 | Page of results (default 1). Each page returns up to 100 filings. Use 2, 3, etc. to paginate. |
Required Integrations
This tool is only available when your organization has the following integration configured in the HG Insights Integrations settings:
- SEC API (
sec_api)
Use Cases
- Find every filing that mentions a term across companies — "who disclosed a 'material weakness'?"
- Scan for a risk or event phrase: "going concern", "substantial doubt", "cybersecurity incident"
- Track M&A language across the market: acquisition, merger, "definitive agreement"
- List recent filings for one company by ticker without knowing the specific document
- Search foreign-issuer disclosures via formTypes (["20-F"], ["6-K"], ["40-F"])
Example Usage
Companies disclosing a material weakness in their annual reports since 2024
{
"tool": "sec_full_text_search",
"arguments": {
"query": "\"material weakness\"",
"formTypes": [
"10-K"
],
"startDate": "2024-01-01"
}
}
Cyber breach language in 8-Ks since 2020
{
"tool": "sec_full_text_search",
"arguments": {
"query": "cybersecurity AND breach",
"formTypes": [
"8-K"
],
"startDate": "2020-01-01"
}
}
Filings mentioning "supply chain" in Microsoft disclosures since 2020
{
"tool": "sec_full_text_search",
"arguments": {
"query": "\"supply chain\"",
"tickers": [
"MSFT"
],
"startDate": "2020-01-01"
}
}
Response Format
| Field | Type | Description |
|---|---|---|
total | number | Total number of matching filings across all pages |
query | string | The search query that was executed |
warnings | array | Non-fatal advisories about this result set. Populated when a ticker did not resolve (so no company filter was applied), when only some tickers resolved, or when zero filings matched. Empty/absent means no advisories. |
filings | array | Up to 100 matching filings for this page |
filings[].accessionNumber | string | SEC accession number |
filings[].formType | string | SEC form type (10-K, 10-Q, 8-K, 20-F, etc.) |
filings[].filedAt | string | Filing date (YYYY-MM-DD) |
filings[].companyName | string | null | Company name |
filings[].ticker | string | null | Stock ticker (null for foreign or CIK-only filers) |
filings[].cik | string | SEC Central Index Key |
filings[].filingUrl | string | Direct URL to the SEC filing |
filings[].description | string | null | Filing description |
searchParams | object | Parameters sent to the API |
searchParams.formTypes | array | |
searchParams.tickers | array | Input tickers |
searchParams.resolvedCiks | array | CIKs resolved from tickers and passed to the API |
searchParams.startDate | string | |
searchParams.endDate | string | |
searchParams.page | string |
Related Tools
sec_filing_section, company_enrich, web_search, company_contracts