← Back to Home

FMP Node API Documentation

Core API Wrapper

Institutional Endpoints

The Institutional Endpoints provide access to Form 13F filings, institutional ownership data, and institutional holder information. These endpoints help you track institutional investment activities and ownership patterns.

Available Methods

MethodEndpointDescription
GET/form-thirteen/{cik}Get Form 13F institutional stock ownership data
GET/form-thirteen-date/{cik}Get available Form 13F filing dates for an institution
GET/institutional-holder/{symbol}Get institutional holders for a specific stock

Get Form 13F Data

Retrieve Form 13F institutional stock ownership data for a specific CIK (Central Index Key) and filing date. Form 13F reports are filed quarterly by institutional investment managers with at least $100 million in assets under management.

1const form13F = await fmp.institutional.getForm13F({
2cik: '0001388838',
3date: '2021-09-30'
4});

Parameters

ParameterTypeRequiredDescription
cikstringYesCentral Index Key (CIK) of the institutional investor (10-digit number with leading zeros)
datestringYesFiling date in YYYY-MM-DD format (quarterly filing dates: 03-31, 06-30, 09-30, 12-31)

Example Response

1{
2  success: true,
3  data: [
4    {
5      acceptedDate: "2021-11-15",
6      cik: "0001388838",
7      cusip: "69331C108",
8      date: "2021-09-30",
9      fillingDate: "2021-11-15",
10      finalLink: "https://www.sec.gov/Archives/edgar/data/1388838/000117266121002324/infotable.xml",
11      link: "https://www.sec.gov/Archives/edgar/data/1388838/000117266121002324/0001172661-21-002324-index.htm",
12      nameOfIssuer: "PG&E CORP",
13      shares: 57900,
14      tickercusip: "PCG",
15      titleOfClass: "COM",
16      value: 556000
17    },
18    {
19      acceptedDate: "2021-11-15",
20      cik: "0001388838",
21      cusip: "037833100",
22      date: "2021-09-30",
23      fillingDate: "2021-11-15",
24      finalLink: "https://www.sec.gov/Archives/edgar/data/1388838/000117266121002324/infotable.xml",
25      link: "https://www.sec.gov/Archives/edgar/data/1388838/000117266121002324/0001172661-21-002324-index.htm",
26      nameOfIssuer: "APPLE INC",
27      shares: 1000000,
28      tickercusip: "AAPL",
29      titleOfClass: "COM",
30      value: 142000000
31    }
32  ]
33}

Get Form 13F Dates

Retrieve available Form 13F filing dates for a specific institutional investor (CIK). This helps you identify which quarters have been filed and are available for analysis.

1const form13FDates = await fmp.institutional.getForm13FDates({
2cik: '0001067983'
3});

Parameters

ParameterTypeRequiredDescription
cikstringYesCentral Index Key (CIK) of the institutional investor (10-digit number with leading zeros)

Example Response

1{
2  success: true,
3  data: [
4    "2025-03-31",
5    "2024-12-31",
6    "2024-09-30",
7    "2024-06-30",
8    "2024-03-31",
9    "2023-12-31"
10  ]
11}

Get Institutional Holders

Retrieve information about institutional holders for a specific stock symbol. This data shows which institutional investors own shares in the company and their current positions.

1const institutionalHolders = await fmp.institutional.getInstitutionalHolders({
2symbol: 'AAPL'
3});

Parameters

ParameterTypeRequiredDescription
symbolstringYesStock symbol (e.g., "AAPL", "MSFT", "GOOGL")

Example Response

1{
2  success: true,
3  data: [
4    {
5      change: 524612,
6      dateReported: "2025-06-30",
7      holder: "WEALTH ENHANCEMENT ADVISORY SERVICES, LLC",
8      shares: 7551499
9    },
10    {
11      change: -125000,
12      dateReported: "2025-06-30",
13      holder: "BLACKROCK INC.",
14      shares: 12345678
15    },
16    {
17      change: 250000,
18      dateReported: "2025-06-30",
19      holder: "VANGUARD GROUP INC",
20      shares: 9876543
21    }
22  ]
23}

Understanding Form 13F Data

Form 13F reports provide valuable insights into institutional investment strategies:

Key Fields Explained

  • cik: Central Index Key - unique identifier for the institutional investor
  • cusip: Committee on Uniform Securities Identification Procedures - unique identifier for the security
  • nameOfIssuer: Company name of the security issuer
  • tickercusip: Stock ticker symbol
  • titleOfClass: Class of security (usually "COM" for common stock)
  • shares: Number of shares held
  • value: Total market value of the position (in USD)
  • date: Quarter-end date of the filing
  • acceptedDate: Date the SEC accepted the filing
  • fillingDate: Date the filing was submitted

Common CIKs

Some well-known institutional investors and their CIKs:

  • BlackRock Inc.: 0001364742
  • Vanguard Group Inc.: 0000102909
  • State Street Corporation: 0000093751
  • Fidelity Management: 0000315066
  • T. Rowe Price: 0001113169

Use Cases

1. Track Institutional Sentiment

Monitor how institutional investors are positioning themselves in specific stocks or sectors.

1// Get institutional holders for a stock
2const holders = await fmp.institutional.getInstitutionalHolders({ symbol: 'AAPL' });
3
4// Analyze institutional sentiment
5const totalShares = holders.data.reduce((sum, holder) => sum + holder.shares, 0);
6const netChange = holders.data.reduce((sum, holder) => sum + holder.change, 0);
7
8console.log('Total institutional shares:', totalShares);
9console.log('Net institutional change:', netChange);

2. Monitor Specific Institutions

Track the holdings of specific institutional investors across different companies.

1// Get available dates for BlackRock
2const dates = await fmp.institutional.getForm13FDates({ cik: '0001364742' });
3
4// Get BlackRock's holdings for the most recent quarter
5const holdings = await fmp.institutional.getForm13F({
6cik: '0001364742',
7date: dates.data[0] // Most recent date
8});
9
10console.log('BlackRock holdings:', holdings.data);

3. Sector Analysis

Analyze institutional ownership patterns across different sectors.

1// Compare institutional ownership across tech stocks
2const techStocks = ['AAPL', 'MSFT', 'GOOGL', 'AMZN', 'META'];
3
4for (const symbol of techStocks) {
5const holders = await fmp.institutional.getInstitutionalHolders({ symbol });
6const totalShares = holders.data.reduce((sum, holder) => sum + holder.shares, 0);
7console.log(`${symbol}: ${totalShares.toLocaleString()} institutional shares`);
8}

Error Handling

Always check the success property before accessing data:

1const form13F = await fmp.institutional.getForm13F({
2cik: '0001388838',
3date: '2021-09-30'
4});
5
6if (form13F.success && form13F.data) {
7console.log('Form 13F data:', form13F.data);
8} else {
9console.error('Error:', form13F.error);
10console.error('Status:', form13F.status);
11}

Rate Limiting

Institutional endpoints are subject to FMP's rate limits. For production applications, implement appropriate rate limiting and caching strategies.

Data Availability

  • Form 13F Data: Available quarterly (45 days after quarter-end)
  • Institutional Holders: Updated regularly based on latest filings
  • Historical Data: Limited by filing requirements and data availability

Next Steps

Explore other endpoint categories:


Ready to analyze institutional data? Check out the Financial Endpoints for comprehensive financial analysis tools.