/api/insiders/bulk/form-{form_type}/{year}/{filename}Download one monthly bulk file that has already been built.
Download one monthly bulk file that has already been built. The response body is the gzip-compressed JSON Lines file itself, one filing per line, sent as an attachment. Any name without a built file, such as a month the index lists as `pending`, returns 404 at once: files are never built inside this request. Requires your API key. The file and the 404 are sent with `Cache-Control: private, no-store`, so no shared cache, such as a CDN, keeps a copy for another caller.
Why use this
Common use case
Streams one already-built monthly file from disk: the success body is the gzip JSON Lines file itself, not a JSON envelope. Look up the file in GET /api/insiders/bulk/form-{form_type}/index.json first; only available months can be downloaded, and a pending month returns 404 until it is built. Requires an API key; each call costs 25 tokens.
Parameters
| Name | In | Required | Default | Allowed | Description | Example |
|---|---|---|---|---|---|---|
| form_type | path | required | — | — | SEC insider-trading form type: `3`, `4`, or `5`, as in the index route. Any other value returns 400. | 4 |
| year | path | required | — | — | 4-digit calendar year of the file, as in the index row's `year`. | 2025 |
| filename | path | required | — | — | The file name exactly as the index lists it (the last part of the row's `key`), in the form `{YYYY}-{MM}.jsonl.gz`. A name that does not end in `.jsonl.gz` returns 400; any other name without a built file returns 404. | 2025-09.jsonl.gz |
Response schema
| Field | Type | Nullable | Description |
|---|---|---|---|
| (binary) | string | no | The raw gzip-compressed JSON Lines bytes (Content-Type `application/gzip`), one filing record per line. This route does not return a JSON envelope on success; errors (400, 403, 404) are JSON with a `detail` message. |
Errors
| Status | Label | Description |
|---|---|---|
| 400 | `form_type` is not 3, 4, or 5, or `filename` does not end in `.jsonl.gz`. | |
| 403 | Missing or invalid API key. | |
| 404 | No built file with that name, for example a month the index lists as `pending`. |
Code samples
curl "https://api.finradar.ai/api/insiders/bulk/form-4/2025/2025-09.jsonl.gz" \
-H "X-API-Key: YOUR_API_KEY" \
--fail -o '2025-09.jsonl.gz'Generate an API key in /account/credentials to run live queries (literal YOUR_API_KEY placeholder shown until then).