/api/v1/nport/by-series/{series_id}Monthly filing history for one SEC series
Every published N-PORT report for one SEC series id, newest reporting month first — one row per month.
Why use this
Common use case
The filing history of one fund, keyed by the SEC series identifier — the stable id the SEC itself assigns each fund series (a trust registrant carries many series; each series files its own monthly N-PORT).
Because amendments supersede their original at ingest, this history contains exactly one published row per reporting month: an amended month shows the NPORT-P/A row (is_amendment=true) and never both. Use it to audit continuity (a missing month is a real gap, not an amendment artifact) or as a month index before drilling into GET /api/v1/nport/{accession}/holdings.
If you only know the fund's ticker, GET /api/v1/nport/by-ticker/{ticker} performs the ticker-to-series resolution and returns the same history shape.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| series_id | path | required | — | — | SEC series identifier (S followed by 9 digits). Find it via /latest, /by-ticker/{ticker}, or the filing detail's entities roster. | S000004310 |
| limit | query | optional | 100 | — | Rows per page (1-500). | 100 |
| offset | query | optional | 0 | — | Pagination offset. | 0 |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| data[] | array | no | Filing summary rows for the series, newest reporting month first. Same row shape as /latest (accession_number, submission_type, is_amendment, reg_cik, reg_name, series_id, series_name, as_of, rep_pd_end, net_assets, tot_assets, filed_at, source). |
| meta.series_id | string | no | The series id echoed back (uppercased). |
| meta.pagination | object | no | { total: null, limit, offset, has_more } — page forward with offset while has_more is true. |
Sample response
- "status": "success"
- "data":
- "meta":
- "series_id": "S000004310"
- "pagination":
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/nport/by-series/S000004310?api_Token=YOUR_API_KEY&limit=100&offset=0" \
-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).