fmp-node-api 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { FMPConfig, APIResponse, MarketCap, StockSplitResponse, StockDividendResponse, StockRealTimePrice, StockRealTimePriceFull, IncomeStatement, BalanceSheet, CashFlowStatement, KeyMetrics, FinancialRatios, EnterpriseValue, CashflowGrowth, IncomeGrowth, BalanceSheetGrowth, FinancialGrowth, EarningsHistorical, EarningsSurprises, ETFHoldingDates, ETFHolding, ETFHolder, ETFProfile, ETFWeighting, ETFCountryWeighting, ETFStockExposure, TreasuryRate, EconomicIndicator, MarketHours, MarketPerformance, MarketSectorPerformance, MarketIndex, StockList, ETFList, CryptoList, ForexList, AvailableIndexesList, EarningsCalendar, EarningsConfirmed, DividendsCalendar, EconomicsCalendar, IPOCalendar, SplitsCalendar, CompanyProfile, ExecutiveCompensation, CompanyNotes, HistoricalEmployeeCount, SharesFloat, HistoricalSharesFloat, EarningsCallTranscript, CompanyTranscriptData, Quote, HistoricalPriceResponse, HistoricalPriceData, SenateTradingResponse, SenateHouseTradingByNameResponse, HouseTradingResponse, Form13FResponse, InstitutionalHolderResponse, InsiderTradingRSSResponse, InsiderTradingSearchResponse, TransactionTypesResponse, InsidersBySymbolResponse, InsiderTradeStatisticsResponse, CikMapperResponse, CikMapperBySymbolResponse, BeneficialOwnershipResponse, FailToDeliverResponse, TransactionType, RSSFeedItem, RSSFeedAllItem, RSSFeedV3Item, RSSFeed8KItem, SECFiling, IndustryClassification, IndustryClassificationCode, MutualFundHolding } from './types-only.mjs';
1
+ import { FMPConfig, APIResponse, EarningsCalendar, EarningsConfirmed, DividendsCalendar, EconomicsCalendar, IPOCalendar, SplitsCalendar, CompanyProfile, ExecutiveCompensation, CompanyNotes, HistoricalEmployeeCount, SharesFloat, HistoricalSharesFloat, EarningsCallTranscript, CompanyTranscriptData, TreasuryRate, EconomicIndicator, ETFHoldingDates, ETFHolding, ETFHolder, ETFProfile, ETFWeighting, ETFCountryWeighting, ETFStockExposure, IncomeStatement, BalanceSheet, CashFlowStatement, KeyMetrics, FinancialRatios, EnterpriseValue, CashflowGrowth, IncomeGrowth, BalanceSheetGrowth, FinancialGrowth, EarningsHistorical, EarningsSurprises, InsiderTradingRSSResponse, InsiderTradingSearchResponse, TransactionTypesResponse, InsidersBySymbolResponse, InsiderTradeStatisticsResponse, CikMapperResponse, CikMapperBySymbolResponse, BeneficialOwnershipResponse, FailToDeliverResponse, TransactionType, Form13FResponse, InstitutionalHolderResponse, StockList, ETFList, CryptoList, ForexList, AvailableIndexesList, MarketHours, MarketPerformance, MarketSectorPerformance, MarketIndex, MutualFundHolding, Article, News, Quote, HistoricalPriceResponse, HistoricalPriceData, ScreenerParams, Screener, AvailableExchanges, AvailableSectors, AvailableIndustries, AvailableCountries, RSSFeedItem, RSSFeedAllItem, RSSFeedV3Item, RSSFeed8KItem, SECFiling, IndustryClassification, IndustryClassificationCode, SenateTradingResponse, SenateHouseTradingByNameResponse, HouseTradingResponse, MarketCap, StockSplitResponse, StockDividendResponse, StockRealTimePrice, StockRealTimePriceFull } from './types-only.mjs';
2
2
  export { CompaniesPriceListResponse, DateRangeParams, EconomicIndicatorName, Exchange, IndividualIndustryClassificationParams, IndustryClassificationCodesParams, MarketHoliday, PaginationParams, Period, PeriodParams, QueryParams, RSSFeed8KParams, RSSFeedParams, RSSFeedV3Params, SECFilingsParams, StockDividend, StockListResponse, StockSplit, SymbolParams } from './types-only.mjs';
3
3
  export { FMPValidation } from './utils/validation.mjs';
4
4
 
@@ -24,537 +24,552 @@ declare class FMPClient {
24
24
  private getClientForVersion;
25
25
  }
26
26
 
