# Superinvestor Portfolio Scraper (`parsebird/superinvestor-scraper`) Actor

Scrape portfolio holdings of 82 tracked superinvestors from Dataroma. Get stock positions, allocation percentages, recent buy/sell activity, reported prices, current prices, and sector breakdowns for investors like Warren Buffett, Bill Ackman, and Seth Klarman.

- **URL**: https://apify.com/parsebird/superinvestor-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** AI, Agents, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 superinvestor holdings

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

### Dataroma Superinvestor Portfolio Scraper

Scrape portfolio holdings of 82 tracked superinvestors from [Dataroma](https://www.dataroma.com). Get stock positions, allocation percentages, recent buy/sell activity, reported prices, current prices, and sector breakdowns for legendary investors like Warren Buffett, Bill Ackman, Michael Burry, and Seth Klarman.

<table><tr>
<td style="border-left:4px solid #1a73e8;padding:12px 16px;font-weight:600">Track what the world's best value investors are buying and selling — extract full portfolio holdings, position sizes, sector allocations, and price changes from SEC 13F filings aggregated by Dataroma.</td>
</tr></table>

<br>

<table>
<tr>
<td colspan="2" style="padding:10px 14px;background:#1a73e8;border:none;border-radius:4px 4px 0 0">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">Dataroma Scraper Suite</span>
<span style="color:#B3D4FC;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Superinvestor and insider trading data</span>
</td>
</tr>
<tr>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 0 4px;border-right:none;border-top:none;vertical-align:top;width:50%;background:#DBEAFE">
&nbsp;<a href="https://apify.com/parsebird/dataroma-superinvestor-scraper" style="color:#1a73e8;text-decoration:none;font-weight:700;font-size:13px">Superinvestor Portfolios</a><br>
<span style="color:#1a73e8;font-size:11px;font-weight:600">&#10148; You are here</span>
</td>
<td style="padding:10px 14px;border:1px solid #E7E5E4;border-radius:0 0 4px 0;border-top:none;vertical-align:top;width:50%">
&nbsp;<a href="https://apify.com/parsebird/dataroma-sec-insider-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">SEC Insider Transactions</a><br>
<span style="color:#78716C;font-size:11px">Real-time SEC Form 4 insider buys & sells</span>
</td>
</tr>
</table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

````

parsebird/dataroma-superinvestor-scraper on Apify. Call: ApifyClient("TOKEN").actor("parsebird/dataroma-superinvestor-scraper").call(run\_input={...}), then client.dataset(run\["defaultDatasetId"]).list\_items().items for results. Key inputs: superinvestors (array of strings, e.g. \["BRK","GA","SAM"], default \[] for all 82), maxResults (integer, 1-50000, default 10000). Full actor spec: fetch build via GET https://api.apify.com/v2/acts/parsebird~dataroma-superinvestor-scraper (Bearer TOKEN). Get token: https://console.apify.com/account/integrations

````

### What does Dataroma Superinvestor Portfolio Scraper do?

This Actor scrapes portfolio holdings data from Dataroma, which aggregates SEC 13F filings from 82 legendary value investors. For each superinvestor's portfolio, it extracts every stock position with detailed metrics.

For each holding, the scraper collects:

- **Stock position** — ticker symbol, company name, number of shares
- **Portfolio weight** — percentage of the superinvestor's total portfolio
- **Recent activity** — whether they bought, added, reduced, or sold the position (with percentage change)
- **Valuation data** — reported price at portfolio date, current price, price change percentage
- **52-week range** — 52-week high and low for context
- **Portfolio metadata** — superinvestor name, total portfolio value, reporting period, portfolio date
- **Sector breakdown** — percentage allocation across sectors for the entire portfolio

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `superinvestors` | Array of strings | `[]` (all) | Superinvestor portfolio IDs to scrape. Leave empty to scrape all 82. Examples: `BRK` (Buffett), `SAM` (Michael Burry), `GA` (Greenhaven), `BAUPOST` (Seth Klarman) |
| `maxResults` | Integer | `10000` | Maximum total stock holdings to return across all portfolios. Recommended to use the default — results return one row per stock each superinvestor owns |

#### Popular superinvestor IDs

| ID | Name |
|----|------|
| `BRK` | Warren Buffett - Berkshire Hathaway |
| `SAM` | Michael Burry - Scion Asset Management |
| `BAUPOST` | Seth Klarman - Baupost Group |
| `PI` | Mohnish Pabrai - Pabrai Investments |
| `GA` | Greenhaven Associates |
| `vg` | Viking Global Investors |
| `LPC` | Stephen Mandel - Lone Pine Capital |
| `AM` | David Tepper - Appaloosa Management |
| `HC` | Li Lu - Himalaya Capital Management |
| `aq` | Guy Spier - Aquamarine Capital |

Find all IDs at [dataroma.com/m/managers.php](https://www.dataroma.com/m/managers.php)

### Output example

```json
{
    "superinvestorName": "Michael Burry - Scion Asset Management",
    "superinvestorId": "SAM",
    "portfolioValue": "$55,001,000",
    "portfolioDate": "30 Sep 2025",
    "period": "Q3 2025",
    "numberOfStocks": 3,
    "symbol": "MOH",
    "stockName": "Molina Healthcare Inc.",
    "percentOfPortfolio": 43.49,
    "recentActivity": "Buy",
    "shares": 125000,
    "reportedPrice": 191.36,
    "value": 23920000,
    "currentPrice": 147.57,
    "changeFromReportedPrice": -22.88,
    "week52Low": 121.06,
    "week52High": 347.79,
    "sectorBreakdown": {
        "Health Care": 43.49,
        "Consumer Goods": 32.35,
        "Financials": 24.16
    },
    "superinvestorUrl": "https://www.dataroma.com/m/holdings.php?m=SAM",
    "scrapedAt": "2026-03-28T12:00:00.000Z"
}
````

### Use cases

- **Investment research** — See what the best investors are buying and selling each quarter
- **Portfolio analysis** — Compare allocations across multiple superinvestors
- **Stock screening** — Find stocks owned by the highest number of superinvestors
- **Sector analysis** — Track sector allocation trends across top fund managers
- **Alert system** — Monitor for new buys or position changes by specific investors
- **Data pipeline** — Feed into financial models, dashboards, or newsletters

### How it works

1. Fetches the full list of 82 tracked superinvestors from Dataroma
2. Filters to specific investors if IDs are provided, otherwise scrapes all
3. Concurrently fetches each superinvestor's holdings page (5 at a time)
4. Parses the HTML tables to extract stock positions, activity, and sector data
5. Returns one record per stock holding, enriched with portfolio metadata

### Pricing

This actor uses a pay-per-event model. Each stock holding row extracted counts as one event.

| Event | Price per 1000 |
|-------|---------------|
| `dr-superinvestor-holding` | $2.00 |

Scraping all 82 superinvestors typically yields 2,000-4,000 holdings total.

### Legal and compliance

This actor scrapes publicly available data from Dataroma, which itself aggregates public SEC 13F filings. The data is freely accessible on the web. Always review and comply with the website's Terms of Service before use.

# Actor input Schema

## `superinvestors` (type: `array`):

List of superinvestor portfolio IDs to scrape (e.g. BRK for Buffett, GA for Greenhaven). Leave empty to scrape all 82 tracked superinvestors. Find IDs on https://www.dataroma.com/m/managers.php

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

Maximum total stock holdings to return across all superinvestors. Recommended to use the default value, as results return one row per stock each superinvestor owns (e.g. a superinvestor holding 30 stocks = 30 results).

## Actor input object example

```json
{
  "superinvestors": [],
  "maxResults": 10000
}
```

# Actor output Schema

## `dataset` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/superinvestor-scraper").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/superinvestor-scraper").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 '{}' |
apify call parsebird/superinvestor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parsebird/superinvestor-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Superinvestor Portfolio Scraper",
        "description": "Scrape portfolio holdings of 82 tracked superinvestors from Dataroma. Get stock positions, allocation percentages, recent buy/sell activity, reported prices, current prices, and sector breakdowns for investors like Warren Buffett, Bill Ackman, and Seth Klarman.",
        "version": "1.1",
        "x-build-id": "7Qq3aDurfpURNB9Va"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parsebird~superinvestor-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parsebird-superinvestor-scraper",
                "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/parsebird~superinvestor-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parsebird-superinvestor-scraper",
                "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/parsebird~superinvestor-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parsebird-superinvestor-scraper",
                "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",
                "properties": {
                    "superinvestors": {
                        "title": "Superinvestor IDs",
                        "type": "array",
                        "description": "List of superinvestor portfolio IDs to scrape (e.g. BRK for Buffett, GA for Greenhaven). Leave empty to scrape all 82 tracked superinvestors. Find IDs on https://www.dataroma.com/m/managers.php",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum total stock holdings to return across all superinvestors. Recommended to use the default value, as results return one row per stock each superinvestor owns (e.g. a superinvestor holding 30 stocks = 30 results).",
                        "default": 10000
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
