---
title: "SEC Institutional Holdings"
method: POST
path: "/v1/sec-holdings"
tags: ["finance"]
---

# SEC Institutional Holdings

`POST /v1/sec-holdings`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/sec-holdings`
- Auth: none required

SEC 13F institutional positions by filer and quarter: issuer, CUSIP, USD value, and share count. POST /v1/sec with a filer {company_ticker} (or CIK) and get the holdings as one JSON object. Deterministic per filing cycle. Pay per request in USDC; no account, no API key.

## Request body

- object: A 13F filer to look up. On the MCP relay route POST /v1/tool these fields are wrapped under an `arguments` object; the direct route takes them at the top level.
  - `company_ticker` string, required: Ticker of the institutional filer, e.g. BLK.
  - `cik` string: Filer CIK (alternative to ticker).

## Response `200`

The upstream response, served after payment settles.

- object: For POST /v1/sec, a JSON object whose `holdings` array lists issuer, cusip, USD value, and shares. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents.

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
