> ## Documentation Index
> Fetch the complete documentation index at: https://docs.llmquantdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SEC Filing Browse

> List SEC 10-K / 10-Q / 8-K filing metadata for a U.S. ticker — the discovery half of the progressive-disclosure pattern.

<Note icon="sparkles">
  **Available as MCP tool**: `sec_filing_browse` — call directly from Claude / Cursor / any MCP client. See [MCP Server](/en/integration/mcp-server) for the 60-second setup.
</Note>

<Badge color="green" icon="circle-check">Live</Badge>
 
<Badge color="gray" size="sm">free · listing</Badge>

## What it does for your agent

`sec_filing_browse` is the **first step** in SEC Filing's progressive-disclosure pattern: given a U.S. ticker, it returns the metadata list of available 10-K / 10-Q / 8-K filings (no section text). Use it to discover what filings exist for a company, then call `sec_filing_read` to fetch the actual section content — by `year` / `quarter` for 10-K / 10-Q, or by `accession_number` for 8-K (event-driven, many per year). Every filing also carries `section_keys` — the section codes available for it — so an agent can tell what an 8-K is about before reading a single line.

Browse is **not semantic search**: it accepts only a ticker + optional `filing_type` filter. No keyword matching, no relevance ranking, no natural-language queries.

## Response

<ResponseField name="data" type="Filing[]" required>
  Array of SEC filings sorted by `filing_date` descending.

  <Expandable title="Filing fields">
    <ResponseField name="sec_filing_id" type="string" required>
      Stable LLMQuant filing id. Consistent across requests.
    </ResponseField>

    <ResponseField name="ticker" type="string" required>
      The ticker symbol (uppercased).
    </ResponseField>

    <ResponseField name="company_name" type="string" nullable>
      Company name as filed with the SEC.
    </ResponseField>

    <ResponseField name="filing_type" type="string" required>
      Filing type — `10-K`, `10-Q`, or `8-K`.
    </ResponseField>

    <ResponseField name="accession_number" type="string" required>
      SEC accession number (e.g. `0000320193-25-000079`). **Pass this to `sec_filing_read` to target the exact filing.**
    </ResponseField>

    <ResponseField name="filing_date" type="string" required>
      Date the filing was submitted to the SEC (`YYYY-MM-DD`).
    </ResponseField>

    <ResponseField name="report_date" type="string" nullable>
      The reporting period covered by the filing (`YYYY-MM-DD`). Null when SEC does not report it.
    </ResponseField>

    <ResponseField name="url" type="string" required>
      Canonical SEC EDGAR link.
    </ResponseField>

    <ResponseField name="section_keys" type="string[]" required>
      The sections you can read from this filing — e.g. 8-K `["item2.02","item9.01","ex99.1"]`, 10-K `["1","1A","7", …]`. An empty `[]` means none are listed yet. Pass any code to `sec_filing_read` to pull that section. The codes also tell you what an 8-K is: `item2.02` is earnings, `item5.02` an executive change — no need to open it first.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta.creditsUsed" type="number">Always `0` — browse is free.</ResponseField>
<ResponseField name="meta.remainingCredits" type="number">Account credits remaining.</ResponseField>

```json title="200 OK · sec_filing_browse" expandable theme={null}
{
  "data": [
    {
      "sec_filing_id": "a1b2c3d4-...",
      "ticker": "AAPL",
      "company_name": "Apple Inc.",
      "filing_type": "10-K",
      "accession_number": "0000320193-25-000079",
      "filing_date": "2025-10-31",
      "report_date": "2025-09-27",
      "url": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
      "section_keys": ["1", "1A", "7", "7A", "8"]
    }
  ],
  "meta": { "creditsUsed": 0, "remainingCredits": 100 }
}
```

## Notes

<Tip>
  **Two-step lookup is canonical** for SEC filings: `sec_filing_browse` returns the list of filings (free), then `sec_filing_read` extracts a specific section (1 credit). Pass the `accession_number` from browse straight into read for unambiguous targeting.
</Tip>

<Tip>
  Every filing carries `section_keys` — the section codes available for it. For 8-K (many per year, all named "8-K") this is how an agent picks the right one without reading it: `item2.02` = earnings, `item5.02` = executive change, `ex99.1` = press-release exhibit. Pass the codes you want straight into `sec_filing_read`'s `items`.
</Tip>

<Tip>
  Published filings never change, so a result stays valid for good. The first lookup for a ticker may take a moment; every repeat is instant.
</Tip>

<Warning>
  **10-K, 10-Q, and 8-K supported.** 20-F and proxy (DEF 14A) filings are not currently supported.
</Warning>

<Warning>
  **No date-range filter** (`filed_at_gte` / `filed_at_lte`) and **no CIK lookup**. Only `ticker` (+ optional `filing_type`) is accepted.
</Warning>

## Direct invocation

<Accordion title="HTTP / SDK examples" icon="terminal">
  <CodeGroup>
    ```typescript MCP (Claude / Cursor) theme={null}
    {
      "method": "tools/call",
      "params": {
        "name": "sec_filing_browse",
        "arguments": { "ticker": "AAPL", "filing_type": "10-K", "limit": 10 }
      }
    }
    ```

    ```python Python (HTTP) theme={null}
    import os, requests

    resp = requests.get(
        "https://api.llmquantdata.com/api/filings",
        headers={"Authorization": f"Bearer {os.environ['LLMQUANT_API_KEY']}"},
        params={"ticker": "AAPL", "filing_type": "10-K", "limit": 10},
    ).json()
    for f in resp["data"]:
        print(f"{f['filing_type']}  {f['filing_date']}  {f['accession_number']}")
    ```

    ```bash cURL theme={null}
    curl "https://api.llmquantdata.com/api/filings?ticker=AAPL&filing_type=10-K&limit=10" \
      -H "Authorization: Bearer $LLMQUANT_API_KEY"
    ```
  </CodeGroup>
</Accordion>

## Full parameter reference

<Accordion title="sec_filing_browse — request parameters" icon="sliders">
  <ParamField query="ticker" type="string" required>
    U.S. equity ticker (e.g. `AAPL`, `MSFT`, `BRK.B`).
  </ParamField>

  <ParamField query="filing_type" type="string">
    Filter by filing type. Allowed values: `10-K`, `10-Q`, `8-K`. Omit to return all.
  </ParamField>

  <ParamField query="limit" type="integer" default={10}>
    Maximum filings to return. Default `10`. Max `50`.
  </ParamField>
</Accordion>

## Related

<Columns cols={3}>
  <Card title="SEC Filing Read" icon="file-lines" href="/en/api/filings/read">
    Step 2 of progressive disclosure — fetch the full text of one item from a specific filing.
  </Card>

  <Card title="13F Top Managers" icon="ranking-star" href="/en/api/filings/13f-top-managers">
    Enumerate any covered quarter's Top 1,000 manager set to kick off consensus analyses.
  </Card>

  <Card title="MCP Server setup" icon="plug" href="/en/integration/mcp-server">
    Connect Claude / Cursor / any harness in 60 seconds.
  </Card>
</Columns>