27
- declare class StockEndpoints {
28
- private client;
29
- constructor(client: FMPClient);
27
+ declare class CalendarEndpoints {
28
+ private _client;
29
+ constructor(_client: FMPClient);
30
30
  /**
31
- * Get current market capitalization for a stock
31
+ * Get earnings calendar data
32
32
  *
33
- * Market capitalization represents the total value of a company's outstanding shares.
34
- * Calculated by multiplying the current share price by the number of outstanding shares.
35
- * This metric is crucial for understanding a company's size and market position.
33
+ * Provides upcoming earnings announcements for all publicly traded companies
34
+ * within a specified date range. Essential for tracking earnings season,
35
+ * market events, and investment timing decisions.
36
36
  *
37
- * @param symbol - The stock symbol to get market cap for (e.g., 'AAPL', 'MSFT', 'GOOGL')
37
+ * @param params - Earnings calendar request parameters
38
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
39
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
38
40
  *
39
- * @returns Promise resolving to market cap data including symbol, date, and market cap value
41
+ * @returns Promise resolving to array of earnings calendar data with announcement details
40
42
  *
41
43
  * @example
42
44
  * ```typescript
43
- * // Get market cap for Apple
44
- * const marketCap = await fmp.stock.getMarketCap('AAPL');
45
- * console.log(`Apple's market cap: $${marketCap.data.marketCap.toLocaleString()}`);
45
+ * // Get earnings calendar for next week
46
+ * const earningsCalendar = await fmp.calendar.getEarningsCalendar({
47
+ * from: '2024-01-15',
48
+ * to: '2024-01-22'
49
+ * });
50
+ * earningsCalendar.data.forEach(earning => {
51
+ * console.log(`${earning.date}: ${earning.symbol} - Est. EPS: ${earning.estimatedEps}`);
52
+ * });
46
53
  *
47
- * // Get market cap for Microsoft
48
- * const msftCap = await fmp.stock.getMarketCap('MSFT');
54
+ * // Get earnings calendar for current month
55
+ * const monthlyEarnings = await fmp.calendar.getEarningsCalendar({
56
+ * from: '2024-01-01',
57
+ * to: '2024-01-31'
58
+ * });
49
59
  * ```
50
60
  *
51
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-cap-company-information|FMP Market Cap Documentation}
61
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-calendar-earnings|FMP Earnings Calendar Documentation}
52
62
  */
53
- getMarketCap(symbol: string): Promise<APIResponse<MarketCap>>;
63
+ getEarningsCalendar(params?: {
64
+ from?: string;
65
+ to?: string;
66
+ }): Promise<APIResponse<EarningsCalendar[]>>;
54
67
  /**
55
- * Get historical stock splits for a company
68
+ * Get confirmed earnings calendar data
56
69
  *
57
- * Stock splits occur when a company increases the number of shares by dividing existing shares.
58
- * This endpoint provides the complete history of stock splits including dates, ratios, and split types.
59
- * Useful for adjusting historical price data and understanding corporate actions.
70
+ * Provides confirmed earnings announcements with verified dates and times.
71
+ * These are earnings announcements that have been officially confirmed
72
+ * by companies, providing more reliable scheduling information.
60
73
  *
61
- * @param symbol - The stock symbol to get split history for (e.g., 'AAPL', 'TSLA', 'NVDA')
74
+ * @param params - Confirmed earnings calendar request parameters
75
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
76
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
62
77
  *
63
- * @returns Promise resolving to historical stock splits with dates, labels, and split ratios
78
+ * @returns Promise resolving to array of confirmed earnings calendar data
64
79
  *
65
80
  * @example
66
81
  * ```typescript
67
- * // Get Apple's split history
68
- * const splits = await fmp.stock.getStockSplits('AAPL');
69
- * splits.data.historical.forEach(split => {
70
- * console.log(`${split.date}: ${split.numerator}:${split.denominator} split`);
82
+ * // Get confirmed earnings for next week
83
+ * const confirmedEarnings = await fmp.calendar.getEarningsConfirmed({
84
+ * from: '2024-01-15',
85
+ * to: '2024-01-22'
86
+ * });
87
+ * confirmedEarnings.data.forEach(earning => {
88
+ * console.log(`${earning.date}: ${earning.symbol} - Confirmed: ${earning.time}`);
71
89
  * });
72
90
  *
73
- * // Get Tesla's split history
74
- * const teslaSplits = await fmp.stock.getStockSplits('TSLA');
91
+ * // Get confirmed earnings for current month
92
+ * const monthlyConfirmed = await fmp.calendar.getEarningsConfirmed({
93
+ * from: '2024-01-01',
94
+ * to: '2024-01-31'
95
+ * });
75
96
  * ```
76
97
  *
77
- * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-historical-splits|FMP Stock Splits Documentation}
98
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-confirmed-earnings|FMP Earnings Confirmed Documentation}
78
99
  */
79
- getStockSplits(symbol: string): Promise<APIResponse<StockSplitResponse>>;
100
+ getEarningsConfirmed(params?: {
101
+ from?: string;
102
+ to?: string;
103
+ }): Promise<APIResponse<EarningsConfirmed[]>>;
80
104
  /**
81
- * Get historical dividend payments for a stock
105
+ * Get dividends calendar data
82
106
  *
83
- * Dividends are periodic payments made by companies to shareholders from profits.
84
- * This endpoint provides the complete dividend history including payment dates, amounts,
85
- * and important dates like ex-dividend, record, and declaration dates.
107
+ * Provides upcoming dividend payments and ex-dividend dates for all
108
+ * publicly traded companies within a specified date range. Essential
109
+ * for dividend investors and income-focused strategies.
86
110
  *
87
- * @param symbol - The stock symbol to get dividend history for (e.g., 'KO', 'JNJ', 'PG')
111
+ * @param params - Dividends calendar request parameters
112
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
113
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
88
114
  *
89
- * @returns Promise resolving to dividend history with payment details and important dates
115
+ * @returns Promise resolving to array of dividends calendar data with payment details
90
116
  *
91
117
  * @example
92
118
  * ```typescript
93
- * // Get Coca-Cola's dividend history
94
- * const dividends = await fmp.stock.getDividendHistory('KO');
95
- * dividends.data.historical.forEach(dividend => {
96
- * console.log(`${dividend.date}: $${dividend.dividend} per share`);
119
+ * // Get dividends calendar for next week
120
+ * const dividendsCalendar = await fmp.calendar.getDividendsCalendar({
121
+ * from: '2024-01-15',
122
+ * to: '2024-01-22'
123
+ * });
124
+ * dividendsCalendar.data.forEach(dividend => {
125
+ * console.log(`${dividend.date}: ${dividend.symbol} - Amount: $${dividend.amount}`);
97
126
  * });
98
127
  *
99
- * // Get Johnson & Johnson's dividend history
100
- * const jnjDividends = await fmp.stock.getDividendHistory('JNJ');
128
+ * // Get dividends calendar for current month
129
+ * const monthlyDividends = await fmp.calendar.getDividendsCalendar({
130
+ * from: '2024-01-01',
131
+ * to: '2024-01-31'
132
+ * });
101
133
  * ```
102
134
  *
103
- * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-historical-dividends|FMP Dividends Documentation}
135
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-calendar-dividends|FMP Dividends Calendar Documentation}
104
136
  */
105
- getDividendHistory(symbol: string): Promise<APIResponse<StockDividendResponse>>;
137
+ getDividendsCalendar(params?: {
138
+ from?: string;
139
+ to?: string;
140
+ }): Promise<APIResponse<DividendsCalendar[]>>;
106
141
  /**
107
- * Get real-time stock prices for multiple symbols
142
+ * Get economic calendar data
108
143
  *
109
- * Provides current market prices for stocks with minimal data overhead.
110
- * Returns basic price information including symbol and current price.
111
- * Ideal for quick price checks and portfolio monitoring.
144
+ * Provides upcoming economic events, indicators, and data releases
145
+ * that can impact financial markets. Essential for understanding
146
+ * market-moving events and economic trends.
112
147
  *
113
- * @param symbols - Array of stock symbols to get real-time prices for
148
+ * @param params - Economic calendar request parameters
149
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
150
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
114
151
  *
115
- * @returns Promise resolving to array of real-time price data with symbol and price
152
+ * @returns Promise resolving to array of economic calendar data with event details
116
153
  *
117
154
  * @example
118
155
  * ```typescript
119
- * // Get prices for multiple tech stocks
120
- * const prices = await fmp.stock.getRealTimePrice([
121
- * 'AAPL', 'MSFT', 'GOOGL', 'AMZN', 'TSLA'
122
- * ]);
123
- *
124
- * prices.data.forEach(stock => {
125
- * console.log(`${stock.symbol}: $${stock.price}`);
156
+ * // Get economic calendar for next week
157
+ * const economicCalendar = await fmp.calendar.getEconomicsCalendar({
158
+ * from: '2024-01-15',
159
+ * to: '2024-01-22'
160
+ * });
161
+ * economicCalendar.data.forEach(event => {
162
+ * console.log(`${event.date}: ${event.event} - Country: ${event.country}`);
126
163
  * });
127
164
  *
128
- * // Get price for single stock
129
- * const aaplPrice = await fmp.stock.getRealTimePrice(['AAPL']);
165
+ * // Get economic calendar for current month
166
+ * const monthlyEconomic = await fmp.calendar.getEconomicsCalendar({
167
+ * from: '2024-01-01',
168
+ * to: '2024-01-31'
169
+ * });
130
170
  * ```
171
+ *
172
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#economics-calendar-economics-data|FMP Economic Calendar Documentation}
131
173
  */
132
- getRealTimePrice(symbols: string[]): Promise<APIResponse<StockRealTimePrice[]>>;
174
+ getEconomicsCalendar(params?: {
175
+ from?: string;
176
+ to?: string;
177
+ }): Promise<APIResponse<EconomicsCalendar[]>>;
133
178
  /**
134
- * Get comprehensive real-time stock data for multiple symbols
179
+ * Get IPO calendar data
135
180
  *
136
- * Provides detailed real-time market data including bid/ask prices, volume, trade sizes,
137
- * and timestamps. This endpoint offers much more information than the basic real-time price.
138
- * Perfect for trading applications, market analysis, and detailed price monitoring.
181
+ * Provides upcoming initial public offerings (IPOs) and their details
182
+ * within a specified date range. Essential for tracking new market
183
+ * entrants and investment opportunities in newly public companies.
139
184
  *
140
- * @param symbols - Array of stock symbols to get detailed real-time data for
185
+ * @param params - IPO calendar request parameters
186
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
187
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
141
188
  *
142
- * @returns Promise resolving to array of detailed real-time data including bid/ask, volume, and timestamps
189
+ * @returns Promise resolving to array of IPO calendar data with offering details
143
190
  *
144
191
  * @example
145
192
  * ```typescript
146
- * // Get detailed data for multiple stocks
147
- * const detailedData = await fmp.stock.getRealTimePriceForMultipleStocks([
148
- * 'AAPL', 'MSFT', 'GOOGL'
149
- * ]);
150
- *
151
- * detailedData.data.forEach(stock => {
152
- * console.log(`${stock.symbol}:`);
153
- * console.log(` Bid: $${stock.bidPrice} (${stock.bidSize} shares)`);
154
- * console.log(` Ask: $${stock.askPrice} (${stock.askSize} shares)`);
155
- * console.log(` Last: $${stock.lastSalePrice} (${stock.lastSaleSize} shares)`);
156
- * console.log(` Volume: ${stock.volume.toLocaleString()}`);
193
+ * // Get IPO calendar for next week
194
+ * const ipoCalendar = await fmp.calendar.getIPOCalendar({
195
+ * from: '2024-01-15',
196
+ * to: '2024-01-22'
197
+ * });
198
+ * ipoCalendar.data.forEach(ipo => {
199
+ * console.log(`${ipo.date}: ${ipo.symbol} - Price: $${ipo.price}, Shares: ${ipo.shares.toLocaleString()}`);
157
200
  * });
158
201
  *
159
- * // Get detailed data for single stock
160
- * const aaplDetailed = await fmp.stock.getRealTimePriceForMultipleStocks(['AAPL']);
202
+ * // Get IPO calendar for current month
203
+ * const monthlyIPOs = await fmp.calendar.getIPOCalendar({
204
+ * from: '2024-01-01',
205
+ * to: '2024-01-31'
206
+ * });
161
207
  * ```
162
208
  *
163
- * @see {@link https://site.financialmodelingprep.com/developer/docs#real-time-full-price-quote|FMP Real-Time Full Price Documentation}
209
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#ipo-calender-by-ipo-calendar|FMP IPO Calendar Documentation}
164
210
  */
165
- getRealTimePriceForMultipleStocks(symbols: string[]): Promise<APIResponse<StockRealTimePriceFull[]>>;
166
- }
167
-
168
- declare class FinancialEndpoints {
169
- private client;
170
- constructor(client: FMPClient);
211
+ getIPOCalendar(params?: {
212
+ from?: string;
213
+ to?: string;
214
+ }): Promise<APIResponse<IPOCalendar[]>>;
171
215
  /**
172
- * Get income statement data
216
+ * Get stock splits calendar data
173
217
  *
174
- * Provides comprehensive income statement data including revenue, expenses,
175
- * net income, and earnings per share. Essential for analyzing company
176
- * profitability, revenue trends, and financial performance over time.
218
+ * Provides upcoming stock splits for publicly traded companies within
219
+ * a specified date range. Essential for understanding corporate actions
220
+ * that affect share prices and trading dynamics.
177
221
  *
178
- * @param params - Income statement request parameters
179
- * @param params.symbol - The stock symbol to get income statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
180
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
181
- * @param params.limit - Number of periods to retrieve (default: 5)
222
+ * @param params - Stock splits calendar request parameters
223
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
224
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
182
225
  *
183
- * @returns Promise resolving to array of income statement data with financial metrics
226
+ * @returns Promise resolving to array of stock splits calendar data with split details
184
227
  *
185
228
  * @example
186
229
  * ```typescript
187
- * // Get annual income statements for Apple
188
- * const incomeStatements = await fmp.financial.getIncomeStatement({ symbol: 'AAPL' });
189
- * incomeStatements.data.forEach(statement => {
190
- * console.log(`${statement.date}: Revenue $${statement.revenue.toLocaleString()}, Net Income $${statement.netIncome.toLocaleString()}`);
230
+ * // Get stock splits calendar for next week
231
+ * const splitsCalendar = await fmp.calendar.getSplitsCalendar({
232
+ * from: '2024-01-15',
233
+ * to: '2024-01-22'
234
+ * });
235
+ * splitsCalendar.data.forEach(split => {
236
+ * console.log(`${split.date}: ${split.symbol} - Ratio: ${split.numerator}:${split.denominator}`);
191
237
  * });
192
238
  *
193
- * // Get quarterly income statements for Microsoft
194
- * const quarterlyIncome = await fmp.financial.getIncomeStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
239
+ * // Get stock splits calendar for current month
240
+ * const monthlySplits = await fmp.calendar.getSplitsCalendar({
241
+ * from: '2024-01-01',
242
+ * to: '2024-01-31'
243
+ * });
195
244
  * ```
196
245
  *
197
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#income-statement|FMP Income Statement Documentation}
246
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-calendar-splits|FMP Stock Splits Calendar Documentation}
198
247
  */
199
- getIncomeStatement(params: {
200
- symbol: string;
201
- period?: 'annual' | 'quarter';
202
- limit?: number;
203
- }): Promise<APIResponse<IncomeStatement[]>>;
248
+ getSplitsCalendar(params?: {
249
+ from?: string;
250
+ to?: string;
251
+ }): Promise<APIResponse<SplitsCalendar[]>>;
252
+ }
253
+
254
+ declare class CompanyEndpoints {
255
+ private client;
256
+ constructor(client: FMPClient);
204
257
  /**
205
- * Get balance sheet data
258
+ * Get comprehensive company profile and information
206
259
  *
207
- * Provides comprehensive balance sheet data including assets, liabilities,
208
- * and shareholder equity. Essential for analyzing company financial position,
209
- * liquidity, and capital structure.
260
+ * Provides detailed company information including financial metrics, business description,
261
+ * headquarters location, and key performance indicators. Essential for fundamental analysis
262
+ * and understanding a company's business model and market position.
210
263
  *
211
- * @param params - Balance sheet request parameters
212
- * @param params.symbol - The stock symbol to get balance sheet for (e.g., 'AAPL', 'MSFT', 'GOOGL')
213
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
214
- * @param params.limit - Number of periods to retrieve (default: 5)
264
+ * @param symbol - The stock symbol to get the profile for (e.g., 'AAPL', 'MSFT', 'GOOGL')
215
265
  *
216
- * @returns Promise resolving to array of balance sheet data with financial position metrics
266
+ * @returns Promise resolving to comprehensive company profile with financial and business information
217
267
  *
218
268
  * @example
219
269
  * ```typescript
220
- * // Get annual balance sheets for Apple
221
- * const balanceSheets = await fmp.financial.getBalanceSheet({ symbol: 'AAPL' });
222
- * balanceSheets.data.forEach(sheet => {
223
- * console.log(`${sheet.date}: Assets $${sheet.totalAssets.toLocaleString()}, Equity $${sheet.totalStockholdersEquity.toLocaleString()}`);
224
- * });
270
+ * // Get Apple's company profile
271
+ * const profile = await fmp.company.getCompanyProfile('AAPL');
272
+ * console.log(`Company: ${profile.data.companyName}`);
273
+ * console.log(`Industry: ${profile.data.industry}`);
274
+ * console.log(`Market Cap: $${profile.data.mktCap.toLocaleString()}`);
275
+ * console.log(`Description: ${profile.data.description.substring(0, 100)}...`);
225
276
  *
226
- * // Get quarterly balance sheets for Microsoft
227
- * const quarterlyBalance = await fmp.financial.getBalanceSheet({ symbol: 'MSFT', period: 'quarter', limit: 8 });
277
+ * // Get Microsoft's profile
278
+ * const msftProfile = await fmp.company.getCompanyProfile('MSFT');
228
279
  * ```
229
280
  *
230
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#balance-sheet-statement|FMP Balance Sheet Documentation}
281
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#profile-symbol|FMP Company Profile Documentation}
231
282
  */
232
- getBalanceSheet(params: {
233
- symbol: string;
234
- period?: 'annual' | 'quarter';
235
- limit?: number;
236
- }): Promise<APIResponse<BalanceSheet[]>>;
283
+ getCompanyProfile(symbol: string): Promise<APIResponse<CompanyProfile>>;
237
284
  /**
238
- * Get cash flow statement data
285
+ * Get executive compensation and governance information
239
286
  *
240
- * Provides comprehensive cash flow data including operating, investing,
241
- * and financing cash flows. Essential for analyzing company cash generation,
242
- * capital allocation, and financial sustainability.
287
+ * Provides detailed compensation data for company executives including salary, bonuses,
288
+ * stock options, and other benefits. Essential for governance analysis and understanding
289
+ * executive pay structures and alignment with shareholder interests.
243
290
  *
244
- * @param params - Cash flow statement request parameters
245
- * @param params.symbol - The stock symbol to get cash flow statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
246
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
247
- * @param params.limit - Number of periods to retrieve (default: 5)
291
+ * @param symbol - The stock symbol to get executive compensation for (e.g., 'AAPL', 'MSFT', 'TSLA')
248
292
  *
249
- * @returns Promise resolving to array of cash flow statement data with cash flow metrics
293
+ * @returns Promise resolving to array of executive compensation data with detailed pay information
250
294
  *
251
295
  * @example
252
296
  * ```typescript
253
- * // Get annual cash flow statements for Apple
254
- * const cashFlows = await fmp.financial.getCashFlowStatement({ symbol: 'AAPL' });
255
- * cashFlows.data.forEach(flow => {
256
- * console.log(`${flow.date}: Operating CF $${flow.operatingCashFlow.toLocaleString()}, Free CF $${flow.freeCashFlow.toLocaleString()}`);
297
+ * // Get Apple's executive compensation
298
+ * const compensation = await fmp.company.getExecutiveCompensation('AAPL');
299
+ * compensation.data.forEach(exec => {
300
+ * console.log(`${exec.name} (${exec.title}):`);
301
+ * console.log(` Salary: $${exec.salary.toLocaleString()}`);
302
+ * console.log(` Bonus: $${exec.bonus.toLocaleString()}`);
303
+ * console.log(` Stock Options: $${exec.stockAwards.toLocaleString()}`);
257
304
  * });
258
305
  *
259
- * // Get quarterly cash flow statements for Microsoft
260
- * const quarterlyCashFlow = await fmp.financial.getCashFlowStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
306
+ * // Get Tesla's executive compensation
307
+ * const teslaComp = await fmp.company.getExecutiveCompensation('TSLA');
261
308
  * ```
262
309
  *
263
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#cashflow-statement|FMP Cash Flow Statement Documentation}
310
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#executive-compensation|FMP Executive Compensation Documentation}
264
311
  */
265
- getCashFlowStatement(params: {
266
- symbol: string;
267
- period?: 'annual' | 'quarter';
268
- limit?: number;
269
- }): Promise<APIResponse<CashFlowStatement[]>>;
312
+ getExecutiveCompensation(symbol: string): Promise<APIResponse<ExecutiveCompensation[]>>;
270
313
  /**
271
- * Get key financial metrics
314
+ * Get company notes and financial disclosures
272
315
  *
273
- * Provides essential financial metrics including revenue, net income,
274
- * P/E ratio, and other key performance indicators. Essential for
275
- * fundamental analysis and company valuation.
316
+ * Provides important notes and disclosures from company financial statements.
317
+ * These notes contain critical information about accounting policies, risks,
318
+ * contingencies, and other material information that affects financial analysis.
276
319
  *
277
- * @param params - Key metrics request parameters
278
- * @param params.symbol - The stock symbol to get key metrics for (e.g., 'AAPL', 'MSFT', 'GOOGL')
279
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
280
- * @param params.limit - Number of periods to retrieve (default: 5)
320
+ * @param symbol - The stock symbol to get notes for (e.g., 'AAPL', 'MSFT', 'JPM')
281
321
  *
282
- * @returns Promise resolving to array of key metrics data with financial indicators
322
+ * @returns Promise resolving to array of company notes with detailed disclosure information
283
323
  *
284
324
  * @example
285
325
  * ```typescript
286
- * // Get key metrics for Apple
287
- * const keyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'AAPL' });
288
- * keyMetrics.data.forEach(metric => {
289
- * console.log(`${metric.date}: P/E ${metric.peRatio}, ROE ${metric.roe}%`);
326
+ * // Get Apple's company notes
327
+ * const notes = await fmp.company.getCompanyNotes('AAPL');
328
+ * notes.data.forEach(note => {
329
+ * console.log(`Note ${note.noteNumber}: ${note.noteTitle}`);
330
+ * console.log(` Content: ${note.noteContent.substring(0, 100)}...`);
290
331
  * });
291
332
  *
292
- * // Get quarterly key metrics for Microsoft
293
- * const quarterlyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'MSFT', period: 'quarter', limit: 8 });
333
+ * // Get JPMorgan's notes
334
+ * const jpmNotes = await fmp.company.getCompanyNotes('JPM');
294
335
  * ```
295
336
  *
296
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#key-metrics|FMP Key Metrics Documentation}
337
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#company-notes|FMP Company Notes Documentation}
297
338
  */
298
- getKeyMetrics(params: {
299
- symbol: string;
300
- period?: 'annual' | 'quarter';
301
- limit?: number;
302
- }): Promise<APIResponse<KeyMetrics[]>>;
339
+ getCompanyNotes(symbol: string): Promise<APIResponse<CompanyNotes[]>>;
303
340
  /**
304
- * Get financial ratios
341
+ * Get historical employee count data
305
342
  *
306
- * Provides comprehensive financial ratios including P/B ratio, ROE,
307
- * debt-to-equity, and other important ratios. Essential for analyzing
308
- * company financial health and comparing with peers.
343
+ * Provides historical data on company employee counts over time.
344
+ * Useful for analyzing company growth, operational efficiency, and workforce trends.
345
+ * Employee count is often a key indicator of company expansion or contraction.
309
346
  *
310
- * @param params - Financial ratios request parameters
311
- * @param params.symbol - The stock symbol to get financial ratios for (e.g., 'AAPL', 'MSFT', 'GOOGL')
312
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
313
- * @param params.limit - Number of periods to retrieve (default: 5)
347
+ * @param symbol - The stock symbol to get historical employee count for (e.g., 'AAPL', 'MSFT', 'AMZN')
314
348
  *
315
- * @returns Promise resolving to array of financial ratios data with ratio metrics
349
+ * @returns Promise resolving to array of historical employee count data with year-by-year information
316
350
  *
317
351
  * @example
318
352
  * ```typescript
319
- * // Get financial ratios for Apple
320
- * const ratios = await fmp.financial.getFinancialRatios({ symbol: 'AAPL' });
321
- * ratios.data.forEach(ratio => {
322
- * console.log(`${ratio.date}: P/B ${ratio.priceToBookRatio}, Debt/Equity ${ratio.debtToEquity}`);
353
+ * // Get Apple's employee count history
354
+ * const employees = await fmp.company.getHistoricalEmployeeCount('AAPL');
355
+ * employees.data.forEach(year => {
356
+ * console.log(`${year.year}: ${year.employeeCount.toLocaleString()} employees`);
323
357
  * });
324
358
  *
325
- * // Get quarterly ratios for Microsoft
326
- * const quarterlyRatios = await fmp.financial.getFinancialRatios({ symbol: 'MSFT', period: 'quarter', limit: 8 });
359
+ * // Get Amazon's employee growth
360
+ * const amazonEmployees = await fmp.company.getHistoricalEmployeeCount('AMZN');
327
361
  * ```
328
362
  *
329
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#metrics-ratios|FMP Financial Ratios Documentation}
363
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#historical-employee-count|FMP Historical Employee Count Documentation}
330
364
  */
331
- getFinancialRatios(params: {
332
- symbol: string;
333
- period?: 'annual' | 'quarter';
334
- limit?: number;
335
- }): Promise<APIResponse<FinancialRatios[]>>;
365
+ getHistoricalEmployeeCount(symbol: string): Promise<APIResponse<HistoricalEmployeeCount[]>>;
336
366
  /**
337
- * Get enterprise value data
367
+ * Get current shares float information
338
368
  *
339
- * Provides enterprise value metrics including total enterprise value,
340
- * market cap, and debt information. Essential for company valuation
341
- * and comparing companies with different capital structures.
369
+ * Provides the total number of shares that are publicly traded (float) for a company.
370
+ * The float is calculated by subtracting restricted shares from total outstanding shares.
371
+ * Important for understanding liquidity, volatility, and trading dynamics.
342
372
  *
343
- * @param params - Enterprise value request parameters
344
- * @param params.symbol - The stock symbol to get enterprise value for (e.g., 'AAPL', 'MSFT', 'GOOGL')
345
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
346
- * @param params.limit - Number of periods to retrieve (default: 5)
373
+ * @param symbol - The stock symbol to get shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
347
374
  *
348
- * @returns Promise resolving to array of enterprise value data with valuation metrics
375
+ * @returns Promise resolving to shares float data with current float information
349
376
  *
350
377
  * @example
351
378
  * ```typescript
352
- * // Get enterprise value for Apple
353
- * const enterpriseValue = await fmp.financial.getEnterpriseValue({ symbol: 'AAPL' });
354
- * enterpriseValue.data.forEach(ev => {
355
- * console.log(`${ev.date}: EV $${ev.enterpriseValue.toLocaleString()}, Market Cap $${ev.marketCapitalization.toLocaleString()}`);
356
- * });
379
+ * // Get Apple's shares float
380
+ * const float = await fmp.company.getSharesFloat('AAPL');
381
+ * console.log(`Float: ${float.data.sharesFloat.toLocaleString()} shares`);
382
+ * console.log(`Outstanding: ${float.data.sharesOutstanding.toLocaleString()} shares`);
383
+ * console.log(`Restricted: ${float.data.restrictedShares.toLocaleString()} shares`);
357
384
  *
358
- * // Get quarterly enterprise value for Microsoft
359
- * const quarterlyEV = await fmp.financial.getEnterpriseValue({ symbol: 'MSFT', period: 'quarter', limit: 8 });
385
+ * // Get Tesla's float
386
+ * const teslaFloat = await fmp.company.getSharesFloat('TSLA');
360
387
  * ```
361
388
  *
362
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#enterprise-values|FMP Enterprise Value Documentation}
389
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#shares-float|FMP Shares Float Documentation}
363
390
  */
364
- getEnterpriseValue(params: {
365
- symbol: string;
366
- period?: 'annual' | 'quarter';
367
- limit?: number;
368
- }): Promise<APIResponse<EnterpriseValue[]>>;
391
+ getSharesFloat(symbol: string): Promise<APIResponse<SharesFloat>>;
369
392
  /**
370
- * Get cash flow growth data
393
+ * Get historical shares float data
371
394
  *
372
- * Provides cash flow growth rates showing how quickly a company's
373
- * cash flows are growing over time. Essential for analyzing cash
374
- * generation trends and financial sustainability.
395
+ * Provides historical data on company shares float over time.
396
+ * Useful for analyzing changes in liquidity, share issuance, and corporate actions
397
+ * that affect the number of publicly traded shares.
375
398
  *
376
- * @param params - Cash flow growth request parameters
377
- * @param params.symbol - The stock symbol to get cash flow growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
378
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
379
- * @param params.limit - Number of periods to retrieve (default: 5)
399
+ * @param symbol - The stock symbol to get historical shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
380
400
  *
381
- * @returns Promise resolving to array of cash flow growth data with growth metrics
401
+ * @returns Promise resolving to array of historical shares float data with date-by-date information
382
402
  *
383
403
  * @example
384
404
  * ```typescript
385
- * // Get cash flow growth for Apple
386
- * const cashFlowGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'AAPL' });
387
- * cashFlowGrowth.data.forEach(growth => {
388
- * console.log(`${growth.date}: Operating CF Growth ${growth.operatingCashFlowGrowth}%`);
405
+ * // Get Apple's historical float
406
+ * const historicalFloat = await fmp.company.getHistoricalSharesFloat('AAPL');
407
+ * historicalFloat.data.forEach(entry => {
408
+ * console.log(`${entry.date}: ${entry.sharesFloat.toLocaleString()} shares`);
389
409
  * });
390
410
  *
391
- * // Get quarterly cash flow growth for Microsoft
392
- * const quarterlyGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
411
+ * // Get Tesla's float history
412
+ * const teslaHistory = await fmp.company.getHistoricalSharesFloat('TSLA');
393
413
  * ```
394
414
  *
395
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#cashflow-statement-growth|FMP Cash Flow Growth Documentation}
415
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#company-historical-share-float|FMP Historical Shares Float Documentation}
396
416
  */
397
- getCashflowGrowth(params: {
398
- symbol: string;
399
- period?: 'annual' | 'quarter';
400
- limit?: number;
401
- }): Promise<APIResponse<CashflowGrowth[]>>;
417
+ getHistoricalSharesFloat(symbol: string): Promise<APIResponse<HistoricalSharesFloat[]>>;
402
418
  /**
403
- * Get income growth data
419
+ * Get earnings call transcript for specific quarter
404
420
  *
405
- * Provides income growth rates showing how quickly a company's
406
- * revenue and net income are growing over time. Essential for
407
- * analyzing profitability trends and business momentum.
421
+ * Provides the full transcript of a company's earnings conference call.
422
+ * Contains detailed Q&A sessions, management commentary, and insights into
423
+ * company performance, strategy, and future outlook.
408
424
  *
409
- * @param params - Income growth request parameters
410
- * @param params.symbol - The stock symbol to get income growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
411
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
412
- * @param params.limit - Number of periods to retrieve (default: 5)
425
+ * @param params - Earnings call transcript request parameters
426
+ * @param params.symbol - The stock symbol to get transcript for (e.g., 'AAPL', 'MSFT', 'TSLA')
427
+ * @param params.year - The year of the earnings call (e.g., 2024)
428
+ * @param params.quarter - The quarter of the earnings call (1, 2, 3, or 4)
413
429
  *
414
- * @returns Promise resolving to array of income growth data with growth metrics
430
+ * @returns Promise resolving to earnings call transcript with full text content
415
431
  *
416
432
  * @example
417
433
  * ```typescript
418
- * // Get income growth for Apple
419
- * const incomeGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'AAPL' });
420
- * incomeGrowth.data.forEach(growth => {
421
- * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, Net Income Growth ${growth.netIncomeGrowth}%`);
422
- * });
423
- *
424
- * // Get quarterly income growth for Microsoft
425
- * const quarterlyGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
426
- * ```
427
- *
428
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#income-statement-growth|FMP Income Growth Documentation}
429
- */
430
- getIncomeGrowth(params: {
431
- symbol: string;
432
- period?: 'annual' | 'quarter';
433
- limit?: number;
434
- }): Promise<APIResponse<IncomeGrowth[]>>;
435
- /**
436
- * Get balance sheet growth data
437
- *
438
- * Provides balance sheet growth rates showing how quickly a company's
439
- * assets, liabilities, and equity are growing over time. Essential for
440
- * analyzing capital structure trends and financial position changes.
441
- *
442
- * @param params - Balance sheet growth request parameters
443
- * @param params.symbol - The stock symbol to get balance sheet growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
444
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
445
- * @param params.limit - Number of periods to retrieve (default: 5)
446
- *
447
- * @returns Promise resolving to array of balance sheet growth data with growth metrics
448
- *
449
- * @example
450
- * ```typescript
451
- * // Get balance sheet growth for Apple
452
- * const balanceSheetGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'AAPL' });
453
- * balanceSheetGrowth.data.forEach(growth => {
454
- * console.log(`${growth.date}: Assets Growth ${growth.totalAssetsGrowth}%, Equity Growth ${growth.totalStockholdersEquityGrowth}%`);
434
+ * // Get Apple's Q1 2024 earnings call
435
+ * const transcript = await fmp.company.getEarningsCallTranscript({
436
+ * symbol: 'AAPL',
437
+ * year: 2024,
438
+ * quarter: 1
455
439
  * });
440
+ * console.log(`Transcript: ${transcript.data[0].content.substring(0, 200)}...`);
456
441
  *
457
- * // Get quarterly balance sheet growth for Microsoft
458
- * const quarterlyGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
442
+ * // Get Tesla's Q4 2023 earnings call
443
+ * const teslaTranscript = await fmp.company.getEarningsCallTranscript({
444
+ * symbol: 'TSLA',
445
+ * year: 2023,
446
+ * quarter: 4
447
+ * });
459
448
  * ```
460
449
  *
461
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#balance-sheet-statement-growth|FMP Balance Sheet Growth Documentation}
450
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-transcript-earnings-transcripts|FMP Earnings Call Transcript Documentation}
462
451
  */
463
- getBalanceSheetGrowth(params: {
452
+ getEarningsCallTranscript(params: {
464
453
  symbol: string;
465
- period?: 'annual' | 'quarter';
466
- limit?: number;
467
- }): Promise<APIResponse<BalanceSheetGrowth[]>>;
454
+ year: number;
455
+ quarter: number;
456
+ }): Promise<APIResponse<EarningsCallTranscript>>;
468
457
  /**
469
- * Get financial growth data
458
+ * Get available earnings call transcript dates
470
459
  *
471
- * Provides comprehensive financial growth rates across all key
472
- * financial metrics. Essential for analyzing overall financial
473
- * performance trends and business momentum.
460
+ * Provides a list of all available earnings call transcript dates for a company.
461
+ * Useful for discovering which quarters have transcripts available before
462
+ * requesting the full transcript content.
474
463
  *
475
- * @param params - Financial growth request parameters
476
- * @param params.symbol - The stock symbol to get financial growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
477
- * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
478
- * @param params.limit - Number of periods to retrieve (default: 5)
464
+ * @param symbol - The stock symbol to get transcript dates for (e.g., 'AAPL', 'MSFT', 'TSLA')
479
465
  *
480
- * @returns Promise resolving to array of financial growth data with comprehensive growth metrics
466
+ * @returns Promise resolving to array of available transcript dates with quarter information
481
467
  *
482
468
  * @example
483
469
  * ```typescript
484
- * // Get financial growth for Apple
485
- * const financialGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'AAPL' });
486
- * financialGrowth.data.forEach(growth => {
487
- * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, EPS Growth ${growth.epsGrowth}%`);
470
+ * // Get Apple's available transcript dates
471
+ * const transcriptDates = await fmp.company.getCompanyTranscriptData('AAPL');
472
+ * transcriptDates.data.forEach(date => {
473
+ * console.log(`Q${date.quarter} ${date.year}: ${date.date}`);
488
474
  * });
489
475
  *
490
- * // Get quarterly financial growth for Microsoft
491
- * const quarterlyGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
476
+ * // Get Microsoft's transcript availability
477
+ * const msftDates = await fmp.company.getCompanyTranscriptData('MSFT');
492
478
  * ```
493
479
  *
494
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#financial-statement-growth|FMP Financial Growth Documentation}
480
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#transcript-dates-earnings-transcripts|FMP Company Transcript Data Documentation}
495
481
  */
496
- getFinancialGrowth(params: {
497
- symbol: string;
498
- period?: 'annual' | 'quarter';
499
- limit?: number;
500
- }): Promise<APIResponse<FinancialGrowth[]>>;
482
+ getCompanyTranscriptData(symbol: string): Promise<APIResponse<CompanyTranscriptData[]>>;
483
+ }
484
+
485
+ declare class EconomicEndpoints {
486
+ private client;
487
+ constructor(client: FMPClient);
501
488
  /**
502
- * Get historical earnings data
489
+ * Get treasury rates data
503
490
  *
504
- * Provides historical and upcoming earnings announcements including
505
- * dates, estimated EPS, and actual EPS. Essential for analyzing
506
- * earnings trends and tracking company performance.
491
+ * Provides historical treasury rates for various maturities including
492
+ * 1-month, 3-month, 6-month, 1-year, 2-year, 3-year, 5-year, 7-year,
493
+ * 10-year, 20-year, and 30-year treasury bonds. Essential for analyzing
494
+ * interest rate trends, yield curves, and fixed income investments.
507
495
  *
508
- * @param params - Earnings historical request parameters
509
- * @param params.symbol - The stock symbol to get earnings history for (e.g., 'AAPL', 'MSFT', 'GOOGL')
510
- * @param params.limit - Number of periods to retrieve (default: 5)
496
+ * @param params - Treasury rates request parameters
497
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
498
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
511
499
  *
512
- * @returns Promise resolving to array of historical earnings data with announcement details
500
+ * @returns Promise resolving to array of treasury rates data with yield information
513
501
  *
514
502
  * @example
515
503
  * ```typescript
516
- * // Get earnings history for Apple
517
- * const earningsHistory = await fmp.financial.getEarningsHistorical({ symbol: 'AAPL', limit: 10 });
518
- * earningsHistory.data.forEach(earning => {
519
- * console.log(`${earning.date}: Est. ${earning.estimatedEps}, Actual ${earning.actualEps}`);
504
+ * // Get treasury rates for the last year
505
+ * const treasuryRates = await fmp.economic.getTreasuryRates({
506
+ * from: '2023-01-01',
507
+ * to: '2023-12-31'
508
+ * });
509
+ * treasuryRates.data.forEach(rate => {
510
+ * console.log(`${rate.date}: 10Y ${rate.tenY}%, 2Y ${rate.twoY}%`);
520
511
  * });
521
512
  *
522
- * // Get earnings history for Microsoft
523
- * const msftEarnings = await fmp.financial.getEarningsHistorical({ symbol: 'MSFT', limit: 8 });
513
+ * // Get recent treasury rates
514
+ * const recentRates = await fmp.economic.getTreasuryRates({
515
+ * from: '2024-01-01'
516
+ * });
524
517
  * ```
525
518
  *
526
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#earnings-company|FMP Earnings Historical Documentation}
519
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#treasury-rates|FMP Treasury Rates Documentation}
527
520
  */
528
- getEarningsHistorical(params: {
529
- symbol: string;
530
- limit?: number;
531
- }): Promise<APIResponse<EarningsHistorical[]>>;
521
+ getTreasuryRates(params: {
522
+ from?: string;
523
+ to?: string;
524
+ }): Promise<APIResponse<TreasuryRate[]>>;
532
525
  /**
533
- * Get earnings surprises data
526
+ * Get economic indicators data
534
527
  *
535
- * Provides earnings announcements that exceeded or fell short of
536
- * analyst estimates. Essential for analyzing earnings quality and
537
- * market reactions to earnings releases.
528
+ * Provides real-time and historical economic data for a wide variety of
529
+ * economic indicators including GDP, unemployment, inflation, retail sales,
530
+ * and many others. Essential for macroeconomic analysis and understanding
531
+ * economic trends and cycles.
538
532
  *
539
- * @param symbol - The stock symbol to get earnings surprises for (e.g., 'AAPL', 'MSFT', 'GOOGL')
533
+ * @param params - Economic indicators request parameters
534
+ * @param params.name - The economic indicator to retrieve
535
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
536
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
540
537
  *
541
- * @returns Promise resolving to array of earnings surprises data with surprise details
538
+ * @returns Promise resolving to array of economic indicator data with historical values
542
539
  *
543
540
  * @example
544
541
  * ```typescript
545
- * // Get earnings surprises for Apple
546
- * const earningsSurprises = await fmp.financial.getEarningsSurprises('AAPL');
547
- * earningsSurprises.data.forEach(surprise => {
548
- * console.log(`${surprise.date}: Est. ${surprise.estimatedEps}, Actual ${surprise.actualEps}, Surprise ${surprise.surprisePercentage}%`);
542
+ * // Get GDP data for the last year
543
+ * const gdpData = await fmp.economic.getEconomicIndicators({
544
+ * name: 'GDP',
545
+ * from: '2023-01-01',
546
+ * to: '2023-12-31'
547
+ * });
548
+ * gdpData.data.forEach(gdp => {
549
+ * console.log(`${gdp.date}: GDP $${gdp.value.toLocaleString()} billion`);
549
550
  * });
550
551
  *
551
- * // Get earnings surprises for Microsoft
552
- * const msftSurprises = await fmp.financial.getEarningsSurprises('MSFT');
552
+ * // Get unemployment rate data
553
+ * const unemploymentData = await fmp.economic.getEconomicIndicators({
554
+ * name: 'unemploymentRate',
555
+ * from: '2024-01-01'
556
+ * });
557
+ *
558
+ * // Get inflation rate data
559
+ * const inflationData = await fmp.economic.getEconomicIndicators({
560
+ * name: 'inflationRate',
561
+ * from: '2023-01-01',
562
+ * to: '2023-12-31'
563
+ * });
553
564
  * ```
554
565
  *
555
- * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-surprises-earnings|FMP Earnings Surprises Documentation}
566
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#economic-indicators-economics-data|FMP Economic Indicators Documentation}
556
567
  */
557
- getEarningsSurprises(symbol: string): Promise<APIResponse<EarningsSurprises[]>>;
568
+ getEconomicIndicators(params: {
569
+ name: 'GDP' | 'realGDP' | 'nominalPotentialGDP' | 'realGDPPerCapita' | 'federalFunds' | 'CPI' | 'inflationRate' | 'inflation' | 'retailSales' | 'consumerSentiment' | 'durableGoods' | 'unemploymentRate' | 'totalNonfarmPayroll' | 'initialClaims' | 'industrialProductionTotalIndex' | 'newPrivatelyOwnedHousingUnitsStartedTotalUnits' | 'totalVehicleSales' | 'retailMoneyFunds' | 'smoothedUSRecessionProbabilities' | '3MonthOr90DayRatesAndYieldsCertificatesOfDeposit' | 'commercialBankInterestRateOnCreditCardPlansAllAccounts' | '30YearFixedRateMortgageAverage' | '15YearFixedRateMortgageAverage';
570
+ from?: string;
571
+ to?: string;
572
+ }): Promise<APIResponse<EconomicIndicator[]>>;
558
573
  }
559
574
 
560
575
  declare class ETFEndpoints {
@@ -748,374 +763,878 @@ declare class ETFEndpoints {
748
763
  getStockExposure(symbol: string): Promise<APIResponse<ETFStockExposure[]>>;
749
764
  }
750
765
 
751
- declare class EconomicEndpoints {
766
+ declare class FinancialEndpoints {
752
767
  private client;
753
768
  constructor(client: FMPClient);
754
769
  /**
755
- * Get treasury rates data
770
+ * Get income statement data
756
771
  *
757
- * Provides historical treasury rates for various maturities including
758
- * 1-month, 3-month, 6-month, 1-year, 2-year, 3-year, 5-year, 7-year,
759
- * 10-year, 20-year, and 30-year treasury bonds. Essential for analyzing
760
- * interest rate trends, yield curves, and fixed income investments.
772
+ * Provides comprehensive income statement data including revenue, expenses,
773
+ * net income, and earnings per share. Essential for analyzing company
774
+ * profitability, revenue trends, and financial performance over time.
761
775
  *
762
- * @param params - Treasury rates request parameters
763
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
764
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
776
+ * @param params - Income statement request parameters
777
+ * @param params.symbol - The stock symbol to get income statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
778
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
779
+ * @param params.limit - Number of periods to retrieve (default: 5)
765
780
  *
766
- * @returns Promise resolving to array of treasury rates data with yield information
781
+ * @returns Promise resolving to array of income statement data with financial metrics
767
782
  *
768
783
  * @example
769
784
  * ```typescript
770
- * // Get treasury rates for the last year
771
- * const treasuryRates = await fmp.economic.getTreasuryRates({
772
- * from: '2023-01-01',
773
- * to: '2023-12-31'
774
- * });
775
- * treasuryRates.data.forEach(rate => {
776
- * console.log(`${rate.date}: 10Y ${rate.tenY}%, 2Y ${rate.twoY}%`);
785
+ * // Get annual income statements for Apple
786
+ * const incomeStatements = await fmp.financial.getIncomeStatement({ symbol: 'AAPL' });
787
+ * incomeStatements.data.forEach(statement => {
788
+ * console.log(`${statement.date}: Revenue $${statement.revenue.toLocaleString()}, Net Income $${statement.netIncome.toLocaleString()}`);
777
789
  * });
778
790
  *
779
- * // Get recent treasury rates
780
- * const recentRates = await fmp.economic.getTreasuryRates({
781
- * from: '2024-01-01'
782
- * });
791
+ * // Get quarterly income statements for Microsoft
792
+ * const quarterlyIncome = await fmp.financial.getIncomeStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
783
793
  * ```
784
794
  *
785
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#treasury-rates|FMP Treasury Rates Documentation}
795
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#income-statement|FMP Income Statement Documentation}
786
796
  */
787
- getTreasuryRates(params: {
788
- from?: string;
789
- to?: string;
790
- }): Promise<APIResponse<TreasuryRate[]>>;
797
+ getIncomeStatement(params: {
798
+ symbol: string;
799
+ period?: 'annual' | 'quarter';
800
+ limit?: number;
801
+ }): Promise<APIResponse<IncomeStatement[]>>;
791
802
  /**
792
- * Get economic indicators data
803
+ * Get balance sheet data
793
804
  *
794
- * Provides real-time and historical economic data for a wide variety of
795
- * economic indicators including GDP, unemployment, inflation, retail sales,
796
- * and many others. Essential for macroeconomic analysis and understanding
797
- * economic trends and cycles.
805
+ * Provides comprehensive balance sheet data including assets, liabilities,
806
+ * and shareholder equity. Essential for analyzing company financial position,
807
+ * liquidity, and capital structure.
798
808
  *
799
- * @param params - Economic indicators request parameters
800
- * @param params.name - The economic indicator to retrieve
801
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
802
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
809
+ * @param params - Balance sheet request parameters
810
+ * @param params.symbol - The stock symbol to get balance sheet for (e.g., 'AAPL', 'MSFT', 'GOOGL')
811
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
812
+ * @param params.limit - Number of periods to retrieve (default: 5)
803
813
  *
804
- * @returns Promise resolving to array of economic indicator data with historical values
814
+ * @returns Promise resolving to array of balance sheet data with financial position metrics
805
815
  *
806
816
  * @example
807
817
  * ```typescript
808
- * // Get GDP data for the last year
809
- * const gdpData = await fmp.economic.getEconomicIndicators({
810
- * name: 'GDP',
811
- * from: '2023-01-01',
812
- * to: '2023-12-31'
813
- * });
814
- * gdpData.data.forEach(gdp => {
815
- * console.log(`${gdp.date}: GDP $${gdp.value.toLocaleString()} billion`);
816
- * });
817
- *
818
- * // Get unemployment rate data
819
- * const unemploymentData = await fmp.economic.getEconomicIndicators({
820
- * name: 'unemploymentRate',
821
- * from: '2024-01-01'
818
+ * // Get annual balance sheets for Apple
819
+ * const balanceSheets = await fmp.financial.getBalanceSheet({ symbol: 'AAPL' });
820
+ * balanceSheets.data.forEach(sheet => {
821
+ * console.log(`${sheet.date}: Assets $${sheet.totalAssets.toLocaleString()}, Equity $${sheet.totalStockholdersEquity.toLocaleString()}`);
822
822
  * });
823
823
  *
824
- * // Get inflation rate data
825
- * const inflationData = await fmp.economic.getEconomicIndicators({
826
- * name: 'inflationRate',
827
- * from: '2023-01-01',
828
- * to: '2023-12-31'
829
- * });
824
+ * // Get quarterly balance sheets for Microsoft
825
+ * const quarterlyBalance = await fmp.financial.getBalanceSheet({ symbol: 'MSFT', period: 'quarter', limit: 8 });
830
826
  * ```
831
827
  *
832
- * @see {@link https://site.financialmodelingprep.com/developer/docs#economic-indicators-economics-data|FMP Economic Indicators Documentation}
828
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#balance-sheet-statement|FMP Balance Sheet Documentation}
833
829
  */
834
- getEconomicIndicators(params: {
835
- name: 'GDP' | 'realGDP' | 'nominalPotentialGDP' | 'realGDPPerCapita' | 'federalFunds' | 'CPI' | 'inflationRate' | 'inflation' | 'retailSales' | 'consumerSentiment' | 'durableGoods' | 'unemploymentRate' | 'totalNonfarmPayroll' | 'initialClaims' | 'industrialProductionTotalIndex' | 'newPrivatelyOwnedHousingUnitsStartedTotalUnits' | 'totalVehicleSales' | 'retailMoneyFunds' | 'smoothedUSRecessionProbabilities' | '3MonthOr90DayRatesAndYieldsCertificatesOfDeposit' | 'commercialBankInterestRateOnCreditCardPlansAllAccounts' | '30YearFixedRateMortgageAverage' | '15YearFixedRateMortgageAverage';
836
- from?: string;
837
- to?: string;
838
- }): Promise<APIResponse<EconomicIndicator[]>>;
839
- }
840
-
841
- declare class MarketEndpoints {
842
- private client;
843
- constructor(client: FMPClient);
830
+ getBalanceSheet(params: {
831
+ symbol: string;
832
+ period?: 'annual' | 'quarter';
833
+ limit?: number;
834
+ }): Promise<APIResponse<BalanceSheet[]>>;
844
835
  /**
845
- * Get current market hours and trading status
836
+ * Get cash flow statement data
846
837
  *
847
- * Provides real-time information about market trading hours, including
848
- * whether markets are currently open or closed, trading session times,
849
- * and upcoming market holidays. Essential for determining trading
850
- * availability and market status.
838
+ * Provides comprehensive cash flow data including operating, investing,
839
+ * and financing cash flows. Essential for analyzing company cash generation,
840
+ * capital allocation, and financial sustainability.
851
841
  *
852
- * @returns Promise resolving to market hours data with trading status and session information
842
+ * @param params - Cash flow statement request parameters
843
+ * @param params.symbol - The stock symbol to get cash flow statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
844
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
845
+ * @param params.limit - Number of periods to retrieve (default: 5)
846
+ *
847
+ * @returns Promise resolving to array of cash flow statement data with cash flow metrics
853
848
  *
854
849
  * @example
855
850
  * ```typescript
856
- * // Get current market status
857
- * const marketHours = await fmp.market.getMarketHours();
858
- * console.log(`Market is ${marketHours.data.isTheStockMarketOpen ? 'OPEN' : 'CLOSED'}`);
859
- * console.log(`Current time: ${marketHours.data.currentTime}`);
860
- * console.log(`Next trading day: ${marketHours.data.nextTradingDay}`);
851
+ * // Get annual cash flow statements for Apple
852
+ * const cashFlows = await fmp.financial.getCashFlowStatement({ symbol: 'AAPL' });
853
+ * cashFlows.data.forEach(flow => {
854
+ * console.log(`${flow.date}: Operating CF $${flow.operatingCashFlow.toLocaleString()}, Free CF $${flow.freeCashFlow.toLocaleString()}`);
855
+ * });
861
856
  *
862
- * // Check if it's a trading day
863
- * if (marketHours.data.isTheStockMarketOpen) {
864
- * console.log('Markets are currently open for trading');
865
- * } else {
866
- * console.log('Markets are closed');
867
- * }
857
+ * // Get quarterly cash flow statements for Microsoft
858
+ * const quarterlyCashFlow = await fmp.financial.getCashFlowStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
868
859
  * ```
869
860
  *
870
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-hours|FMP Market Hours Documentation}
861
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#cashflow-statement|FMP Cash Flow Statement Documentation}
871
862
  */
872
- getMarketHours(): Promise<APIResponse<MarketHours>>;
863
+ getCashFlowStatement(params: {
864
+ symbol: string;
865
+ period?: 'annual' | 'quarter';
866
+ limit?: number;
867
+ }): Promise<APIResponse<CashFlowStatement[]>>;
873
868
  /**
874
- * Get overall market performance data
869
+ * Get key financial metrics
875
870
  *
876
- * Provides comprehensive market performance data including major indices,
877
- * market breadth, and key performance metrics. Essential for understanding
878
- * overall market sentiment, trends, and daily market activity.
871
+ * Provides essential financial metrics including revenue, net income,
872
+ * P/E ratio, and other key performance indicators. Essential for
873
+ * fundamental analysis and company valuation.
879
874
  *
880
- * @returns Promise resolving to array of market performance data with indices and metrics
875
+ * @param params - Key metrics request parameters
876
+ * @param params.symbol - The stock symbol to get key metrics for (e.g., 'AAPL', 'MSFT', 'GOOGL')
877
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
878
+ * @param params.limit - Number of periods to retrieve (default: 5)
879
+ *
880
+ * @returns Promise resolving to array of key metrics data with financial indicators
881
881
  *
882
882
  * @example
883
883
  * ```typescript
884
- * // Get overall market performance
885
- * const marketPerformance = await fmp.market.getMarketPerformance();
886
- * marketPerformance.data.forEach(market => {
887
- * console.log(`${market.index}: ${market.change} (${market.changesPercentage}%)`);
888
- * console.log(` Open: $${market.open}, High: $${market.dayHigh}, Low: $${market.dayLow}`);
884
+ * // Get key metrics for Apple
885
+ * const keyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'AAPL' });
886
+ * keyMetrics.data.forEach(metric => {
887
+ * console.log(`${metric.date}: P/E ${metric.peRatio}, ROE ${metric.roe}%`);
889
888
  * });
890
889
  *
891
- * // Find specific indices
892
- * const sp500 = marketPerformance.data.find(market => market.index === 'S&P 500');
893
- * console.log(`S&P 500 performance: ${sp500?.changesPercentage}%`);
894
- *
895
- * // Check market sentiment
896
- * const gainers = marketPerformance.data.filter(market => market.changesPercentage > 0);
897
- * const losers = marketPerformance.data.filter(market => market.changesPercentage < 0);
898
- * console.log(`Gaining indices: ${gainers.length}, Losing indices: ${losers.length}`);
890
+ * // Get quarterly key metrics for Microsoft
891
+ * const quarterlyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'MSFT', period: 'quarter', limit: 8 });
899
892
  * ```
900
893
  *
901
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-index-market-overview|FMP Market Performance Documentation}
894
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#key-metrics|FMP Key Metrics Documentation}
902
895
  */
903
- getMarketPerformance(): Promise<APIResponse<MarketPerformance[]>>;
896
+ getKeyMetrics(params: {
897
+ symbol: string;
898
+ period?: 'annual' | 'quarter';
899
+ limit?: number;
900
+ }): Promise<APIResponse<KeyMetrics[]>>;
904
901
  /**
905
- * Get top gaining stocks for the current trading day
902
+ * Get financial ratios
906
903
  *
907
- * Provides a list of stocks that have gained the most value during the
908
- * current trading session. Essential for identifying momentum stocks,
909
- * tracking market movers, and discovering potential investment opportunities.
910
- * Useful for day trading, momentum strategies, and market analysis.
904
+ * Provides comprehensive financial ratios including P/B ratio, ROE,
905
+ * debt-to-equity, and other important ratios. Essential for analyzing
906
+ * company financial health and comparing with peers.
911
907
  *
912
- * @returns Promise resolving to array of top gaining stocks with price and percentage change data
908
+ * @param params - Financial ratios request parameters
909
+ * @param params.symbol - The stock symbol to get financial ratios for (e.g., 'AAPL', 'MSFT', 'GOOGL')
910
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
911
+ * @param params.limit - Number of periods to retrieve (default: 5)
912
+ *
913
+ * @returns Promise resolving to array of financial ratios data with ratio metrics
913
914
  *
914
915
  * @example
915
916
  * ```typescript
916
- * // Get top gainers for the day
917
- * const gainers = await fmp.market.getGainers();
918
- * console.log(`Top ${gainers.data.length} gaining stocks today:`);
919
- *
920
- * gainers.data.forEach((stock, index) => {
921
- * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
922
- * console.log(` Price: $${stock.price} | Change: +${stock.change} (${stock.changesPercentage}%)`);
923
- * console.log(` Volume: ${stock.volume.toLocaleString()}`);
917
+ * // Get financial ratios for Apple
918
+ * const ratios = await fmp.financial.getFinancialRatios({ symbol: 'AAPL' });
919
+ * ratios.data.forEach(ratio => {
920
+ * console.log(`${ratio.date}: P/B ${ratio.priceToBookRatio}, Debt/Equity ${ratio.debtToEquity}`);
924
921
  * });
925
922
  *
926
- * // Find stocks with >10% gains
927
- * const bigGainers = gainers.data.filter(stock => stock.changesPercentage > 10);
928
- * console.log(`Stocks with >10% gains: ${bigGainers.length}`);
929
- *
930
- * // Check volume leaders among gainers
931
- * const highVolumeGainers = gainers.data.filter(stock => stock.volume > 1000000);
932
- * console.log(`High volume gainers (>1M shares): ${highVolumeGainers.length}`);
923
+ * // Get quarterly ratios for Microsoft
924
+ * const quarterlyRatios = await fmp.financial.getFinancialRatios({ symbol: 'MSFT', period: 'quarter', limit: 8 });
933
925
  * ```
934
926
  *
935
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-biggest-gainers-market-overview|FMP Market Biggest Gainers Documentation}
927
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#metrics-ratios|FMP Financial Ratios Documentation}
936
928
  */
937
- getGainers(): Promise<APIResponse<MarketPerformance[]>>;
929
+ getFinancialRatios(params: {
930
+ symbol: string;
931
+ period?: 'annual' | 'quarter';
932
+ limit?: number;
933
+ }): Promise<APIResponse<FinancialRatios[]>>;
938
934
  /**
939
- * Get top losing stocks for the current trading day
935
+ * Get enterprise value data
940
936
  *
941
- * Provides a list of stocks that have lost the most value during the
942
- * current trading session. Essential for identifying underperforming stocks,
943
- * tracking market decliners, and discovering potential contrarian opportunities.
944
- * Useful for risk management, short selling strategies, and market analysis.
937
+ * Provides enterprise value metrics including total enterprise value,
938
+ * market cap, and debt information. Essential for company valuation
939
+ * and comparing companies with different capital structures.
945
940
  *
946
- * @returns Promise resolving to array of top losing stocks with price and percentage change data
941
+ * @param params - Enterprise value request parameters
942
+ * @param params.symbol - The stock symbol to get enterprise value for (e.g., 'AAPL', 'MSFT', 'GOOGL')
943
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
944
+ * @param params.limit - Number of periods to retrieve (default: 5)
945
+ *
946
+ * @returns Promise resolving to array of enterprise value data with valuation metrics
947
947
  *
948
948
  * @example
949
949
  * ```typescript
950
- * // Get top losers for the day
951
- * const losers = await fmp.market.getLosers();
952
- * console.log(`Top ${losers.data.length} losing stocks today:`);
953
- *
954
- * losers.data.forEach((stock, index) => {
955
- * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
956
- * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
957
- * console.log(` Volume: ${stock.volume.toLocaleString()}`);
950
+ * // Get enterprise value for Apple
951
+ * const enterpriseValue = await fmp.financial.getEnterpriseValue({ symbol: 'AAPL' });
952
+ * enterpriseValue.data.forEach(ev => {
953
+ * console.log(`${ev.date}: EV $${ev.enterpriseValue.toLocaleString()}, Market Cap $${ev.marketCapitalization.toLocaleString()}`);
958
954
  * });
959
955
  *
960
- * // Find stocks with >10% losses
961
- * const bigLosers = losers.data.filter(stock => stock.changesPercentage < -10);
962
- * console.log(`Stocks with >10% losses: ${bigLosers.length}`);
963
- *
964
- * // Check for potential oversold conditions
965
- * const highVolumeLosers = losers.data.filter(stock => stock.volume > 1000000);
966
- * console.log(`High volume losers (>1M shares): ${highVolumeLosers.length}`);
967
- *
968
- * // Look for potential bounce candidates
969
- * const oversoldStocks = losers.data.filter(stock =>
970
- * stock.changesPercentage < -5 && stock.volume > 500000
971
- * );
956
+ * // Get quarterly enterprise value for Microsoft
957
+ * const quarterlyEV = await fmp.financial.getEnterpriseValue({ symbol: 'MSFT', period: 'quarter', limit: 8 });
972
958
  * ```
973
959
  *
974
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-biggest-losers-market-overview|FMP Market Biggest Losers Documentation}
960
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#enterprise-values|FMP Enterprise Value Documentation}
975
961
  */
976
- getLosers(): Promise<APIResponse<MarketPerformance[]>>;
962
+ getEnterpriseValue(params: {
963
+ symbol: string;
964
+ period?: 'annual' | 'quarter';
965
+ limit?: number;
966
+ }): Promise<APIResponse<EnterpriseValue[]>>;
977
967
  /**
978
- * Get most actively traded stocks for the current trading day
968
+ * Get cash flow growth data
979
969
  *
980
- * Provides a list of stocks with the highest trading volume during the
981
- * current trading session. Essential for identifying stocks with high
982
- * liquidity, tracking market interest, and discovering stocks with
983
- * significant trading activity. Useful for day trading and liquidity analysis.
970
+ * Provides cash flow growth rates showing how quickly a company's
971
+ * cash flows are growing over time. Essential for analyzing cash
972
+ * generation trends and financial sustainability.
984
973
  *
985
- * @returns Promise resolving to array of most active stocks with volume and price data
974
+ * @param params - Cash flow growth request parameters
975
+ * @param params.symbol - The stock symbol to get cash flow growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
976
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
977
+ * @param params.limit - Number of periods to retrieve (default: 5)
978
+ *
979
+ * @returns Promise resolving to array of cash flow growth data with growth metrics
986
980
  *
987
981
  * @example
988
982
  * ```typescript
989
- * // Get most active stocks for the day
990
- * const mostActive = await fmp.market.getMostActive();
991
- * console.log(`Top ${mostActive.data.length} most active stocks today:`);
992
- *
993
- * mostActive.data.forEach((stock, index) => {
994
- * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
995
- * console.log(` Volume: ${stock.volume.toLocaleString()} shares`);
996
- * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
997
- * console.log(` Avg Volume: ${stock.avgVolume?.toLocaleString() || 'N/A'}`);
983
+ * // Get cash flow growth for Apple
984
+ * const cashFlowGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'AAPL' });
985
+ * cashFlowGrowth.data.forEach(growth => {
986
+ * console.log(`${growth.date}: Operating CF Growth ${growth.operatingCashFlowGrowth}%`);
998
987
  * });
999
988
  *
1000
- * // Find stocks with unusual volume (>2x average)
1001
- * const unusualVolume = mostActive.data.filter(stock =>
1002
- * stock.avgVolume && stock.volume > stock.avgVolume * 2
1003
- * );
1004
- * console.log(`Stocks with unusual volume: ${unusualVolume.length}`);
989
+ * // Get quarterly cash flow growth for Microsoft
990
+ * const quarterlyGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
991
+ * ```
1005
992
  *
1006
- * // Check for high volume gainers
1007
- * const highVolumeGainers = mostActive.data.filter(stock =>
1008
- * stock.changesPercentage > 0 && stock.volume > 1000000
1009
- * );
1010
- * console.log(`High volume gainers: ${highVolumeGainers.length}`);
993
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#cashflow-statement-growth|FMP Cash Flow Growth Documentation}
994
+ */
995
+ getCashflowGrowth(params: {
996
+ symbol: string;
997
+ period?: 'annual' | 'quarter';
998
+ limit?: number;
999
+ }): Promise<APIResponse<CashflowGrowth[]>>;
1000
+ /**
1001
+ * Get income growth data
1011
1002
  *
1012
- * // Find penny stocks with high volume
1013
- * const pennyStocks = mostActive.data.filter(stock =>
1014
- * stock.price < 5 && stock.volume > 500000
1015
- * );
1003
+ * Provides income growth rates showing how quickly a company's
1004
+ * revenue and net income are growing over time. Essential for
1005
+ * analyzing profitability trends and business momentum.
1006
+ *
1007
+ * @param params - Income growth request parameters
1008
+ * @param params.symbol - The stock symbol to get income growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1009
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
1010
+ * @param params.limit - Number of periods to retrieve (default: 5)
1011
+ *
1012
+ * @returns Promise resolving to array of income growth data with growth metrics
1013
+ *
1014
+ * @example
1015
+ * ```typescript
1016
+ * // Get income growth for Apple
1017
+ * const incomeGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'AAPL' });
1018
+ * incomeGrowth.data.forEach(growth => {
1019
+ * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, Net Income Growth ${growth.netIncomeGrowth}%`);
1020
+ * });
1021
+ *
1022
+ * // Get quarterly income growth for Microsoft
1023
+ * const quarterlyGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
1024
+ * ```
1025
+ *
1026
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#income-statement-growth|FMP Income Growth Documentation}
1027
+ */
1028
+ getIncomeGrowth(params: {
1029
+ symbol: string;
1030
+ period?: 'annual' | 'quarter';
1031
+ limit?: number;
1032
+ }): Promise<APIResponse<IncomeGrowth[]>>;
1033
+ /**
1034
+ * Get balance sheet growth data
1035
+ *
1036
+ * Provides balance sheet growth rates showing how quickly a company's
1037
+ * assets, liabilities, and equity are growing over time. Essential for
1038
+ * analyzing capital structure trends and financial position changes.
1039
+ *
1040
+ * @param params - Balance sheet growth request parameters
1041
+ * @param params.symbol - The stock symbol to get balance sheet growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1042
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
1043
+ * @param params.limit - Number of periods to retrieve (default: 5)
1044
+ *
1045
+ * @returns Promise resolving to array of balance sheet growth data with growth metrics
1046
+ *
1047
+ * @example
1048
+ * ```typescript
1049
+ * // Get balance sheet growth for Apple
1050
+ * const balanceSheetGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'AAPL' });
1051
+ * balanceSheetGrowth.data.forEach(growth => {
1052
+ * console.log(`${growth.date}: Assets Growth ${growth.totalAssetsGrowth}%, Equity Growth ${growth.totalStockholdersEquityGrowth}%`);
1053
+ * });
1054
+ *
1055
+ * // Get quarterly balance sheet growth for Microsoft
1056
+ * const quarterlyGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
1057
+ * ```
1058
+ *
1059
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#balance-sheet-statement-growth|FMP Balance Sheet Growth Documentation}
1060
+ */
1061
+ getBalanceSheetGrowth(params: {
1062
+ symbol: string;
1063
+ period?: 'annual' | 'quarter';
1064
+ limit?: number;
1065
+ }): Promise<APIResponse<BalanceSheetGrowth[]>>;
1066
+ /**
1067
+ * Get financial growth data
1068
+ *
1069
+ * Provides comprehensive financial growth rates across all key
1070
+ * financial metrics. Essential for analyzing overall financial
1071
+ * performance trends and business momentum.
1072
+ *
1073
+ * @param params - Financial growth request parameters
1074
+ * @param params.symbol - The stock symbol to get financial growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1075
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
1076
+ * @param params.limit - Number of periods to retrieve (default: 5)
1077
+ *
1078
+ * @returns Promise resolving to array of financial growth data with comprehensive growth metrics
1079
+ *
1080
+ * @example
1081
+ * ```typescript
1082
+ * // Get financial growth for Apple
1083
+ * const financialGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'AAPL' });
1084
+ * financialGrowth.data.forEach(growth => {
1085
+ * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, EPS Growth ${growth.epsGrowth}%`);
1086
+ * });
1087
+ *
1088
+ * // Get quarterly financial growth for Microsoft
1089
+ * const quarterlyGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
1090
+ * ```
1091
+ *
1092
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#financial-statement-growth|FMP Financial Growth Documentation}
1093
+ */
1094
+ getFinancialGrowth(params: {
1095
+ symbol: string;
1096
+ period?: 'annual' | 'quarter';
1097
+ limit?: number;
1098
+ }): Promise<APIResponse<FinancialGrowth[]>>;
1099
+ /**
1100
+ * Get historical earnings data
1101
+ *
1102
+ * Provides historical and upcoming earnings announcements including
1103
+ * dates, estimated EPS, and actual EPS. Essential for analyzing
1104
+ * earnings trends and tracking company performance.
1105
+ *
1106
+ * @param params - Earnings historical request parameters
1107
+ * @param params.symbol - The stock symbol to get earnings history for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1108
+ * @param params.limit - Number of periods to retrieve (default: 5)
1109
+ *
1110
+ * @returns Promise resolving to array of historical earnings data with announcement details
1111
+ *
1112
+ * @example
1113
+ * ```typescript
1114
+ * // Get earnings history for Apple
1115
+ * const earningsHistory = await fmp.financial.getEarningsHistorical({ symbol: 'AAPL', limit: 10 });
1116
+ * earningsHistory.data.forEach(earning => {
1117
+ * console.log(`${earning.date}: Est. ${earning.estimatedEps}, Actual ${earning.actualEps}`);
1118
+ * });
1119
+ *
1120
+ * // Get earnings history for Microsoft
1121
+ * const msftEarnings = await fmp.financial.getEarningsHistorical({ symbol: 'MSFT', limit: 8 });
1122
+ * ```
1123
+ *
1124
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#earnings-company|FMP Earnings Historical Documentation}
1125
+ */
1126
+ getEarningsHistorical(params: {
1127
+ symbol: string;
1128
+ limit?: number;
1129
+ }): Promise<APIResponse<EarningsHistorical[]>>;
1130
+ /**
1131
+ * Get earnings surprises data
1132
+ *
1133
+ * Provides earnings announcements that exceeded or fell short of
1134
+ * analyst estimates. Essential for analyzing earnings quality and
1135
+ * market reactions to earnings releases.
1136
+ *
1137
+ * @param symbol - The stock symbol to get earnings surprises for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1138
+ *
1139
+ * @returns Promise resolving to array of earnings surprises data with surprise details
1140
+ *
1141
+ * @example
1142
+ * ```typescript
1143
+ * // Get earnings surprises for Apple
1144
+ * const earningsSurprises = await fmp.financial.getEarningsSurprises('AAPL');
1145
+ * earningsSurprises.data.forEach(surprise => {
1146
+ * console.log(`${surprise.date}: Est. ${surprise.estimatedEps}, Actual ${surprise.actualEps}, Surprise ${surprise.surprisePercentage}%`);
1147
+ * });
1148
+ *
1149
+ * // Get earnings surprises for Microsoft
1150
+ * const msftSurprises = await fmp.financial.getEarningsSurprises('MSFT');
1151
+ * ```
1152
+ *
1153
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-surprises-earnings|FMP Earnings Surprises Documentation}
1154
+ */
1155
+ getEarningsSurprises(symbol: string): Promise<APIResponse<EarningsSurprises[]>>;
1156
+ }
1157
+
1158
+ declare class InsiderEndpoints {
1159
+ private client;
1160
+ constructor(client: FMPClient);
1161
+ /**
1162
+ * Get insider trading RSS feed data
1163
+ *
1164
+ * Provides real-time RSS feed of insider trading activities across all
1165
+ * publicly traded companies. Essential for monitoring insider trading
1166
+ * patterns, corporate governance, and potential market-moving events.
1167
+ *
1168
+ * @param params - RSS feed request parameters
1169
+ * @param params.page - Page number for pagination (default: 0)
1170
+ * @param params.limit - Limit number of results (default: 100)
1171
+ *
1172
+ * @returns Promise resolving to array of insider trading RSS feed data
1173
+ *
1174
+ * @example
1175
+ * ```typescript
1176
+ * // Get first page of insider trading RSS feed
1177
+ * const rssFeed = await fmp.insider.getInsiderTradingRSS({ page: 0 });
1178
+ * rssFeed.data.forEach(trade => {
1179
+ * console.log(`${trade.date}: ${trade.symbol} - ${trade.insiderName} ${trade.transactionType}`);
1180
+ * });
1181
+ *
1182
+ * // Get second page of RSS feed
1183
+ * const nextPage = await fmp.insider.getInsiderTradingRSS({ page: 1 });
1184
+ * ```
1185
+ *
1186
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#latest-insider-trade|FMP Insider Trading RSS Documentation}
1187
+ */
1188
+ getInsiderTradingRSS(params: {
1189
+ page?: number;
1190
+ limit?: number;
1191
+ }): Promise<APIResponse<InsiderTradingRSSResponse[]>>;
1192
+ /**
1193
+ * Search for insider trades with advanced filtering
1194
+ *
1195
+ * Provides comprehensive insider trading data with multiple filtering options
1196
+ * including symbol, CIK numbers, and transaction types. Essential for detailed
1197
+ * analysis of insider trading patterns and corporate governance.
1198
+ *
1199
+ * @param params - Insider trading search parameters
1200
+ * @param params.symbol - Stock symbol to filter by (optional)
1201
+ * @param params.reportingCik - Reporting CIK to filter by (optional)
1202
+ * @param params.companyCik - Company CIK to filter by (optional)
1203
+ * @param params.transactionType - Transaction type to filter by (optional)
1204
+ * @param params.page - Page number for pagination (default: 0)
1205
+ * @param params.limit - Limit number of results (default: 100)
1206
+ *
1207
+ * @returns Promise resolving to array of insider trading search results
1208
+ *
1209
+ * @example
1210
+ * ```typescript
1211
+ * // Search for Apple insider trades
1212
+ * const appleTrades = await fmp.insider.searchInsiderTrading({
1213
+ * symbol: 'AAPL',
1214
+ * page: 0
1215
+ * });
1216
+ * appleTrades.data.forEach(trade => {
1217
+ * console.log(`${trade.date}: ${trade.insiderName} - ${trade.transactionType} ${trade.sharesTraded} shares`);
1218
+ * });
1219
+ *
1220
+ * // Search by transaction type
1221
+ * const purchases = await fmp.insider.searchInsiderTrading({
1222
+ * transactionType: 'P-Purchase',
1223
+ * page: 0
1224
+ * });
1225
+ *
1226
+ * // Search by CIK
1227
+ * const cikTrades = await fmp.insider.searchInsiderTrading({
1228
+ * companyCik: '0000320193',
1229
+ * page: 0
1230
+ * });
1231
+ * ```
1232
+ *
1233
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#search-insider-trades|FMP Insider Trading Search Documentation}
1234
+ */
1235
+ searchInsiderTrading(params: {
1236
+ symbol?: string;
1237
+ reportingCik?: string;
1238
+ companyCik?: string;
1239
+ transactionType?: string;
1240
+ page?: number;
1241
+ limit?: number;
1242
+ }): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
1243
+ /**
1244
+ * Get all available transaction types
1245
+ *
1246
+ * Provides a comprehensive list of all insider trading transaction types
1247
+ * used in SEC filings. Essential for understanding different types of
1248
+ * insider trading activities and filtering search results.
1249
+ *
1250
+ * @returns Promise resolving to array of transaction types with descriptions
1251
+ *
1252
+ * @example
1253
+ * ```typescript
1254
+ * // Get all transaction types
1255
+ * const transactionTypes = await fmp.insider.getTransactionTypes();
1256
+ * transactionTypes.data.forEach(type => {
1257
+ * console.log(`${type.code}: ${type.description}`);
1258
+ * });
1259
+ * ```
1260
+ *
1261
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#all-transaction-types|FMP Transaction Types Documentation}
1262
+ */
1263
+ getTransactionTypes(): Promise<APIResponse<TransactionTypesResponse>>;
1264
+ /**
1265
+ * Get insiders roster for a specific company
1266
+ *
1267
+ * Provides a list of all insiders (officers, directors, and beneficial owners)
1268
+ * for a specific company. Essential for understanding corporate governance
1269
+ * structure and identifying key personnel.
1270
+ *
1271
+ * @deprecated This endpoint uses API version v4 which will be deprecated.
1272
+ *
1273
+ * @param params - Insiders request parameters
1274
+ * @param params.symbol - Stock symbol to get insiders for
1275
+ *
1276
+ * @returns Promise resolving to array of insiders data for the company
1277
+ *
1278
+ * @example
1279
+ * ```typescript
1280
+ * // Get Apple's insiders roster
1281
+ * const appleInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'AAPL' });
1282
+ * appleInsiders.data.forEach(insider => {
1283
+ * console.log(`${insider.name} - ${insider.title} (${insider.cik})`);
1284
+ * });
1285
+ *
1286
+ * // Get Microsoft's insiders
1287
+ * const msftInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'MSFT' });
1288
+ * ```
1289
+ *
1290
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insiders-by-symbol-insider-trading|FMP Insiders by Symbol Documentation}
1291
+ */
1292
+ getInsidersBySymbol(params: {
1293
+ symbol: string;
1294
+ }): Promise<APIResponse<InsidersBySymbolResponse[]>>;
1295
+ /**
1296
+ * Get insider trade statistics for a company
1297
+ *
1298
+ * Provides comprehensive statistics on insider trading activity for a
1299
+ * specific company including total trades, volume, and value metrics.
1300
+ * Essential for analyzing insider trading patterns and sentiment.
1301
+ *
1302
+ * @param params - Statistics request parameters
1303
+ * @param params.symbol - Stock symbol to get statistics for
1304
+ *
1305
+ * @returns Promise resolving to array of insider trade statistics data
1306
+ *
1307
+ * @example
1308
+ * ```typescript
1309
+ * // Get Apple's insider trade statistics
1310
+ * const appleStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'AAPL' });
1311
+ * appleStats.data.forEach(stat => {
1312
+ * console.log(`${stat.insiderName}: ${stat.totalTrades} trades, ${stat.totalShares} shares`);
1313
+ * });
1314
+ *
1315
+ * // Get Microsoft's statistics
1316
+ * const msftStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'MSFT' });
1317
+ * ```
1318
+ *
1319
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trade-statistics|FMP Insider Trade Statistics Documentation}
1320
+ */
1321
+ getInsiderTradeStatistics(params: {
1322
+ symbol: string;
1323
+ }): Promise<APIResponse<InsiderTradeStatisticsResponse[]>>;
1324
+ /**
1325
+ * Get CIK mapper data
1326
+ *
1327
+ * Provides a mapping between CIK (Central Index Key) numbers and company
1328
+ * names. Essential for converting between CIK numbers and company
1329
+ * identifiers in insider trading analysis.
1330
+ *
1331
+ * @deprecated This endpoint uses API version v4 which will be deprecated.
1332
+ *
1333
+ * @param params - CIK mapper request parameters
1334
+ * @param params.page - Page number for pagination (default: 0)
1335
+ *
1336
+ * @returns Promise resolving to array of CIK mapper data
1337
+ *
1338
+ * @example
1339
+ * ```typescript
1340
+ * // Get first page of CIK mapper
1341
+ * const cikMapper = await fmp.insider.getCikMapper({ page: 0 });
1342
+ * cikMapper.data.forEach(mapping => {
1343
+ * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
1344
+ * });
1345
+ *
1346
+ * // Get second page
1347
+ * const nextPage = await fmp.insider.getCikMapper({ page: 1 });
1348
+ * ```
1349
+ *
1350
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-insider-trading|FMP CIK Mapper Documentation}
1351
+ */
1352
+ getCikMapper(params: {
1353
+ page?: number;
1354
+ }): Promise<APIResponse<CikMapperResponse[]>>;
1355
+ /**
1356
+ * Get CIK mapper by name search
1357
+ *
1358
+ * Provides CIK numbers and company names matching a search term.
1359
+ * Useful for finding companies by partial name matches and
1360
+ * converting company names to CIK numbers.
1361
+ *
1362
+ * @deprecated This endpoint uses API version v4 which will be deprecated.
1363
+ *
1364
+ * @param params - CIK mapper by name request parameters
1365
+ * @param params.name - Company name or partial name to search for
1366
+ * @param params.page - Page number for pagination (default: 0)
1367
+ *
1368
+ * @returns Promise resolving to array of CIK mapper data matching the search
1369
+ *
1370
+ * @example
1371
+ * ```typescript
1372
+ * // Search for Apple by name
1373
+ * const appleCik = await fmp.insider.getCikMapperByName({
1374
+ * name: 'Apple',
1375
+ * page: 0
1376
+ * });
1377
+ * appleCik.data.forEach(mapping => {
1378
+ * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
1379
+ * });
1380
+ *
1381
+ * // Search for Microsoft
1382
+ * const msftCik = await fmp.insider.getCikMapperByName({
1383
+ * name: 'Microsoft',
1384
+ * page: 0
1385
+ * });
1386
+ * ```
1387
+ *
1388
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-by-name-insider-trading|FMP CIK Mapper by Name Documentation}
1389
+ */
1390
+ getCikMapperByName(params: {
1391
+ name: string;
1392
+ page?: number;
1393
+ }): Promise<APIResponse<CikMapperResponse[]>>;
1394
+ /**
1395
+ * Get CIK mapper by symbol
1396
+ *
1397
+ * Provides CIK number and company name for a specific stock symbol.
1398
+ * Essential for converting stock symbols to CIK numbers for use
1399
+ * in insider trading searches and analysis.
1400
+ *
1401
+ * @deprecated This endpoint uses API version v4 which will be deprecated.
1402
+ *
1403
+ * @param params - CIK mapper by symbol request parameters
1404
+ * @param params.symbol - Stock symbol to get CIK for
1405
+ *
1406
+ * @returns Promise resolving to CIK mapper data for the symbol
1407
+ *
1408
+ * @example
1409
+ * ```typescript
1410
+ * // Get Apple's CIK by symbol
1411
+ * const appleCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'AAPL' });
1412
+ * console.log(`Apple CIK: ${appleCik.data.cik} - ${appleCik.data.name}`);
1413
+ *
1414
+ * // Get Microsoft's CIK
1415
+ * const msftCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'MSFT' });
1416
+ * ```
1417
+ *
1418
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-company-insider-trading|FMP CIK Mapper by Symbol Documentation}
1419
+ */
1420
+ getCikMapperBySymbol(params: {
1421
+ symbol: string;
1422
+ }): Promise<APIResponse<CikMapperBySymbolResponse>>;
1423
+ /**
1424
+ * Get beneficial ownership acquisitions
1425
+ *
1426
+ * Provides data on acquisitions of beneficial ownership for a specific
1427
+ * company. Essential for tracking significant ownership changes and
1428
+ * corporate governance events.
1429
+ *
1430
+ * @param params - Beneficial ownership request parameters
1431
+ * @param params.symbol - Stock symbol to get beneficial ownership data for
1432
+ * @param params.limit - Limit number of results (default: 100)
1433
+ *
1434
+ * @returns Promise resolving to array of beneficial ownership acquisition data
1435
+ *
1436
+ * @example
1437
+ * ```typescript
1438
+ * // Get Apple's beneficial ownership acquisitions
1439
+ * const appleOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'AAPL' });
1440
+ * appleOwnership.data.forEach(acquisition => {
1441
+ * console.log(`${acquisition.date}: ${acquisition.insiderName} acquired ${acquisition.sharesAcquired} shares`);
1442
+ * });
1443
+ *
1444
+ * // Get Microsoft's beneficial ownership
1445
+ * const msftOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'MSFT' });
1016
1446
  * ```
1017
1447
  *
1018
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-most-actives|FMP Market Most Actives Documentation}
1448
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#acquisition-of-beneficial-ownership|FMP Beneficial Ownership Documentation}
1019
1449
  */
1020
- getMostActive(): Promise<APIResponse<MarketPerformance[]>>;
1450
+ getBeneficialOwnership(params: {
1451
+ symbol: string;
1452
+ limit?: number;
1453
+ }): Promise<APIResponse<BeneficialOwnershipResponse[]>>;
1021
1454
  /**
1022
- * Get sector performance data for the current trading day
1455
+ * Get fail to deliver data
1023
1456
  *
1024
- * Provides performance data for all major market sectors including
1025
- * technology, healthcare, financials, energy, and others. Essential for
1026
- * sector rotation analysis, identifying leading/lagging sectors, and
1027
- * understanding market breadth and sector-specific trends.
1457
+ * Provides fail to deliver data for a specific company, which indicates
1458
+ * when market participants fail to deliver securities on settlement date.
1459
+ * Important for understanding market mechanics and potential short interest.
1028
1460
  *
1029
- * @returns Promise resolving to array of sector performance data with percentage changes
1461
+ * @deprecated This endpoint uses API version v4 which will be deprecated.
1462
+ *
1463
+ * @param params - Fail to deliver request parameters
1464
+ * @param params.symbol - Stock symbol to get fail to deliver data for
1465
+ * @param params.page - Page number for pagination (default: 0)
1466
+ *
1467
+ * @returns Promise resolving to array of fail to deliver data
1030
1468
  *
1031
1469
  * @example
1032
1470
  * ```typescript
1033
- * // Get sector performance for the day
1034
- * const sectorPerformance = await fmp.market.getSectorPerformance();
1035
- * console.log(`Sector performance for ${sectorPerformance.data.length} sectors:`);
1471
+ * // Get Apple's fail to deliver data
1472
+ * const appleFailToDeliver = await fmp.insider.getFailToDeliver({
1473
+ * symbol: 'AAPL',
1474
+ * page: 0
1475
+ * });
1476
+ * appleFailToDeliver.data.forEach(entry => {
1477
+ * console.log(`${entry.date}: ${entry.shares} shares failed to deliver`);
1478
+ * });
1036
1479
  *
1037
- * sectorPerformance.data.forEach(sector => {
1038
- * const changeColor = sector.changesPercentage >= 0 ? 'green' : 'red';
1039
- * console.log(`${sector.sector}: ${sector.changesPercentage}%`);
1040
- * console.log(` Change: ${sector.changesPercentage >= 0 ? '+' : ''}${sector.changesPercentage}%`);
1480
+ * // Get Microsoft's fail to deliver data
1481
+ * const msftFailToDeliver = await fmp.insider.getFailToDeliver({
1482
+ * symbol: 'MSFT',
1483
+ * page: 0
1041
1484
  * });
1485
+ * ```
1042
1486
  *
1043
- * // Find best performing sectors
1044
- * const topSectors = sectorPerformance.data
1045
- * .sort((a, b) => b.changesPercentage - a.changesPercentage)
1046
- * .slice(0, 3);
1047
- * console.log('Top 3 performing sectors:');
1048
- * topSectors.forEach((sector, index) => {
1049
- * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1487
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#fail-to-deliver|FMP Fail to Deliver Documentation}
1488
+ */
1489
+ getFailToDeliver(params: {
1490
+ symbol: string;
1491
+ page?: number;
1492
+ }): Promise<APIResponse<FailToDeliverResponse[]>>;
1493
+ /**
1494
+ * Get all insider trades for a symbol (convenience method)
1495
+ * @param symbol - The stock symbol to get insider trades for
1496
+ * @param page - Page number for pagination (default: 0)
1497
+ * @returns A list of insider trades for the specified symbol
1498
+ */
1499
+ getInsiderTradesBySymbol(symbol: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
1500
+ /**
1501
+ * Get insider trades by transaction type (convenience method)
1502
+ * @param transactionType - The transaction type to filter by
1503
+ * @param page - Page number for pagination (default: 0)
1504
+ * @returns A list of insider trades filtered by transaction type
1505
+ */
1506
+ getInsiderTradesByType(transactionType: TransactionType | string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
1507
+ /**
1508
+ * Get insider trades by reporting CIK (convenience method)
1509
+ * @param reportingCik - The reporting CIK to filter by
1510
+ * @param page - Page number for pagination (default: 0)
1511
+ * @returns A list of insider trades filtered by reporting CIK
1512
+ */
1513
+ getInsiderTradesByReportingCik(reportingCik: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
1514
+ /**
1515
+ * Get insider trades by company CIK (convenience method)
1516
+ * @param companyCik - The company CIK to filter by
1517
+ * @param page - Page number for pagination (default: 0)
1518
+ * @returns A list of insider trades filtered by company CIK
1519
+ */
1520
+ getInsiderTradesByCompanyCik(companyCik: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
1521
+ }
1522
+
1523
+ declare class InstitutionalEndpoints {
1524
+ private client;
1525
+ constructor(client: FMPClient);
1526
+ /**
1527
+ * Get Form 13F institutional stock ownership data
1528
+ *
1529
+ * Provides Form 13F institutional stock ownership data for investment
1530
+ * managers with over $100 million in assets under management. Essential
1531
+ * for analyzing institutional investment patterns and holdings.
1532
+ *
1533
+ * @param params - Form 13F request parameters
1534
+ * @param params.cik - Central Index Key (CIK) of the investment manager
1535
+ * @param params.date - Specific date in YYYY-MM-DD format (optional, defaults to most recent filing)
1536
+ *
1537
+ * @returns Promise resolving to array of Form 13F institutional ownership data
1538
+ *
1539
+ * @example
1540
+ * ```typescript
1541
+ * // Get Berkshire Hathaway's Form 13F data
1542
+ * const berkshire13F = await fmp.institutional.getForm13F({
1543
+ * cik: '0001067983'
1544
+ * });
1545
+ * berkshire13F.data.forEach(holding => {
1546
+ * console.log(`${holding.issuerName}: ${holding.value.toLocaleString()} shares, $${holding.value.toLocaleString()}`);
1050
1547
  * });
1051
1548
  *
1052
- * // Find worst performing sectors
1053
- * const bottomSectors = sectorPerformance.data
1054
- * .sort((a, b) => a.changesPercentage - b.changesPercentage)
1055
- * .slice(0, 3);
1056
- * console.log('Bottom 3 performing sectors:');
1057
- * bottomSectors.forEach((sector, index) => {
1058
- * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1549
+ * // Get Form 13F data for specific date
1550
+ * const historical13F = await fmp.institutional.getForm13F({
1551
+ * cik: '0001067983',
1552
+ * date: '2023-12-31'
1059
1553
  * });
1060
1554
  *
1061
- * // Check for sector rotation
1062
- * const gainingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage > 0);
1063
- * const losingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage < 0);
1064
- * console.log(`Sectors gaining: ${gainingSectors.length}, Sectors losing: ${losingSectors.length}`);
1555
+ * // Get BlackRock's Form 13F data
1556
+ * const blackrock13F = await fmp.institutional.getForm13F({
1557
+ * cik: '0001364742'
1558
+ * });
1065
1559
  * ```
1066
1560
  *
1067
- * @see {@link https://site.financialmodelingprep.com/developer/docs#sector-performance-market-overview|FMP Sector Performance Documentation}
1561
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-13f---institutional-stock-ownership|FMP Form 13F Documentation}
1068
1562
  */
1069
- getSectorPerformance(): Promise<APIResponse<MarketSectorPerformance[]>>;
1563
+ getForm13F(params: {
1564
+ cik: string;
1565
+ date?: string;
1566
+ }): Promise<APIResponse<Form13FResponse[]>>;
1070
1567
  /**
1071
- * Get real-time data for major market indices
1568
+ * Get Form 13F filing dates for an investment manager
1072
1569
  *
1073
- * Provides real-time quote data for all major stock market indices including
1074
- * S&P 500, Dow Jones Industrial Average, NASDAQ Composite, and other global
1075
- * indices. Essential for tracking overall market performance, understanding
1076
- * market sentiment, and identifying broad market trends.
1570
+ * Provides available filing dates for Form 13F submissions by a specific
1571
+ * investment manager. Essential for discovering historical filing dates
1572
+ * before requesting detailed Form 13F data.
1077
1573
  *
1078
- * @returns Promise resolving to array of market index data with real-time quotes
1574
+ * @param params - Form 13F dates request parameters
1575
+ * @param params.cik - Central Index Key (CIK) of the investment manager
1576
+ *
1577
+ * @returns Promise resolving to array of available Form 13F filing dates
1079
1578
  *
1080
1579
  * @example
1081
1580
  * ```typescript
1082
- * // Get real-time market indices
1083
- * const marketIndices = await fmp.market.getMarketIndex();
1084
- * console.log(`Real-time data for ${marketIndices.data.length} major indices:`);
1581
+ * // Get Berkshire Hathaway's Form 13F filing dates
1582
+ * const berkshireDates = await fmp.institutional.getForm13FDates({
1583
+ * cik: '0001067983'
1584
+ * });
1585
+ * berkshireDates.data.forEach(date => {
1586
+ * console.log(`Filing date: ${date}`);
1587
+ * });
1085
1588
  *
1086
- * marketIndices.data.forEach(index => {
1087
- * console.log(`${index.symbol} (${index.name}):`);
1088
- * console.log(` Price: $${index.price}`);
1089
- * console.log(` Change: ${index.change} (${index.changesPercentage}%)`);
1090
- * console.log(` Day Range: $${index.dayLow} - $${index.dayHigh}`);
1091
- * console.log(` Volume: ${index.volume?.toLocaleString() || 'N/A'}`);
1589
+ * // Get BlackRock's filing dates
1590
+ * const blackrockDates = await fmp.institutional.getForm13FDates({
1591
+ * cik: '0001364742'
1092
1592
  * });
1593
+ * ```
1093
1594
  *
1094
- * // Find specific major indices
1095
- * const sp500 = marketIndices.data.find(index => index.symbol === '^GSPC');
1096
- * const nasdaq = marketIndices.data.find(index => index.symbol === '^IXIC');
1097
- * const dowJones = marketIndices.data.find(index => index.symbol === '^DJI');
1595
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-dates-13f---institutional-stock-ownership|FMP Form 13F Dates Documentation}
1596
+ */
1597
+ getForm13FDates(params: {
1598
+ cik: string;
1599
+ }): Promise<APIResponse<string[]>>;
1600
+ /**
1601
+ * Get institutional holders for a company
1098
1602
  *
1099
- * console.log(`S&P 500: ${sp500?.price} (${sp500?.changesPercentage}%)`);
1100
- * console.log(`NASDAQ: ${nasdaq?.price} (${nasdaq?.changesPercentage}%)`);
1101
- * console.log(`Dow Jones: ${dowJones?.price} (${dowJones?.changesPercentage}%)`);
1603
+ * Provides data on institutional investors holding shares in a specific
1604
+ * company. Essential for understanding institutional ownership patterns,
1605
+ * major shareholders, and investment sentiment.
1102
1606
  *
1103
- * // Check market breadth
1104
- * const gainingIndices = marketIndices.data.filter(index => index.changesPercentage > 0);
1105
- * const losingIndices = marketIndices.data.filter(index => index.changesPercentage < 0);
1106
- * console.log(`Indices gaining: ${gainingIndices.length}, Indices losing: ${losingIndices.length}`);
1607
+ * @param params - Institutional holders request parameters
1608
+ * @param params.symbol - Stock symbol to get institutional holders for
1107
1609
  *
1108
- * // Find international indices
1109
- * const internationalIndices = marketIndices.data.filter(index =>
1110
- * !index.symbol.startsWith('^') ||
1111
- * index.name.toLowerCase().includes('europe') ||
1112
- * index.name.toLowerCase().includes('asia')
1113
- * );
1610
+ * @returns Promise resolving to array of institutional holders data
1611
+ *
1612
+ * @example
1613
+ * ```typescript
1614
+ * // Get Apple's institutional holders
1615
+ * const appleHolders = await fmp.institutional.getInstitutionalHolders({
1616
+ * symbol: 'AAPL'
1617
+ * });
1618
+ * appleHolders.data.forEach(holder => {
1619
+ * console.log(`${holder.holder}: ${holder.shares.toLocaleString()} shares (${holder.weight}%)`);
1620
+ * });
1621
+ *
1622
+ * // Get Microsoft's institutional holders
1623
+ * const msftHolders = await fmp.institutional.getInstitutionalHolders({
1624
+ * symbol: 'MSFT'
1625
+ * });
1626
+ *
1627
+ * // Get Tesla's institutional holders
1628
+ * const teslaHolders = await fmp.institutional.getInstitutionalHolders({
1629
+ * symbol: 'TSLA'
1630
+ * });
1114
1631
  * ```
1115
1632
  *
1116
- * @see {@link https://site.financialmodelingprep.com/developer/docs#market-index-market-overview|FMP Market Index Documentation}
1633
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#institutional-holder-13f---institutional-stock-ownership|FMP Institutional Holders Documentation}
1117
1634
  */
1118
- getMarketIndex(): Promise<APIResponse<MarketIndex[]>>;
1635
+ getInstitutionalHolders(params: {
1636
+ symbol: string;
1637
+ }): Promise<APIResponse<InstitutionalHolderResponse[]>>;
1119
1638
  }
1120
1639
 
1121
1640
  declare class ListEndpoints {
@@ -1294,462 +1813,611 @@ declare class ListEndpoints {
1294
1813
  getAvailableIndexes(): Promise<APIResponse<AvailableIndexesList[]>>;
1295
1814
  }
1296
1815
 
1297
- declare class CalendarEndpoints {
1298
- private _client;
1299
- constructor(_client: FMPClient);
1816
+ declare class MarketEndpoints {
1817
+ private client;
1818
+ constructor(client: FMPClient);
1300
1819
  /**
1301
- * Get earnings calendar data
1820
+ * Get current market hours and trading status
1821
+ *
1822
+ * Provides real-time information about market trading hours, including
1823
+ * whether markets are currently open or closed, trading session times,
1824
+ * and upcoming market holidays. Essential for determining trading
1825
+ * availability and market status.
1826
+ *
1827
+ * @returns Promise resolving to market hours data with trading status and session information
1828
+ *
1829
+ * @example
1830
+ * ```typescript
1831
+ * // Get current market status
1832
+ * const marketHours = await fmp.market.getMarketHours();
1833
+ * console.log(`Market is ${marketHours.data.isTheStockMarketOpen ? 'OPEN' : 'CLOSED'}`);
1834
+ * console.log(`Current time: ${marketHours.data.currentTime}`);
1835
+ * console.log(`Next trading day: ${marketHours.data.nextTradingDay}`);
1836
+ *
1837
+ * // Check if it's a trading day
1838
+ * if (marketHours.data.isTheStockMarketOpen) {
1839
+ * console.log('Markets are currently open for trading');
1840
+ * } else {
1841
+ * console.log('Markets are closed');
1842
+ * }
1843
+ * ```
1302
1844
  *
1303
- * Provides upcoming earnings announcements for all publicly traded companies
1304
- * within a specified date range. Essential for tracking earnings season,
1305
- * market events, and investment timing decisions.
1845
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-hours|FMP Market Hours Documentation}
1846
+ */
1847
+ getMarketHours(): Promise<APIResponse<MarketHours>>;
1848
+ /**
1849
+ * Get overall market performance data
1306
1850
  *
1307
- * @param params - Earnings calendar request parameters
1308
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1309
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1851
+ * Provides comprehensive market performance data including major indices,
1852
+ * market breadth, and key performance metrics. Essential for understanding
1853
+ * overall market sentiment, trends, and daily market activity.
1310
1854
  *
1311
- * @returns Promise resolving to array of earnings calendar data with announcement details
1855
+ * @returns Promise resolving to array of market performance data with indices and metrics
1312
1856
  *
1313
1857
  * @example
1314
1858
  * ```typescript
1315
- * // Get earnings calendar for next week
1316
- * const earningsCalendar = await fmp.calendar.getEarningsCalendar({
1317
- * from: '2024-01-15',
1318
- * to: '2024-01-22'
1319
- * });
1320
- * earningsCalendar.data.forEach(earning => {
1321
- * console.log(`${earning.date}: ${earning.symbol} - Est. EPS: ${earning.estimatedEps}`);
1859
+ * // Get overall market performance
1860
+ * const marketPerformance = await fmp.market.getMarketPerformance();
1861
+ * marketPerformance.data.forEach(market => {
1862
+ * console.log(`${market.index}: ${market.change} (${market.changesPercentage}%)`);
1863
+ * console.log(` Open: $${market.open}, High: $${market.dayHigh}, Low: $${market.dayLow}`);
1322
1864
  * });
1323
1865
  *
1324
- * // Get earnings calendar for current month
1325
- * const monthlyEarnings = await fmp.calendar.getEarningsCalendar({
1326
- * from: '2024-01-01',
1327
- * to: '2024-01-31'
1328
- * });
1866
+ * // Find specific indices
1867
+ * const sp500 = marketPerformance.data.find(market => market.index === 'S&P 500');
1868
+ * console.log(`S&P 500 performance: ${sp500?.changesPercentage}%`);
1869
+ *
1870
+ * // Check market sentiment
1871
+ * const gainers = marketPerformance.data.filter(market => market.changesPercentage > 0);
1872
+ * const losers = marketPerformance.data.filter(market => market.changesPercentage < 0);
1873
+ * console.log(`Gaining indices: ${gainers.length}, Losing indices: ${losers.length}`);
1329
1874
  * ```
1330
1875
  *
1331
- * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-calendar-earnings|FMP Earnings Calendar Documentation}
1876
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-index-market-overview|FMP Market Performance Documentation}
1332
1877
  */
1333
- getEarningsCalendar(params?: {
1334
- from?: string;
1335
- to?: string;
1336
- }): Promise<APIResponse<EarningsCalendar[]>>;
1878
+ getMarketPerformance(): Promise<APIResponse<MarketPerformance[]>>;
1337
1879
  /**
1338
- * Get confirmed earnings calendar data
1339
- *
1340
- * Provides confirmed earnings announcements with verified dates and times.
1341
- * These are earnings announcements that have been officially confirmed
1342
- * by companies, providing more reliable scheduling information.
1880
+ * Get top gaining stocks for the current trading day
1343
1881
  *
1344
- * @param params - Confirmed earnings calendar request parameters
1345
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1346
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1882
+ * Provides a list of stocks that have gained the most value during the
1883
+ * current trading session. Essential for identifying momentum stocks,
1884
+ * tracking market movers, and discovering potential investment opportunities.
1885
+ * Useful for day trading, momentum strategies, and market analysis.
1347
1886
  *
1348
- * @returns Promise resolving to array of confirmed earnings calendar data
1887
+ * @returns Promise resolving to array of top gaining stocks with price and percentage change data
1349
1888
  *
1350
1889
  * @example
1351
1890
  * ```typescript
1352
- * // Get confirmed earnings for next week
1353
- * const confirmedEarnings = await fmp.calendar.getEarningsConfirmed({
1354
- * from: '2024-01-15',
1355
- * to: '2024-01-22'
1356
- * });
1357
- * confirmedEarnings.data.forEach(earning => {
1358
- * console.log(`${earning.date}: ${earning.symbol} - Confirmed: ${earning.time}`);
1359
- * });
1891
+ * // Get top gainers for the day
1892
+ * const gainers = await fmp.market.getGainers();
1893
+ * console.log(`Top ${gainers.data.length} gaining stocks today:`);
1360
1894
  *
1361
- * // Get confirmed earnings for current month
1362
- * const monthlyConfirmed = await fmp.calendar.getEarningsConfirmed({
1363
- * from: '2024-01-01',
1364
- * to: '2024-01-31'
1895
+ * gainers.data.forEach((stock, index) => {
1896
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
1897
+ * console.log(` Price: $${stock.price} | Change: +${stock.change} (${stock.changesPercentage}%)`);
1898
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
1365
1899
  * });
1900
+ *
1901
+ * // Find stocks with >10% gains
1902
+ * const bigGainers = gainers.data.filter(stock => stock.changesPercentage > 10);
1903
+ * console.log(`Stocks with >10% gains: ${bigGainers.length}`);
1904
+ *
1905
+ * // Check volume leaders among gainers
1906
+ * const highVolumeGainers = gainers.data.filter(stock => stock.volume > 1000000);
1907
+ * console.log(`High volume gainers (>1M shares): ${highVolumeGainers.length}`);
1366
1908
  * ```
1367
1909
  *
1368
- * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-confirmed-earnings|FMP Earnings Confirmed Documentation}
1910
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#biggest-gainers|FMP Market Biggest Gainers Documentation}
1369
1911
  */
1370
- getEarningsConfirmed(params?: {
1371
- from?: string;
1372
- to?: string;
1373
- }): Promise<APIResponse<EarningsConfirmed[]>>;
1912
+ getGainers(): Promise<APIResponse<MarketPerformance[]>>;
1374
1913
  /**
1375
- * Get dividends calendar data
1376
- *
1377
- * Provides upcoming dividend payments and ex-dividend dates for all
1378
- * publicly traded companies within a specified date range. Essential
1379
- * for dividend investors and income-focused strategies.
1914
+ * Get top losing stocks for the current trading day
1380
1915
  *
1381
- * @param params - Dividends calendar request parameters
1382
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1383
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1916
+ * Provides a list of stocks that have lost the most value during the
1917
+ * current trading session. Essential for identifying underperforming stocks,
1918
+ * tracking market decliners, and discovering potential contrarian opportunities.
1919
+ * Useful for risk management, short selling strategies, and market analysis.
1384
1920
  *
1385
- * @returns Promise resolving to array of dividends calendar data with payment details
1921
+ * @returns Promise resolving to array of top losing stocks with price and percentage change data
1386
1922
  *
1387
1923
  * @example
1388
1924
  * ```typescript
1389
- * // Get dividends calendar for next week
1390
- * const dividendsCalendar = await fmp.calendar.getDividendsCalendar({
1391
- * from: '2024-01-15',
1392
- * to: '2024-01-22'
1393
- * });
1394
- * dividendsCalendar.data.forEach(dividend => {
1395
- * console.log(`${dividend.date}: ${dividend.symbol} - Amount: $${dividend.amount}`);
1396
- * });
1925
+ * // Get top losers for the day
1926
+ * const losers = await fmp.market.getLosers();
1927
+ * console.log(`Top ${losers.data.length} losing stocks today:`);
1397
1928
  *
1398
- * // Get dividends calendar for current month
1399
- * const monthlyDividends = await fmp.calendar.getDividendsCalendar({
1400
- * from: '2024-01-01',
1401
- * to: '2024-01-31'
1929
+ * losers.data.forEach((stock, index) => {
1930
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
1931
+ * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
1932
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
1402
1933
  * });
1934
+ *
1935
+ * // Find stocks with >10% losses
1936
+ * const bigLosers = losers.data.filter(stock => stock.changesPercentage < -10);
1937
+ * console.log(`Stocks with >10% losses: ${bigLosers.length}`);
1938
+ *
1939
+ * // Check for potential oversold conditions
1940
+ * const highVolumeLosers = losers.data.filter(stock => stock.volume > 1000000);
1941
+ * console.log(`High volume losers (>1M shares): ${highVolumeLosers.length}`);
1942
+ *
1943
+ * // Look for potential bounce candidates
1944
+ * const oversoldStocks = losers.data.filter(stock =>
1945
+ * stock.changesPercentage < -5 && stock.volume > 500000
1946
+ * );
1403
1947
  * ```
1404
1948
  *
1405
- * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-calendar-dividends|FMP Dividends Calendar Documentation}
1949
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#biggest-losers|FMP Market Biggest Losers Documentation}
1406
1950
  */
1407
- getDividendsCalendar(params?: {
1408
- from?: string;
1409
- to?: string;
1410
- }): Promise<APIResponse<DividendsCalendar[]>>;
1951
+ getLosers(): Promise<APIResponse<MarketPerformance[]>>;
1411
1952
  /**
1412
- * Get economic calendar data
1413
- *
1414
- * Provides upcoming economic events, indicators, and data releases
1415
- * that can impact financial markets. Essential for understanding
1416
- * market-moving events and economic trends.
1953
+ * Get most actively traded stocks for the current trading day
1417
1954
  *
1418
- * @param params - Economic calendar request parameters
1419
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1420
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1955
+ * Provides a list of stocks with the highest trading volume during the
1956
+ * current trading session. Essential for identifying stocks with high
1957
+ * liquidity, tracking market interest, and discovering stocks with
1958
+ * significant trading activity. Useful for day trading and liquidity analysis.
1421
1959
  *
1422
- * @returns Promise resolving to array of economic calendar data with event details
1960
+ * @returns Promise resolving to array of most active stocks with volume and price data
1423
1961
  *
1424
1962
  * @example
1425
1963
  * ```typescript
1426
- * // Get economic calendar for next week
1427
- * const economicCalendar = await fmp.calendar.getEconomicsCalendar({
1428
- * from: '2024-01-15',
1429
- * to: '2024-01-22'
1430
- * });
1431
- * economicCalendar.data.forEach(event => {
1432
- * console.log(`${event.date}: ${event.event} - Country: ${event.country}`);
1433
- * });
1964
+ * // Get most active stocks for the day
1965
+ * const mostActive = await fmp.market.getMostActive();
1966
+ * console.log(`Top ${mostActive.data.length} most active stocks today:`);
1434
1967
  *
1435
- * // Get economic calendar for current month
1436
- * const monthlyEconomic = await fmp.calendar.getEconomicsCalendar({
1437
- * from: '2024-01-01',
1438
- * to: '2024-01-31'
1968
+ * mostActive.data.forEach((stock, index) => {
1969
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
1970
+ * console.log(` Volume: ${stock.volume.toLocaleString()} shares`);
1971
+ * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
1972
+ * console.log(` Avg Volume: ${stock.avgVolume?.toLocaleString() || 'N/A'}`);
1439
1973
  * });
1974
+ *
1975
+ * // Find stocks with unusual volume (>2x average)
1976
+ * const unusualVolume = mostActive.data.filter(stock =>
1977
+ * stock.avgVolume && stock.volume > stock.avgVolume * 2
1978
+ * );
1979
+ * console.log(`Stocks with unusual volume: ${unusualVolume.length}`);
1980
+ *
1981
+ * // Check for high volume gainers
1982
+ * const highVolumeGainers = mostActive.data.filter(stock =>
1983
+ * stock.changesPercentage > 0 && stock.volume > 1000000
1984
+ * );
1985
+ * console.log(`High volume gainers: ${highVolumeGainers.length}`);
1986
+ *
1987
+ * // Find penny stocks with high volume
1988
+ * const pennyStocks = mostActive.data.filter(stock =>
1989
+ * stock.price < 5 && stock.volume > 500000
1990
+ * );
1440
1991
  * ```
1441
1992
  *
1442
- * @see {@link https://site.financialmodelingprep.com/developer/docs#economics-calendar-economics-data|FMP Economic Calendar Documentation}
1993
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#most-active|FMP Market Most Actives Documentation}
1443
1994
  */
1444
- getEconomicsCalendar(params?: {
1445
- from?: string;
1446
- to?: string;
1447
- }): Promise<APIResponse<EconomicsCalendar[]>>;
1995
+ getMostActive(): Promise<APIResponse<MarketPerformance[]>>;
1448
1996
  /**
1449
- * Get IPO calendar data
1450
- *
1451
- * Provides upcoming initial public offerings (IPOs) and their details
1452
- * within a specified date range. Essential for tracking new market
1453
- * entrants and investment opportunities in newly public companies.
1997
+ * Get sector performance data for the current trading day
1454
1998
  *
1455
- * @param params - IPO calendar request parameters
1456
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1457
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1999
+ * Provides performance data for all major market sectors including
2000
+ * technology, healthcare, financials, energy, and others. Essential for
2001
+ * sector rotation analysis, identifying leading/lagging sectors, and
2002
+ * understanding market breadth and sector-specific trends.
1458
2003
  *
1459
- * @returns Promise resolving to array of IPO calendar data with offering details
2004
+ * @returns Promise resolving to array of sector performance data with percentage changes
1460
2005
  *
1461
2006
  * @example
1462
2007
  * ```typescript
1463
- * // Get IPO calendar for next week
1464
- * const ipoCalendar = await fmp.calendar.getIPOCalendar({
1465
- * from: '2024-01-15',
1466
- * to: '2024-01-22'
2008
+ * // Get sector performance for the day
2009
+ * const sectorPerformance = await fmp.market.getSectorPerformance();
2010
+ * console.log(`Sector performance for ${sectorPerformance.data.length} sectors:`);
2011
+ *
2012
+ * sectorPerformance.data.forEach(sector => {
2013
+ * const changeColor = sector.changesPercentage >= 0 ? 'green' : 'red';
2014
+ * console.log(`${sector.sector}: ${sector.changesPercentage}%`);
2015
+ * console.log(` Change: ${sector.changesPercentage >= 0 ? '+' : ''}${sector.changesPercentage}%`);
1467
2016
  * });
1468
- * ipoCalendar.data.forEach(ipo => {
1469
- * console.log(`${ipo.date}: ${ipo.symbol} - Price: $${ipo.price}, Shares: ${ipo.shares.toLocaleString()}`);
2017
+ *
2018
+ * // Find best performing sectors
2019
+ * const topSectors = sectorPerformance.data
2020
+ * .sort((a, b) => b.changesPercentage - a.changesPercentage)
2021
+ * .slice(0, 3);
2022
+ * console.log('Top 3 performing sectors:');
2023
+ * topSectors.forEach((sector, index) => {
2024
+ * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1470
2025
  * });
1471
2026
  *
1472
- * // Get IPO calendar for current month
1473
- * const monthlyIPOs = await fmp.calendar.getIPOCalendar({
1474
- * from: '2024-01-01',
1475
- * to: '2024-01-31'
2027
+ * // Find worst performing sectors
2028
+ * const bottomSectors = sectorPerformance.data
2029
+ * .sort((a, b) => a.changesPercentage - b.changesPercentage)
2030
+ * .slice(0, 3);
2031
+ * console.log('Bottom 3 performing sectors:');
2032
+ * bottomSectors.forEach((sector, index) => {
2033
+ * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1476
2034
  * });
2035
+ *
2036
+ * // Check for sector rotation
2037
+ * const gainingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage > 0);
2038
+ * const losingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage < 0);
2039
+ * console.log(`Sectors gaining: ${gainingSectors.length}, Sectors losing: ${losingSectors.length}`);
1477
2040
  * ```
1478
2041
  *
1479
- * @see {@link https://site.financialmodelingprep.com/developer/docs#ipo-calender-by-ipo-calendar|FMP IPO Calendar Documentation}
2042
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#sector-performance-market-overview|FMP Sector Performance Documentation}
1480
2043
  */
1481
- getIPOCalendar(params?: {
1482
- from?: string;
1483
- to?: string;
1484
- }): Promise<APIResponse<IPOCalendar[]>>;
2044
+ getSectorPerformance(): Promise<APIResponse<MarketSectorPerformance[]>>;
1485
2045
  /**
1486
- * Get stock splits calendar data
1487
- *
1488
- * Provides upcoming stock splits for publicly traded companies within
1489
- * a specified date range. Essential for understanding corporate actions
1490
- * that affect share prices and trading dynamics.
2046
+ * Get real-time data for major market indices
1491
2047
  *
1492
- * @param params - Stock splits calendar request parameters
1493
- * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1494
- * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
2048
+ * Provides real-time quote data for all major stock market indices including
2049
+ * S&P 500, Dow Jones Industrial Average, NASDAQ Composite, and other global
2050
+ * indices. Essential for tracking overall market performance, understanding
2051
+ * market sentiment, and identifying broad market trends.
1495
2052
  *
1496
- * @returns Promise resolving to array of stock splits calendar data with split details
2053
+ * @returns Promise resolving to array of market index data with real-time quotes
1497
2054
  *
1498
2055
  * @example
1499
2056
  * ```typescript
1500
- * // Get stock splits calendar for next week
1501
- * const splitsCalendar = await fmp.calendar.getSplitsCalendar({
1502
- * from: '2024-01-15',
1503
- * to: '2024-01-22'
1504
- * });
1505
- * splitsCalendar.data.forEach(split => {
1506
- * console.log(`${split.date}: ${split.symbol} - Ratio: ${split.numerator}:${split.denominator}`);
1507
- * });
2057
+ * // Get real-time market indices
2058
+ * const marketIndices = await fmp.market.getMarketIndex();
2059
+ * console.log(`Real-time data for ${marketIndices.data.length} major indices:`);
1508
2060
  *
1509
- * // Get stock splits calendar for current month
1510
- * const monthlySplits = await fmp.calendar.getSplitsCalendar({
1511
- * from: '2024-01-01',
1512
- * to: '2024-01-31'
2061
+ * marketIndices.data.forEach(index => {
2062
+ * console.log(`${index.symbol} (${index.name}):`);
2063
+ * console.log(` Price: $${index.price}`);
2064
+ * console.log(` Change: ${index.change} (${index.changesPercentage}%)`);
2065
+ * console.log(` Day Range: $${index.dayLow} - $${index.dayHigh}`);
2066
+ * console.log(` Volume: ${index.volume?.toLocaleString() || 'N/A'}`);
1513
2067
  * });
2068
+ *
2069
+ * // Find specific major indices
2070
+ * const sp500 = marketIndices.data.find(index => index.symbol === '^GSPC');
2071
+ * const nasdaq = marketIndices.data.find(index => index.symbol === '^IXIC');
2072
+ * const dowJones = marketIndices.data.find(index => index.symbol === '^DJI');
2073
+ *
2074
+ * console.log(`S&P 500: ${sp500?.price} (${sp500?.changesPercentage}%)`);
2075
+ * console.log(`NASDAQ: ${nasdaq?.price} (${nasdaq?.changesPercentage}%)`);
2076
+ * console.log(`Dow Jones: ${dowJones?.price} (${dowJones?.changesPercentage}%)`);
2077
+ *
2078
+ * // Check market breadth
2079
+ * const gainingIndices = marketIndices.data.filter(index => index.changesPercentage > 0);
2080
+ * const losingIndices = marketIndices.data.filter(index => index.changesPercentage < 0);
2081
+ * console.log(`Indices gaining: ${gainingIndices.length}, Indices losing: ${losingIndices.length}`);
2082
+ *
2083
+ * // Find international indices
2084
+ * const internationalIndices = marketIndices.data.filter(index =>
2085
+ * !index.symbol.startsWith('^') ||
2086
+ * index.name.toLowerCase().includes('europe') ||
2087
+ * index.name.toLowerCase().includes('asia')
2088
+ * );
1514
2089
  * ```
1515
2090
  *
1516
- * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-calendar-splits|FMP Stock Splits Calendar Documentation}
2091
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-index-market-overview|FMP Market Index Documentation}
1517
2092
  */
1518
- getSplitsCalendar(params?: {
1519
- from?: string;
1520
- to?: string;
1521
- }): Promise<APIResponse<SplitsCalendar[]>>;
2093
+ getMarketIndex(): Promise<APIResponse<MarketIndex[]>>;
1522
2094
  }
1523
2095
 
1524
- declare class CompanyEndpoints {
2096
+ declare class MutualFundEndpoints {
1525
2097
  private client;
1526
2098
  constructor(client: FMPClient);
1527
2099
  /**
1528
- * Get comprehensive company profile and information
2100
+ * Get mutual fund holders of a specific stock
1529
2101
  *
1530
- * Provides detailed company information including financial metrics, business description,
1531
- * headquarters location, and key performance indicators. Essential for fundamental analysis
1532
- * and understanding a company's business model and market position.
2102
+ * Provides data on mutual funds that hold shares in a specific stock.
2103
+ * Essential for understanding mutual fund ownership patterns and
2104
+ * which mutual funds are invested in particular companies.
1533
2105
  *
1534
- * @param symbol - The stock symbol to get the profile for (e.g., 'AAPL', 'MSFT', 'GOOGL')
2106
+ * @param symbol - The stock symbol to get mutual fund holders for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1535
2107
  *
1536
- * @returns Promise resolving to comprehensive company profile with financial and business information
2108
+ * @returns Promise resolving to array of mutual fund holders with position details
1537
2109
  *
1538
2110
  * @example
1539
2111
  * ```typescript
1540
- * // Get Apple's company profile
1541
- * const profile = await fmp.company.getCompanyProfile('AAPL');
1542
- * console.log(`Company: ${profile.data.companyName}`);
1543
- * console.log(`Industry: ${profile.data.industry}`);
1544
- * console.log(`Market Cap: $${profile.data.mktCap.toLocaleString()}`);
1545
- * console.log(`Description: ${profile.data.description.substring(0, 100)}...`);
2112
+ * // Get mutual funds that hold Apple stock
2113
+ * const appleHolders = await fmp.mutualFund.getHolders('AAPL');
2114
+ * console.log(`${appleHolders.data.length} mutual funds hold AAPL`);
1546
2115
  *
1547
- * // Get Microsoft's profile
1548
- * const msftProfile = await fmp.company.getCompanyProfile('MSFT');
2116
+ * appleHolders.data.forEach((holder, index) => {
2117
+ * console.log(`${index + 1}. ${holder.holder}`);
2118
+ * console.log(` Shares: ${holder.shares?.toLocaleString() || 'N/A'}`);
2119
+ * console.log(` Weight: ${holder.weightPercent}% | Change: ${holder.change}`);
2120
+ * });
2121
+ *
2122
+ * // Get mutual funds that hold Microsoft stock
2123
+ * const msftHolders = await fmp.mutualFund.getHolders('MSFT');
2124
+ *
2125
+ * // Find top mutual fund holders by shares
2126
+ * const topHolders = msftHolders.data
2127
+ * .sort((a, b) => (b.shares || 0) - (a.shares || 0))
2128
+ * .slice(0, 10);
2129
+ * console.log('Top 10 mutual fund holders by shares:');
2130
+ * topHolders.forEach((holder, index) => {
2131
+ * console.log(`${index + 1}. ${holder.holder}: ${holder.shares.toLocaleString()} shares`);
2132
+ * });
2133
+ *
2134
+ * // Get mutual funds that hold Google stock
2135
+ * const googlHolders = await fmp.mutualFund.getHolders('GOOGL');
2136
+ *
2137
+ * // Analyze mutual fund concentration
2138
+ * const totalShares = googlHolders.data.reduce((sum, holder) => sum + (holder.shares || 0), 0);
2139
+ * console.log(`Total shares held by mutual funds: ${totalShares.toLocaleString()}`);
2140
+ *
2141
+ * googlHolders.data.forEach(holder => {
2142
+ * const percentage = ((holder.shares || 0) / totalShares * 100).toFixed(2);
2143
+ * console.log(`${holder.holder}: ${percentage}% of total mutual fund holdings`);
2144
+ * });
1549
2145
  * ```
1550
2146
  *
1551
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#profile-symbol|FMP Company Profile Documentation}
2147
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#mutual-fund-holder-mutual-funds-holdings|FMP Mutual Fund Holders Documentation}
1552
2148
  */
1553
- getCompanyProfile(symbol: string): Promise<APIResponse<CompanyProfile>>;
2149
+ getHolders(symbol: string): Promise<APIResponse<MutualFundHolding[]>>;
2150
+ }
2151
+
2152
+ declare class NewsEndpoints {
2153
+ private client;
2154
+ constructor(client: FMPClient);
1554
2155
  /**
1555
- * Get executive compensation and governance information
2156
+ * Get FMP's curated financial articles and market insights
1556
2157
  *
1557
- * Provides detailed compensation data for company executives including salary, bonuses,
1558
- * stock options, and other benefits. Essential for governance analysis and understanding
1559
- * executive pay structures and alignment with shareholder interests.
2158
+ * Retrieves Financial Modeling Prep's own articles covering market analysis,
2159
+ * financial insights, and educational content. These articles provide valuable
2160
+ * context and analysis beyond raw market data.
1560
2161
  *
1561
- * @param symbol - The stock symbol to get executive compensation for (e.g., 'AAPL', 'MSFT', 'TSLA')
2162
+ * @param params - Article request parameters
2163
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2164
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1562
2165
  *
1563
- * @returns Promise resolving to array of executive compensation data with detailed pay information
2166
+ * @returns Promise resolving to an array of FMP articles with content and metadata
1564
2167
  *
1565
2168
  * @example
1566
2169
  * ```typescript
1567
- * // Get Apple's executive compensation
1568
- * const compensation = await fmp.company.getExecutiveCompensation('AAPL');
1569
- * compensation.data.forEach(exec => {
1570
- * console.log(`${exec.name} (${exec.title}):`);
1571
- * console.log(` Salary: $${exec.salary.toLocaleString()}`);
1572
- * console.log(` Bonus: $${exec.bonus.toLocaleString()}`);
1573
- * console.log(` Stock Options: $${exec.stockAwards.toLocaleString()}`);
2170
+ * // Get latest FMP articles
2171
+ * const articles = await fmp.news.getArticles({
2172
+ * page: 1,
2173
+ * limit: 10
1574
2174
  * });
1575
2175
  *
1576
- * // Get Tesla's executive compensation
1577
- * const teslaComp = await fmp.company.getExecutiveCompensation('TSLA');
2176
+ * // Get first page with default limit
2177
+ * const latestArticles = await fmp.news.getArticles({ page: 1 });
1578
2178
  * ```
1579
2179
  *
1580
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#executive-compensation|FMP Executive Compensation Documentation}
2180
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#fmp-articles|FMP Articles Documentation}
1581
2181
  */
1582
- getExecutiveCompensation(symbol: string): Promise<APIResponse<ExecutiveCompensation[]>>;
2182
+ getArticles(params?: {
2183
+ page?: number;
2184
+ limit?: number;
2185
+ }): Promise<APIResponse<Article[]>>;
1583
2186
  /**
1584
- * Get company notes and financial disclosures
2187
+ * Get latest stock market news from various financial sources
1585
2188
  *
1586
- * Provides important notes and disclosures from company financial statements.
1587
- * These notes contain critical information about accounting policies, risks,
1588
- * contingencies, and other material information that affects financial analysis.
2189
+ * Retrieves the most recent stock market news articles from multiple financial
2190
+ * news sources. Perfect for staying updated on market movements, earnings
2191
+ * announcements, and corporate developments.
1589
2192
  *
1590
- * @param symbol - The stock symbol to get notes for (e.g., 'AAPL', 'MSFT', 'JPM')
2193
+ * @param params - Stock news request parameters
2194
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2195
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2196
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2197
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1591
2198
  *
1592
- * @returns Promise resolving to array of company notes with detailed disclosure information
2199
+ * @returns Promise resolving to an array of stock news articles with timestamps and sources
1593
2200
  *
1594
2201
  * @example
1595
2202
  * ```typescript
1596
- * // Get Apple's company notes
1597
- * const notes = await fmp.company.getCompanyNotes('AAPL');
1598
- * notes.data.forEach(note => {
1599
- * console.log(`Note ${note.noteNumber}: ${note.noteTitle}`);
1600
- * console.log(` Content: ${note.noteContent.substring(0, 100)}...`);
2203
+ * // Get latest stock news
2204
+ * const stockNews = await fmp.news.getStockNews({
2205
+ * limit: 20
1601
2206
  * });
1602
2207
  *
1603
- * // Get JPMorgan's notes
1604
- * const jpmNotes = await fmp.company.getCompanyNotes('JPM');
2208
+ * // Get stock news from specific date range
2209
+ * const recentNews = await fmp.news.getStockNews({
2210
+ * from: '2024-01-01',
2211
+ * to: '2024-01-15',
2212
+ * limit: 50
2213
+ * });
1605
2214
  * ```
1606
2215
  *
1607
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#company-notes|FMP Company Notes Documentation}
2216
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#stock-news|Stock News Documentation}
1608
2217
  */
1609
- getCompanyNotes(symbol: string): Promise<APIResponse<CompanyNotes[]>>;
2218
+ getStockNews(params?: {
2219
+ from?: string;
2220
+ to?: string;
2221
+ page?: number;
2222
+ limit?: number;
2223
+ }): Promise<APIResponse<News[]>>;
1610
2224
  /**
1611
- * Get historical employee count data
2225
+ * Get latest cryptocurrency news from various sources
1612
2226
  *
1613
- * Provides historical data on company employee counts over time.
1614
- * Useful for analyzing company growth, operational efficiency, and workforce trends.
1615
- * Employee count is often a key indicator of company expansion or contraction.
2227
+ * Retrieves the most recent cryptocurrency news articles covering market trends,
2228
+ * regulatory updates, technology developments, and major crypto events.
2229
+ * Essential for crypto traders and investors.
1616
2230
  *
1617
- * @param symbol - The stock symbol to get historical employee count for (e.g., 'AAPL', 'MSFT', 'AMZN')
2231
+ * @param params - Crypto news request parameters
2232
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2233
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2234
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2235
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1618
2236
  *
1619
- * @returns Promise resolving to array of historical employee count data with year-by-year information
2237
+ * @returns Promise resolving to an array of cryptocurrency news articles
1620
2238
  *
1621
2239
  * @example
1622
2240
  * ```typescript
1623
- * // Get Apple's employee count history
1624
- * const employees = await fmp.company.getHistoricalEmployeeCount('AAPL');
1625
- * employees.data.forEach(year => {
1626
- * console.log(`${year.year}: ${year.employeeCount.toLocaleString()} employees`);
2241
+ * // Get latest crypto news
2242
+ * const cryptoNews = await fmp.news.getCryptoNews({
2243
+ * limit: 15
1627
2244
  * });
1628
2245
  *
1629
- * // Get Amazon's employee growth
1630
- * const amazonEmployees = await fmp.company.getHistoricalEmployeeCount('AMZN');
2246
+ * // Get crypto news from last week
2247
+ * const weeklyCryptoNews = await fmp.news.getCryptoNews({
2248
+ * from: '2024-01-08',
2249
+ * to: '2024-01-15'
2250
+ * });
1631
2251
  * ```
1632
2252
  *
1633
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#historical-employee-count|FMP Historical Employee Count Documentation}
2253
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#crypto-news|Crypto News Documentation}
1634
2254
  */
1635
- getHistoricalEmployeeCount(symbol: string): Promise<APIResponse<HistoricalEmployeeCount[]>>;
2255
+ getCryptoNews(params?: {
2256
+ from?: string;
2257
+ to?: string;
2258
+ page?: number;
2259
+ limit?: number;
2260
+ }): Promise<APIResponse<News[]>>;
1636
2261
  /**
1637
- * Get current shares float information
2262
+ * Get latest forex (foreign exchange) market news
1638
2263
  *
1639
- * Provides the total number of shares that are publicly traded (float) for a company.
1640
- * The float is calculated by subtracting restricted shares from total outstanding shares.
1641
- * Important for understanding liquidity, volatility, and trading dynamics.
2264
+ * Retrieves the most recent forex market news covering currency movements,
2265
+ * central bank announcements, economic indicators, and geopolitical events
2266
+ * that impact currency markets.
1642
2267
  *
1643
- * @param symbol - The stock symbol to get shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
2268
+ * @param params - Forex news request parameters
2269
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2270
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2271
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2272
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1644
2273
  *
1645
- * @returns Promise resolving to shares float data with current float information
2274
+ * @returns Promise resolving to an array of forex news articles
1646
2275
  *
1647
2276
  * @example
1648
2277
  * ```typescript
1649
- * // Get Apple's shares float
1650
- * const float = await fmp.company.getSharesFloat('AAPL');
1651
- * console.log(`Float: ${float.data.sharesFloat.toLocaleString()} shares`);
1652
- * console.log(`Outstanding: ${float.data.sharesOutstanding.toLocaleString()} shares`);
1653
- * console.log(`Restricted: ${float.data.restrictedShares.toLocaleString()} shares`);
2278
+ * // Get latest forex news
2279
+ * const forexNews = await fmp.news.getForexNews({
2280
+ * limit: 25
2281
+ * });
1654
2282
  *
1655
- * // Get Tesla's float
1656
- * const teslaFloat = await fmp.company.getSharesFloat('TSLA');
2283
+ * // Get forex news from specific period
2284
+ * const forexUpdates = await fmp.news.getForexNews({
2285
+ * from: '2024-01-10',
2286
+ * limit: 30
2287
+ * });
1657
2288
  * ```
1658
2289
  *
1659
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#shares-float|FMP Shares Float Documentation}
2290
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#forex-news|Forex News Documentation}
1660
2291
  */
1661
- getSharesFloat(symbol: string): Promise<APIResponse<SharesFloat>>;
2292
+ getForexNews(params?: {
2293
+ from?: string;
2294
+ to?: string;
2295
+ page?: number;
2296
+ limit?: number;
2297
+ }): Promise<APIResponse<News[]>>;
1662
2298
  /**
1663
- * Get historical shares float data
2299
+ * Get stock news filtered by specific company symbols
1664
2300
  *
1665
- * Provides historical data on company shares float over time.
1666
- * Useful for analyzing changes in liquidity, share issuance, and corporate actions
1667
- * that affect the number of publicly traded shares.
2301
+ * Retrieves news articles specifically related to the provided stock symbols.
2302
+ * Perfect for monitoring news about specific companies in your portfolio or
2303
+ * watchlist. Supports multiple symbols for efficient batch news retrieval.
1668
2304
  *
1669
- * @param symbol - The stock symbol to get historical shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
2305
+ * @param params - Symbol-specific stock news request parameters
2306
+ * @param params.symbols - Array of stock symbols to get news for (required)
2307
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2308
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2309
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2310
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1670
2311
  *
1671
- * @returns Promise resolving to array of historical shares float data with date-by-date information
2312
+ * @returns Promise resolving to an array of news articles filtered by the specified symbols
1672
2313
  *
1673
2314
  * @example
1674
2315
  * ```typescript
1675
- * // Get Apple's historical float
1676
- * const historicalFloat = await fmp.company.getHistoricalSharesFloat('AAPL');
1677
- * historicalFloat.data.forEach(entry => {
1678
- * console.log(`${entry.date}: ${entry.sharesFloat.toLocaleString()} shares`);
2316
+ * // Get news for specific stocks
2317
+ * const appleNews = await fmp.news.getStockNewsBySymbol({
2318
+ * symbols: ['AAPL'],
2319
+ * limit: 10
1679
2320
  * });
1680
2321
  *
1681
- * // Get Tesla's float history
1682
- * const teslaHistory = await fmp.company.getHistoricalSharesFloat('TSLA');
2322
+ * // Get news for multiple tech stocks
2323
+ * const techNews = await fmp.news.getStockNewsBySymbol({
2324
+ * symbols: ['AAPL', 'MSFT', 'GOOGL', 'AMZN'],
2325
+ * from: '2024-01-01',
2326
+ * limit: 20
2327
+ * });
1683
2328
  * ```
1684
2329
  *
1685
- * @see {@link https://site.financialmodelingprep.com/developer/docs#company-historical-share-float|FMP Historical Shares Float Documentation}
2330
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#search-stock-news|Search Stock News Documentation}
1686
2331
  */
1687
- getHistoricalSharesFloat(symbol: string): Promise<APIResponse<HistoricalSharesFloat[]>>;
1688
- /**
1689
- * Get earnings call transcript for specific quarter
1690
- *
1691
- * Provides the full transcript of a company's earnings conference call.
1692
- * Contains detailed Q&A sessions, management commentary, and insights into
1693
- * company performance, strategy, and future outlook.
2332
+ getStockNewsBySymbol(params: {
2333
+ symbols: string[];
2334
+ from?: string;
2335
+ to?: string;
2336
+ page?: number;
2337
+ limit?: number;
2338
+ }): Promise<APIResponse<News[]>>;
2339
+ /**
2340
+ * Get cryptocurrency news filtered by specific crypto symbols
1694
2341
  *
1695
- * @param params - Earnings call transcript request parameters
1696
- * @param params.symbol - The stock symbol to get transcript for (e.g., 'AAPL', 'MSFT', 'TSLA')
1697
- * @param params.year - The year of the earnings call (e.g., 2024)
1698
- * @param params.quarter - The quarter of the earnings call (1, 2, 3, or 4)
2342
+ * Retrieves news articles specifically related to the provided cryptocurrency
2343
+ * symbols. Ideal for monitoring news about specific cryptocurrencies in your
2344
+ * portfolio or tracking particular digital assets.
1699
2345
  *
1700
- * @returns Promise resolving to earnings call transcript with full text content
2346
+ * @param params - Symbol-specific crypto news request parameters
2347
+ * @param params.symbols - Array of cryptocurrency symbols to get news for (required)
2348
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2349
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2350
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2351
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
2352
+ *
2353
+ * @returns Promise resolving to an array of news articles filtered by the specified crypto symbols
1701
2354
  *
1702
2355
  * @example
1703
2356
  * ```typescript
1704
- * // Get Apple's Q1 2024 earnings call
1705
- * const transcript = await fmp.company.getEarningsCallTranscript({
1706
- * symbol: 'AAPL',
1707
- * year: 2024,
1708
- * quarter: 1
2357
+ * // Get news for Bitcoin
2358
+ * const bitcoinNews = await fmp.news.getCryptoNewsBySymbol({
2359
+ * symbols: ['BTCUSD'],
2360
+ * limit: 15
1709
2361
  * });
1710
- * console.log(`Transcript: ${transcript.data[0].content.substring(0, 200)}...`);
1711
2362
  *
1712
- * // Get Tesla's Q4 2023 earnings call
1713
- * const teslaTranscript = await fmp.company.getEarningsCallTranscript({
1714
- * symbol: 'TSLA',
1715
- * year: 2023,
1716
- * quarter: 4
2363
+ * // Get news for multiple cryptocurrencies
2364
+ * const cryptoNews = await fmp.news.getCryptoNewsBySymbol({
2365
+ * symbols: ['BTCUSD', 'ETHUSD', 'ADAUSD'],
2366
+ * from: '2024-01-01',
2367
+ * limit: 25
1717
2368
  * });
1718
2369
  * ```
1719
2370
  *
1720
- * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-transcript-earnings-transcripts|FMP Earnings Call Transcript Documentation}
2371
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#search-crypto-news|Search Crypto News Documentation}
1721
2372
  */
1722
- getEarningsCallTranscript(params: {
1723
- symbol: string;
1724
- year: number;
1725
- quarter: number;
1726
- }): Promise<APIResponse<EarningsCallTranscript>>;
2373
+ getCryptoNewsBySymbol(params: {
2374
+ symbols: string[];
2375
+ from?: string;
2376
+ to?: string;
2377
+ page?: number;
2378
+ limit?: number;
2379
+ }): Promise<APIResponse<News[]>>;
1727
2380
  /**
1728
- * Get available earnings call transcript dates
2381
+ * Get forex news filtered by specific currency pair symbols
1729
2382
  *
1730
- * Provides a list of all available earnings call transcript dates for a company.
1731
- * Useful for discovering which quarters have transcripts available before
1732
- * requesting the full transcript content.
2383
+ * Retrieves news articles specifically related to the provided forex currency
2384
+ * pairs. Perfect for monitoring news about specific currency pairs you're
2385
+ * trading or analyzing for forex market movements.
1733
2386
  *
1734
- * @param symbol - The stock symbol to get transcript dates for (e.g., 'AAPL', 'MSFT', 'TSLA')
2387
+ * @param params - Symbol-specific forex news request parameters
2388
+ * @param params.symbols - Array of forex currency pair symbols to get news for (required)
2389
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
2390
+ * @param params.to - End date in YYYY-MM-DD format (optional)
2391
+ * @param params.page - Page number for pagination (optional, defaults to 1)
2392
+ * @param params.limit - Number of articles per page (optional, defaults to 100)
1735
2393
  *
1736
- * @returns Promise resolving to array of available transcript dates with quarter information
2394
+ * @returns Promise resolving to an array of news articles filtered by the specified forex symbols
1737
2395
  *
1738
2396
  * @example
1739
2397
  * ```typescript
1740
- * // Get Apple's available transcript dates
1741
- * const transcriptDates = await fmp.company.getCompanyTranscriptData('AAPL');
1742
- * transcriptDates.data.forEach(date => {
1743
- * console.log(`Q${date.quarter} ${date.year}: ${date.date}`);
2398
+ * // Get news for EUR/USD pair
2399
+ * const eurUsdNews = await fmp.news.getForexNewsBySymbol({
2400
+ * symbols: ['EURUSD'],
2401
+ * limit: 10
1744
2402
  * });
1745
2403
  *
1746
- * // Get Microsoft's transcript availability
1747
- * const msftDates = await fmp.company.getCompanyTranscriptData('MSFT');
2404
+ * // Get news for multiple currency pairs
2405
+ * const forexNews = await fmp.news.getForexNewsBySymbol({
2406
+ * symbols: ['EURUSD', 'GBPUSD', 'USDJPY'],
2407
+ * from: '2024-01-01',
2408
+ * limit: 20
2409
+ * });
1748
2410
  * ```
1749
2411
  *
1750
- * @see {@link https://site.financialmodelingprep.com/developer/docs#transcript-dates-earnings-transcripts|FMP Company Transcript Data Documentation}
2412
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#search-forex-news|Search Forex News Documentation}
1751
2413
  */
1752
- getCompanyTranscriptData(symbol: string): Promise<APIResponse<CompanyTranscriptData[]>>;
2414
+ getForexNewsBySymbol(params: {
2415
+ symbols: string[];
2416
+ from?: string;
2417
+ to?: string;
2418
+ page?: number;
2419
+ limit?: number;
2420
+ }): Promise<APIResponse<News[]>>;
1753
2421
  }
1754
2422
 
1755
2423
  declare class QuoteEndpoints {
@@ -1859,1027 +2527,803 @@ declare class QuoteEndpoints {
1859
2527
  * const intraday = await fmp.quote.getIntraday({
1860
2528
  * symbol: 'AAPL',
1861
2529
  * interval: '5min',
1862
- * from: '2024-01-15'
1863
- * });
1864
- *
1865
- * // Get 1-hour data for crypto
1866
- * const cryptoIntraday = await fmp.quote.getIntraday({
1867
- * symbol: 'BTCUSD',
1868
- * interval: '1hour',
1869
- * from: '2024-01-10',
1870
- * to: '2024-01-15'
1871
- * });
1872
- * ```
1873
- */
1874
- getIntraday(params: {
1875
- symbol: string;
1876
- interval: '1min' | '5min' | '15min' | '30min' | '1hour' | '4hour';
1877
- from?: string;
1878
- to?: string;
1879
- }): Promise<APIResponse<HistoricalPriceData[]>>;
1880
- }
1881
-
1882
- declare class SenateHouseEndpoints {
1883
- private client;
1884
- constructor(client: FMPClient);
1885
- /**
1886
- * Get senate trading data for a specific stock symbol
1887
- *
1888
- * Provides detailed information about senate members' trading activities for a specific stock.
1889
- * Includes transaction details, amounts, dates, and ownership information for transparency
1890
- * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
1891
- *
1892
- * @param params - Senate trading request parameters
1893
- * @param params.symbol - The stock symbol to get senate trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
1894
- *
1895
- * @returns Promise resolving to array of senate trading data with transaction details
1896
- *
1897
- * @example
1898
- * ```typescript
1899
- * // Get senate trading data for Apple
1900
- * const appleSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'AAPL' });
1901
- * appleSenateTrading.data.forEach(trade => {
1902
- * console.log(`${trade.firstName} ${trade.lastName} (${trade.office}):`);
1903
- * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
1904
- * console.log(` Transaction Date: ${trade.transactionDate}`);
1905
- * });
1906
- *
1907
- * // Get senate trading data for Tesla
1908
- * const teslaSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'TSLA' });
1909
- * ```
1910
- *
1911
- * @see {@link https://site.financialmodelingprep.com/developer/docs#senate-trading|FMP Senate Trading Documentation}
1912
- */
1913
- getSenateTrading(params: {
1914
- symbol: string;
1915
- }): Promise<APIResponse<SenateTradingResponse[]>>;
1916
- /**
1917
- * Get senate trading RSS feed with pagination
1918
- *
1919
- * Provides a paginated RSS feed of all senate trading activities across all stocks.
1920
- * Useful for monitoring congressional trading activities, compliance tracking,
1921
- * and transparency reporting. Returns recent trading disclosures from senate members.
1922
- *
1923
- * @param params - Senate trading RSS feed request parameters
1924
- * @param params.page - The page number to retrieve (starts from 0)
1925
- *
1926
- * @returns Promise resolving to array of senate trading data from RSS feed
1927
- *
1928
- * @example
1929
- * ```typescript
1930
- * // Get first page of senate trading RSS feed
1931
- * const firstPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
1932
- * console.log(`First page: ${firstPage.data.length} trading activities`);
1933
- *
1934
- * // Get second page of senate trading RSS feed
1935
- * const secondPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 1 });
1936
- * console.log(`Second page: ${secondPage.data.length} trading activities`);
1937
- *
1938
- * // Get recent senate trading activities
1939
- * const recentTrades = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
1940
- * recentTrades.data.forEach(trade => {
1941
- * console.log(`${trade.firstName} ${trade.lastName}: ${trade.type} ${trade.amount}`);
1942
- * });
1943
- * ```
1944
- *
1945
- * @see {@link https://site.financialmodelingprep.com/developer/docs#senate-trading-rss-feed-senate|FMP Senate Trading RSS Feed Documentation}
1946
- */
1947
- getSenateTradingRSSFeed(params: {
1948
- page: number;
1949
- }): Promise<APIResponse<SenateTradingResponse[]>>;
1950
- /**
1951
- * Get senate trading data for a specific senator by name
1952
- *
1953
- * Provides detailed trading activities for a specific senate member across all stocks.
1954
- * Useful for tracking individual senator's trading patterns, compliance monitoring,
1955
- * and transparency reporting. Returns all trading disclosures for the specified senator.
1956
- *
1957
- * @param params - Senate trading by name request parameters
1958
- * @param params.name - The name of the senator to get trading data for (e.g., 'John Smith', 'Jane Doe')
1959
- *
1960
- * @returns Promise resolving to array of senate trading data for the specified senator
1961
- *
1962
- * @example
1963
- * ```typescript
1964
- * // Get trading data for Senator John Smith
1965
- * const johnSmithTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'John Smith' });
1966
- * johnSmithTrades.data.forEach(trade => {
1967
- * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
1968
- * console.log(` Transaction Date: ${trade.transactionDate}`);
1969
- * console.log(` Asset: ${trade.assetDescription}`);
1970
- * });
1971
- *
1972
- * // Get trading data for Senator Jane Doe
1973
- * const janeDoeTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'Jane Doe' });
1974
- * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
1975
- * ```
1976
- *
1977
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#senate-trading-by-name|FMP Senate Trading by Name Documentation}
1978
- */
1979
- getSenateTradingByName(params: {
1980
- name: string;
1981
- }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
1982
- /**
1983
- * Get house trading data for a specific stock symbol
1984
- *
1985
- * Provides detailed information about house representatives' trading activities for a specific stock.
1986
- * Includes transaction details, amounts, dates, and district information for transparency
1987
- * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
1988
- *
1989
- * @param params - House trading request parameters
1990
- * @param params.symbol - The stock symbol to get house trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
1991
- *
1992
- * @returns Promise resolving to array of house trading data with transaction details
1993
- *
1994
- * @example
1995
- * ```typescript
1996
- * // Get house trading data for Apple
1997
- * const appleHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'AAPL' });
1998
- * appleHouseTrading.data.forEach(trade => {
1999
- * console.log(`${trade.representative} (District ${trade.district}):`);
2000
- * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
2001
- * console.log(` Transaction Date: ${trade.transactionDate}`);
2002
- * });
2003
- *
2004
- * // Get house trading data for Microsoft
2005
- * const msftHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'MSFT' });
2006
- * console.log(`Microsoft house trading activities: ${msftHouseTrading.data.length}`);
2007
- * ```
2008
- *
2009
- * @see {@link https://site.financialmodelingprep.com/developer/docs#house-disclosure|FMP House Trading Documentation}
2010
- */
2011
- getHouseTrading(params: {
2012
- symbol: string;
2013
- }): Promise<APIResponse<HouseTradingResponse[]>>;
2014
- /**
2015
- * Get house trading RSS feed with pagination
2016
- *
2017
- * Provides a paginated RSS feed of all house trading activities across all stocks.
2018
- * Useful for monitoring congressional trading activities, compliance tracking,
2019
- * and transparency reporting. Returns recent trading disclosures from house representatives.
2020
- *
2021
- * @param params - House trading RSS feed request parameters
2022
- * @param params.page - The page number to retrieve (starts from 0)
2023
- *
2024
- * @returns Promise resolving to array of house trading data from RSS feed
2025
- *
2026
- * @example
2027
- * ```typescript
2028
- * // Get first page of house trading RSS feed
2029
- * const firstPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
2030
- * console.log(`First page: ${firstPage.data.length} trading activities`);
2031
- *
2032
- * // Get second page of house trading RSS feed
2033
- * const secondPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 1 });
2034
- * console.log(`Second page: ${secondPage.data.length} trading activities`);
2035
- *
2036
- * // Get recent house trading activities
2037
- * const recentTrades = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
2038
- * recentTrades.data.forEach(trade => {
2039
- * console.log(`${trade.representative} (District ${trade.district}): ${trade.type} ${trade.amount}`);
2040
- * });
2041
- * ```
2042
- *
2043
- * @see {@link https://site.financialmodelingprep.com/developer/docs#house-disclosure-rss-feed-senate|FMP House Trading RSS Feed Documentation}
2044
- */
2045
- getHouseTradingRSSFeed(params: {
2046
- page: number;
2047
- }): Promise<APIResponse<HouseTradingResponse[]>>;
2048
- /**
2049
- * Get house trading data for a specific representative by name
2050
- *
2051
- * Provides detailed trading activities for a specific house representative across all stocks.
2052
- * Useful for tracking individual representative's trading patterns, compliance monitoring,
2053
- * and transparency reporting. Returns all trading disclosures for the specified representative.
2054
- *
2055
- * @param params - House trading by name request parameters
2056
- * @param params.name - The name of the representative to get trading data for (e.g., 'John Smith', 'Jane Doe')
2057
- *
2058
- * @returns Promise resolving to array of house trading data for the specified representative
2059
- *
2060
- * @example
2061
- * ```typescript
2062
- * // Get trading data for Representative John Smith
2063
- * const johnSmithTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'John Smith' });
2064
- * johnSmithTrades.data.forEach(trade => {
2065
- * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
2066
- * console.log(` Transaction Date: ${trade.transactionDate}`);
2067
- * console.log(` Asset: ${trade.assetDescription}`);
2068
- * console.log(` District: ${trade.district}`);
2530
+ * from: '2024-01-15'
2069
2531
  * });
