Skip to main content

GET /v1/sections/search

Search filing sections and snippets with filing-scoped filters and cursor pagination
Use this endpoint from server-side applications, SDKs, or agent workflows.

Citation fields

Every result row carries seven additive top-level fields:
FieldDescription
accessionSEC accession number for the source filing
section_keyCanonical section identifier (e.g. item_1a)
char_start / char_endHalf-open offsets into the section markdown text (section_snippets.content_md) — section-text-relative, stable across reparses
highlighted_snippet±150 char window with query terms wrapped in **…**, sentence-boundary truncated, ≤320 chars
source_urlPublic SEC.gov filing URL
tickerIssuer ticker, when known
When the validator can’t produce a span (no section text, no query-term match, or offsets out of bounds), char_start/char_end/highlighted_snippet drop to null and _citation_degraded records the reason. Identity fields (accession, section_key, source_url, ticker) are always populated when known. See api conventions → citation + char-range spans for the full contract.

Agent mode

Pass ?view=agent to receive the compact agent shape: key + snippet + lifted accessionNumber / startOffset / endOffset from provenance/trace, plus the citation envelope (accession, section_key, char_start, char_end, highlighted_snippet, source_url, ticker). Content-md and metadata envelopes are dropped. See api conventions → response formats for the full ?view= contract.

Response metadata

  • requestId
  • traceparent
  • provenance
  • freshness
  • materialization

Example request

curl -X GET \
 -H "x-api-key: $SECAPI_API_KEY" \
 -H "secapi-version: 2026-03-19" \
 "https://api.secapi.ai/v1/sections/search"

Example response

{
 "requestId": "req_example_123",
 "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
 "provenance": {
 "source": "sec",
 "accessionNumber": "0000320193-25-000079",
 "filingUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927_htm.xml",
 "retrievedAt": "2026-03-17T00:00:00.000Z",
 "parserVersion": "2026-03-13.5",
 "rawSourceKey": "0000320193-25-000079"
 },
 "freshness": {
 "status": "fresh",
 "asOf": "2026-03-17T00:00:00.000Z",
 "sourcePublishedAt": "2025-10-31T00:00:00.000Z",
 "lagMs": 900000
 },
 "materialization": {
 "parserVersion": "2026-03-13.5",
 "materializationVersion": "sec-api-3.0"
 }
}

Give this prompt to your agent

Copy this SEC API prompt for your agent.

Errors and partial results

  • Treat non-2xx responses as API errors and log the response body for debugging
  • Log requestId and traceparent so SEC API support can trace the request
  • if provenance or freshness metadata is present, return it unchanged so trust is not lost in the handoff