# MCP: SEC EDGAR Intel - AI Agents Filings Insider (`seibs.co/mcp-sec-edgar-intel`) Actor

Model Context Protocol (MCP) server wrapper for sec-edgar-intel. Exposes six AI-agent tools: get\_company\_filings, get\_8k\_triggers, get\_form4\_insider\_activity, get\_13f\_positions\_change, get\_recent\_form\_d, get\_earnings\_transcript. Built for hedge-fund research, fintech, and due-diligence AI agents.

- **URL**: https://apify.com/seibs.co/mcp-sec-edgar-intel.md
- **Developed by:** [Seibs.co](https://apify.com/seibs.co) (community)
- **Categories:** AI, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## MCP: SEC EDGAR Intel - AI Agents Filings Insider

Model Context Protocol (MCP) server wrapper around [`seibs.co/sec-edgar-intel`](https://apify.com/seibs.co/sec-edgar-intel). Built for AI agents serving hedge funds, fintech teams, and due-diligence research workflows.

Public SEC EDGAR data, exposed as six clean MCP tools your agent can call directly. No XML wrangling, no SEC fair-access rate-limit headaches, no insider-pattern detection you have to write yourself.

### What this actor does

It is a thin, fast wrapper. The heavy lifting (EDGAR fetch, 8-K trigger classification, Form 4 cluster-buy detection, 13F QoQ delta, Form D parsing, earnings transcript extraction) lives in the upstream actor. This wrapper:

1. Advertises a stable MCP tool catalog so any agent can discover capabilities via `mode=list_tools`.
2. Validates tool arguments with Pydantic and rejects bad inputs with a structured error (rather than a 500).
3. Calls the upstream actor with the right input shape and reshapes the response into compact, agent-ready JSON (drops nulls, drops XML, drops megabyte text blobs unless explicitly requested).
4. Charges a flat `$0.005` per tool call. Upstream `filing_record`, `intelligence_enrichment`, `earnings_transcript_charge`, and `full_text_charge` events pass through unchanged.

### Tools

| Tool | Purpose | Key args |
|---|---|---|
| `get_company_filings` | Recent filings by ticker or CIK. | `ticker`, `form_types[]`, `limit` |
| `get_8k_triggers` | 8-Ks categorized by material-event trigger (M&A, exec change, going concern, impairment, restatement, etc). | `ticker`, `days_back` |
| `get_form4_insider_activity` | Form 4 insider trades with cluster-buy + unusual-size flags. | `ticker`, `days_back` |
| `get_13f_positions_change` | Latest 13F-HR for a manager (by CIK) with QoQ position deltas. | `manager_cik`, `vs_quarter` |
| `get_recent_form_d` | Recent Form D private-placement filings (startup raises). | `industry`, `min_amount` |
| `get_earnings_transcript` | Earnings call transcript from a recent 8-K Exhibit 99.1/99.2. | `ticker`, `quarter` |

Every tool returns the same envelope: `{ tool, args, ok, count, items, summary, error }`. Agents key off `summary` for natural-language framing and `items` for structured downstream use.

### Pricing

- `$0.005` per MCP tool call (the wrapper).
- Upstream `sec-edgar-intel` PPE events pass through directly:
  - `filing_record`: $0.005 per filing
  - `intelligence_enrichment`: $0.010 per 8-K trigger / Form 4 flag / going-concern detection
  - `earnings_transcript_charge`: $0.010 per transcript extracted
  - `full_text_charge`: $0.015 per filing with raw text embedded

A typical `get_8k_triggers` call against one ticker over 90 days costs around $0.005 (wrapper) + ~$0.05 (10 filings) + ~$0.02 (2 trigger enrichments) = roughly $0.075 total.

`mode=list_tools` is free.

### Hedge-fund and due-diligence use cases

- **Catalyst monitoring.** Schedule `get_8k_triggers` daily across your watchlist. Trigger an alert (or a follow-up agent) whenever a new `going_concern`, `restatement`, `m_and_a`, or `executive_change` category appears.
- **Insider conviction screen.** Run `get_form4_insider_activity` weekly. Filter for `flags.cluster_buy = true` and `flags.c_suite_only = true` to surface high-conviction insider buying clusters.
- **Smart-money tracking.** Pipe a list of manager CIKs through `get_13f_positions_change`. Aggregate the `new_positions` and `increased_positions` across managers to spot consensus accumulation.
- **Pre-IPO and private-market intel.** Schedule `get_recent_form_d` with `industry="software"` and `min_amount=10_000_000` to surface mid-stage venture raises in your coverage universe.
- **Earnings season agent.** Run `get_earnings_transcript` post-print for every name in your portfolio; pipe transcripts into your LLM summarization step for guidance changes, segment commentary, and CFO Q&A tone.
- **Pre-deal due diligence.** Run `get_company_filings` + `get_8k_triggers` + `get_form4_insider_activity` on the target in one batch; pipe the combined output into your DD memo template.

### AI agent integration

#### Anthropic Claude (tool use)

```python
import anthropic
from apify_client import ApifyClient

apify = ApifyClient(token="APIFY_TOKEN")

## Discover tools (free).
cat_run = apify.actor("seibs.co/mcp-sec-edgar-intel").call(run_input={
    "mode": "list_tools",
    "user_agent_contact": "MyFundResearch contact@myfund.com",
})
catalog = next(apify.dataset(cat_run["defaultDatasetId"]).iterate_items())
tools = [
    {"name": t["name"], "description": t["description"], "input_schema": t["input_schema"]}
    for t in catalog["tools"]
]

## Hand the tool list to Claude.
client = anthropic.Anthropic()
resp = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=2048,
    tools=tools,
    messages=[{"role": "user", "content": "What 8-K triggers fired at NVDA in the last 30 days?"}],
)

## When Claude returns a tool_use block, dispatch it back through the actor.
for block in resp.content:
    if block.type == "tool_use":
        result = apify.actor("seibs.co/mcp-sec-edgar-intel").call(run_input={
            "mode": "call_tool",
            "tool": block.name,
            "args": block.input,
            "user_agent_contact": "MyFundResearch contact@myfund.com",
        })
        items = list(apify.dataset(result["defaultDatasetId"]).iterate_items())
        print(items[0]["summary"])  ## natural-language summary
        print(items[0]["items"])    ## structured rows
````

#### OpenAI Responses API

```python
from openai import OpenAI
from apify_client import ApifyClient

apify = ApifyClient(token="APIFY_TOKEN")
openai = OpenAI()

def call_edgar_tool(name: str, args: dict) -> dict:
    run = apify.actor("seibs.co/mcp-sec-edgar-intel").call(run_input={
        "mode": "call_tool",
        "tool": name,
        "args": args,
        "user_agent_contact": "MyFundResearch contact@myfund.com",
    })
    return next(apify.dataset(run["defaultDatasetId"]).iterate_items())

resp = openai.responses.create(
    model="gpt-5",
    input="Pull the latest 13F change for Berkshire Hathaway (CIK 1067983).",
    tools=[{
        "type": "function",
        "name": "get_13f_positions_change",
        "parameters": {"type": "object", "properties": {
            "manager_cik": {"type": "string"}, "vs_quarter": {"type": "string"}
        }, "required": ["manager_cik"]},
    }],
)
## Iterate resp.output -> dispatch tool calls to call_edgar_tool(...).
```

#### LangChain

```python
from langchain_core.tools import StructuredTool
from apify_client import ApifyClient

apify = ApifyClient(token="APIFY_TOKEN")

def _make_tool(tool_name: str):
    def _run(**kwargs):
        run = apify.actor("seibs.co/mcp-sec-edgar-intel").call(run_input={
            "mode": "call_tool", "tool": tool_name, "args": kwargs,
            "user_agent_contact": "MyFundResearch contact@myfund.com",
        })
        return next(apify.dataset(run["defaultDatasetId"]).iterate_items())
    return _run

edgar_8k = StructuredTool.from_function(
    func=_make_tool("get_8k_triggers"),
    name="get_8k_triggers",
    description="SEC 8-K filings with material-event trigger classification.",
)
```

#### Batch mode (one run, multiple tool calls)

Useful for due-diligence sweeps where you want the whole report in one billable run.

```json
{
  "mode": "batch",
  "user_agent_contact": "DDFirm research@ddfirm.com",
  "calls": [
    {"tool": "get_company_filings",         "args": {"ticker": "TSLA", "limit": 5}},
    {"tool": "get_8k_triggers",             "args": {"ticker": "TSLA", "days_back": 180}},
    {"tool": "get_form4_insider_activity",  "args": {"ticker": "TSLA", "days_back": 90}},
    {"tool": "get_earnings_transcript",     "args": {"ticker": "TSLA", "quarter": "latest"}}
  ]
}
```

### Output shape

Tool catalog (`mode=list_tools`):

```json
{
  "record_type": "tool_catalog",
  "server_name": "mcp-sec-edgar-intel",
  "upstream_actor": "seibs.co/sec-edgar-intel",
  "tool_count": 6,
  "tools": [ { "name": "...", "description": "...", "input_schema": { ... } } ]
}
```

Tool call result (`mode=call_tool` / `batch`):

```json
{
  "record_type": "tool_call_result",
  "tool": "get_8k_triggers",
  "args": {"ticker": "NVDA", "days_back": 90},
  "ok": true,
  "count": 4,
  "items": [ { "ticker": "NVDA", "form_type": "8-K", "trigger_categories": ["material_definitive_agreement"], "...": "..." } ],
  "summary": "4 8-K filings in last 90d for NVDA; top triggers: material_definitive_agreement(2), executive_change(1).",
  "error": null
}
```

### SEC fair-access compliance

SEC EDGAR requires every request to include a `User-Agent` header with a real contact email. The wrapper enforces `@` in `user_agent_contact` and passes the value through to the upstream actor on every call. Use your real contact - SEC will IP-ban honest-looking-but-fake identifiers.

### Limits and caveats

- `get_recent_form_d` filters by industry keyword via EDGAR full-text search; the SEC full-text index covers filings since 2001 but lags real time by ~24 hours.
- `get_13f_positions_change` requires the manager's CIK (not a ticker). Use the SEC EDGAR company search to find it (e.g. Berkshire Hathaway = 1067983).
- `get_earnings_transcript` only finds transcripts that companies explicitly attach as Exhibit 99.x to an 8-K. Some issuers post earnings text only on their IR site; those won't appear here.
- Free Apify plan: sub-actor calls require credit. If your platform credit is exhausted, the wrapper will return `ok: false` with a clear upstream-call-failed error.

### Repo

Source: portfolio repo, `actors/mcp-sec-edgar-intel/`. Upstream: `actors/sec-edgar-intel/`.

### Save your input as an Apify Task

Apify Tasks let you save a configured input once and re-run it with a single click - no need to re-type search terms, locations, filters, or tier settings every time. Tasks are the foundation for everything that comes next: schedules, monitor mode, and webhook routing all attach to a saved Task, not to the raw actor.

Steps to save your current input as a Task:

1. On this actor's Apify Store page, click `Run` with your input fully configured.
2. Click the `Save as task` button at the top of the run page.
3. Name the task something memorable (e.g. `Saved SEC query for agent - on-demand`).
4. Reload the task page and click `Start` anytime to re-run with the same inputs.

Tasks unlock the next two features below: scheduling and monitor mode.

### Run this weekly with Apify Schedules

Apify Schedules cron-run any saved Task automatically. Pair this with the saved Task above and you get hands-off recurring runs with no manual clicks.

Steps to schedule a Task:

1. Save your input as a Task (see above).
2. Go to https://console.apify.com/schedules and click `Create new schedule`.
3. Pick your Task and set the cron expression. Common patterns:
   - Daily at 9am UTC: `0 9 * * *`
   - Weekly on Mondays at 9am: `0 9 * * 1`
   - Monthly on the 1st: `0 9 1 * *`
4. Save. Apify will run your Task on that schedule automatically, push the dataset to whatever integrations you have wired up, and fire run-completion webhooks.

Schedules are unusual for MCP wrappers because AI agents invoke them on-demand. Use Tasks for saved configs but skip the cron schedule unless you have a specific batch-run use case.

### Monitor mode (v2, beta)

Monitor mode is the v2 evolution of this actor and is currently in BETA. It turns a recurring schedule into a true change-feed instead of a firehose of duplicate records.

How it works:

- When this actor runs under an Apify Schedule, monitor mode is enabled automatically.
- Instead of emitting ALL records every run, it emits ONLY records that are NEW or CHANGED since the last scheduled run.
- A digest record summarizes the delta (X new, Y changed, Z removed) at the top of every run.
- Optional: provide a Slack or email webhook URL in the `monitor_webhook_url` input field and the digest fires there too, so your team gets the delta in their inbox or channel without polling the dataset.
- Cost: a single `scheduled_delta_run` event ($0.05) per scheduled run, plus standard PPE on emitted delta records only. Predictable monthly cost, no surprise bills from re-charging for unchanged records.

Monitor mode is rolling out to the top 3 actors first (this one included if it's hotel-motel-lead-finder, google-maps-reviews-pro, or mcp-accounting-firm-leads). Full portfolio coverage by end of June.

### Found this useful?

If this actor saved you time or money, please consider leaving a quick review on the Apify Store. Reviews help other buyers find work that solves their problem and let me prioritize the features paying customers actually use. Leave a review: https://apify.com/seibs.co/mcp-sec-edgar-intel#reviews

# Actor input Schema

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

list\_tools = emit the MCP tool catalog (free). call\_tool = invoke one tool (requires 'tool' + 'args'). batch = invoke a list of {tool, args} calls.

## `tool` (type: `string`):

Required when mode=call\_tool. One of: get\_company\_filings, get\_8k\_triggers, get\_form4\_insider\_activity, get\_13f\_positions\_change, get\_recent\_form\_d, get\_earnings\_transcript.

## `args` (type: `object`):

Arguments for the selected tool. Example for get\_8k\_triggers: {"ticker": "NVDA", "days\_back": 90}.

## `calls` (type: `array`):

Required when mode=batch. Each entry is an object with 'tool' and 'args'. Example: \[{"tool": "get\_8k\_triggers", "args": {"ticker": "AAPL"}}, {"tool": "get\_form4\_insider\_activity", "args": {"ticker": "AAPL"}}].

## `user_agent_contact` (type: `string`):

SEC fair-access policy requires every EDGAR request include a User-Agent with a contact email. Format: 'AppName your@email.com'. Passed through to the upstream sec-edgar-intel actor.

## Actor input object example

```json
{
  "mode": "list_tools",
  "tool": "get_8k_triggers",
  "args": {
    "ticker": "NVDA",
    "days_back": 90
  },
  "calls": [],
  "user_agent_contact": "MCP-SEC-EDGAR-Intel research@example.com"
}
```

# 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 = {
    "mode": "list_tools",
    "args": {
        "ticker": "NVDA",
        "days_back": 90
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("seibs.co/mcp-sec-edgar-intel").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 = {
    "mode": "list_tools",
    "args": {
        "ticker": "NVDA",
        "days_back": 90,
    },
}

# Run the Actor and wait for it to finish
run = client.actor("seibs.co/mcp-sec-edgar-intel").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 '{
  "mode": "list_tools",
  "args": {
    "ticker": "NVDA",
    "days_back": 90
  }
}' |
apify call seibs.co/mcp-sec-edgar-intel --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "MCP: SEC EDGAR Intel - AI Agents Filings Insider",
        "description": "Model Context Protocol (MCP) server wrapper for sec-edgar-intel. Exposes six AI-agent tools: get_company_filings, get_8k_triggers, get_form4_insider_activity, get_13f_positions_change, get_recent_form_d, get_earnings_transcript. Built for hedge-fund research, fintech, and due-diligence AI agents.",
        "version": "0.1",
        "x-build-id": "WFngXlHK7x16zMqdy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/seibs.co~mcp-sec-edgar-intel/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-seibs.co-mcp-sec-edgar-intel",
                "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/seibs.co~mcp-sec-edgar-intel/runs": {
            "post": {
                "operationId": "runs-sync-seibs.co-mcp-sec-edgar-intel",
                "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/seibs.co~mcp-sec-edgar-intel/run-sync": {
            "post": {
                "operationId": "run-sync-seibs.co-mcp-sec-edgar-intel",
                "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": [
                    "mode",
                    "user_agent_contact"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "list_tools",
                            "call_tool",
                            "batch"
                        ],
                        "type": "string",
                        "description": "list_tools = emit the MCP tool catalog (free). call_tool = invoke one tool (requires 'tool' + 'args'). batch = invoke a list of {tool, args} calls.",
                        "default": "list_tools"
                    },
                    "tool": {
                        "title": "Tool name",
                        "enum": [
                            "get_company_filings",
                            "get_8k_triggers",
                            "get_form4_insider_activity",
                            "get_13f_positions_change",
                            "get_recent_form_d",
                            "get_earnings_transcript"
                        ],
                        "type": "string",
                        "description": "Required when mode=call_tool. One of: get_company_filings, get_8k_triggers, get_form4_insider_activity, get_13f_positions_change, get_recent_form_d, get_earnings_transcript.",
                        "default": "get_8k_triggers"
                    },
                    "args": {
                        "title": "Tool arguments (JSON object)",
                        "type": "object",
                        "description": "Arguments for the selected tool. Example for get_8k_triggers: {\"ticker\": \"NVDA\", \"days_back\": 90}."
                    },
                    "calls": {
                        "title": "Batch calls",
                        "type": "array",
                        "description": "Required when mode=batch. Each entry is an object with 'tool' and 'args'. Example: [{\"tool\": \"get_8k_triggers\", \"args\": {\"ticker\": \"AAPL\"}}, {\"tool\": \"get_form4_insider_activity\", \"args\": {\"ticker\": \"AAPL\"}}].",
                        "default": []
                    },
                    "user_agent_contact": {
                        "title": "User-Agent contact string (REQUIRED by SEC)",
                        "type": "string",
                        "description": "SEC fair-access policy requires every EDGAR request include a User-Agent with a contact email. Format: 'AppName your@email.com'. Passed through to the upstream sec-edgar-intel actor.",
                        "default": "MCP-SEC-EDGAR-Intel research@example.com"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
