A summary of the holdings table aggregated by investor across holdings counts, volumes and values. Current count of 13,000 institutional investors.
Table details
Daily at 04h00 US Eastern (ET)
Quarterly
< 1 day
June 2013
All SEC form 13F institutional filings
Investors, Bundle
SF3B
View table
Explore table metadata
| Indicator Name | Indicator Code | Unit Type | Primary Key | Filter | More |
|---|---|---|---|---|---|
Date | date | date (YYYY-MM-DD) | Y | Y | |
Institutional Investor Code | investorid | text | Y | Y | |
Investor Name | investorname | text | N | N | |
Number of Distinct Share holdings (institutional) | shrholdings | numeric | N | N | |
Number of Distinct Call holdings (institutional) | cllholdings | numeric | N | N | |
Number of Distinct Put holdings (institutional) | putholdings | numeric | N | N | |
Number of Distinct Warrant holdings (institutional) | wntholdings | numeric | N | N | |
Number of Distinct Debt holdings (institutional) | dbtholdings | numeric | N | N | |
Number of Distinct Preferred Stock holdings (institutional) | prfholdings | numeric | N | N | |
Number of Distinct Fund holdings (institutional) | fndholdings | numeric | N | N | |
Number of Distinct Unidentified Security type holdings (institutional) | undholdings | numeric | N | N | |
Number of Share Units held (institutional) | shrunits | unit thousands | N | N | |
Number of Call Units held (institutional) | cllunits | unit thousands | N | N | |
Number of Put Units held (institutional) | putunits | unit thousands | N | N | |
Number of Warrant Units held (institutional) | wntunits | unit thousands | N | N | |
Number of Debt Units held (institutional) | dbtunits | unit thousands | N | N | |
Number of Preferred Stock units held (institutional) | prfunits | unit thousands | N | N | |
Number of Fund units held (institutional) | fndunits | unit thousands | N | N | |
Number of Unidentified Security type units held (institutional) | undunits | unit thousands | N | N | |
Value of Share units held (institutional) | shrvalue | USD millions | N | N | |
Value of Call units held (institutional) | cllvalue | USD millions | N | N | |
Value of Put units held (institutional) | putvalue | USD millions | N | N | |
Value of Warrant units held (institutional) | wntvalue | USD millions | N | N | |
Value of Debt units held (institutional) | dbtvalue | USD millions | N | N | |
Value of Preferred Stock units held (institutional) | prfvalue | USD millions | N | N | |
Value of Fund units held (institutional) | fndvalue | USD millions | N | N | |
Value of Unidentified Security type units held (institutional) | undvalue | USD millions | N | N | |
Total Value of all Security types held (institutional) | totalvalue | USD millions | N | N | |
Percentage of Total Institutional Holdings for the Quarter | percentoftotal | percent | N | N |
The table is queried via the following endpoint:
The queries are authenticated and filtered using query parameters. A query parameter specifies a particular option or filter for the data to be returned. Examples of query parameter include the data format to be returned (format), the table columns to return (fields) or a filter to be applied (tablename). These are appended to the endpoint above, following a ?. The most important of these is your API key (api_key) which is used to authenticate you. Without a valid API key, results will not be returned.
The holdings_investor table supports the following query parameters:
| Parameter | Description | Default | Examples |
|---|---|---|---|
| format | The format of the results to be returned. | csv | format=json |
| years | Triggers a bulk download of the full table as a compressed CSV. Values: 5, 10, or full. The API redirects to a time-limited download URL. | years=5 | |
| from | Specifies the filing date from which to return data. | 1 year ago | from=2023-08-01 |
| to | Specifies the filing date to return data until. | prior day | to=2023-08-31 |
| fields | The fields (table columns) to return. | all | fields=date,investorid,investorname,totalvalue,percentoftotal |
| investorid | Returns results for the specified institutional investor (6-character code). | investorid=BERHAT | |
| investorname | Returns results for the specified institutional investor display name. | investorname=BERKSHIRE HATHAWAY INC | |
| limit | The number of records to return. | 10000 | limit=10000 |
| skip | The number of results to skip before returning data. Alias: offset. | 0 | skip=10000 |
| sort | The field used to sort the data and the sort method (asc/desc). | date.desc | sort=totalvalue.asc |
Retrieve the PostgreSQL schema:
Retrieve the SQLite schema:
Retrieve the MySQL schema:
Return institutional holdings summary data for a specified insitution:
Return institutional holdings summary data for a specified date range:
Return specific columns from institutional holdings data for a specified institution and date range:
In Google Sheets, retrieve holdings summary for a single investor (Berkshire Hathaway) with IMPORTDATA. You can change the query parameters (ticker, dates, fields, filters, and so on) in the same way as the Examples in the preceding section. Paste this formula into a cell (A1):
=IMPORTDATA("https://api.sharadar.com/v1.0/data/holdings_investor?api_key=test-api-key&format=csv&investorid=BERHAT")Download the [holdings_investor] table as a compressed CSV by setting years to 5, 10, or full. The API responds with a redirect to a time-limited download URL:
Example using curl (follow redirects and write the file):
curl -L -o holdings_investor.csv.zip "https://api.sharadar.com/v1.0/data/holdings_investor?api_key=test-api-key&years=full"Check the bulk file status (name, size, last modified) without downloading:
Example response:
{
"table": "holdings_investor",
"name": "holdings_investor.csv.zip",
"size": 10341233,
"sizeLabel": "9.86 MB",
"modified": "2026-07-16T06:11:20.863000+00:00"
}