2070
2532
  *
2071
- * // Get trading data for Representative Jane Doe
2072
- * const janeDoeTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'Jane Doe' });
2073
- * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
2533
+ * // Get 1-hour data for crypto
2534
+ * const cryptoIntraday = await fmp.quote.getIntraday({
2535
+ * symbol: 'BTCUSD',
2536
+ * interval: '1hour',
2537
+ * from: '2024-01-10',
2538
+ * to: '2024-01-15'
2539
+ * });
2074
2540
  * ```
2075
- *
2076
- * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#house-trading-by-name|FMP House Trading by Name Documentation}
2077
2541
  */
2078
- getHouseTradingByName(params: {
2079
- name: string;
2080
- }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
2542
+ getIntraday(params: {
2543
+ symbol: string;
2544
+ interval: '1min' | '5min' | '15min' | '30min' | '1hour' | '4hour';
2545
+ from?: string;
2546
+ to?: string;
2547
+ }): Promise<APIResponse<HistoricalPriceData[]>>;
2081
2548
  }
2082
2549
 
2083
- declare class InstitutionalEndpoints {
2550
+ declare class ScreenerEndpoints {
2084
2551
  private client;
2085
2552
  constructor(client: FMPClient);
2086
2553
  /**
2087
- * Get Form 13F institutional stock ownership data
2554
+ * Screen companies based on customizable financial criteria
2088
2555
  *
2089
- * Provides Form 13F institutional stock ownership data for investment
2090
- * managers with over $100 million in assets under management. Essential
2091
- * for analyzing institutional investment patterns and holdings.
2556
+ * This endpoint allows you to filter and search for companies based on various financial metrics,
2557
+ * market data, and company characteristics. Perfect for finding investment opportunities,
2558
+ * conducting market research, or building custom stock filters.
2092
2559
  *
2093
- * @param params - Form 13F request parameters
2094
- * @param params.cik - Central Index Key (CIK) of the investment manager
2095
- * @param params.date - Specific date in YYYY-MM-DD format (optional, defaults to most recent filing)
2560
+ * @param params - Screening criteria and filters
2561
+ * @param params.marketCapMoreThan - Minimum market capitalization
2562
+ * @param params.marketCapLowerThan - Maximum market capitalization
2563
+ * @param params.priceMoreThan - Minimum stock price
2564
+ * @param params.priceLowerThan - Maximum stock price
2565
+ * @param params.betaMoreThan - Minimum beta value
2566
+ * @param params.betaLowerThan - Maximum beta value
2567
+ * @param params.volumeMoreThan - Minimum trading volume
2568
+ * @param params.volumeLowerThan - Maximum trading volume
2569
+ * @param params.dividendMoreThan - Minimum dividend yield
2570
+ * @param params.dividendLowerThan - Maximum dividend yield
2571
+ * @param params.isEtf - Filter for ETFs only
2572
+ * @param params.isActivelyTrading - Filter for actively trading stocks
2573
+ * @param params.sector - Filter by specific sector
2574
+ * @param params.industry - Filter by specific industry
2575
+ * @param params.country - Filter by specific country
2576
+ * @param params.exchange - Filter by specific exchange
2577
+ * @param params.limit - Maximum number of results to return
2096
2578
  *
2097
- * @returns Promise resolving to array of Form 13F institutional ownership data
2579
+ * @returns Promise resolving to an array of companies matching the screening criteria
2098
2580
  *
2099
2581
  * @example
2100
2582
  * ```typescript
