# Hedge Fund 13F Consensus - What Top Funds Buy Together (`smartmoney-data/hedge-fund-13f-consensus`) Actor

Cross-fund 13F consensus from SEC EDGAR: the stocks the most hedge funds opened, added to, trimmed or sold out of last quarter, how many hold each, and who. Berkshire, Pershing Square, Scion, Tiger Global and more, or your own list of funds by CIK. Pay per stock.

- **URL**: https://apify.com/smartmoney-data/hedge-fund-13f-consensus.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

$10.00 / 1,000 consensus stocks

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

## Hedge Fund 13F Consensus - What Top Funds Buy Together

**Not what one fund bought: what several of the best-known funds bought *together*. Cross-fund 13F consensus, straight from SEC EDGAR.**

| | |
|---|---|
| **Data** | Official SEC 13F-HR filings from top funds |
| **Price** | $10 per 1,000 stocks, no subscription. Apify's free plan credit covers a first test. |
| **Freshness** | Each quarter, as soon as funds file |
| **Try it** | The input is pre-filled with a working example: just click **Start**. |

**Example output**

| Ticker | Funds buying | Funds selling | Net | Top buyers |
|---|---|---|---|---|
| XYZ | 9 | 1 | +8 | Example Capital, Sample Partners |
| ABC | 2 | 7 | -5 | Demo Fund |

*Illustrative rows; real runs return the full fields listed under Output.*

One manager opening a position can be noise. Four of them opening it in the same quarter is a theme. This Actor loads the latest 13F filing of every fund you pick, compares each to its previous quarter, and returns one row per stock: how many funds hold it, who opened, added, trimmed or sold out, the combined value and change in shares, and who holds it at high conviction.

### What you can do with it

- 🧮 **Quarterly theme report:** the stocks most top funds piled into, and the ones they all dumped.
- 🎯 **Idea generation:** new positions opened by 2+ value investors in the same quarter.
- 📰 **Content:** "What Buffett, Ackman and Burry agree on", ready-made every 13F season.
- 🤖 **AI agents:** "Which stocks did the most hedge funds buy last quarter?" as one tool call.

### How it works

1. Lists each fund's 13F-HR filings and picks the **newest quarter at least half of the funds have filed** (or the `period` you set). Funds that haven't filed it yet are listed in `SUMMARY.skippedManagers`, not mixed in from another quarter.
2. Compares each fund's holdings with its previous quarter: **NEW, ADDED, REDUCED, EXITED**.
3. Aggregates by security (CUSIP). The **consensus score** is `2 × new + added − reduced − 2 × exited`: opening and closing a whole position count double.
4. Looks up tickers for the rows returned (OpenFIGI, cached across runs).

Preset funds: 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. Add any other filer by its SEC CIK.

### How to use it

#### Most bought by the default value-investor list

```json
{}
```

#### Most sold, among funds you choose

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

#### New positions opened by at least 3 funds, $50M+ combined

```json
{ "sortBy": "newPositions", "minHolders": 3, "minValueUsd": 50000000 }
```

### Output

One row per stock, ranked. Example (illustrative values):

```json
{
  "rank": 1,
  "ticker": "NVDA",
  "nameOfIssuer": "NVIDIA CORPORATION",
  "cusip": "67066G104",
  "period": "2026-06-30",
  "previousPeriod": "2026-03-31",
  "managersCompared": 9,
  "holdersCount": 4,
  "newPositionsCount": 2,
  "addedCount": 1,
  "reducedCount": 1,
  "exitedCount": 0,
  "netBuyers": 2,
  "consensusScore": 4,
  "highConvictionCount": 1,
  "totalValueUsd": 1840000000,
  "totalValuePreviousUsd": 1120000000,
  "aggregateSharesChangePct": 38.5,
  "avgPctOfPortfolio": 3.1,
  "maxPctOfPortfolio": 7.4,
  "topHolder": "TIGER GLOBAL MANAGEMENT LLC",
  "holders": ["…"],
  "newPositionsBy": ["THIRD POINT LLC", "APPALOOSA LP"],
  "addedBy": ["TIGER GLOBAL MANAGEMENT LLC"],
  "reducedBy": ["SOROS FUND MANAGEMENT LLC"],
  "exitedBy": []
}
```

The **`SUMMARY`** record lists the funds compared, their positions and filing links, funds skipped or failed, and the top 10 most bought and most sold.

