# SEC 13F Manager Quarterly Report Scraper (`maximedupre/sec-13f-manager-quarterly-report-scraper`) Actor

SEC 13F Manager Quarterly Report Scraper gets 13f.info holdings for a manager and quarter. Export symbols, issuers, CUSIPs, values, shares, CIK, accession, and report links for research or audit workflows.

- **URL**: https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Business, Developer tools, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.05 / 1,000 scraped holdings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### 📊 SEC 13F Manager Quarterly Report Scraper

SEC 13F Manager Quarterly Report Scraper gets the holdings table for one investment manager and one quarter from [13f.info](https://13f.info/). It saves one Apify dataset item per holding, with the security, issuer, CUSIP, value, shares, portfolio percent, manager CIK, accession number, and source report link ready for export or API use.

- Check [a manager's quarterly 13F holdings](https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper/tasks/check-quarterly-13f-holdings) without opening 13f.info by hand.
- [Export holdings from managers such as Berkshire Hathaway Inc](https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper/tasks/export-berkshire-holdings) for spreadsheet research.
- Keep [report identity fields](https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper/tasks/audit-report-identity-fields) beside each holding for audit and review.
- [Schedule repeat runs for the same manager-quarter workflow](https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper/tasks/schedule-manager-quarter-checks) when new periods matter.
- Send [clean holding rows](https://apify.com/maximedupre/sec-13f-manager-quarterly-report-scraper/tasks/send-holding-rows-to-integrations) to a database, dashboard, or downstream Apify integration.

#### 📦 Returned data

Each dataset item is one holding from the selected manager-quarter report. Fields can be `null` when the source report does not expose that value.

- `managerName` and `managerCik` identify the manager used for the report.
- `reportPeriod`, `filingAccessionNumber`, and `reportUrl` make each row traceable to the source report.
- `sourceRowNumber` keeps the holding order from the source table.
- `symbol`, `issuerName`, `securityClass`, and `cusip` identify the reported security.
- `valueUsdThousands`, `portfolioPercent`, `shares`, `principal`, and `optionType` carry the holding facts shown by 13f.info.

The Actor does not add investment advice, analyst ratings, AI summaries, or guessed values. It keeps missing source fields empty.

#### ▶️ How to run

1. Open the Actor input.
2. Add **Manager name**, for example `Berkshire Hathaway Inc`.
3. Add **Quarter**, for example `Q2 2024`.
4. Start the Actor.
5. Open the dataset and export JSON, CSV, Excel, XML, RSS, or HTML, or read the rows through the Apify API.

Use the manager name as it appears on 13f.info. If a manager or quarter does not have a matching report, the run finishes without saving placeholder rows or charging for nonexistent holdings.

#### ⚙️ Input

```json
{
  "managerName": "Berkshire Hathaway Inc",
  "quarter": "Q2 2024"
}
````

`quarter` must use the `Qn YYYY` format, such as `Q1 2025` or `Q4 2023`.

#### 🧾 Output example

```json
{
  "managerName": "Berkshire Hathaway Inc",
  "managerCik": "0001067983",
  "reportPeriod": "2024-06-30",
  "filingAccessionNumber": "0000950123-24-008740",
  "reportUrl": "https://13f.info/13f/000095012324008740-berkshire-hathaway-inc-q2-2024",
  "sourceRowNumber": 1,
  "symbol": "AAPL",
  "issuerName": "APPLE INC",
  "securityClass": "COM",
  "cusip": "037833100",
  "valueUsdThousands": 84248000,
  "portfolioPercent": 30.1,
  "shares": 400000000,
  "principal": null,
  "optionType": null
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each successful holding saved to the dataset. Invalid manager names, unavailable quarters, empty outcomes, and failed source lookups do not create holding rows and are not charged as holding results.

#### 🔌 Integrations

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

- Call the Actor through the Apify API from scripts, apps, or internal tools.
- Schedule repeat runs for recurring manager-quarter checks.
- Export datasets as CSV, JSON, Excel, XML, RSS, or HTML.
- Send finished runs to webhooks or other Apify integrations.
- Load saved rows into spreadsheets, warehouses, dashboards, or review workflows.

#### ❓ FAQ

**Can I search by ticker instead of manager?**

No. This Actor is built for one manager and one quarter per run. Use a manager name that appears on 13f.info.

**What quarter format should I use?**

Use `Qn YYYY`, such as `Q2 2024`. The input accepts `Q1`, `Q2`, `Q3`, or `Q4` plus a four-digit year.

**Does the Actor need SEC credentials, a 13f.info account, cookies, or an API key?**

No. The run uses public 13f.info pages and data. You only need your normal Apify account to run the Actor.

**Why not use the 13f.info API?**

13f.info is the source surface for this Actor, but users still get Apify features around the data: a structured dataset, exports, API access, schedules, webhooks, and run history.

**What are 13f.info alternatives?**

Alternatives include SEC EDGAR filings directly, WhaleWisdom, SEC filing data providers, or broader 13F tracking tools. This Actor stays focused on the 13f.info manager-quarter report workflow and returns one row per holding.

### 📝 Changelog

- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~sec-13f-manager-quarterly-report-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Morningstar Scraper ↗](https://apify.com/maximedupre/morningstar-scraper) - Export public Morningstar stock, mutual fund, and ETF research rows.
- [GLEIF LEI Lookup ↗](https://apify.com/maximedupre/gleif-lei-lookup) - Look up official Legal Entity Identifier data for companies and counterparties.
- [Etherscan Scraper ↗](https://apify.com/maximedupre/etherscan-scraper) - Collect public Ethereum holder, gas, and token leaderboard data.
- [Bitget Tickers Scraper ↗](https://apify.com/maximedupre/bitget-tickers-scraper) - Export Bitget spot and futures market ticker snapshots.
- [Pappers Sirene Scraper ↗](https://apify.com/maximedupre/pappers-sirene-scraper) - Search and export public French company registry data.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `managerName` (type: `string`):

Enter the investment manager name to look up.

## `quarter` (type: `string`):

Use a quarter such as Q2 2024.

## Actor input object example

```json
{
  "managerName": "Berkshire Hathaway Inc",
  "quarter": "Q2 2024"
}
```

# Actor output Schema

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

Open the dataset with one item per scraped holding.

# 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 = {
    "managerName": "Berkshire Hathaway Inc",
    "quarter": "Q2 2024"
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/sec-13f-manager-quarterly-report-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 = {
    "managerName": "Berkshire Hathaway Inc",
    "quarter": "Q2 2024",
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/sec-13f-manager-quarterly-report-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 '{
  "managerName": "Berkshire Hathaway Inc",
  "quarter": "Q2 2024"
}' |
apify call maximedupre/sec-13f-manager-quarterly-report-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=maximedupre/sec-13f-manager-quarterly-report-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SEC 13F Manager Quarterly Report Scraper",
        "description": "SEC 13F Manager Quarterly Report Scraper gets 13f.info holdings for a manager and quarter. Export symbols, issuers, CUSIPs, values, shares, CIK, accession, and report links for research or audit workflows.",
        "version": "0.1",
        "x-build-id": "Ltm17lb8yglyOmfdR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~sec-13f-manager-quarterly-report-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-sec-13f-manager-quarterly-report-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/maximedupre~sec-13f-manager-quarterly-report-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-sec-13f-manager-quarterly-report-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/maximedupre~sec-13f-manager-quarterly-report-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-sec-13f-manager-quarterly-report-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",
                "required": [
                    "managerName",
                    "quarter"
                ],
                "properties": {
                    "managerName": {
                        "title": "Manager name",
                        "type": "string",
                        "description": "Enter the investment manager name to look up.",
                        "default": "Berkshire Hathaway Inc"
                    },
                    "quarter": {
                        "title": "Quarter",
                        "pattern": "^Q[1-4] [0-9]{4}$",
                        "type": "string",
                        "description": "Use a quarter such as Q2 2024.",
                        "default": "Q2 2024"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