2101
- * // Get Berkshire Hathaway's Form 13F data
2102
- * const berkshire13F = await fmp.institutional.getForm13F({
2103
- * cik: '0001067983'
2104
- * });
2105
- * berkshire13F.data.forEach(holding => {
2106
- * console.log(`${holding.issuerName}: ${holding.value.toLocaleString()} shares, $${holding.value.toLocaleString()}`);
2583
+ * // Find large-cap tech stocks
2584
+ * const techStocks = await fmp.screener.getScreener({
2585
+ * marketCapMoreThan: 10000000000, // $10B+
2586
+ * sector: 'Technology',
2587
+ * isActivelyTrading: true,
2588
+ * limit: 50
2107
2589
  * });
2108
2590
  *
2109
- * // Get Form 13F data for specific date
2110
- * const historical13F = await fmp.institutional.getForm13F({
2111
- * cik: '0001067983',
2112
- * date: '2023-12-31'
2591
+ * // Find dividend-paying stocks
2592
+ * const dividendStocks = await fmp.screener.getScreener({
2593
+ * dividendMoreThan: 0.03, // 3%+ dividend yield
2594
+ * marketCapMoreThan: 1000000000, // $1B+ market cap
2595
+ * isActivelyTrading: true
2113
2596
  * });
2114
2597
  *
2115
- * // Get BlackRock's Form 13F data
2116
- * const blackrock13F = await fmp.institutional.getForm13F({
2117
- * cik: '0001364742'
2598
+ * // Find small-cap value stocks
2599
+ * const smallCapValue = await fmp.screener.getScreener({
2600
+ * marketCapLowerThan: 2000000000, // Under $2B
2601
+ * priceMoreThan: 5, // Above $5
2602
+ * betaLowerThan: 1.2, // Lower volatility
2603
+ * limit: 100
2118
2604
  * });
2119
2605
  * ```
2120
- *
2121
- * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-13f---institutional-stock-ownership|FMP Form 13F Documentation}
2606
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#search-company-screener|FMP Income Statement Documentation}
2122
2607
  */
2123
- getForm13F(params: {
2124
- cik: string;
2125
- date?: string;
2126
- }): Promise<APIResponse<Form13FResponse[]>>;
2608
+ getScreener(params: ScreenerParams): Promise<APIResponse<Screener[]>>;
2127
2609
  /**
2128
- * Get Form 13F filing dates for an investment manager
2129
- *
2130
- * Provides available filing dates for Form 13F submissions by a specific
2131
- * investment manager. Essential for discovering historical filing dates
2132
- * before requesting detailed Form 13F data.
2610
+ * Get list of available stock exchanges for screening
2133
2611
  *
2134
- * @param params - Form 13F dates request parameters
2135
- * @param params.cik - Central Index Key (CIK) of the investment manager
2612
+ * Retrieves all supported stock exchanges that can be used as filters
2613
+ * in the company screener. Useful for building dynamic filter options
2614
+ * or validating exchange parameters.
2136
2615
  *
2137
- * @returns Promise resolving to array of available Form 13F filing dates
2616
+ * @returns Promise resolving to an array of available exchanges with their details
2138
2617
  *
2139
2618
  * @example
2140
2619
  * ```typescript
2141
- * // Get Berkshire Hathaway's Form 13F filing dates
2142
- * const berkshireDates = await fmp.institutional.getForm13FDates({
2143
- * cik: '0001067983'
2144
- * });
2145
- * berkshireDates.data.forEach(date => {
2146
- * console.log(`Filing date: ${date}`);
2147
- * });
2620
+ * // Get all available exchanges
2621
+ * const exchanges = await fmp.screener.getAvailableExchanges();
2148
2622
  *
2149
- * // Get BlackRock's filing dates
2150
- * const blackrockDates = await fmp.institutional.getForm13FDates({
2151
- * cik: '0001364742'
2623
+ * // Use in screener filter
2624
+ * const nasdaqStocks = await fmp.screener.getScreener({
2625
+ * exchange: 'NASDAQ',
2626
+ * marketCapMoreThan: 1000000000
2152
2627
  * });
2153
2628
  * ```
2154
- *
2155
- * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-dates-13f---institutional-stock-ownership|FMP Form 13F Dates Documentation}
2629
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#available-exchanges|FMP Income Statement Documentation}
2156
2630
  */
2157
- getForm13FDates(params: {
2158
- cik: string;
2159
- }): Promise<APIResponse<string[]>>;
2631
+ getAvailableExchanges(): Promise<APIResponse<AvailableExchanges[]>>;
2160
2632
  /**
2161
- * Get institutional holders for a company
2162
- *
2163
- * Provides data on institutional investors holding shares in a specific
2164
- * company. Essential for understanding institutional ownership patterns,
2165
- * major shareholders, and investment sentiment.
2633
+ * Get list of available sectors for screening
2166
2634
  *
2167
- * @param params - Institutional holders request parameters
2168
- * @param params.symbol - Stock symbol to get institutional holders for
2635
+ * Retrieves all supported business sectors that can be used as filters
2636
+ * in the company screener. Essential for sector-based analysis and
2637
+ * building comprehensive screening tools.
2169
2638
  *
2170
- * @returns Promise resolving to array of institutional holders data
2639
+ * @returns Promise resolving to an array of available sectors with their details
2171
2640
  *
2172
2641
  * @example
2173
2642
  * ```typescript
2174
- * // Get Apple's institutional holders
2175
- * const appleHolders = await fmp.institutional.getInstitutionalHolders({
2176
- * symbol: 'AAPL'
2177
- * });
2178
- * appleHolders.data.forEach(holder => {
2179
- * console.log(`${holder.holder}: ${holder.shares.toLocaleString()} shares (${holder.weight}%)`);
2180
- * });
2643
+ * // Get all available sectors
2644
+ * const sectors = await fmp.screener.getAvailableSectors();
2181
2645
  *
2182
- * // Get Microsoft's institutional holders
2183
- * const msftHolders = await fmp.institutional.getInstitutionalHolders({
2184
- * symbol: 'MSFT'
2646
+ * // Screen by specific sector
2647
+ * const healthcareStocks = await fmp.screener.getScreener({
2648
+ * sector: 'Healthcare',
2649
+ * marketCapMoreThan: 5000000000
2185
2650
  * });
2651
+ * ```
2652
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#available-sectors|FMP Income Statement Documentation}
2653
+ */
2654
+ getAvailableSectors(): Promise<APIResponse<AvailableSectors[]>>;
2655
+ /**
2656
+ * Get list of available industries for screening
2186
2657
  *
2187
- * // Get Tesla's institutional holders
2188
- * const teslaHolders = await fmp.institutional.getInstitutionalHolders({
2189
- * symbol: 'TSLA'
2658
+ * Retrieves all supported industries that can be used as filters
2659
+ * in the company screener. Provides more granular filtering than
2660
+ * sectors for detailed industry analysis.
2661
+ *
2662
+ * @returns Promise resolving to an array of available industries with their details
2663
+ *
2664
+ * @example
2665
+ * ```typescript
2666
+ * // Get all available industries
2667
+ * const industries = await fmp.screener.getAvailableIndustries();
2668
+ *
2669
+ * // Screen by specific industry
2670
+ * const softwareStocks = await fmp.screener.getScreener({
2671
+ * industry: 'Software—Application',
2672
+ * isActivelyTrading: true,
2673
+ * limit: 25
2190
2674
  * });
2191
2675
  * ```
2192
- *
2193
- * @see {@link https://site.financialmodelingprep.com/developer/docs#institutional-holder-13f---institutional-stock-ownership|FMP Institutional Holders Documentation}
2676
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#available-industries|FMP Income Statement Documentation}
2194
2677
  */
2195
- getInstitutionalHolders(params: {
2196
- symbol: string;
2197
- }): Promise<APIResponse<InstitutionalHolderResponse[]>>;
2198
- }
2199
-
2200
- declare class InsiderEndpoints {
2201
- private client;
2202
- constructor(client: FMPClient);
2678
+ getAvailableIndustries(): Promise<APIResponse<AvailableIndustries[]>>;
2203
2679
  /**
2204
- * Get insider trading RSS feed data
2205
- *
2206
- * Provides real-time RSS feed of insider trading activities across all
2207
- * publicly traded companies. Essential for monitoring insider trading
2208
- * patterns, corporate governance, and potential market-moving events.
2680
+ * Get list of available countries for screening
2209
2681
  *
2210
- * @param params - RSS feed request parameters
2211
- * @param params.page - Page number for pagination (default: 0)
2682
+ * Retrieves all supported countries that can be used as filters
2683
+ * in the company screener. Useful for geographic analysis and
2684
+ * international market screening.
2212
2685
  *
2213
- * @returns Promise resolving to array of insider trading RSS feed data
2686
+ * @returns Promise resolving to an array of available countries with their details
2214
2687
  *
2215
2688
  * @example
2216
2689
  * ```typescript
2217
- * // Get first page of insider trading RSS feed
2218
- * const rssFeed = await fmp.insider.getInsiderTradingRSS({ page: 0 });
2219
- * rssFeed.data.forEach(trade => {
2220
- * console.log(`${trade.date}: ${trade.symbol} - ${trade.insiderName} ${trade.transactionType}`);
2221
- * });
2690
+ * // Get all available countries
2691
+ * const countries = await fmp.screener.getAvailableCountries();
2222
2692
  *
2223
- * // Get second page of RSS feed
2224
- * const nextPage = await fmp.insider.getInsiderTradingRSS({ page: 1 });
2693
+ * // Screen by specific country
2694
+ * const usStocks = await fmp.screener.getScreener({
2695
+ * country: 'US',
2696
+ * marketCapMoreThan: 1000000000,
2697
+ * isActivelyTrading: true
2698
+ * });
2225
2699
  * ```
2226
- *
2227
- * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trades-rss-insider-trading|FMP Insider Trading RSS Documentation}
2700
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#available-countries|FMP Income Statement Documentation}
2228
2701
  */
2229
- getInsiderTradingRSS(params: {
2230
- page?: number;
2231
- }): Promise<APIResponse<InsiderTradingRSSResponse[]>>;
2702
+ getAvailableCountries(): Promise<APIResponse<AvailableCountries[]>>;
2703
+ }
2704
+
2705
+ declare class SECEndpoints {
2706
+ private client;
2707
+ constructor(client: FMPClient);
2232
2708
  /**
2233
- * Search for insider trades with advanced filtering
2234
- *
2235
- * Provides comprehensive insider trading data with multiple filtering options
2236
- * including symbol, CIK numbers, and transaction types. Essential for detailed
2237
- * analysis of insider trading patterns and corporate governance.
2709
+ * Get RSS feed of SEC filings
2238
2710
  *
2239
- * @param params - Insider trading search parameters
2240
- * @param params.symbol - Stock symbol to filter by (optional)
2241
- * @param params.reportingCik - Reporting CIK to filter by (optional)
2242
- * @param params.companyCik - Company CIK to filter by (optional)
2243
- * @param params.transactionType - Transaction type to filter by (optional)
2244
- * @param params.page - Page number for pagination (default: 0)
2711
+ * Provides a real-time feed of SEC filings from publicly traded companies,
2712
+ * including filing types, links to SEC pages, and direct links to filings.
2713
+ * Essential for staying up-to-date on the latest SEC filings for all companies
2714
+ * or for monitoring specific companies' regulatory activities.
2245
2715
  *
2246
- * @returns Promise resolving to array of insider trading search results
2716
+ * @param params - RSS feed parameters (optional)
2717
+ * @returns Promise resolving to array of RSS feed items with SEC filing information
2247
2718
  *
2248
2719
  * @example
2249
2720
  * ```typescript
2250
- * // Search for Apple insider trades
2251
- * const appleTrades = await fmp.insider.searchInsiderTrading({
2252
- * symbol: 'AAPL',
2253
- * page: 0
2254
- * });
2255
- * appleTrades.data.forEach(trade => {
2256
- * console.log(`${trade.date}: ${trade.insiderName} - ${trade.transactionType} ${trade.sharesTraded} shares`);
2257
- * });
2721
+ * // Get all recent SEC filings
2722
+ * const allFilings = await fmp.sec.getRSSFeed();
2723
+ * console.log(`Recent SEC filings: ${allFilings.data.length}`);
2258
2724
  *
2259
- * // Search by transaction type
2260
- * const purchases = await fmp.insider.searchInsiderTrading({
2261
- * transactionType: 'P-Purchase',
2262
- * page: 0
2263
- * });
2725
+ * // Get specific filing type
2726
+ * const form4Filings = await fmp.sec.getRSSFeed({ type: '4' });
2727
+ * console.log(`Form 4 filings: ${form4Filings.data.length}`);
2264
2728
  *
2265
- * // Search by CIK
2266
- * const cikTrades = await fmp.insider.searchInsiderTrading({
2267
- * companyCik: '0000320193',
2268
- * page: 0
2729
+ * // Get filings with date range
2730
+ * const recentFilings = await fmp.sec.getRSSFeed({
2731
+ * from: '2024-01-01',
2732
+ * to: '2024-01-31'
2269
2733
  * });
2734
+ * console.log(`Recent filings: ${recentFilings.data.length}`);
2735
+ *
2736
+ * // Get limited results
2737
+ * const limitedFilings = await fmp.sec.getRSSFeed({ limit: 10 });
2738
+ * console.log(`Limited filings: ${limitedFilings.data.length}`);
2270
2739
  * ```
2271
2740
  *
2272
- * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trades-search-insider-trading|FMP Insider Trading Search Documentation}
2741
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed Documentation}
2273
2742
  */
2274
- searchInsiderTrading(params: {
2275
- symbol?: string;
2276
- reportingCik?: string;
2277
- companyCik?: string;
2278
- transactionType?: string;
2279
- page?: number;
2280
- }): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2743
+ getRSSFeed(params?: {
2744
+ limit?: number;
2745
+ type?: string;
2746
+ from?: string;
2747
+ to?: string;
2748
+ isDone?: boolean;
2749
+ }): Promise<APIResponse<RSSFeedItem[]>>;
2281
2750
  /**
2282
- * Get all available transaction types
2751
+ * Get comprehensive RSS feed of all SEC filings
2283
2752
  *
2284
- * Provides a comprehensive list of all insider trading transaction types
2285
- * used in SEC filings. Essential for understanding different types of
2286
- * insider trading activities and filtering search results.
2753
+ * Provides a comprehensive real-time feed of all SEC filings from publicly
2754
+ * traded companies in the latest RSS feed format. This endpoint offers the
2755
+ * most complete overview of SEC filings with enhanced metadata and formatting.
2287
2756
  *
2288
- * @returns Promise resolving to array of transaction types with descriptions
2757
+ * @param params - RSS feed all parameters (optional)
2758
+ * @returns Promise resolving to array of comprehensive RSS feed items with enhanced SEC filing information
2289
2759
  *
2290
2760
  * @example
2291
2761
  * ```typescript
2292
- * // Get all transaction types
2293
- * const transactionTypes = await fmp.insider.getTransactionTypes();
2294
- * transactionTypes.data.forEach(type => {
2295
- * console.log(`${type.code}: ${type.description}`);
2296
- * });
2762
+ * // Get all comprehensive SEC filings
2763
+ * const allFilings = await fmp.sec.getRSSFeedAll();
2764
+ * console.log(`Comprehensive SEC filings: ${allFilings.data.length}`);
2765
+ *
2766
+ * // Get paginated results
2767
+ * const page2Filings = await fmp.sec.getRSSFeedAll({ page: 1 });
2768
+ * console.log(`Page 2 filings: ${page2Filings.data.length}`);
2769
+ *
2770
+ * // Get specific data type
2771
+ * const specificData = await fmp.sec.getRSSFeedAll({ datatype: 'json' });
2772
+ * console.log(`Specific data type filings: ${specificData.data.length}`);
2297
2773
  * ```
2298
2774
  *
2299
- * @see {@link https://site.financialmodelingprep.com/developer/docs#transaction-types-insider-trading|FMP Transaction Types Documentation}
2775
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-all-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed All Documentation}
2300
2776
  */
2301
- getTransactionTypes(): Promise<APIResponse<TransactionTypesResponse>>;
2777
+ getRSSFeedAll(params?: {
2778
+ page?: number;
2779
+ datatype?: string;
2780
+ }): Promise<APIResponse<RSSFeedAllItem[]>>;
2302
2781
  /**
2303
- * Get insiders roster for a specific company
2304
- *
2305
- * Provides a list of all insiders (officers, directors, and beneficial owners)
2306
- * for a specific company. Essential for understanding corporate governance
2307
- * structure and identifying key personnel.
2782
+ * Get RSS feed V3 of SEC filings
2308
2783
  *
2309
- * @param params - Insiders request parameters
2310
- * @param params.symbol - Stock symbol to get insiders for
2784
+ * Provides a real-time feed of SEC filings from publicly traded companies
2785
+ * in the V3 RSS feed format. This version offers enhanced metadata and
2786
+ * improved structure for better parsing and analysis of SEC filings.
2311
2787
  *
2312
- * @returns Promise resolving to array of insiders data for the company
2788
+ * @param params - RSS feed V3 parameters (optional)
2789
+ * @returns Promise resolving to array of V3 RSS feed items with enhanced SEC filing information
2313
2790
  *
2314
2791
  * @example
2315
2792
  * ```typescript
2316
- * // Get Apple's insiders roster
2317
- * const appleInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'AAPL' });
2318
- * appleInsiders.data.forEach(insider => {
2319
- * console.log(`${insider.name} - ${insider.title} (${insider.cik})`);
2320
- * });
2793
+ * // Get V3 format SEC filings
2794
+ * const v3Filings = await fmp.sec.getRSSFeedV3();
2795
+ * console.log(`V3 SEC filings: ${v3Filings.data.length}`);
2321
2796
  *
2322
- * // Get Microsoft's insiders
2323
- * const msftInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'MSFT' });
2797
+ * // Get paginated V3 results
2798
+ * const page2V3 = await fmp.sec.getRSSFeedV3({ page: 1 });
2799
+ * console.log(`Page 2 V3 filings: ${page2V3.data.length}`);
2800
+ *
2801
+ * // Get specific data type
2802
+ * const specificV3 = await fmp.sec.getRSSFeedV3({ datatype: 'json' });
2803
+ * console.log(`Specific V3 data type: ${specificV3.data.length}`);
2324
2804
  * ```
2325
2805
  *
2326
- * @see {@link https://site.financialmodelingprep.com/developer/docs#insiders-by-symbol-insider-trading|FMP Insiders by Symbol Documentation}
2806
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-v3-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed V3 Documentation}
2327
2807
  */
2328
- getInsidersBySymbol(params: {
2329
- symbol: string;
2330
- }): Promise<APIResponse<InsidersBySymbolResponse[]>>;
2808
+ getRSSFeedV3(params?: {
2809
+ page?: number;
2810
+ datatype?: string;
2811
+ }): Promise<APIResponse<RSSFeedV3Item[]>>;
2331
2812
  /**
2332
- * Get insider trade statistics for a company
2333
- *
2334
- * Provides comprehensive statistics on insider trading activity for a
2335
- * specific company including total trades, volume, and value metrics.
2336
- * Essential for analyzing insider trading patterns and sentiment.
2813
+ * Get RSS feed of 8-K SEC filings
2337
2814
  *
2338
- * @param params - Statistics request parameters
2339
- * @param params.symbol - Stock symbol to get statistics for
2815
+ * Provides a real-time feed specifically for 8-K SEC filings from publicly
2816
+ * traded companies. 8-K filings are used to announce major events that
2817
+ * shareholders should know about, such as earnings releases, mergers,
2818
+ * acquisitions, and other material events.
2340
2819
  *
2341
- * @returns Promise resolving to array of insider trade statistics data
2820
+ * @param params - RSS feed 8-K parameters (optional)
2821
+ * @returns Promise resolving to array of 8-K RSS feed items with material event information
2342
2822
  *
2343
2823
  * @example
2344
2824
  * ```typescript
2345
- * // Get Apple's insider trade statistics
2346
- * const appleStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'AAPL' });
2347
- * appleStats.data.forEach(stat => {
2348
- * console.log(`${stat.insiderName}: ${stat.totalTrades} trades, ${stat.totalShares} shares`);
2825
+ * // Get all 8-K filings
2826
+ * const form8KFilings = await fmp.sec.getRSSFeed8K();
2827
+ * console.log(`8-K filings: ${form8KFilings.data.length}`);
2828
+ *
2829
+ * // Get 8-K filings with date range
2830
+ * const recent8K = await fmp.sec.getRSSFeed8K({
2831
+ * from: '2024-01-01',
2832
+ * to: '2024-01-31'
2349
2833
  * });
2834
+ * console.log(`Recent 8-K filings: ${recent8K.data.length}`);
2350
2835
  *
2351
- * // Get Microsoft's statistics
2352
- * const msftStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'MSFT' });
2836
+ * // Get 8-K filings with financials
2837
+ * const financial8K = await fmp.sec.getRSSFeed8K({ hasFinancial: true });
2838
+ * console.log(`8-K filings with financials: ${financial8K.data.length}`);
2839
+ *
2840
+ * // Get limited 8-K results
2841
+ * const limited8K = await fmp.sec.getRSSFeed8K({ limit: 10 });
2842
+ * console.log(`Limited 8-K filings: ${limited8K.data.length}`);
2353
2843
  * ```
2354
2844
  *
2355
- * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trade-statistics-insider-trading|FMP Insider Trade Statistics Documentation}
2845
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-8-k-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed 8-K Documentation}
2356
2846
  */
2357
- getInsiderTradeStatistics(params: {
2358
- symbol: string;
2359
- }): Promise<APIResponse<InsiderTradeStatisticsResponse[]>>;
2847
+ getRSSFeed8K(params?: {
2848
+ page?: number;
2849
+ from?: string;
2850
+ to?: string;
2851
+ hasFinancial?: boolean;
2852
+ limit?: number;
2853
+ }): Promise<APIResponse<RSSFeed8KItem[]>>;
2360
2854
  /**
2361
- * Get CIK mapper data
2362
- *
2363
- * Provides a mapping between CIK (Central Index Key) numbers and company
2364
- * names. Essential for converting between CIK numbers and company
2365
- * identifiers in insider trading analysis.
2855
+ * Get SEC filings for a specific company
2366
2856
  *
2367
- * @param params - CIK mapper request parameters
2368
- * @param params.page - Page number for pagination (default: 0)
2857
+ * Provides direct access to SEC filings for a specific company, including
2858
+ * filing types, links to SEC pages, and direct links to specific filings.
2859
+ * Essential for monitoring a company's regulatory compliance and staying
2860
+ * informed about important corporate events and disclosures.
2369
2861
  *
2370
- * @returns Promise resolving to array of CIK mapper data
2862
+ * @param symbol - The stock symbol to get SEC filings for (e.g., 'AAPL', 'MSFT', 'GOOGL')
2863
+ * @param params - SEC filings parameters (optional)
2864
+ * @returns Promise resolving to array of SEC filings with detailed filing information
2371
2865
  *
2372
2866
  * @example
2373
2867
  * ```typescript
2374
- * // Get first page of CIK mapper
2375
- * const cikMapper = await fmp.insider.getCikMapper({ page: 0 });
2376
- * cikMapper.data.forEach(mapping => {
2377
- * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
2378
- * });
2868
+ * // Get all SEC filings for Apple
2869
+ * const appleFilings = await fmp.sec.getSECFilings({ symbol: 'AAPL' });
2870
+ * console.log(`Apple SEC filings: ${appleFilings.data.length}`);
2379
2871
  *
2380
- * // Get second page
2381
- * const nextPage = await fmp.insider.getCikMapper({ page: 1 });
2872
+ * // Get specific filing type for Microsoft
2873
+ * const msftForm4 = await fmp.sec.getSECFilings({
2874
+ * symbol: 'MSFT',
2875
+ * params: { type: '4' }
2876
+ * });
2877
+ * console.log(`Microsoft Form 4 filings: ${msftForm4.data.length}`);
2382
2878
  * ```
2383
2879
  *
2384
- * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-insider-trading|FMP CIK Mapper Documentation}
2880
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#sec-filings-securities-and-exchange-commission-(s.e.c)|FMP SEC Filings Documentation}
2385
2881
  */
2386
- getCikMapper(params: {
2387
- page?: number;
2388
- }): Promise<APIResponse<CikMapperResponse[]>>;
2882
+ getSECFilings({ symbol, params, }: {
2883
+ symbol: string;
2884
+ params?: {
2885
+ type?: string;
2886
+ page?: number;
2887
+ };
2888
+ }): Promise<APIResponse<SECFiling[]>>;
2389
2889
  /**
2390
- * Get CIK mapper by name search
2391
- *
2392
- * Provides CIK numbers and company names matching a search term.
2393
- * Useful for finding companies by partial name matches and
2394
- * converting company names to CIK numbers.
2890
+ * Get individual industry classification for a company
2395
2891
  *
2396
- * @param params - CIK mapper by name request parameters
2397
- * @param params.name - Company name or partial name to search for
2398
- * @param params.page - Page number for pagination (default: 0)
2892
+ * Provides the industry classification for a specific company based on the
2893
+ * Standard Industrial Classification (SIC) system. Essential for understanding
2894
+ * a company's business sector, industry peers, and market positioning.
2399
2895
  *
2400
- * @returns Promise resolving to array of CIK mapper data matching the search
2896
+ * @param params - Industry classification parameters
2897
+ * @returns Promise resolving to industry classification data with SIC code and description
2401
2898
  *
2402
2899
  * @example
2403
2900
  * ```typescript
2404
- * // Search for Apple by name
2405
- * const appleCik = await fmp.insider.getCikMapperByName({
2406
- * name: 'Apple',
2407
- * page: 0
2408
- * });
2409
- * appleCik.data.forEach(mapping => {
2410
- * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
2411
- * });
2901
+ * // Get Apple's industry classification by symbol
2902
+ * const appleIndustry = await fmp.sec.getIndividualIndustryClassification({ symbol: 'AAPL' });
2903
+ * console.log(`Apple Industry: ${appleIndustry.data.industryTitle}`);
2904
+ * console.log(`SIC Code: ${appleIndustry.data.sicCode}`);
2412
2905
  *
2413
- * // Search for Microsoft
2414
- * const msftCik = await fmp.insider.getCikMapperByName({
2415
- * name: 'Microsoft',
2416
- * page: 0
2417
- * });
2906
+ * // Get industry classification by CIK
2907
+ * const cikIndustry = await fmp.sec.getIndividualIndustryClassification({ cik: 320193 });
2908
+ * console.log(`CIK Industry: ${cikIndustry.data.industryTitle}`);
2909
+ *
2910
+ * // Get industry classification by SIC code
2911
+ * const sicIndustry = await fmp.sec.getIndividualIndustryClassification({ sicCode: 3571 });
2912
+ * console.log(`SIC Industry: ${sicIndustry.data.industryTitle}`);
2418
2913
  * ```
2419
2914
  *
2420
- * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-by-name-insider-trading|FMP CIK Mapper by Name Documentation}
2915
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#individual-industry-classification-standard-industrial-classification|FMP Individual Industry Classification Documentation}
2421
2916
  */
2422
- getCikMapperByName(params: {
2423
- name: string;
2424
- page?: number;
2425
- }): Promise<APIResponse<CikMapperResponse[]>>;
2917
+ getIndividualIndustryClassification(params: {
2918
+ symbol?: string;
2919
+ cik?: string;
2920
+ sicCode?: number;
2921
+ }): Promise<APIResponse<IndustryClassification>>;
2426
2922
  /**
2427
- * Get CIK mapper by symbol
2428
- *
2429
- * Provides CIK number and company name for a specific stock symbol.
2430
- * Essential for converting stock symbols to CIK numbers for use
2431
- * in insider trading searches and analysis.
2923
+ * Get all industry classifications
2432
2924
  *
2433
- * @param params - CIK mapper by symbol request parameters
2434
- * @param params.symbol - Stock symbol to get CIK for
2925
+ * Provides a comprehensive overview of all industries classified according
2926
+ * to the Standard Industrial Classification (SIC) system. Essential for
2927
+ * understanding industry categories, sector analysis, and market research.
2435
2928
  *
2436
- * @returns Promise resolving to CIK mapper data for the symbol
2929
+ * @returns Promise resolving to array of all industry classifications with SIC codes and descriptions
2437
2930
  *
2438
2931
  * @example
2439
2932
  * ```typescript
2440
- * // Get Apple's CIK by symbol
2441
- * const appleCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'AAPL' });
2442
- * console.log(`Apple CIK: ${appleCik.data.cik} - ${appleCik.data.name}`);
2933
+ * // Get all industry classifications
2934
+ * const allIndustries = await fmp.sec.getAllIndustryClassifications();
2935
+ * console.log(`Total industries: ${allIndustries.data.length}`);
2443
2936
  *
2444
- * // Get Microsoft's CIK
2445
- * const msftCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'MSFT' });
2937
+ * allIndustries.data.forEach((industry, index) => {
2938
+ * console.log(`${index + 1}. ${industry.industryTitle}`);
2939
+ * console.log(` SIC Code: ${industry.sicCode}`);
2940
+ * });
2941
+ *
2942
+ * // Find specific industry
2943
+ * const techIndustry = allIndustries.data.find(industry =>
2944
+ * industry.industryTitle.toLowerCase().includes('computer')
2945
+ * );
2946
+ * console.log(`Tech Industry: ${techIndustry?.industryTitle}`);
2446
2947
  * ```
2447
2948
  *
2448
- * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-company-insider-trading|FMP CIK Mapper by Symbol Documentation}
2949
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#all-industry-classification-standard-industrial-classification|FMP All Industry Classifications Documentation}
2449
2950
  */
2450
- getCikMapperBySymbol(params: {
2451
- symbol: string;
2452
- }): Promise<APIResponse<CikMapperBySymbolResponse>>;
2951
+ getAllIndustryClassifications(): Promise<APIResponse<IndustryClassification[]>>;
2453
2952
  /**
2454
- * Get beneficial ownership acquisitions
2455
- *
2456
- * Provides data on acquisitions of beneficial ownership for a specific
2457
- * company. Essential for tracking significant ownership changes and
2458
- * corporate governance events.
2953
+ * Get industry classification codes
2459
2954
  *
2460
- * @param params - Beneficial ownership request parameters
2461
- * @param params.symbol - Stock symbol to get beneficial ownership data for
2955
+ * Provides detailed information about the Standard Industrial Classification
2956
+ * (SIC) system and helps identify SIC codes for specific industries.
2957
+ * Essential for understanding industry categorization and sector analysis.
2462
2958
  *
2463
- * @returns Promise resolving to array of beneficial ownership acquisition data
2959
+ * @param params - Industry classification codes parameters
2960
+ * @returns Promise resolving to array of industry classification codes with detailed information
2464
2961
  *
2465
2962
  * @example
2466
2963
  * ```typescript
2467
- * // Get Apple's beneficial ownership acquisitions
2468
- * const appleOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'AAPL' });
2469
- * appleOwnership.data.forEach(acquisition => {
2470
- * console.log(`${acquisition.date}: ${acquisition.insiderName} acquired ${acquisition.sharesAcquired} shares`);
2471
- * });
2964
+ * // Get all industry classification codes
2965
+ * const allCodes = await fmp.sec.getIndustryClassificationCodes({});
2966
+ * console.log(`Total SIC codes: ${allCodes.data.length}`);
2472
2967
  *
