Skip to main content
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

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

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

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.