/api/v1/filingsGeneric 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
| Field | Type | Nullable | Description |
|---|---|---|---|
| filings | array | no | Array 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_number | string | no | SEC 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[].cik | string | no | Filer 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[].ticker | string | yes | Ticker 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_type | string | no | Canonical 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_date | string | no | ISO 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_url | string | no | Canonical 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. |
| pagination | object | no | Cursor-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_cursor | string | yes | Opaque 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.total | integer | no | Exact 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
| Status | Label | Description |
|---|---|---|
| 200 | OK | Request succeeded. |
| 400 | Bad Request | Invalid query, body, or path parameter. |
| 401 | Unauthorized | Missing or invalid Authorization header / api_Token. |
| 402 | Payment Required | Insufficient token balance for this call. Top up |
| 429 | Too Many Requests | Rate limit exceeded for your tier (see /pricing for tier limits). Tier limits |
| 500 | Server Error | Unexpected 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).