2473
- * // Get Microsoft's beneficial ownership
2474
- * const msftOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'MSFT' });
2968
+ * // Search for specific SIC code
2969
+ * const code3571 = await fmp.sec.getIndustryClassificationCodes({ sicCode: 3571 });
2970
+ * console.log(`SIC 3571: ${code3571.data[0]?.industryTitle}`);
2971
+ *
2972
+ * // Search for industry by title
2973
+ * const computerIndustry = await fmp.sec.getIndustryClassificationCodes({ industryTitle: 'Computer' });
2974
+ * console.log(`Computer-related industries: ${computerIndustry.data.length}`);
2475
2975
  * ```
2476
2976
  *
2477
- * @see {@link https://site.financialmodelingprep.com/developer/docs#acquisition-of-beneficial-ownership|FMP Beneficial Ownership Documentation}
2977
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#industry-classification-codes-standard-industrial-classification|FMP Industry Classification Codes Documentation}
2478
2978
  */
2479
- getBeneficialOwnership(params: {
2480
- symbol: string;
2481
- }): Promise<APIResponse<BeneficialOwnershipResponse[]>>;
2979
+ getIndustryClassificationCodes(params: {
2980
+ industryTitle?: string;
2981
+ sicCode?: number;
2982
+ }): Promise<APIResponse<IndustryClassificationCode[]>>;
2983
+ }
2984
+
2985
+ declare class SenateHouseEndpoints {
2986
+ private client;
2987
+ constructor(client: FMPClient);
2482
2988
  /**
2483
- * Get fail to deliver data
2484
- *
2485
- * Provides fail to deliver data for a specific company, which indicates
2486
- * when market participants fail to deliver securities on settlement date.
2487
- * Important for understanding market mechanics and potential short interest.
2989
+ * Get senate trading data for a specific stock symbol
2488
2990
  *
2489
- * @param params - Fail to deliver request parameters
2490
- * @param params.symbol - Stock symbol to get fail to deliver data for
2491
- * @param params.page - Page number for pagination (default: 0)
2991
+ * Provides detailed information about senate members' trading activities for a specific stock.
2992
+ * Includes transaction details, amounts, dates, and ownership information for transparency
2993
+ * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
2492
2994
  *
2493
- * @returns Promise resolving to array of fail to deliver data
2995
+ * @param params - Senate trading request parameters
2996
+ * @param params.symbol - The stock symbol to get senate trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
2997
+ *
2998
+ * @returns Promise resolving to array of senate trading data with transaction details
2494
2999
  *
2495
3000
  * @example
2496
3001
  * ```typescript
