---
title: "Full-text search across SEC filings"
method: GET
path: "/api/v1/fundamentals/search"
tags: ["Fundamentals"]
---

# Full-text search across SEC filings

`GET /api/v1/fundamentals/search`

Search the full text of all SEC filings via EDGAR EFTS. Supports phrases (use quotes), form type filtering, and date ranges. Returns matching companies, filing dates, form types, and relevance scores.

## Query parameters

- `q` string, required — Free-text search query.
- `forms` string, nullable — Comma-separated SEC form types.
- `start_date` string, nullable — Start date (YYYY-MM-DD).
- `end_date` string, nullable — End date (YYYY-MM-DD).
- `limit` integer — Maximum number of records to return.

## Response `200`

Array of matching SEC filings with relevance scores.

- EnvelopeFundamentalsSearchData
  - `data` FundamentalsSearchData, required
    - `query` string, required — Search query that produced these results.
    - `total_hits` integer, required — Total hits for the query.
    - `returned` integer, required — Number of records returned.
    - `forms_filter` unknown, required
    - `results` FundamentalsResult[], required — Array of result records.
      - `entity_name` string, required — Entity human-readable name.
      - `cik` string, required — SEC Central Index Key.
      - `sic` string, nullable, required — SEC Standard Industrial Classification code.
      - `form` string, required — SEC filing form type (10-K, 10-Q, 8-K, etc).
      - `filing_date` string, required — Filing date (YYYY-MM-DD).
      - `period_ending` string, nullable, required — Period-ending date.
      - `description` string, nullable — Human-readable description.
      - `accession_number` string, required — SEC accession number.
      - `score` number, required — Numeric score.
    - `source` string, required — Upstream data source identifier.
  - `meta` SugraMeta, required — Metadata attached to every /api/v1/* response envelope.
    - `endpoint` string, required — Requested endpoint path.
    - `data_time` string, required — ISO 8601 UTC timestamp of the source data, not of the request.
    - `response_time` string, required — ISO 8601 UTC timestamp when this response was produced.
    - `provider` string, required — API name and version.
    - `source` string, nullable — Identifier of the primary upstream source used for this response.
    - `attribution` string, nullable — Human-readable attribution mandated by an upstream source (e.g. a securities regulator or self-regulatory organization). Present only on responses whose source requires the owner and source to be clearly identified. Do not remove or alter it when using the response.
    - `fallback_used` boolean, nullable — True when the primary source failed and a fallback produced the data.
    - `fallback_chain` string[], nullable — Ordered list of sources attempted, in the order they were tried.
    - `cached` boolean, nullable — True when this response was served from the internal cache.
    - `stale` boolean, nullable — True when the cached response was returned after the upstream rate-limited or errored. Clients can use this to detect degraded data.

## Other responses

- `401` — Missing or invalid `x-api-key` header.
- `422` — Validation Error
- `429` — Daily rate limit exceeded. Check `X-RateLimit-Reset` for the next window.
- `503` — Upstream source is temporarily unavailable. Retry after a short delay.

---

[API](https://skmtc.net/sugra/apis/sugra-api.md) · [All operations](https://skmtc.net/sugra/apis/sugra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sugra/sugra-api/versions/dcf7427e6897/schema)
