get_institutional_holders
Retrieve institutional ownership data from 13F filings for a specific stock ticker symbol to analyze investor holdings.
Instructions
Get institutional ownership (13F filings) for a stock
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol | |
| limit | No | Number of holders to return (default: 100) |
Implementation Reference
- src/tools/analysis.ts:114-131 (handler)The handler function for 'get_institutional_holders' which fetches institutional ownership data from FMP API.
server.registerTool( 'get_institutional_holders', { description: 'Get institutional ownership (13F filings) for a stock', inputSchema: InstitutionalHoldersSchema, }, async (args: z.infer<typeof InstitutionalHoldersSchema>) => { try { const limit = args.limit || 100; const data = await fetchFMP<InstitutionalHolder[]>( `/institutional-ownership/latest?symbol=${args.symbol.toUpperCase()}&limit=${limit}` ); return jsonResponse(data); } catch (error) { return errorResponse(error); } } ); - src/tools/analysis.ts:29-32 (schema)The Zod schema defining the inputs for the institutional holders tool.
const InstitutionalHoldersSchema = z.object({ symbol: SymbolSchema.describe('Stock ticker symbol'), limit: LimitSchema.describe('Number of holders to return (default: 100)'), }); - src/tools/analysis.ts:114-131 (registration)Registration of 'get_institutional_holders' within registerAnalysisTools.
server.registerTool( 'get_institutional_holders', { description: 'Get institutional ownership (13F filings) for a stock', inputSchema: InstitutionalHoldersSchema, }, async (args: z.infer<typeof InstitutionalHoldersSchema>) => { try { const limit = args.limit || 100; const data = await fetchFMP<InstitutionalHolder[]>( `/institutional-ownership/latest?symbol=${args.symbol.toUpperCase()}&limit=${limit}` ); return jsonResponse(data); } catch (error) { return errorResponse(error); } } );