# 13F Hedge Fund Holdings API — Quarterly Buys, Sells & Exits (`smartmoney-data/sec-13f-hedge-fund-tracker`) Actor

Hedge fund and institutional 13F portfolios from SEC EDGAR with tickers, % weights and quarter-over-quarter changes: NEW, ADDED, REDUCED, EXITED. Berkshire, Pershing Square, Scion and any manager by CIK. Pay per result.

- **URL**: https://apify.com/smartmoney-data/sec-13f-hedge-fund-tracker.md
- **Developed by:** [SmartMoney Data](https://apify.com/smartmoney-data) (community)
- **Categories:** Business, AI, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 portfolio positions

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 13F Hedge Fund Holdings API — Quarterly Buys, Sells & Exits

**Get any hedge fund's or institutional investor's full portfolio from SEC 13F filings — with tickers, portfolio weights and a NEW / ADDED / REDUCED / EXITED label on every position versus last quarter.**

Every US manager with $100M+ in US equities must disclose their holdings each quarter in a 13F filing. The raw filings are XML tables keyed by CUSIP codes, split across sub-managers, in inconsistent units. This Actor turns them into a clean, ranked portfolio and tells you exactly what changed.

> Part of the **SmartMoney Data** suite: [Insider Trades](https://apify.com/smartmoney-data/sec-insider-trades-tracker) · [Hedge Fund 13F Holdings](https://apify.com/smartmoney-data/sec-13f-hedge-fund-tracker) · [Congress Stock Trades](https://apify.com/smartmoney-data/congress-stock-trades-tracker) · [Form 144 Planned Sales](https://apify.com/smartmoney-data/sec-form-144-planned-insider-sales)

### What you can do with it

- 🔍 **Follow the legends** — see Berkshire Hathaway's, Pershing Square's or Scion's latest buys and exits.
- 💡 **Idea generation** — find stocks several top funds opened new positions in.
- 📊 **Quant research** — institutional ownership, crowding and "13F cloning" backtests.
- 📰 **Newsletters & content** — "Top 10 hedge fund moves this quarter", ready-made.
- 🤖 **AI agents** — "Which funds bought NVDA last quarter?" as a single tool call.

### Features

- ✅ **Quarter-over-quarter changes** — every position labelled `NEW`, `ADDED`, `REDUCED`, `UNCHANGED` or `EXITED`, with share change and % change
- ✅ **Ticker symbols** — 13F filings only list CUSIPs; we map them to tickers automatically
- ✅ **% of portfolio and rank** for every holding
- ✅ **Split positions merged** (one row per security); calls and puts kept separate
- ✅ **Values normalised to US dollars** — the SEC switched from thousands to dollars in 2023; handled for you
- ✅ **Built-in shortcuts** for famous funds, or any manager by SEC CIK number
- ✅ **Any historical quarter**, not just the latest
- ✅ Per-manager **summary**: total value, position count, top 10, and counts of new/added/reduced/exited
- ✅ Filters for change type, minimum value and top-N — **you only pay for rows you keep**

### Built-in fund shortcuts

Type the name instead of looking up a CIK:

Berkshire Hathaway · Bridgewater Associates · Renaissance Technologies · Pershing Square · Scion Asset Management · Soros Fund Management · Citadel Advisors · Duquesne Family Office · Third Point · Tiger Global Management · Baupost Group · ARK Investment Management · Appaloosa

Any other manager: find their CIK at [sec.gov/edgar/search](https://www.sec.gov/edgar/search/) and enter the number (e.g. `1067983`).

### How to use it

#### Latest quarter, full portfolio with changes

```json
{ "managers": ["Berkshire Hathaway", "Pershing Square", "Scion Asset Management"] }
```

#### Only new buys and full exits over $10M

```json
{
  "managers": ["Berkshire Hathaway", "Tiger Global Management", "Third Point"],
  "changeTypes": ["NEW", "EXITED"],
  "minValueUsd": 10000000
}
```

#### Top 20 holdings for a specific quarter

```json
{
  "managers": ["1067983"],
  "period": "2026-06-30",
  "maxPositionsPerManager": 20,
  "compareWithPreviousQuarter": false
}
```

### Output

One row per position. Example (illustrative values):

```json
{
  "managerName": "BERKSHIRE HATHAWAY INC",
  "periodOfReport": "2026-06-30",
  "previousPeriod": "2026-03-31",
  "rank": 1,
  "ticker": "AAPL",
  "nameOfIssuer": "APPLE INC",
  "cusip": "037833100",
  "changeType": "REDUCED",
  "shares": 400000,
  "sharesPrevious": 500000,
  "sharesChange": -100000,
  "sharesChangePct": -20,
  "valueUsd": 80000000,
  "valuePreviousUsd": 100000000,
  "pctOfPortfolio": 28.4,
  "putCall": null,
  "filingDate": "2026-08-14",
  "filingUrl": "https://www.sec.gov/Archives/edgar/data/…-index.htm"
}
```

Download as **JSON, CSV, Excel, XML or HTML**, or fetch via API. The **`SUMMARY`** record in the key-value store has per-manager totals and the top 10 holdings.

### Use it from code or an AI agent

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("smartmoney-data/sec-13f-hedge-fund-tracker").call(
    run_input={"managers": ["Berkshire Hathaway"], "changeTypes": ["NEW"]}
)
for pos in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(pos["ticker"], pos["changeType"], pos["valueUsd"])
```

**JavaScript**

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('smartmoney-data/sec-13f-hedge-fund-tracker').call({ managers: ['Pershing Square'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**AI agents:** add this Actor as a tool through the [Apify MCP server](https://mcp.apify.com). **No-code:** schedule it quarterly and send results to Google Sheets, Slack, email, Zapier or Make.

### Pricing

**Pay per result** — you're charged for each position returned; filtered-out positions are free. See the **Pricing** tab for current rates. Set a *maximum cost per run* and the Actor stops cleanly when it's reached.

### FAQ

**How current is 13F data?**
13Fs are filed up to 45 days after each quarter end (mid-February, May, August, November) and show holdings as of the quarter end — not today.

**Why don't I see a fund's short positions or cash?**
13F rules only require long positions in US-listed equities, options and convertibles. Shorts, cash, bonds and non-US holdings aren't reported.

**Why is `ticker` empty for some rows?**
A few securities (e.g. warrants, delisted or foreign-listed shares) have no US ticker mapping. The CUSIP and issuer name are always present.

**A manager has thousands of positions — is that OK?**
Yes. Ticker lookup for very large portfolios is faster if you add a free [OpenFIGI API key](https://www.openfigi.com/api) in the input.

**Why does a row have a `dataNote`?**
Some managers file a 13F-NT notice instead of holdings when another entity reports for them. If a manager's newest quarter is only a notice, you get their latest self-reported quarter plus a `dataNote` explaining it, never silently stale data. Built-in shortcuts already follow funds that moved their filings to a new entity (e.g. Pershing Square).

**What about amended filings?**
The original quarterly 13F-HR is used; amendments (13F-HR/A) are ignored for consistency.

### Related Actors

- 👔 [SEC Insider Trades Tracker](https://apify.com/smartmoney-data/sec-insider-trades-tracker) — what CEOs and directors are buying and selling, days after they trade.
- 🏛️ [Congress Stock Trades Tracker](https://apify.com/smartmoney-data/congress-stock-trades-tracker) — stock trades by US Senators and Representatives.
- 🚨 [Form 144 Planned Insider Sales](https://apify.com/smartmoney-data/sec-form-144-planned-insider-sales) — executives and directors who have filed to sell, before the sale happens.

### Support

Found a bug or need a feature? Open an issue on the **Issues** tab or email **smartmoney-data@googlegroups.com** — we usually reply within a day.

*Data is provided for informational purposes only and is not investment advice.*

# Actor input Schema

## `managers` (type: `array`):

SEC CIK numbers of institutional managers (e.g. 1067983), or a built-in name: Berkshire Hathaway, Bridgewater Associates, Renaissance Technologies, Pershing Square, Scion Asset Management, Soros Fund Management, Citadel Advisors, Duquesne Family Office, Third Point, Tiger Global Management, Baupost Group, ARK Investment Management, Appaloosa.

## `period` (type: `string`):

Report period as YYYY-MM-DD (e.g. 2026-06-30). Leave empty for each manager's latest filing.

## `compareWithPreviousQuarter` (type: `boolean`):

Label every position NEW / ADDED / REDUCED / UNCHANGED / EXITED versus the prior quarter's 13F.

## `changeTypes` (type: `array`):

Filter to NEW, ADDED, REDUCED, UNCHANGED and/or EXITED. Leave empty for all positions.

## `minValueUsd` (type: `integer`):

Skip positions worth less than this (current or previous quarter value).

## `maxPositionsPerManager` (type: `integer`):

Keep only the N largest positions per manager (0 = all).

## `resolveTickerSymbols` (type: `boolean`):

13F filings only list CUSIPs. Look up tickers via the free OpenFIGI API.

## `openFigiApiKey` (type: `string`):

Free key from openfigi.com — makes ticker lookup ~25x faster for managers with thousands of positions.

## `secUserAgent` (type: `string`):

The SEC asks automated clients to identify themselves as 'Company Name email@domain.com'.

## Actor input object example

```json
{
  "managers": [
    "Berkshire Hathaway",
    "Pershing Square",
    "Scion Asset Management"
  ],
  "compareWithPreviousQuarter": true,
  "changeTypes": [],
  "minValueUsd": 0,
  "maxPositionsPerManager": 0,
  "resolveTickerSymbols": true,
  "secUserAgent": "SmartMoney Data 13F Tracker smartmoney-data@googlegroups.com"
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "managers": [
        "Berkshire Hathaway",
        "Pershing Square",
        "Scion Asset Management"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("smartmoney-data/sec-13f-hedge-fund-tracker").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 = { "managers": [
        "Berkshire Hathaway",
        "Pershing Square",
        "Scion Asset Management",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("smartmoney-data/sec-13f-hedge-fund-tracker").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "managers": [
    "Berkshire Hathaway",
    "Pershing Square",
    "Scion Asset Management"
  ]
}' |
apify call smartmoney-data/sec-13f-hedge-fund-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,smartmoney-data/sec-13f-hedge-fund-tracker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bneaqBVJAI6aSLU1r/builds/RscKu0ZGtCjnzhi0p/openapi.json