2497
- * // Get Apple's fail to deliver data
2498
- * const appleFailToDeliver = await fmp.insider.getFailToDeliver({
2499
- * symbol: 'AAPL',
2500
- * page: 0
2501
- * });
2502
- * appleFailToDeliver.data.forEach(entry => {
2503
- * console.log(`${entry.date}: ${entry.shares} shares failed to deliver`);
3002
+ * // Get senate trading data for Apple
3003
+ * const appleSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'AAPL' });
3004
+ * appleSenateTrading.data.forEach(trade => {
3005
+ * console.log(`${trade.firstName} ${trade.lastName} (${trade.office}):`);
3006
+ * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
3007
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
2504
3008
  * });
2505
3009
  *
2506
- * // Get Microsoft's fail to deliver data
2507
- * const msftFailToDeliver = await fmp.insider.getFailToDeliver({
2508
- * symbol: 'MSFT',
2509
- * page: 0
2510
- * });
3010
+ * // Get senate trading data for Tesla
3011
+ * const teslaSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'TSLA' });
2511
3012
  * ```
2512
3013
  *
2513
- * @see {@link https://site.financialmodelingprep.com/developer/docs#fail-to-deliver|FMP Fail to Deliver Documentation}
3014
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#senate-trading|FMP Senate Trading Documentation}
2514
3015
  */
2515
- getFailToDeliver(params: {
3016
+ getSenateTrading(params: {
2516
3017
  symbol: string;
2517
- page?: number;
2518
- }): Promise<APIResponse<FailToDeliverResponse[]>>;
2519
- /**
2520
- * Get all insider trades for a symbol (convenience method)
2521
- * @param symbol - The stock symbol to get insider trades for
2522
- * @param page - Page number for pagination (default: 0)
2523
- * @returns A list of insider trades for the specified symbol
2524
- */
2525
- getInsiderTradesBySymbol(symbol: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2526
- /**
2527
- * Get insider trades by transaction type (convenience method)
2528
- * @param transactionType - The transaction type to filter by
2529
- * @param page - Page number for pagination (default: 0)
2530
- * @returns A list of insider trades filtered by transaction type
2531
- */
2532
- getInsiderTradesByType(transactionType: TransactionType | string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2533
- /**
2534
- * Get insider trades by reporting CIK (convenience method)
2535
- * @param reportingCik - The reporting CIK to filter by
2536
- * @param page - Page number for pagination (default: 0)
2537
- * @returns A list of insider trades filtered by reporting CIK
2538
- */
2539
- getInsiderTradesByReportingCik(reportingCik: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2540
- /**
2541
- * Get insider trades by company CIK (convenience method)
2542
- * @param companyCik - The company CIK to filter by
2543
- * @param page - Page number for pagination (default: 0)
2544
- * @returns A list of insider trades filtered by company CIK
2545
- */
2546
- getInsiderTradesByCompanyCik(companyCik: string, page?: number): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2547
- }
2548
-
2549
- declare class SECEndpoints {
2550
- private client;
2551
- constructor(client: FMPClient);
3018
+ }): Promise<APIResponse<SenateTradingResponse[]>>;
2552
3019
  /**
2553
- * Get RSS feed of SEC filings
3020
+ * Get senate trading RSS feed with pagination
2554
3021
  *
2555
- * Provides a real-time feed of SEC filings from publicly traded companies,
2556
- * including filing types, links to SEC pages, and direct links to filings.
2557
- * Essential for staying up-to-date on the latest SEC filings for all companies
2558
- * or for monitoring specific companies' regulatory activities.
3022
+ * Provides a paginated RSS feed of all senate trading activities across all stocks.
3023
+ * Useful for monitoring congressional trading activities, compliance tracking,
3024
+ * and transparency reporting. Returns recent trading disclosures from senate members.
2559
3025
  *
2560
- * @param params - RSS feed parameters (optional)
2561
- * @returns Promise resolving to array of RSS feed items with SEC filing information
3026
+ * @param params - Senate trading RSS feed request parameters
3027
+ * @param params.page - The page number to retrieve (starts from 0)
3028
+ *
3029
+ * @returns Promise resolving to array of senate trading data from RSS feed
2562
3030
  *
2563
3031
  * @example
2564
3032
  * ```typescript
