# SEC EDGAR Filings API (`oakridge_tech/sec-edgar-filings-api`) Actor

Structured SEC EDGAR filings metadata (10-K, 10-Q, 8-K, 13F, Form 4) by ticker/CIK or from the live recent-filings feed. One row per filing, ready for fintech, quant, and LLM research pipelines.

- **URL**: https://apify.com/oakridge\_tech/sec-edgar-filings-api.md
- **Developed by:** [Oakridge Tech](https://apify.com/oakridge_tech) (community)
- **Categories:** AI, Developer tools, Open source
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.55 / 1,000 filing extracts

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does SEC EDGAR Filings API do?

This Actor fetches **structured metadata for SEC EDGAR filings** — **10-K**, **10-Q**, **8-K**, **13F** (HR/NT), and **Form 4** — directly from the U.S. Securities and Exchange Commission at [sec.gov](https://www.sec.gov) and [data.sec.gov](https://data.sec.gov). You can pull filings for a **list of tickers or CIKs**, or tail the **live recent-filings feed** across every public issuer. The Actor runs on Apify, so you get scheduled runs, API access, webhook integrations, dataset exports (JSON/CSV/Excel), monitoring, and — via `usesStandbyMode` — native **MCP tool** exposure so LLM research agents (Claude, Perplexity, etc.) can call it directly.

Data comes from SEC's official JSON and Atom endpoints (public domain). Every outbound request passes through a **sliding-window rate limiter capped at 9 requests/second** (1 req/s under SEC's hard 10 req/s ceiling) and carries the contact User-Agent that SEC requires. No tuning, no knobs — the Actor is safe to run at default settings.

### Why use SEC EDGAR Filings API?

- **Fintech & quant pipelines**: feed 13F holdings filings into your factor backtest the day they hit the wire.
- **IR and M&A teams**: track 8-K current reports across a peer group or watchlist in near real time.
- **LLM training and RAG**: load thousands of 10-Ks and 10-Qs with full provenance (CIK, accession, primary document URL) for downstream XBRL parsing or embedding.
- **Insider activity monitoring**: pull Form 4 transactions for a target CIK list and feed them into alerts.
- **No auth, no API keys**: SEC EDGAR is free and public domain — just add a contact User-Agent and go.
- **Built for automation**: schedule via Apify, export via API, trigger on new filings, or call as an MCP tool from your AI agent.

### How to use SEC EDGAR Filings API

1. **Pick a mode.** `targeted` pulls filings for specific companies. `firehose` tails the most recent filings across every issuer. Leave it on `auto` and the Actor will pick based on whether you supplied tickers/CIKs.
2. **Set your User-Agent.** SEC requires a contact line — `"AppName (email@domain.tld)"`. Runs without it fail fast before hitting any SEC endpoint.
3. **Supply targets (targeted mode).** Add tickers like `AAPL, MSFT, NVDA` and/or raw CIKs like `0000320193`. Tickers are resolved against SEC's canonical `company_tickers.json`.
4. **Filter by form and date.** Select any subset of `10-K`, `10-Q`, `8-K`, `13F-HR`, `13F-NT`, `4`, `4/A`. Optionally set `dateFrom` / `dateTo` in `YYYY-MM-DD`.
5. **Run it.** Click **Start**, or call the Actor via the Apify API, scheduler, or MCP tool. Results land in the default dataset.
6. **Download.** Export JSON, CSV, Excel, or HTML from the **Dataset** tab — or stream via the Apify API.

### Input

Defined by [.actor/input_schema.json](./.actor/input_schema.json). See the **Input** tab in the Apify Console for the form UI.

| Field | Type | Required | Notes |
|---|---|---|---|
| `userAgent` | string | yes | Format `"AppName (email@domain.tld)"` — SEC rejects requests without it. |
| `mode` | enum | no | `auto` (default), `targeted`, or `firehose`. |
| `tickers` | string[] | no | Uppercase tickers — e.g. `["AAPL", "MSFT"]`. |
| `ciks` | string[] | no | CIKs; leading zeros optional (zero-padded to 10 internally). |
| `formTypes` | enum[] | no | Defaults to all supported forms. |
| `dateFrom` / `dateTo` | ISO date | no | Inclusive filing-date filter. |
| `maxFilingsPerIssuer` | int | no | Default `50`. Caps rows per CIK in targeted mode. |
| `firehoseLimit` | int | no | Default `100`. Cap per form type in firehose mode. |
| `proxyConfiguration` | object | no | Optional Apify proxy. Not required — SEC has no geoblocks. |

Example input (targeted, Apple's last five 10-Ks):

```json
{
    "userAgent": "MyResearch (me@example.com)",
    "mode": "targeted",
    "tickers": ["AAPL"],
    "formTypes": ["10-K"],
    "maxFilingsPerIssuer": 5
}
````

### Output

One JSON object per filing, pushed to the default dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
{
    "cik": "0000320193",
    "tickers": ["AAPL"],
    "companyName": "Apple Inc.",
    "sic": "3571 - Electronic Computers",
    "form": "10-K",
    "accessionNumber": "0000320193-25-000079",
    "filingDate": "2025-10-31",
    "reportDate": "2025-09-27",
    "acceptanceDateTime": "2025-10-31T10:01:26.000Z",
    "primaryDocument": "aapl-20250927.htm",
    "primaryDocumentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm",
    "filingIndexUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/index.json",
    "filingHomepageUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/",
    "isXBRL": true,
    "isInlineXBRL": true,
    "size": 9392337,
    "source": "targeted"
}
```

### Data table

| Field | Type | Description |
|---|---|---|
| `cik` | string | 10-digit zero-padded SEC Central Index Key. |
| `tickers` | string\[] | Known ticker symbols for the filer. Empty in firehose mode (CIK is always present). |
| `companyName` | string | Official filer name per SEC. |
| `sic` | string|null | `"{code} - {description}"` industry classification. `null` in firehose mode. |
| `form` | string | Form type — e.g. `10-K`, `13F-HR`, `4`. |
| `accessionNumber` | string | Dashed accession ID — e.g. `0000320193-25-000079`. |
| `filingDate` | string | ISO date the form was accepted by EDGAR. |
| `reportDate` | string|null | Period of report (fiscal period covered). |
| `acceptanceDateTime` | string|null | ISO datetime of EDGAR acceptance. |
| `primaryDocument` | string|null | Primary document filename inside the filing archive. |
| `primaryDocumentUrl` | string|null | Direct link to the primary HTML/XML filing document. |
| `filingIndexUrl` | string | EDGAR `index.json` for the filing's archive directory. |
| `filingHomepageUrl` | string | Human-friendly filing index page. |
| `isXBRL` / `isInlineXBRL` | bool|null | Structured-data tags from the SEC submissions API. |
| `size` | int|null | Primary document size in bytes. |
| `source` | string | `targeted` (resolved from tickers/CIKs) or `firehose` (from recent-filings Atom feed). |

### How much does it cost to scrape SEC EDGAR?

SEC EDGAR is **public domain and free** — this Actor only charges for Apify compute time. Because everything is plain JSON over HTTP, runs are cheap:

- **Targeted (e.g. 100 tickers, all forms, last 5 years)**: usually a few cents of compute. Wall time is bounded below by SEC's 10 req/s limit — for 100 tickers that's ~12 seconds of rate-limited fetches plus response time.
- **Firehose (default `firehoseLimit: 100` across 7 form types)**: pennies per run. Ideal for scheduled `every 5 minutes` pollers.
- **Bulk backfill (thousands of CIKs)**: scales linearly. SEC's 10 req/s is the hard throughput ceiling — a 10,000-CIK backfill takes at least ~19 minutes of steady-state fetching. Running multiple Apify runs in parallel doesn't help: SEC enforces the cap *across all machines* for a given requester.

Apify's free tier covers small runs; pay-as-you-go compute units keep large jobs predictable. For per-run pricing or enterprise access, see the Actor page.

### Tips and advanced options

- **Schedule it.** Create an Apify schedule to run the `firehose` mode every few minutes and stream new filings to a webhook or Slack.
- **Call as an MCP tool.** This Actor exposes itself as a first-class MCP tool via Apify's managed MCP server — any MCP-speaking LLM client (Claude Desktop, Cursor, Perplexity Finance, custom agents built with the Claude Agent SDK, etc.) can call it directly.

  Point the client at:

  ```
  URL:  https://mcp.apify.com/?actors=oakridge_tech/sec-edgar-filings-api
  Auth: Bearer <YOUR_APIFY_API_TOKEN>
  ```

  The tool registers under the name `oakridge_tech--sec-edgar-filings-api` with the full input schema (including the `userAgent` regex requirement and form-type enums). Billing flows through the caller's own Apify account, so your agent pays per-filing in its own budget — no coordination with the Actor author needed. For Claude Desktop users: add the URL + token to `~/.config/Claude/claude_desktop_config.json` under `mcpServers`.
- **Bound large backfills.** Always set `maxFilingsPerIssuer` + `dateFrom` / `dateTo` when pulling deep history — the Actor lazily pages into older submission shards only when your date range requires it.
- **Bring your own User-Agent in production.** Don't reuse a shared UA. SEC logs the UA for abuse tracking; use something that identifies your organization and contact email.
- **Rate limiting is automatic — don't try to parallelize around it.** The Actor enforces 9 req/s with a sliding-window limiter and retries 403/429 responses with backoff. Running multiple copies from the same IP or under the same contact User-Agent will get you throttled by SEC, not go faster.
- **13F holdings / Form 4 transactions.** Metadata only in v1 — each row links to `primaryDocumentUrl` (the XML filing) so you can parse holdings or insider transactions in a downstream Actor.

### FAQ, disclaimers, and support

**Is scraping SEC EDGAR legal?** Yes. EDGAR filings are required to be public by U.S. securities law and SEC explicitly permits programmatic access at up to 10 requests per second, provided you identify yourself with a User-Agent. No authentication, no paywall, no terms-of-service gate.

**Why is a User-Agent required?** SEC uses it to contact you if your traffic causes problems. Set it to `"YourCompanyOrTool (your-email@domain.tld)"`.

**How does the Actor handle SEC's 10 req/sec limit?** SEC's [rate-control policy](https://www.sec.gov/filergroup/announcements-old/new-rate-control-limits) states: *"the SEC will limit automated searches to a total of no more than 10 requests per second regardless of the number of machines used to submit requests."* Violating it gets the originating IP temporarily blocked. The Actor enforces a **sliding 1-second window capped at 9 requests** — belt-and-suspenders with Crawlee's concurrency settings — so you stay safely under the ceiling with 1 req/s of headroom for clock drift and retries. Empirical verification on a stress run (21 requests, 20 tickers): max 9 requests in any rolling 1-second window, avg 7.6 req/s. Transient 403/429 responses are retried with exponential backoff.

**Does this Actor parse the filings themselves?** Not in v1. Output is metadata plus direct URLs to the primary filing document. XBRL fact extraction, 13F holdings explosion, and Form 4 transaction parsing are on the roadmap.

**Can I get data older than the `filings.recent` window?** Yes — set `dateFrom` to a date before the recent window and the Actor will fetch SEC's older-submission shards for each CIK automatically.

**What about a ticker I can't find?** SEC's `company_tickers.json` only lists currently active equity tickers. For funds, ADRs, or delisted issuers, supply the CIK directly.

**Support and feedback.** Issues, bugs, feature requests → the **Issues** tab on the Actor page. Custom extensions (XBRL flattening, 13F explosion, private-dataset delivery) are available on request.

***

Public-domain filing data — you are responsible for how you use it. This Actor does not collect, store, or transmit personal data beyond what SEC publishes in its public filings.

# Actor input Schema

## `userAgent` (type: `string`):

SEC REQUIRES a User-Agent with your app name and contact email. Format: 'AppName (email@domain.tld)'. Example: 'AcmeResearch (ops@acme.com)'. Runs without this will be rejected by SEC.

## `mode` (type: `string`):

targeted: fetch filings for specific tickers/CIKs. firehose: tail the recent-filings feed across all issuers. auto: pick targeted if tickers/ciks are supplied, else firehose.

## `tickers` (type: `array`):

List of uppercase ticker symbols (e.g. AAPL, MSFT). Resolved to CIKs via SEC's company\_tickers.json. Used in targeted mode.

## `ciks` (type: `array`):

List of SEC CIK numbers (leading zeros optional; any digit string is accepted and zero-padded to 10). Used in targeted mode. Any tickers already associated with the CIK are attached automatically.

## `formTypes` (type: `array`):

Filing forms to include. Case-insensitive.

## `dateFrom` (type: `string`):

ISO date YYYY-MM-DD. Only filings with filingDate >= this are kept. Leave empty for no lower bound.

## `dateTo` (type: `string`):

ISO date YYYY-MM-DD. Only filings with filingDate <= this are kept. Must be >= dateFrom.

## `maxFilingsPerIssuer` (type: `integer`):

Cap rows emitted per CIK in targeted mode.

## `firehoseLimit` (type: `integer`):

Maximum rows emitted per form type in firehose mode.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. SEC has no regional restrictions; proxy is only useful if your IP is already rate-limited.

## Actor input object example

```json
{
  "userAgent": "MyCompanyResearch (me@example.com)",
  "mode": "auto",
  "formTypes": [
    "10-K",
    "10-Q",
    "8-K",
    "13F-HR",
    "13F-NT",
    "4",
    "4/A"
  ],
  "maxFilingsPerIssuer": 50,
  "firehoseLimit": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "userAgent": "MyCompanyResearch (me@example.com)",
    "formTypes": [
        "10-K",
        "10-Q",
        "8-K",
        "13F-HR",
        "13F-NT",
        "4",
        "4/A"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("oakridge_tech/sec-edgar-filings-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "userAgent": "MyCompanyResearch (me@example.com)",
    "formTypes": [
        "10-K",
        "10-Q",
        "8-K",
        "13F-HR",
        "13F-NT",
        "4",
        "4/A",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("oakridge_tech/sec-edgar-filings-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "userAgent": "MyCompanyResearch (me@example.com)",
  "formTypes": [
    "10-K",
    "10-Q",
    "8-K",
    "13F-HR",
    "13F-NT",
    "4",
    "4/A"
  ]
}' |
apify call oakridge_tech/sec-edgar-filings-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=oakridge_tech/sec-edgar-filings-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC EDGAR Filings API",
        "description": "Structured SEC EDGAR filings metadata (10-K, 10-Q, 8-K, 13F, Form 4) by ticker/CIK or from the live recent-filings feed. One row per filing, ready for fintech, quant, and LLM research pipelines.",
        "version": "0.1",
        "x-build-id": "4wexIH9qidY0zxhnI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/oakridge_tech~sec-edgar-filings-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-oakridge_tech-sec-edgar-filings-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/oakridge_tech~sec-edgar-filings-api/runs": {
            "post": {
                "operationId": "runs-sync-oakridge_tech-sec-edgar-filings-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/oakridge_tech~sec-edgar-filings-api/run-sync": {
            "post": {
                "operationId": "run-sync-oakridge_tech-sec-edgar-filings-api",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "userAgent"
                ],
                "properties": {
                    "userAgent": {
                        "title": "User-Agent (required by SEC)",
                        "pattern": "^[^\\s<>]+ \\([^)\\s]+@[^)\\s]+\\.[^)\\s]+\\)$",
                        "type": "string",
                        "description": "SEC REQUIRES a User-Agent with your app name and contact email. Format: 'AppName (email@domain.tld)'. Example: 'AcmeResearch (ops@acme.com)'. Runs without this will be rejected by SEC."
                    },
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "auto",
                            "targeted",
                            "firehose"
                        ],
                        "type": "string",
                        "description": "targeted: fetch filings for specific tickers/CIKs. firehose: tail the recent-filings feed across all issuers. auto: pick targeted if tickers/ciks are supplied, else firehose.",
                        "default": "auto"
                    },
                    "tickers": {
                        "title": "Tickers",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "List of uppercase ticker symbols (e.g. AAPL, MSFT). Resolved to CIKs via SEC's company_tickers.json. Used in targeted mode.",
                        "items": {
                            "type": "string",
                            "pattern": "^[A-Z][A-Z0-9.\\-]{0,9}$"
                        }
                    },
                    "ciks": {
                        "title": "CIKs",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "List of SEC CIK numbers (leading zeros optional; any digit string is accepted and zero-padded to 10). Used in targeted mode. Any tickers already associated with the CIK are attached automatically.",
                        "items": {
                            "type": "string",
                            "pattern": "^\\d+$"
                        }
                    },
                    "formTypes": {
                        "title": "Form types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filing forms to include. Case-insensitive.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "10-K",
                                "10-Q",
                                "8-K",
                                "13F-HR",
                                "13F-NT",
                                "4",
                                "4/A"
                            ]
                        },
                        "default": [
                            "10-K",
                            "10-Q",
                            "8-K",
                            "13F-HR",
                            "13F-NT",
                            "4",
                            "4/A"
                        ]
                    },
                    "dateFrom": {
                        "title": "Filing date from (inclusive)",
                        "type": "string",
                        "description": "ISO date YYYY-MM-DD. Only filings with filingDate >= this are kept. Leave empty for no lower bound."
                    },
                    "dateTo": {
                        "title": "Filing date to (inclusive)",
                        "type": "string",
                        "description": "ISO date YYYY-MM-DD. Only filings with filingDate <= this are kept. Must be >= dateFrom."
                    },
                    "maxFilingsPerIssuer": {
                        "title": "Max filings per issuer",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Cap rows emitted per CIK in targeted mode.",
                        "default": 50
                    },
                    "firehoseLimit": {
                        "title": "Firehose limit per form",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum rows emitted per form type in firehose mode.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy settings. SEC has no regional restrictions; proxy is only useful if your IP is already rate-limited.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
