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

# SEC EDGAR filing research

> Run a browser agent that searches SEC EDGAR and returns structured filing metadata.

Search SEC EDGAR for a company's recent filings and return fields your product can validate.

## Filing research shape

* Browser-agent research against a public, source-of-record site.
* Domain policy for a single trusted origin.
* Structured fields that an application can validate before storage.
* Source URLs as evidence, not final authority.

## Setup

Use the CLI with a configured model profile. The example only visits `sec.gov` and does not require an SEC account.

## Run it from the CLI

```bash theme={null}
web agent \
  --url https://www.sec.gov/edgar/search/ \
  --allow-domain sec.gov \
  "Find Apple's latest 10-Q filings. Return the first 5 filings with form type, filing date, accession number, filing detail URL, and a one-sentence summary. Do not download bulk data or submit forms beyond public search."
```

## Expected output

```text theme={null}
Apple Inc. 10-Q filings

1. Form: 10-Q
   Filing date: ...
   Accession number: ...
   URL: https://www.sec.gov/Archives/...
   Summary: ...
```

## Build it into an app

```ts theme={null}
const result = await agent.run({
  startUrl: "https://www.sec.gov/edgar/search/",
  goal:
    "Find Apple's latest 10-Q filings. Return the first 5 filings with form type, filing date, accession number, filing detail URL, and a one-sentence summary.",
});

if (result.status !== "completed") {
  await queueReview(result);
}
```

## Production notes

* Domain policy: `sec.gov`.
* Output fields: form type, filing date, accession number, detail URL, summary.
* Use structured output before writing to a database.
* Persist source URLs with the result.
* Treat SEC pages as public evidence that can change over time.

## Inspect

* Debug UI when a search result looks wrong.
* Recording for replayable evidence.
* Steps for page titles and URLs.
* Status for blocker or timeout state.

## Cleanup

No browser cleanup is needed for the CLI run. If you created a debug browser yourself, close it with `web browser close <browser-id>`.

## Common failures

* A rate limit, bot challenge, or temporary SEC page error should route the run to review instead of inventing filing data.
* If the site layout changes, inspect the recording and tighten the prompt around visible labels or detail-page URLs.
