Skip to content
/api/v1/filings

Generic filings list — alias of /api/v1/sec/filings without the /sec prefix.

Generic filings list — alias of /api/v1/sec/filings without the /sec prefix. Same query semantics; returns the same filings array.

10 tokensSince v1.0.0

Why use this

List EDGAR filings across all 350+ form types with pagination, ticker/CIK filtering, date ranges, and form-type filters — the canonical entry point for any analyst, screening pipeline, or dashboard that needs a chronological view of SEC filings. Identical query shape and cost to `/api/v1/sec/filings`; this path exists so legacy tooling that omits the `/sec/` namespace continues to work. Pair this with `GET /api/v1/sec/filings/{accession_number}` to drill into a specific filing's documents, or with `POST /api/v1/scrapping/search/` for full-text content search across filing bodies.

Convenience alias for GET /api/v1/sec/filings — same query semantics, same response shape. Provided so downstream tooling that omits the /sec/ namespace continues to work. Internally normalized to the canonical path before query execution; cost and rate-limit accounting are identical. Prefer the canonical path for new integrations to keep the dependency graph readable.

Response schema

FieldTypeNullableDescription
filingsarraynoArray of filing rows matching the query, sorted by `filed_date DESC` by default (newest first). Empty array when no rows match — never null. Pagination is cursor-based; consult `pagination.next_cursor` rather than `filings.length` to detect the last page.
filings[].accession_numberstringnoSEC accession number in the canonical `XXXXXXXXXX-YY-NNNNNN` format (e.g. `0001127602-26-001234`). Globally unique across EDGAR; the natural primary key for any filing. Pass this to `GET /api/v1/sec/filings/{accession_number}` to retrieve metadata and document URLs.
filings[].cikstringnoFiler CIK as a zero-padded 10-character string (e.g. `0000320193` for Apple). Note: SEC EDGAR's submissions API returns the unpadded form; FinRadar normalizes to 10-char padded form everywhere except the URL path parameters that explicitly accept either.
filings[].tickerstringyesTicker symbol resolved from the filer CIK via the `ticker_norm_aliases` lookup. Null when the filer has no public-equity ticker (private funds, individuals, foreign issuers without ADRs, dissolved entities). Primary-share-class is preferred when a filer has multiple tickers (e.g. BRK-A is returned for Berkshire Hathaway).
filings[].form_typestringnoCanonical SEC form type as filed (e.g. `4`, `13F-HR`, `8-K`, `10-K`, `10-Q`, `S-1`, `20-F`). Amendment variants append `/A` (e.g. `13D/A`). NT-prefixed and -NT-suffixed forms (e.g. `NT 10-K`, `13F-NT`) appear verbatim — these have no information table to drill into.
filings[].filed_datestringnoISO date `YYYY-MM-DD` of the filing's SEC acceptance date in ET (NOT UTC; matches the date EDGAR's index pages show). For intra-day ordering use the parent filing's full timestamp via `GET /api/v1/sec/filings/{accession_number}`.
filings[].filing_urlstringnoCanonical SEC EDGAR URL for the filing's index page (lists all documents in the filing package). Use this as the human-readable link in dashboards; for programmatic document access use the `/html` or `/document` companion endpoints which return parsed content.
paginationobjectnoCursor-based pagination metadata. Cursor pagination (vs offset) is stable under concurrent inserts — no risk of skipping or double-counting filings as new ones land mid-iteration.
pagination.next_cursorstringyesOpaque base64-encoded cursor for the next page. Pass this verbatim as the `cursor` query parameter on the next call. Null when there are no further pages — that is the canonical end-of-iteration signal.
pagination.totalintegernoExact total count of filings matching the query (full-table count, not just the current page). Computed via a parallel `COUNT(*)` query — reliable for UI pagers but adds ~50-200ms latency on broad queries; pass `count=false` (when supported) to skip it for cursor-only iteration.

Sample response

·
  • "filings":
    ]
  • "pagination":
    • "next_cursor": "eyJpZCI6..."
    • "total": 12480
    }
}

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/filings?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).

Try it

Related endpoints