A summary of the holdings table aggregated by ticker across holder counts, volumes and values. Current count of 31,000 tickers.
Table details
Daily at 04h00 US Eastern (ET)
Quarterly
< 1 day
June 2013
All SEC form 13F institutional holdings securities
Investors, Bundle
SF3A
View table
Explore table metadata
| Indicator Name | Indicator Code | Unit Type | Primary Key | Filter | More |
|---|---|---|---|---|---|
Date | date | date (YYYY-MM-DD) | Y | Y | |
Ticker Symbol | ticker | text | Y | Y | |
Issuer Name | name | text | N | N | |
Number of Shareholders (Institutional) | shrholders | numeric | N | N | |
Number of Call holders (Institutional) | cllholders | numeric | N | N | |
Number of Put holders (institutional) | putholders | numeric | N | N | |
Number of Warrant holders (institutional) | wntholders | numeric | N | N | |
Number of Debt holders (institutional) | dbtholders | numeric | N | N | |
Number of Preferred Stock holders (institutional) | prfholders | numeric | N | N | |
Number of Fund holders (institutional) | fndholders | numeric | N | N | |
Number of Unidentified Security type holders (institutional) | undholders | 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_ticker 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,ticker,shrholders,shrunits |
| ticker | Returns results for the specified ticker. Multiple tickers should be separated with a comma(,). | all | ticker=TSLA |
| 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 ticker:
Return institutional holdings summary data for a specified date range:
Return specific columns from institutional holdings data for a specified ticker and date range:
In Google Sheets, retrieve holdings summary by ticker for a single ticker (AAPL) 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_ticker?api_key=test-api-key&format=csv&ticker=AAPL")Download the [holdings_ticker] 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_ticker.csv.zip "https://api.sharadar.com/v1.0/data/holdings_ticker?api_key=test-api-key&years=full"Check the bulk file status (name, size, last modified) without downloading:
Example response:
{
"table": "holdings_ticker",
"name": "holdings_ticker.csv.zip",
"size": 19265558,
"sizeLabel": "18.4 MB",
"modified": "2026-07-16T05:10:32.520000+00:00"
}