Skip to content
/api/v1/sec/forms/{form_type}

Get details for a specific SEC form type.

Get details for a specific SEC form type. Returns the form's metadata (description, filing count, first/last filed dates) — same shape as one element of GET /api/v1/sec/forms.

5 tokensSince v1.0.0

Why use this

Single-form-type detail lookup — pass a form type via the path (e.g. `/api/v1/sec/forms/13F-HR`) and receive its metadata: human-readable description, total filing count in the local index, first/last dates seen. Path-parameter variant of asking the catalog endpoint for a specific row. The right call for: form-type-specific landing pages ("All you need to know about Form 13F-HR"), tooltip enrichment when you have a form type but no description, deprecation detection (compare `last_filed` against current date — gaps > 1 year suggest the form has been retired). Two-stage CIK-insensitive lookup: tries exact-match `form_type` first, falls back to case-insensitive `ILIKE` if no rows match.

Common use case

User clicks a form-type chip in the docs UI → land on a form-type page → pull description + filing count + date range to populate the page header.

Single-form-type detail lookup — path-parameter variant of asking GET /api/v1/sec/forms for a specific row. Returns description, filing count, and date-range bookends. Two-stage lookup: exact-match form_type first, then case-insensitive ILIKE fallback. Returns 404 NOT_FOUND when no filings of this type exist in the local index — for newly-added form types (e.g. recent SEC rule additions) this can happen even if SEC has the form on its books. Reference SEC EDGAR form types for the canonical 352-form catalog. To list filings of this form type, pair with GET /api/v1/sec/filings?form_type=...; for the full catalog of all forms in the index use the parent GET /api/v1/sec/forms. Form 13F-HR holdings tables are exposed separately via GET /api/v1/13f/filer/{cik}/holdings.

Parameters

NameInRequiredDefaultAllowedDescriptionExample
form_typepathrequiredCanonical SEC form type (e.g. `10-K`, `13F-HR`, `8-K`, `4`, `13D`, `13G`, `S-1`, `20-F`, `144`, `DEF 14A`). Case-insensitive — server tries exact match first, falls back to `ILIKE`. Amendment variants (`10-K/A`, `13D/A`) work — pass them verbatim. Returns 404 NOT_FOUND when no filings of this type exist in the local index.13F-HR

Response schema

FieldTypeNullableDescription
statusstringnoAlways `"success"` on 2xx. ApiResponse envelope marker — wraps via `ApiResponse.success()`.
request_idstringyesPer-request UUID generated server-side.
timestampstringnoISO-8601 UTC timestamp the response was generated server-side.
dataobjectnoForm-type detail record. Same shape as one element of `GET /api/v1/sec/forms`'s `data[]` array.
data.form_typestringnoCanonical form type as resolved (case-corrected from input — e.g. requesting `13f-hr` returns `13F-HR`). Echoes the canonical-cased form.
data.root_form_typestringnoForm type with `/A` amendment suffix stripped. For non-amendments, equals `form_type`.
data.descriptionstringnoHuman-readable description of the form's purpose (e.g. for `13F-HR` = "Information Required of Institutional Investment Managers Form 13F", for `10-K` = "Annual report pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934"). Covers all 352 SEC root form types. For amendments, suffixed with " (Amendment)". Reference [SEC EDGAR form types](https://www.sec.gov/forms).
data.filing_countintegernoCount of filings of this exact `form_type` in the local index. Reflects ingest coverage, not SEC's universe.
data.first_filedstringyesISO date `YYYY-MM-DD` of the EARLIEST filing of this type in the local index. Null only when no filings have a `filed_date` (rare).
data.last_filedstringyesISO date `YYYY-MM-DD` of the MOST RECENT filing of this type in the local index. Useful for deprecation detection — `last_filed` more than a year ago suggests the form may be retired.

Sample response

·
  • "status": "success"
  • "request_id": "0f14ed05-3a2e-4b76-9c11-1a7c8b3f6de2"
  • "timestamp": "2026-05-02T16:30:14.122Z"
  • "data":
    • "form_type": "13F-HR"
    • "root_form_type": "13F-HR"
    • "description": "Information Required of Institutional Investment Managers Form 13F"
    • "filing_count": 384529
    • "first_filed": "2003-02-14"
    • "last_filed": "2026-05-02"
    }
}

Errors

StatusLabelDescription
200OKRequest succeeded.
400Bad RequestInvalid query, body, or path parameter.
401UnauthorizedMissing or invalid Authorization header / api_Token.
402Payment RequiredInsufficient token balance for this call. Top up
429Too Many RequestsRate limit exceeded for your tier (see /pricing for tier limits). Tier limits
500Server ErrorUnexpected server-side failure. Retry with backoff; report if persistent.

Code samples

curl "https://api.finradar.ai/api/v1/sec/forms/{form_type}?api_Token=YOUR_API_KEY" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).