Skip to main content
Search SEC EDGAR filings with a single legal research primitive. legal.secFiling() supports both full-text filing search via efts.sec.gov and structured company filing history via data.sec.gov.
Endpoint
POST /legal/v1/sec-filing
Use type: 'search' to search across the text of filings and exhibits.
const result = await client.legal.secFiling({
  type: 'search',
  query: '"material weakness" internal controls',
  formTypes: ['10-K', '10-Q'],
  ticker: 'AAPL',
  dateAfter: '2020-01-01',
  dateBefore: '2025-01-01',
  limit: 10,
  offset: 0,
});

console.log(result.total);
console.log(result.filings[0].snippet);
console.log(result.filings[0].documents[0].url);

Entity filing history

Use type: 'entity' when you already know the filer by CIK or ticker.
const result = await client.legal.secFiling({
  type: 'entity',
  ticker: 'AAPL',
  formTypes: ['10-K', '8-K'],
  dateAfter: '2022-01-01',
  limit: 20,
  offset: 0,
});

console.log(result.cik);
console.log(result.filings[0].secUrl);

Response fields

  • total: total filings matching the request
  • filings[].accessionNumber: SEC accession number for the filing
  • filings[].documents[]: direct sec.gov/Archives URLs for the matched or primary filing document
  • filings[].snippet: highlighted text excerpt from the SEC full-text search result; null for type: 'entity'
  • filings[].secUrl: canonical EDGAR filing index page

Notes

  • type: 'search' uses SEC full-text search and supports boolean queries, phrases, and exhibit matches.
  • type: 'entity' uses the filer submissions API and resolves tickers to CIKs automatically.
  • formTypes passes through directly to the SEC APIs; no restricted enum is enforced.
  • limit is capped at 100 and offset uses standard offset pagination.
  • This endpoint is free and uses only SEC-operated infrastructure.