### 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/hedge-fund-13f-consensus").call(run_input={"sortBy": "newPositions"})
for s in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(s["ticker"], s["consensusScore"], s["newPositionsBy"])
```

**AI agents (Claude, ChatGPT, Cursor and other MCP clients):** connect the Apify MCP server with this Actor preloaded:

```text
https://mcp.apify.com/?tools=smartmoney-data/hedge-fund-13f-consensus
```

Add this URL as a remote MCP server or custom connector in your AI client, sign in with Apify (OAuth), then just ask, for example:

> Which stocks did the most top hedge funds buy together last quarter?

**No-code:** schedule it for mid-February, May, August and November, when 13Fs land.

> 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) · [13D/13G Activist Stakes](https://apify.com/smartmoney-data/sec-13d-13g-activist-stakes) · [8-K Material Events](https://apify.com/smartmoney-data/sec-8k-material-events) · [Smart Money Confluence](https://apify.com/smartmoney-data/smart-money-confluence-score) · [Short Squeeze Radar](https://apify.com/smartmoney-data/short-squeeze-radar)

### Pricing

**Pay per stock:** you're charged for each stock row returned; the funds and filings read to build it are free. See the **Pricing** tab for current rates.

### FAQ

**How current is 13F data?**
13Fs are due 45 days after each quarter ends, so the latest quarter is 6 to 20 weeks old. It shows positioning, not today's trades. For real-time signals pair it with the [Smart Money Confluence Score](https://apify.com/smartmoney-data/smart-money-confluence-score).

**Why are put and call positions left out?**
A put is a bet *against* a stock, so counting it as a holder would be misleading. Set `includeOptions: true` to see them as separate rows.

**A fund I added has no prior quarter. What happens?**
It counts as a holder but never as a buyer or seller, so its whole portfolio doesn't show up as NEW.

**Why is `ticker` empty for some rows?**
Some CUSIPs (private shares, warrants, delisted securities) have no ticker in OpenFIGI. Name and CUSIP are always present.

**Is this legal to use?**
Yes. 13F filings are public data published by the US Securities and Exchange Commission.

### Related Actors

- 🏦 [Hedge Fund 13F Holdings Tracker](https://apify.com/smartmoney-data/sec-13f-hedge-fund-tracker): one fund's full portfolio, position by position.
- 🧭 [Smart Money Confluence Score](https://apify.com/smartmoney-data/smart-money-confluence-score): insiders, activists and Congress in one score per ticker.
- 🎯 [13D & 13G Activist Stakes](https://apify.com/smartmoney-data/sec-13d-13g-activist-stakes): 5%+ stakes as they happen, between 13F seasons.

### Support

**Useful?** A short review on this page helps other people find it, and we read every one.

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`):

Funds to compare: preset names (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) or any SEC CIK number.

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

Quarter-end date to compare, e.g. 2026-06-30, against the quarter before it. Empty picks the newest quarter at least half of the funds have filed.

## `sortBy` (type: `string`):

Consensus score counts new positions and full exits double: 2 x new + added - reduced - 2 x exited.

## `minHolders` (type: `integer`):

Only return stocks that at least this many of the funds held this quarter or sold out of. 1 includes single-fund positions.

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

Skip stocks whose combined value across the funds (this or last quarter) is below this.

## `maxResults` (type: `integer`):

Return at most this many stocks, after sorting.

## `includeOptions` (type: `boolean`):

Option positions are left out by default; when included they appear as separate rows.

## `highConvictionPct` (type: `number`):

A fund counts as a high-conviction holder when the stock is at least this share of its 13F portfolio.

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

Look up tickers for the returned CUSIPs via OpenFIGI (cached across runs).

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

A free openfigi.com key raises the ticker lookup rate limit.

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

The SEC asks automated clients to identify themselves as 'Company Name email@domain.com'. Put your own contact here for heavy use.

## Actor input object example

```json
{
  "managers": [
    "Berkshire Hathaway",
    "Pershing Square",
    "Scion Asset Management",
    "Third Point",
    "Tiger Global Management",
    "Baupost Group",
    "Appaloosa",
    "Duquesne Family Office",
    "Soros Fund Management"
  ],
  "period": "",
  "sortBy": "consensus",
  "minHolders": 2,
  "minValueUsd": 0,
  "maxResults": 100,
  "includeOptions": false,
  "highConvictionPct": 5,
  "resolveTickerSymbols": true,
  "secUserAgent": "SmartMoney Data 13F Consensus 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",
        "Third Point",
        "Tiger Global Management",
        "Baupost Group",
        "Appaloosa",
        "Duquesne Family Office",
        "Soros Fund Management"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("smartmoney-data/hedge-fund-13f-consensus").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",
        "Third Point",
        "Tiger Global Management",
        "Baupost Group",
        "Appaloosa",
        "Duquesne Family Office",
        "Soros Fund Management",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("smartmoney-data/hedge-fund-13f-consensus").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",
    "Third Point",
    "Tiger Global Management",
    "Baupost Group",
    "Appaloosa",
    "Duquesne Family Office",
    "Soros Fund Management"
  ]
}' |
apify call smartmoney-data/hedge-fund-13f-consensus --silent --output-dataset

```

## MCP server setup

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

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/p6PYHbcwLP8iMHiSZ/builds/FHGpttnwmnaiDSP22/openapi.json