2565
- * // Get all recent SEC filings
2566
- * const allFilings = await fmp.sec.getRSSFeed();
2567
- * console.log(`Recent SEC filings: ${allFilings.data.length}`);
3033
+ * // Get first page of senate trading RSS feed
3034
+ * const firstPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
3035
+ * console.log(`First page: ${firstPage.data.length} trading activities`);
2568
3036
  *
2569
- * // Get specific filing type
2570
- * const form4Filings = await fmp.sec.getRSSFeed({ type: '4' });
2571
- * console.log(`Form 4 filings: ${form4Filings.data.length}`);
3037
+ * // Get second page of senate trading RSS feed
3038
+ * const secondPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 1 });
3039
+ * console.log(`Second page: ${secondPage.data.length} trading activities`);
2572
3040
  *
2573
- * // Get filings with date range
2574
- * const recentFilings = await fmp.sec.getRSSFeed({
2575
- * from: '2024-01-01',
2576
- * to: '2024-01-31'
3041
+ * // Get recent senate trading activities
3042
+ * const recentTrades = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
3043
+ * recentTrades.data.forEach(trade => {
3044
+ * console.log(`${trade.firstName} ${trade.lastName}: ${trade.type} ${trade.amount}`);
2577
3045
  * });
2578
- * console.log(`Recent filings: ${recentFilings.data.length}`);
2579
- *
2580
- * // Get limited results
2581
- * const limitedFilings = await fmp.sec.getRSSFeed({ limit: 10 });
2582
- * console.log(`Limited filings: ${limitedFilings.data.length}`);
2583
3046
  * ```
2584
3047
  *
2585
- * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed Documentation}
3048
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#senate-latest|FMP Senate Trading RSS Feed Documentation}
2586
3049
  */
2587
- getRSSFeed(params?: {
3050
+ getSenateTradingRSSFeed(params: {
3051
+ page: number;
2588
3052
  limit?: number;
2589
- type?: string;
2590
- from?: string;
2591
- to?: string;
2592
- isDone?: boolean;
2593
- }): Promise<APIResponse<RSSFeedItem[]>>;
3053
+ }): Promise<APIResponse<SenateTradingResponse[]>>;
2594
3054
  /**
2595
- * Get comprehensive RSS feed of all SEC filings
3055
+ * Get senate trading data for a specific senator by name
2596
3056
  *
2597
- * Provides a comprehensive real-time feed of all SEC filings from publicly
2598
- * traded companies in the latest RSS feed format. This endpoint offers the
2599
- * most complete overview of SEC filings with enhanced metadata and formatting.
3057
+ * Provides detailed trading activities for a specific senate member across all stocks.
3058
+ * Useful for tracking individual senator's trading patterns, compliance monitoring,
3059
+ * and transparency reporting. Returns all trading disclosures for the specified senator.
2600
3060
  *
2601
- * @param params - RSS feed all parameters (optional)
2602
- * @returns Promise resolving to array of comprehensive RSS feed items with enhanced SEC filing information
3061
+ * @param params - Senate trading by name request parameters
3062
+ * @param params.name - The name of the senator to get trading data for (e.g., 'John Smith', 'Jane Doe')
3063
+ *
3064
+ * @returns Promise resolving to array of senate trading data for the specified senator
2603
3065
  *
2604
3066
  * @example
2605
3067
  * ```typescript
2606
- * // Get all comprehensive SEC filings
2607
- * const allFilings = await fmp.sec.getRSSFeedAll();
2608
- * console.log(`Comprehensive SEC filings: ${allFilings.data.length}`);
2609
- *
2610
- * // Get paginated results
2611
- * const page2Filings = await fmp.sec.getRSSFeedAll({ page: 1 });
2612
- * console.log(`Page 2 filings: ${page2Filings.data.length}`);
3068
+ * // Get trading data for Senator John Smith
3069
+ * const johnSmithTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'John Smith' });
3070
+ * johnSmithTrades.data.forEach(trade => {
3071
+ * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
3072
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
3073
+ * console.log(` Asset: ${trade.assetDescription}`);
3074
+ * });
2613
3075
  *
2614
- * // Get specific data type
2615
- * const specificData = await fmp.sec.getRSSFeedAll({ datatype: 'json' });
2616
- * console.log(`Specific data type filings: ${specificData.data.length}`);
3076
+ * // Get trading data for Senator Jane Doe
3077
+ * const janeDoeTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'Jane Doe' });
3078
+ * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
2617
3079
  * ```
2618
3080
  *
2619
- * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-all-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed All Documentation}
3081
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#senate-trading-by-name|FMP Senate Trading by Name Documentation}
2620
3082
  */
2621
- getRSSFeedAll(params?: {
2622
- page?: number;
2623
- datatype?: string;
2624
- }): Promise<APIResponse<RSSFeedAllItem[]>>;
3083
+ getSenateTradingByName(params: {
3084
+ name: string;
3085
+ }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
2625
3086
  /**
2626
- * Get RSS feed V3 of SEC filings
3087
+ * Get house trading data for a specific stock symbol
2627
3088
  *
2628
- * Provides a real-time feed of SEC filings from publicly traded companies
2629
- * in the V3 RSS feed format. This version offers enhanced metadata and
2630
- * improved structure for better parsing and analysis of SEC filings.
3089
+ * Provides detailed information about house representatives' trading activities for a specific stock.
3090
+ * Includes transaction details, amounts, dates, and district information for transparency
3091
+ * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
2631
3092
  *
2632
- * @param params - RSS feed V3 parameters (optional)
2633
- * @returns Promise resolving to array of V3 RSS feed items with enhanced SEC filing information
3093
+ * @param params - House trading request parameters
3094
+ * @param params.symbol - The stock symbol to get house trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
3095
+ *
3096
+ * @returns Promise resolving to array of house trading data with transaction details
2634
3097
  *
2635
3098
  * @example
2636
3099
  * ```typescript
2637
- * // Get V3 format SEC filings
2638
- * const v3Filings = await fmp.sec.getRSSFeedV3();
2639
- * console.log(`V3 SEC filings: ${v3Filings.data.length}`);
2640
- *
2641
- * // Get paginated V3 results
2642
- * const page2V3 = await fmp.sec.getRSSFeedV3({ page: 1 });
2643
- * console.log(`Page 2 V3 filings: ${page2V3.data.length}`);
3100
+ * // Get house trading data for Apple
3101
+ * const appleHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'AAPL' });
3102
+ * appleHouseTrading.data.forEach(trade => {
3103
+ * console.log(`${trade.representative} (District ${trade.district}):`);
3104
+ * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
3105
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
3106
+ * });
2644
3107
  *
2645
- * // Get specific data type
2646
- * const specificV3 = await fmp.sec.getRSSFeedV3({ datatype: 'json' });
2647
- * console.log(`Specific V3 data type: ${specificV3.data.length}`);
3108
+ * // Get house trading data for Microsoft
3109
+ * const msftHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'MSFT' });
3110
+ * console.log(`Microsoft house trading activities: ${msftHouseTrading.data.length}`);
2648
3111
  * ```
2649
3112
  *
2650
- * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-v3-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed V3 Documentation}
3113
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#house-trading|FMP House Trading Documentation}
2651
3114
  */
2652
- getRSSFeedV3(params?: {
2653
- page?: number;
2654
- datatype?: string;
2655
- }): Promise<APIResponse<RSSFeedV3Item[]>>;
3115
+ getHouseTrading(params: {
3116
+ symbol: string;
3117
+ }): Promise<APIResponse<HouseTradingResponse[]>>;
2656
3118
  /**
2657
- * Get RSS feed of 8-K SEC filings
3119
+ * Get house trading RSS feed with pagination
2658
3120
  *
2659
- * Provides a real-time feed specifically for 8-K SEC filings from publicly
2660
- * traded companies. 8-K filings are used to announce major events that
2661
- * shareholders should know about, such as earnings releases, mergers,
2662
- * acquisitions, and other material events.
3121
+ * Provides a paginated RSS feed of all house trading activities across all stocks.
3122
+ * Useful for monitoring congressional trading activities, compliance tracking,
3123
+ * and transparency reporting. Returns recent trading disclosures from house representatives.
2663
3124
  *
2664
- * @param params - RSS feed 8-K parameters (optional)
2665
- * @returns Promise resolving to array of 8-K RSS feed items with material event information
3125
+ * @param params - House trading RSS feed request parameters
3126
+ * @param params.page - The page number to retrieve (starts from 0)
3127
+ *
3128
+ * @returns Promise resolving to array of house trading data from RSS feed
2666
3129
  *
2667
3130
  * @example
2668
3131
  * ```typescript
2669
- * // Get all 8-K filings
2670
- * const form8KFilings = await fmp.sec.getRSSFeed8K();
2671
- * console.log(`8-K filings: ${form8KFilings.data.length}`);
2672
- *
2673
- * // Get 8-K filings with date range
2674
- * const recent8K = await fmp.sec.getRSSFeed8K({
2675
- * from: '2024-01-01',
2676
- * to: '2024-01-31'
2677
- * });
2678
- * console.log(`Recent 8-K filings: ${recent8K.data.length}`);
3132
+ * // Get first page of house trading RSS feed
3133
+ * const firstPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
3134
+ * console.log(`First page: ${firstPage.data.length} trading activities`);
2679
3135
  *
2680
- * // Get 8-K filings with financials
2681
- * const financial8K = await fmp.sec.getRSSFeed8K({ hasFinancial: true });
2682
- * console.log(`8-K filings with financials: ${financial8K.data.length}`);
3136
+ * // Get second page of house trading RSS feed
3137
+ * const secondPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 1 });
3138
+ * console.log(`Second page: ${secondPage.data.length} trading activities`);
2683
3139
  *
2684
- * // Get limited 8-K results
2685
- * const limited8K = await fmp.sec.getRSSFeed8K({ limit: 10 });
2686
- * console.log(`Limited 8-K filings: ${limited8K.data.length}`);
3140
+ * // Get recent house trading activities
3141
+ * const recentTrades = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
3142
+ * recentTrades.data.forEach(trade => {
3143
+ * console.log(`${trade.representative} (District ${trade.district}): ${trade.type} ${trade.amount}`);
3144
+ * });
2687
3145
  * ```
2688
3146
  *
2689
- * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-8-k-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed 8-K Documentation}
3147
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#house-latest|FMP House Trading RSS Feed Documentation}
2690
3148
  */
2691
- getRSSFeed8K(params?: {
2692
- page?: number;
2693
- from?: string;
2694
- to?: string;
2695
- hasFinancial?: boolean;
3149
+ getHouseTradingRSSFeed(params: {
3150
+ page: number;
2696
3151
  limit?: number;
2697
- }): Promise<APIResponse<RSSFeed8KItem[]>>;
3152
+ }): Promise<APIResponse<HouseTradingResponse[]>>;
2698
3153
  /**
2699
- * Get SEC filings for a specific company
3154
+ * Get house trading data for a specific representative by name
3155
+ *
3156
+ * Provides detailed trading activities for a specific house representative across all stocks.
3157
+ * Useful for tracking individual representative's trading patterns, compliance monitoring,
3158
+ * and transparency reporting. Returns all trading disclosures for the specified representative.
2700
3159
  *
2701
- * Provides direct access to SEC filings for a specific company, including
2702
- * filing types, links to SEC pages, and direct links to specific filings.
2703
- * Essential for monitoring a company's regulatory compliance and staying
2704
- * informed about important corporate events and disclosures.
3160
+ * @param params - House trading by name request parameters
3161
+ * @param params.name - The name of the representative to get trading data for (e.g., 'John Smith', 'Jane Doe')
2705
3162
  *
2706
- * @param symbol - The stock symbol to get SEC filings for (e.g., 'AAPL', 'MSFT', 'GOOGL')
2707
- * @param params - SEC filings parameters (optional)
2708
- * @returns Promise resolving to array of SEC filings with detailed filing information
3163
+ * @returns Promise resolving to array of house trading data for the specified representative
2709
3164
  *
2710
3165
  * @example
2711
3166
  * ```typescript
2712
- * // Get all SEC filings for Apple
2713
- * const appleFilings = await fmp.sec.getSECFilings({ symbol: 'AAPL' });
2714
- * console.log(`Apple SEC filings: ${appleFilings.data.length}`);
2715
- *
2716
- * // Get specific filing type for Microsoft
2717
- * const msftForm4 = await fmp.sec.getSECFilings({
2718
- * symbol: 'MSFT',
2719
- * params: { type: '4' }
3167
+ * // Get trading data for Representative John Smith
3168
+ * const johnSmithTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'John Smith' });
3169
+ * johnSmithTrades.data.forEach(trade => {
3170
+ * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
3171
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
3172
+ * console.log(` Asset: ${trade.assetDescription}`);
3173
+ * console.log(` District: ${trade.district}`);
2720
3174
  * });
2721
- * console.log(`Microsoft Form 4 filings: ${msftForm4.data.length}`);
3175
+ *
3176
+ * // Get trading data for Representative Jane Doe
3177
+ * const janeDoeTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'Jane Doe' });
3178
+ * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
2722
3179
  * ```
2723
3180
  *
2724
- * @see {@link https://site.financialmodelingprep.com/developer/docs#sec-filings-securities-and-exchange-commission-(s.e.c)|FMP SEC Filings Documentation}
3181
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#house-trading-by-name|FMP House Trading by Name Documentation}
2725
3182
  */
2726
- getSECFilings({ symbol, params, }: {
2727
- symbol: string;
2728
- params?: {
2729
- type?: string;
2730
- page?: number;
2731
- };
2732
- }): Promise<APIResponse<SECFiling[]>>;
3183
+ getHouseTradingByName(params: {
3184
+ name: string;
3185
+ }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
3186
+ }
3187
+
3188
+ declare class StockEndpoints {
3189
+ private client;
3190
+ constructor(client: FMPClient);
2733
3191
  /**
2734
- * Get individual industry classification for a company
3192
+ * Get current market capitalization for a stock
2735
3193
  *
2736
- * Provides the industry classification for a specific company based on the
2737
- * Standard Industrial Classification (SIC) system. Essential for understanding
2738
- * a company's business sector, industry peers, and market positioning.
3194
+ * Market capitalization represents the total value of a company's outstanding shares.
3195
+ * Calculated by multiplying the current share price by the number of outstanding shares.
3196
+ * This metric is crucial for understanding a company's size and market position.
2739
3197
  *
2740
- * @param params - Industry classification parameters
2741
- * @returns Promise resolving to industry classification data with SIC code and description
3198
+ * @param symbol - The stock symbol to get market cap for (e.g., 'AAPL', 'MSFT', 'GOOGL')
3199
+ *
3200
+ * @returns Promise resolving to market cap data including symbol, date, and market cap value
2742
3201
  *
2743
3202
  * @example
2744
3203
  * ```typescript
2745
- * // Get Apple's industry classification by symbol
2746
- * const appleIndustry = await fmp.sec.getIndividualIndustryClassification({ symbol: 'AAPL' });
2747
- * console.log(`Apple Industry: ${appleIndustry.data.industryTitle}`);
2748
- * console.log(`SIC Code: ${appleIndustry.data.sicCode}`);
2749
- *
2750
- * // Get industry classification by CIK
2751
- * const cikIndustry = await fmp.sec.getIndividualIndustryClassification({ cik: 320193 });
2752
- * console.log(`CIK Industry: ${cikIndustry.data.industryTitle}`);
3204
+ * // Get market cap for Apple
3205
+ * const marketCap = await fmp.stock.getMarketCap('AAPL');
3206
+ * console.log(`Apple's market cap: $${marketCap.data.marketCap.toLocaleString()}`);
2753
3207
  *
2754
- * // Get industry classification by SIC code
2755
- * const sicIndustry = await fmp.sec.getIndividualIndustryClassification({ sicCode: 3571 });
2756
- * console.log(`SIC Industry: ${sicIndustry.data.industryTitle}`);
3208
+ * // Get market cap for Microsoft
3209
+ * const msftCap = await fmp.stock.getMarketCap('MSFT');
2757
3210
  * ```
2758
3211
  *
2759
- * @see {@link https://site.financialmodelingprep.com/developer/docs#individual-industry-classification-standard-industrial-classification|FMP Individual Industry Classification Documentation}
3212
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-cap-company-information|FMP Market Cap Documentation}
2760
3213
  */
2761
- getIndividualIndustryClassification(params: {
2762
- symbol?: string;
2763
- cik?: string;
2764
- sicCode?: number;
2765
- }): Promise<APIResponse<IndustryClassification>>;
3214
+ getMarketCap(symbol: string): Promise<APIResponse<MarketCap>>;
2766
3215
  /**
2767
- * Get all industry classifications
3216
+ * Get historical stock splits for a company
2768
3217
  *
2769
- * Provides a comprehensive overview of all industries classified according
2770
- * to the Standard Industrial Classification (SIC) system. Essential for
2771
- * understanding industry categories, sector analysis, and market research.
3218
+ * Stock splits occur when a company increases the number of shares by dividing existing shares.
3219
+ * This endpoint provides the complete history of stock splits including dates, ratios, and split types.
3220
+ * Useful for adjusting historical price data and understanding corporate actions.
2772
3221
  *
2773
- * @returns Promise resolving to array of all industry classifications with SIC codes and descriptions
3222
+ * @param symbol - The stock symbol to get split history for (e.g., 'AAPL', 'TSLA', 'NVDA')
3223
+ *
3224
+ * @returns Promise resolving to historical stock splits with dates, labels, and split ratios
2774
3225
  *
2775
3226
  * @example
2776
3227
  * ```typescript
2777
- * // Get all industry classifications
2778
- * const allIndustries = await fmp.sec.getAllIndustryClassifications();
2779
- * console.log(`Total industries: ${allIndustries.data.length}`);
2780
- *
2781
- * allIndustries.data.forEach((industry, index) => {
2782
- * console.log(`${index + 1}. ${industry.industryTitle}`);
2783
- * console.log(` SIC Code: ${industry.sicCode}`);
3228
+ * // Get Apple's split history
3229
+ * const splits = await fmp.stock.getStockSplits('AAPL');
3230
+ * splits.data.historical.forEach(split => {
3231
+ * console.log(`${split.date}: ${split.numerator}:${split.denominator} split`);
2784
3232
  * });
2785
3233
  *
2786
- * // Find specific industry
2787
- * const techIndustry = allIndustries.data.find(industry =>
2788
- * industry.industryTitle.toLowerCase().includes('computer')
2789
- * );
2790
- * console.log(`Tech Industry: ${techIndustry?.industryTitle}`);
3234
+ * // Get Tesla's split history
3235
+ * const teslaSplits = await fmp.stock.getStockSplits('TSLA');
2791
3236
  * ```
2792
3237
  *
2793
- * @see {@link https://site.financialmodelingprep.com/developer/docs#all-industry-classification-standard-industrial-classification|FMP All Industry Classifications Documentation}
3238
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-historical-splits|FMP Stock Splits Documentation}
2794
3239
  */
2795
- getAllIndustryClassifications(): Promise<APIResponse<IndustryClassification[]>>;
3240
+ getStockSplits(symbol: string): Promise<APIResponse<StockSplitResponse>>;
2796
3241
  /**
2797
- * Get industry classification codes
3242
+ * Get historical dividend payments for a stock
2798
3243
  *
2799
- * Provides detailed information about the Standard Industrial Classification
2800
- * (SIC) system and helps identify SIC codes for specific industries.
2801
- * Essential for understanding industry categorization and sector analysis.
3244
+ * Dividends are periodic payments made by companies to shareholders from profits.
3245
+ * This endpoint provides the complete dividend history including payment dates, amounts,
3246
+ * and important dates like ex-dividend, record, and declaration dates.
2802
3247
  *
2803
- * @param params - Industry classification codes parameters
2804
- * @returns Promise resolving to array of industry classification codes with detailed information
3248
+ * @param symbol - The stock symbol to get dividend history for (e.g., 'KO', 'JNJ', 'PG')
3249
+ *
3250
+ * @returns Promise resolving to dividend history with payment details and important dates
2805
3251
  *
2806
3252
  * @example
2807
3253
  * ```typescript
2808
- * // Get all industry classification codes
2809
- * const allCodes = await fmp.sec.getIndustryClassificationCodes({});
2810
- * console.log(`Total SIC codes: ${allCodes.data.length}`);
2811
- *
2812
- * // Search for specific SIC code
2813
- * const code3571 = await fmp.sec.getIndustryClassificationCodes({ sicCode: 3571 });
2814
- * console.log(`SIC 3571: ${code3571.data[0]?.industryTitle}`);
3254
+ * // Get Coca-Cola's dividend history
3255
+ * const dividends = await fmp.stock.getDividendHistory('KO');
3256
+ * dividends.data.historical.forEach(dividend => {
3257
+ * console.log(`${dividend.date}: $${dividend.dividend} per share`);
3258
+ * });
2815
3259
  *
2816
- * // Search for industry by title
2817
- * const computerIndustry = await fmp.sec.getIndustryClassificationCodes({ industryTitle: 'Computer' });
2818
- * console.log(`Computer-related industries: ${computerIndustry.data.length}`);
3260
+ * // Get Johnson & Johnson's dividend history
3261
+ * const jnjDividends = await fmp.stock.getDividendHistory('JNJ');
2819
3262
  * ```
2820
3263
  *
2821
- * @see {@link https://site.financialmodelingprep.com/developer/docs#industry-classification-codes-standard-industrial-classification|FMP Industry Classification Codes Documentation}
3264
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-historical-dividends|FMP Dividends Documentation}
2822
3265
  */
2823
- getIndustryClassificationCodes(params: {
2824
- industryTitle?: string;
2825
- sicCode?: number;
2826
- }): Promise<APIResponse<IndustryClassificationCode[]>>;
2827
- }
2828
-
2829
- declare class MutualFundEndpoints {
2830
- private client;
2831
- constructor(client: FMPClient);
3266
+ getDividendHistory(symbol: string): Promise<APIResponse<StockDividendResponse>>;
2832
3267
  /**
2833
- * Get mutual fund holders of a specific stock
3268
+ * Get real-time stock prices for multiple symbols
2834
3269
  *
2835
- * Provides data on mutual funds that hold shares in a specific stock.
2836
- * Essential for understanding mutual fund ownership patterns and
2837
- * which mutual funds are invested in particular companies.
3270
+ * Provides current market prices for stocks with minimal data overhead.
3271
+ * Returns basic price information including symbol and current price.
3272
+ * Ideal for quick price checks and portfolio monitoring.
2838
3273
  *
2839
- * @param symbol - The stock symbol to get mutual fund holders for (e.g., 'AAPL', 'MSFT', 'GOOGL')
3274
+ * @param symbols - Array of stock symbols to get real-time prices for
2840
3275
  *
2841
- * @returns Promise resolving to array of mutual fund holders with position details
3276
+ * @returns Promise resolving to array of real-time price data with symbol and price
2842
3277
  *
2843
3278
  * @example
2844
3279
  * ```typescript
2845
- * // Get mutual funds that hold Apple stock
2846
- * const appleHolders = await fmp.mutualFund.getHolders('AAPL');
2847
- * console.log(`${appleHolders.data.length} mutual funds hold AAPL`);
3280
+ * // Get prices for multiple tech stocks
3281
+ * const prices = await fmp.stock.getRealTimePrice([
3282
+ * 'AAPL', 'MSFT', 'GOOGL', 'AMZN', 'TSLA'
3283
+ * ]);
2848
3284
  *
2849
- * appleHolders.data.forEach((holder, index) => {
2850
- * console.log(`${index + 1}. ${holder.holder}`);
2851
- * console.log(` Shares: ${holder.shares?.toLocaleString() || 'N/A'}`);
2852
- * console.log(` Weight: ${holder.weightPercent}% | Change: ${holder.change}`);
3285
+ * prices.data.forEach(stock => {
3286
+ * console.log(`${stock.symbol}: $${stock.price}`);
2853
3287
  * });
2854
3288
  *
2855
- * // Get mutual funds that hold Microsoft stock
2856
- * const msftHolders = await fmp.mutualFund.getHolders('MSFT');
3289
+ * // Get price for single stock
3290
+ * const aaplPrice = await fmp.stock.getRealTimePrice(['AAPL']);
3291
+ * ```
3292
+ */
3293
+ getRealTimePrice(symbols: string[]): Promise<APIResponse<StockRealTimePrice[]>>;
3294
+ /**
3295
+ * Get comprehensive real-time stock data for multiple symbols
2857
3296
  *
2858
- * // Find top mutual fund holders by shares
2859
- * const topHolders = msftHolders.data
2860
- * .sort((a, b) => (b.shares || 0) - (a.shares || 0))
2861
- * .slice(0, 10);
2862
- * console.log('Top 10 mutual fund holders by shares:');
2863
- * topHolders.forEach((holder, index) => {
2864
- * console.log(`${index + 1}. ${holder.holder}: ${holder.shares.toLocaleString()} shares`);
2865
- * });
3297
+ * Provides detailed real-time market data including bid/ask prices, volume, trade sizes,
3298
+ * and timestamps. This endpoint offers much more information than the basic real-time price.
3299
+ * Perfect for trading applications, market analysis, and detailed price monitoring.
2866
3300
  *
2867
- * // Get mutual funds that hold Google stock
2868
- * const googlHolders = await fmp.mutualFund.getHolders('GOOGL');
3301
+ * @param symbols - Array of stock symbols to get detailed real-time data for
2869
3302
  *
2870
- * // Analyze mutual fund concentration
2871
- * const totalShares = googlHolders.data.reduce((sum, holder) => sum + (holder.shares || 0), 0);
2872
- * console.log(`Total shares held by mutual funds: ${totalShares.toLocaleString()}`);
3303
+ * @returns Promise resolving to array of detailed real-time data including bid/ask, volume, and timestamps
2873
3304
  *
2874
- * googlHolders.data.forEach(holder => {
2875
- * const percentage = ((holder.shares || 0) / totalShares * 100).toFixed(2);
2876
- * console.log(`${holder.holder}: ${percentage}% of total mutual fund holdings`);
3305
+ * @example
3306
+ * ```typescript
3307
+ * // Get detailed data for multiple stocks
3308
+ * const detailedData = await fmp.stock.getRealTimePriceForMultipleStocks([
3309
+ * 'AAPL', 'MSFT', 'GOOGL'
3310
+ * ]);
3311
+ *
3312
+ * detailedData.data.forEach(stock => {
3313
+ * console.log(`${stock.symbol}:`);
3314
+ * console.log(` Bid: $${stock.bidPrice} (${stock.bidSize} shares)`);
3315
+ * console.log(` Ask: $${stock.askPrice} (${stock.askSize} shares)`);
3316
+ * console.log(` Last: $${stock.lastSalePrice} (${stock.lastSaleSize} shares)`);
3317
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
2877
3318
  * });
3319
+ *
3320
+ * // Get detailed data for single stock
3321
+ * const aaplDetailed = await fmp.stock.getRealTimePriceForMultipleStocks(['AAPL']);
2878
3322
  * ```
2879
3323
  *
2880
- * @see {@link https://site.financialmodelingprep.com/developer/docs#mutual-fund-holder-mutual-funds-holdings|FMP Mutual Fund Holders Documentation}
3324
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#real-time-full-price-quote|FMP Real-Time Full Price Documentation}
2881
3325
  */
2882
- getHolders(symbol: string): Promise<APIResponse<MutualFundHolding[]>>;
3326
+ getRealTimePriceForMultipleStocks(symbols: string[]): Promise<APIResponse<StockRealTimePriceFull[]>>;
2883
3327
  }
2884
3328
 
2885
3329
  /**
@@ -2913,20 +3357,22 @@ declare class MutualFundEndpoints {
2913
3357
  * ```
2914
3358
  */
2915
3359
  declare class FMP {
2916
- readonly stock: StockEndpoints;
2917
- readonly financial: FinancialEndpoints;
2918
- readonly etf: ETFEndpoints;
2919
- readonly economic: EconomicEndpoints;
2920
- readonly market: MarketEndpoints;
2921
- readonly list: ListEndpoints;
2922
3360
  readonly calendar: CalendarEndpoints;
2923
3361
  readonly company: CompanyEndpoints;
2924
- readonly quote: QuoteEndpoints;
2925
- readonly senateHouse: SenateHouseEndpoints;
2926
- readonly institutional: InstitutionalEndpoints;
3362
+ readonly economic: EconomicEndpoints;
3363
+ readonly etf: ETFEndpoints;
3364
+ readonly financial: FinancialEndpoints;
2927
3365
  readonly insider: InsiderEndpoints;
2928
- readonly sec: SECEndpoints;
3366
+ readonly institutional: InstitutionalEndpoints;
3367
+ readonly list: ListEndpoints;
3368
+ readonly market: MarketEndpoints;
2929
3369
  readonly mutualFund: MutualFundEndpoints;
3370
+ readonly news: NewsEndpoints;
3371
+ readonly quote: QuoteEndpoints;
3372
+ readonly screener: ScreenerEndpoints;
3373
+ readonly sec: SECEndpoints;
3374
+ readonly senateHouse: SenateHouseEndpoints;
3375
+ readonly stock: StockEndpoints;
2930
3376
  constructor(config?: FMPConfig);
2931
3377
  /**
2932
3378
  * Get the underlying client instance for advanced usage
@@ -2986,4 +3432,4 @@ declare const SECTORS: {
2986
3432
  readonly COMMUNICATION_SERVICES: "Communication Services";
2987
3433
  };
2988
3434
 
2989
- export { APIResponse, AvailableIndexesList, BalanceSheet, BalanceSheetGrowth, BeneficialOwnershipResponse, CalendarEndpoints, CashFlowStatement, CashflowGrowth, CikMapperBySymbolResponse, CikMapperResponse, CompanyEndpoints, CompanyNotes, CompanyProfile, CompanyTranscriptData, CryptoList, DEFAULT_LIMIT, DEFAULT_TIMEOUT, DividendsCalendar, ETFCountryWeighting, ETFEndpoints, ETFHolder, ETFHolding, ETFHoldingDates, ETFList, ETFProfile, ETFStockExposure, ETFWeighting, EXCHANGES, EarningsCalendar, EarningsCallTranscript, EarningsConfirmed, EarningsHistorical, EarningsSurprises, EconomicEndpoints, EconomicIndicator, EconomicsCalendar, EnterpriseValue, ExecutiveCompensation, FMP, FMPClient, FMPConfig, FailToDeliverResponse, FinancialEndpoints, FinancialGrowth, FinancialRatios, ForexList, Form13FResponse, HistoricalEmployeeCount, HistoricalPriceData, HistoricalPriceResponse, HistoricalSharesFloat, HouseTradingResponse, IPOCalendar, IncomeGrowth, IncomeStatement, IndustryClassification, IndustryClassificationCode, InsiderEndpoints, InsiderTradeStatisticsResponse, InsiderTradingRSSResponse, InsiderTradingSearchResponse, InsidersBySymbolResponse, InstitutionalEndpoints, InstitutionalHolderResponse, KeyMetrics, ListEndpoints, MAX_LIMIT, MarketCap, MarketEndpoints, MarketHours, MarketIndex, MarketPerformance, MarketSectorPerformance, MutualFundEndpoints, MutualFundHolding, PERIODS, Quote, QuoteEndpoints, RSSFeed8KItem, RSSFeedAllItem, RSSFeedItem, RSSFeedV3Item, SECEndpoints, SECFiling, SECTORS, SenateHouseEndpoints, SenateHouseTradingByNameResponse, SenateTradingResponse, SharesFloat, SplitsCalendar, StockDividendResponse, StockEndpoints, StockList, StockRealTimePrice, StockRealTimePriceFull, StockSplitResponse, TransactionType, TransactionTypesResponse, TreasuryRate, formatCurrency, formatDate, formatLargeNumber, formatPercentage, formatVolume };
3435
+ export { APIResponse, Article, AvailableCountries, AvailableExchanges, AvailableIndexesList, AvailableIndustries, AvailableSectors, BalanceSheet, BalanceSheetGrowth, BeneficialOwnershipResponse, CalendarEndpoints, CashFlowStatement, CashflowGrowth, CikMapperBySymbolResponse, CikMapperResponse, CompanyEndpoints, CompanyNotes, CompanyProfile, CompanyTranscriptData, CryptoList, DEFAULT_LIMIT, DEFAULT_TIMEOUT, DividendsCalendar, ETFCountryWeighting, ETFEndpoints, ETFHolder, ETFHolding, ETFHoldingDates, ETFList, ETFProfile, ETFStockExposure, ETFWeighting, EXCHANGES, EarningsCalendar, EarningsCallTranscript, EarningsConfirmed, EarningsHistorical, EarningsSurprises, EconomicEndpoints, EconomicIndicator, EconomicsCalendar, EnterpriseValue, ExecutiveCompensation, FMP, FMPClient, FMPConfig, FailToDeliverResponse, FinancialEndpoints, FinancialGrowth, FinancialRatios, ForexList, Form13FResponse, HistoricalEmployeeCount, HistoricalPriceData, HistoricalPriceResponse, HistoricalSharesFloat, HouseTradingResponse, IPOCalendar, IncomeGrowth, IncomeStatement, IndustryClassification, IndustryClassificationCode, InsiderEndpoints, InsiderTradeStatisticsResponse, InsiderTradingRSSResponse, InsiderTradingSearchResponse, InsidersBySymbolResponse, InstitutionalEndpoints, InstitutionalHolderResponse, KeyMetrics, ListEndpoints, MAX_LIMIT, MarketCap, MarketEndpoints, MarketHours, MarketIndex, MarketPerformance, MarketSectorPerformance, MutualFundEndpoints, MutualFundHolding, News, NewsEndpoints, PERIODS, Quote, QuoteEndpoints, RSSFeed8KItem, RSSFeedAllItem, RSSFeedItem, RSSFeedV3Item, SECEndpoints, SECFiling, SECTORS, Screener, ScreenerEndpoints, ScreenerParams, SenateHouseEndpoints, SenateHouseTradingByNameResponse, SenateTradingResponse, SharesFloat, SplitsCalendar, StockDividendResponse, StockEndpoints, StockList, StockRealTimePrice, StockRealTimePriceFull, StockSplitResponse, TransactionType, TransactionTypesResponse, TreasuryRate, formatCurrency, formatDate, formatLargeNumber, formatPercentage, formatVolume };