fmp-node-api 0.0.8 → 0.1.1

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,1352 +1,8 @@
1
- interface APIResponse<T = unknown> {
2
- success: boolean;
3
- data: T | null;
4
- error: string | null;
5
- status: number;
6
- }
7
- interface FMPConfig {
8
- apiKey: string;
9
- baseURL?: string;
10
- timeout?: number;
11
- }
12
- interface SymbolParams {
13
- symbol: string;
14
- }
15
- interface DateRangeParams {
16
- from?: string;
17
- to?: string;
18
- }
19
- interface PaginationParams {
20
- limit?: number;
21
- page?: number;
22
- }
23
- interface PeriodParams {
24
- period?: 'annual' | 'quarter';
25
- }
26
- interface QueryParams {
27
- [key: string]: string | number | boolean | undefined;
28
- }
29
- declare enum Period {
30
- ANNUAL = "annual",
31
- QUARTER = "quarter"
32
- }
33
- declare enum Exchange {
34
- NYSE = "NYSE",
35
- NASDAQ = "NASDAQ",
36
- AMEX = "AMEX",
37
- TSX = "TSX",
38
- LSE = "LSE",
39
- ASX = "ASX",
40
- NSE = "NSE",
41
- BSE = "BSE"
42
- }
43
-
44
- interface QuoteParams {
45
- symbol: string;
46
- }
47
- interface HistoricalPriceParams {
48
- symbol: string;
49
- from?: string;
50
- to?: string;
51
- }
52
- interface IntradayParams {
53
- symbol: string;
54
- interval: '1min' | '5min' | '15min' | '30min' | '1hour' | '4hour';
55
- from?: string;
56
- to?: string;
57
- }
58
- interface Quote {
59
- symbol: string;
60
- name: string;
61
- price: number;
62
- changesPercentage: number;
63
- change: number;
64
- dayLow: number;
65
- dayHigh: number;
66
- yearHigh: number;
67
- yearLow: number;
68
- marketCap: number | null;
69
- priceAvg50: number;
70
- priceAvg200: number;
71
- exchange: string;
72
- volume: number;
73
- avgVolume: number;
74
- open: number;
75
- previousClose: number;
76
- eps: number | null;
77
- pe: number | null;
78
- earningsAnnouncement: string | null;
79
- sharesOutstanding: number | null;
80
- timestamp: number;
81
- }
82
- interface HistoricalPriceData {
83
- date: string;
84
- open: number;
85
- high: number;
86
- low: number;
87
- close: number;
88
- adjClose: number;
89
- volume: number;
90
- unadjustedVolume: number;
91
- change: number;
92
- changePercent: number;
93
- vwap: number;
94
- label: string;
95
- changeOverTime: number;
96
- }
97
- interface HistoricalPriceResponse {
98
- symbol: string;
99
- historical: HistoricalPriceData[];
100
- }
101
-
102
- interface StockQuote {
103
- symbol: string;
104
- name: string;
105
- price: number;
106
- changesPercentage: number;
107
- change: number;
108
- dayLow: number;
109
- dayHigh: number;
110
- yearHigh: number;
111
- yearLow: number;
112
- marketCap: number;
113
- priceAvg50: number;
114
- priceAvg200: number;
115
- exchange: string;
116
- volume: number;
117
- avgVolume: number;
118
- open: number;
119
- previousClose: number;
120
- eps: number;
121
- pe: number;
122
- earningsAnnouncement: string;
123
- sharesOutstanding: number;
124
- timestamp: number;
125
- }
126
- interface StockSplit {
127
- date: string;
128
- label: string;
129
- numerator: number;
130
- denominator: number;
131
- }
132
- interface StockSplitResponse {
133
- symbol: string;
134
- historical: StockSplit[];
135
- }
136
- interface StockDividend {
137
- date: string;
138
- label: string;
139
- adjDividend: number;
140
- dividend: number;
141
- recordDate: string;
142
- paymentDate: string;
143
- declarationDate: string;
144
- }
145
- interface StockDividendResponse {
146
- symbol: string;
147
- historical: StockDividend[];
148
- }
149
- interface MarketCap {
150
- symbol: string;
151
- date: string;
152
- marketCap: number;
153
- }
154
- interface StockRealTimePrice {
155
- symbol: string;
156
- price: number;
157
- }
158
- interface StockRealTimePriceFull {
159
- bidSize: number;
160
- askPrice: number;
161
- volume: number;
162
- askSize: number;
163
- bidPrice: number;
164
- lastSalePrice: number;
165
- lastSaleSize: number;
166
- lastSaleTime: number;
167
- fmpLast: number;
168
- lastUpdated: number;
169
- symbol: string;
170
- }
171
- interface StockListResponse<T> {
172
- stockList: T[];
173
- }
174
- interface CompaniesPriceListResponse<T> {
175
- companiesPriceList: T[];
176
- }
177
-
178
- interface FinancialStatementsParams extends SymbolParams, PeriodParams {
179
- limit?: number;
180
- }
181
- interface FinancialStatementBase {
182
- date: string;
183
- symbol: string;
184
- reportedCurrency: string;
185
- cik: string;
186
- fillingDate: string;
187
- acceptedDate: string;
188
- calendarYear: string;
189
- period: string;
190
- link: string;
191
- finalLink: string;
192
- }
193
- interface GrowthStatementBase {
194
- date: string;
195
- symbol: string;
196
- calendarYear: string;
197
- period: string;
198
- }
199
- interface IncomeStatement extends FinancialStatementBase {
200
- revenue: number;
201
- costOfRevenue: number;
202
- grossProfit: number;
203
- grossProfitRatio: number;
204
- researchAndDevelopmentExpenses: number;
205
- generalAndAdministrativeExpenses: number;
206
- sellingAndMarketingExpenses: number;
207
- sellingGeneralAndAdministrativeExpenses: number;
208
- otherExpenses: number;
209
- operatingExpenses: number;
210
- costAndExpenses: number;
211
- interestIncome: number;
212
- interestExpense: number;
213
- depreciationAndAmortization: number;
214
- ebitda: number;
215
- ebitdaratio: number;
216
- operatingIncome: number;
217
- operatingIncomeRatio: number;
218
- totalOtherIncomeExpensesNet: number;
219
- incomeBeforeTax: number;
220
- incomeBeforeTaxRatio: number;
221
- incomeTaxExpense: number;
222
- netIncome: number;
223
- netIncomeRatio: number;
224
- eps: number;
225
- epsdiluted: number;
226
- weightedAverageShsOut: number;
227
- weightedAverageShsOutDil: number;
228
- }
229
- interface BalanceSheet extends FinancialStatementBase {
230
- cashAndCashEquivalents: number;
231
- shortTermInvestments: number;
232
- cashAndShortTermInvestments: number;
233
- netReceivables: number;
234
- inventory: number;
235
- otherCurrentAssets: number;
236
- totalCurrentAssets: number;
237
- propertyPlantEquipmentNet: number;
238
- goodwill: number;
239
- intangibleAssets: number;
240
- goodwillAndIntangibleAssets: number;
241
- longTermInvestments: number;
242
- taxAssets: number;
243
- otherNonCurrentAssets: number;
244
- totalNonCurrentAssets: number;
245
- otherAssets: number;
246
- totalAssets: number;
247
- accountPayables: number;
248
- shortTermDebt: number;
249
- taxPayables: number;
250
- deferredRevenue: number;
251
- otherCurrentLiabilities: number;
252
- totalCurrentLiabilities: number;
253
- longTermDebt: number;
254
- deferredRevenueNonCurrent: number;
255
- deferredTaxLiabilitiesNonCurrent: number;
256
- otherNonCurrentLiabilities: number;
257
- totalNonCurrentLiabilities: number;
258
- otherLiabilities: number;
259
- capitalLeaseObligations: number;
260
- totalLiabilities: number;
261
- preferredStock: number;
262
- commonStock: number;
263
- retainedEarnings: number;
264
- accumulatedOtherComprehensiveIncomeLoss: number;
265
- othertotalStockholdersEquity: number;
266
- totalStockholdersEquity: number;
267
- totalEquity: number;
268
- totalLiabilitiesAndStockholdersEquity: number;
269
- minorityInterest: number;
270
- totalLiabilitiesAndTotalEquity: number;
271
- totalInvestments: number;
272
- totalDebt: number;
273
- netDebt: number;
274
- }
275
- interface CashFlowStatement extends FinancialStatementBase {
276
- netIncome: number;
277
- depreciationAndAmortization: number;
278
- deferredIncomeTax: number;
279
- stockBasedCompensation: number;
280
- changeInWorkingCapital: number;
281
- accountsReceivables: number;
282
- inventory: number;
283
- accountsPayables: number;
284
- otherWorkingCapital: number;
285
- otherNonCashItems: number;
286
- netCashProvidedByOperatingActivities: number;
287
- investmentsInPropertyPlantAndEquipment: number;
288
- acquisitionsNet: number;
289
- purchasesOfInvestments: number;
290
- salesMaturitiesOfInvestments: number;
291
- otherInvestingActivites: number;
292
- netCashUsedForInvestingActivites: number;
293
- debtRepayment: number;
294
- commonStockIssued: number;
295
- commonStockRepurchased: number;
296
- dividendsPaid: number;
297
- otherFinancingActivites: number;
298
- netCashUsedProvidedByFinancingActivities: number;
299
- effectOfForexChangesOnCash: number;
300
- netChangeInCash: number;
301
- cashAtEndOfPeriod: number;
302
- cashAtBeginningOfPeriod: number;
303
- operatingCashFlow: number;
304
- capitalExpenditure: number;
305
- freeCashFlow: number;
306
- }
307
- interface KeyMetrics {
308
- symbol: string;
309
- date: string;
310
- period: string;
311
- revenuePerShare: number;
312
- netIncomePerShare: number;
313
- operatingCashFlowPerShare: number;
314
- freeCashFlowPerShare: number;
315
- cashPerShare: number;
316
- bookValuePerShare: number;
317
- tangibleBookValuePerShare: number;
318
- shareholdersEquityPerShare: number;
319
- interestDebtPerShare: number;
320
- marketCap: number;
321
- enterpriseValue: number;
322
- peRatio: number;
323
- priceToSalesRatio: number;
324
- pocfratio: number;
325
- pfcfRatio: number;
326
- pbRatio: number;
327
- ptbRatio: number;
328
- evToSales: number;
329
- enterpriseValueOverEBITDA: number;
330
- evToOperatingCashFlow: number;
331
- evToFreeCashFlow: number;
332
- earningsYield: number;
333
- freeCashFlowYield: number;
334
- debtToEquity: number;
335
- debtToAssets: number;
336
- netDebtToEBITDA: number;
337
- currentRatio: number;
338
- interestCoverage: number;
339
- incomeQuality: number;
340
- dividendYield: number;
341
- payoutRatio: number;
342
- salesGeneralAndAdministrativeToRevenue: number;
343
- researchAndDevelopmentToRevenue: number;
344
- intangiblesToTotalAssets: number;
345
- capexToOperatingCashFlow: number;
346
- capexToRevenue: number;
347
- capexToDepreciation: number;
348
- stockBasedCompensationToRevenue: number;
349
- grahamNumber: number;
350
- roic: number;
351
- returnOnTangibleAssets: number;
352
- grahamNetNet: number;
353
- workingCapital: number;
354
- tangibleAssetValue: number;
355
- netCurrentAssetValue: number;
356
- investedCapital: number;
357
- averageReceivables: number;
358
- averagePayables: number;
359
- averageInventory: number;
360
- daysSalesOutstanding: number;
361
- daysPayablesOutstanding: number;
362
- daysOfInventoryOnHand: number;
363
- receivablesTurnover: number;
364
- payablesTurnover: number;
365
- inventoryTurnover: number;
366
- roe: number;
367
- capexPerShare: number;
368
- }
369
- interface FinancialRatios {
370
- symbol: string;
371
- date: string;
372
- period: string;
373
- currentRatio: number;
374
- quickRatio: number;
375
- cashRatio: number;
376
- daysOfSalesOutstanding: number;
377
- daysOfInventoryOutstanding: number;
378
- operatingCycle: number;
379
- daysOfPayablesOutstanding: number;
380
- cashConversionCycle: number;
381
- grossProfitMargin: number;
382
- operatingProfitMargin: number;
383
- pretaxProfitMargin: number;
384
- netProfitMargin: number;
385
- effectiveTaxRate: number;
386
- returnOnAssets: number;
387
- returnOnEquity: number;
388
- returnOnCapitalEmployed: number;
389
- netIncomePerEBT: number;
390
- ebtPerEbit: number;
391
- ebitPerRevenue: number;
392
- debtRatio: number;
393
- debtEquityRatio: number;
394
- longTermDebtToCapitalization: number;
395
- totalDebtToCapitalization: number;
396
- interestCoverage: number;
397
- cashFlowToDebtRatio: number;
398
- companyEquityMultiplier: number;
399
- receivablesTurnover: number;
400
- payablesTurnover: number;
401
- inventoryTurnover: number;
402
- fixedAssetTurnover: number;
403
- assetTurnover: number;
404
- operatingCashFlowPerShare: number;
405
- freeCashFlowPerShare: number;
406
- cashPerShare: number;
407
- payoutRatio: number;
408
- operatingCashFlowSalesRatio: number;
409
- freeCashFlowOperatingCashFlowRatio: number;
410
- cashFlowCoverageRatios: number;
411
- shortTermCoverageRatios: number;
412
- capitalExpenditureCoverageRatio: number;
413
- dividendPaidAndCapexCoverageRatio: number;
414
- dividendPayoutRatio: number;
415
- priceBookValueRatio: number;
416
- priceToBookRatio: number;
417
- priceToSalesRatio: number;
418
- priceEarningsRatio: number;
419
- priceToFreeCashFlowsRatio: number;
420
- priceToOperatingCashFlowsRatio: number;
421
- priceCashFlowRatio: number;
422
- priceEarningsToGrowthRatio: number;
423
- priceSalesRatio: number;
424
- dividendYield: number;
425
- enterpriseValueMultiple: number;
426
- priceFairValue: number;
427
- }
428
- interface EnterpriseValue {
429
- symbol: string;
430
- date: string;
431
- stockPrice: number;
432
- numberOfShares: number;
433
- marketCapitalization: number;
434
- minusCashAndCashEquivalents: number;
435
- addTotalDebt: number;
436
- enterpriseValue: number;
437
- }
438
- interface CashflowGrowth extends GrowthStatementBase {
439
- growthNetIncome: number;
440
- growthDepreciationAndAmortization: number;
441
- growthDeferredIncomeTax: number;
442
- growthStockBasedCompensation: number;
443
- growthChangeInWorkingCapital: number;
444
- growthAccountsReceivables: number;
445
- growthInventory: number;
446
- growthAccountsPayables: number;
447
- growthOtherWorkingCapital: number;
448
- growthOtherNonCashItems: number;
449
- growthNetCashProvidedByOperatingActivites: number;
450
- growthInvestmentsInPropertyPlantAndEquipment: number;
451
- growthAcquisitionsNet: number;
452
- growthPurchasesOfInvestments: number;
453
- growthSalesMaturitiesOfInvestments: number;
454
- growthOtherInvestingActivites: number;
455
- growthNetCashUsedForInvestingActivites: number;
456
- growthDebtRepayment: number;
457
- growthCommonStockIssued: number;
458
- growthCommonStockRepurchased: number;
459
- growthDividendsPaid: number;
460
- growthOtherFinancingActivites: number;
461
- growthNetCashUsedProvidedByFinancingActivities: number;
462
- growthEffectOfForexChangesOnCash: number;
463
- growthNetChangeInCash: number;
464
- growthCashAtEndOfPeriod: number;
465
- growthCashAtBeginningOfPeriod: number;
466
- growthOperatingCashFlow: number;
467
- growthCapitalExpenditure: number;
468
- growthFreeCashFlow: number;
469
- }
470
- interface IncomeGrowth extends GrowthStatementBase {
471
- growthRevenue: number;
472
- growthCostOfRevenue: number;
473
- growthGrossProfit: number;
474
- growthGrossProfitRatio: number;
475
- growthResearchAndDevelopmentExpenses: number;
476
- growthGeneralAndAdministrativeExpenses: number;
477
- growthSellingAndMarketingExpenses: number;
478
- growthOtherExpenses: number;
479
- growthOperatingExpenses: number;
480
- growthCostAndExpenses: number;
481
- growthInterestExpense: number;
482
- growthDepreciationAndAmortization: number;
483
- growthEBITDA: number;
484
- growthEBITDARatio: number;
485
- growthOperatingIncome: number;
486
- growthOperatingIncomeRatio: number;
487
- growthTotalOtherIncomeExpensesNet: number;
488
- growthIncomeBeforeTax: number;
489
- growthIncomeBeforeTaxRatio: number;
490
- growthIncomeTaxExpense: number;
491
- growthNetIncome: number;
492
- growthNetIncomeRatio: number;
493
- growthEPS: number;
494
- growthEPSDiluted: number;
495
- growthWeightedAverageShsOut: number;
496
- growthWeightedAverageShsOutDil: number;
497
- }
498
- interface BalanceSheetGrowth extends GrowthStatementBase {
499
- growthCashAndCashEquivalents: number;
500
- growthShortTermInvestments: number;
501
- growthCashAndShortTermInvestments: number;
502
- growthNetReceivables: number;
503
- growthInventory: number;
504
- growthOtherCurrentAssets: number;
505
- growthTotalCurrentAssets: number;
506
- growthPropertyPlantEquipmentNet: number;
507
- growthGoodwill: number;
508
- growthIntangibleAssets: number;
509
- growthGoodwillAndIntangibleAssets: number;
510
- growthLongTermInvestments: number;
511
- growthTaxAssets: number;
512
- growthOtherNonCurrentAssets: number;
513
- growthTotalNonCurrentAssets: number;
514
- growthOtherAssets: number;
515
- growthTotalAssets: number;
516
- growthAccountPayables: number;
517
- growthShortTermDebt: number;
518
- growthTaxPayables: number;
519
- growthDeferredRevenue: number;
520
- growthOtherCurrentLiabilities: number;
521
- growthTotalCurrentLiabilities: number;
522
- growthLongTermDebt: number;
523
- growthDeferredRevenueNonCurrent: number;
524
- growthDeferrredTaxLiabilitiesNonCurrent: number;
525
- growthOtherNonCurrentLiabilities: number;
526
- growthTotalNonCurrentLiabilities: number;
527
- growthOtherLiabilities: number;
528
- growthTotalLiabilities: number;
529
- growthCommonStock: number;
530
- growthRetainedEarnings: number;
531
- growthAccumulatedOtherComprehensiveIncomeLoss: number;
532
- growthOthertotalStockholdersEquity: number;
533
- growthTotalStockholdersEquity: number;
534
- growthTotalLiabilitiesAndStockholdersEquity: number;
535
- growthTotalInvestments: number;
536
- growthTotalDebt: number;
537
- growthNetDebt: number;
538
- }
539
- interface FinancialGrowth extends GrowthStatementBase {
540
- revenueGrowth: number;
541
- grossProfitGrowth: number;
542
- ebitgrowth: number;
543
- operatingIncomeGrowth: number;
544
- netIncomeGrowth: number;
545
- epsgrowth: number;
546
- epsdilutedGrowth: number;
547
- weightedAverageSharesGrowth: number;
548
- weightedAverageSharesDilutedGrowth: number;
549
- dividendsperShareGrowth: number;
550
- operatingCashFlowGrowth: number;
551
- freeCashFlowGrowth: number;
552
- tenYRevenueGrowthPerShare: number;
553
- fiveYRevenueGrowthPerShare: number;
554
- threeYRevenueGrowthPerShare: number;
555
- tenYOperatingCFGrowthPerShare: number;
556
- fiveYOperatingCFGrowthPerShare: number;
557
- threeYOperatingCFGrowthPerShare: number;
558
- tenYNetIncomeGrowthPerShare: number;
559
- fiveYNetIncomeGrowthPerShare: number;
560
- threeYNetIncomeGrowthPerShare: number;
561
- tenYShareholdersEquityGrowthPerShare: number;
562
- fiveYShareholdersEquityGrowthPerShare: number;
563
- threeYShareholdersEquityGrowthPerShare: number;
564
- tenYDividendperShareGrowthPerShare: number;
565
- fiveYDividendperShareGrowthPerShare: number;
566
- threeYDividendperShareGrowthPerShare: number;
567
- receivablesGrowth: number;
568
- inventoryGrowth: number;
569
- assetGrowth: number;
570
- bookValueperShareGrowth: number;
571
- debtGrowth: number;
572
- rdexpenseGrowth: number;
573
- sgaexpensesGrowth: number;
574
- }
575
- interface EarningsHistorical {
576
- date: string;
577
- symbol: string;
578
- eps: number;
579
- epsEstimated: number;
580
- time: string;
581
- revenue: number;
582
- revenueEstimated: number;
583
- updatedFromDate: string;
584
- fiscalDateEnding: string;
585
- }
586
- interface EarningsSurprises {
587
- date: string;
588
- symbol: string;
589
- actualEarningResult: number;
590
- estimatedEarning: number;
591
- }
592
-
593
- interface ForexHistoricalParams extends SymbolParams, DateRangeParams {
594
- timeseries?: number;
595
- }
596
- interface ForexQuote {
597
- symbol: string;
598
- price: number;
599
- changesPercentage: number;
600
- change: number;
601
- dayLow: number;
602
- dayHigh: number;
603
- yearLow: number;
604
- yearHigh: number;
605
- marketCap: number;
606
- priceAvg50: number;
607
- priceAvg200: number;
608
- volume: number;
609
- avgVolume: number;
610
- exchange: string;
611
- open: number;
612
- previousClose: number;
613
- eps: number;
614
- pe: number;
615
- earningsAnnouncement: string;
616
- sharesOutstanding: number;
617
- timestamp: number;
618
- }
619
-
620
- interface CryptoHistoricalParams extends SymbolParams, DateRangeParams {
621
- timeseries?: number;
622
- }
623
- interface CryptoListParams {
624
- }
625
- interface CryptoQuote {
626
- symbol: string;
627
- name: string;
628
- price: number;
629
- changesPercentage: number;
630
- change: number;
631
- dayLow: number;
632
- dayHigh: number;
633
- yearHigh: number;
634
- yearLow: number;
635
- marketCap: number;
636
- priceAvg50: number;
637
- priceAvg200: number;
638
- volume: number;
639
- avgVolume: number;
640
- exchange: string;
641
- open: number;
642
- previousClose: number;
643
- eps: number | null;
644
- pe: number | null;
645
- earningsAnnouncement: string | null;
646
- sharesOutstanding: number;
647
- timestamp: number;
648
- }
649
-
650
- interface ETFHoldingDates {
651
- date: string;
652
- }
653
- interface ETFHolding {
654
- cik: string;
655
- acceptanceTime: string;
656
- date: string;
657
- symbol: string;
658
- name: string;
659
- lei: string;
660
- title: string;
661
- cusip: string;
662
- isin: string;
663
- balance: number;
664
- units: string;
665
- cur_cd: string;
666
- valUsd: number;
667
- pctVal: number;
668
- payoffProfile: string;
669
- assetCat: string;
670
- issuerCat: string;
671
- invCountry: string;
672
- isRestrictedSec: string;
673
- fairValLevel: string;
674
- isCashCollateral: string;
675
- isNonCashCollateral: string;
676
- isLoanByFund: string;
677
- }
678
- interface ETFHolder {
679
- asset: string;
680
- name: string;
681
- isin: string;
682
- cusip: string;
683
- sharesNumber: number;
684
- weightPercentage: number;
685
- marketValue: number;
686
- updated: string;
687
- }
688
- interface ETFProfile {
689
- symbol: string;
690
- assetClass: string;
691
- aum: number;
692
- avgVolume: number;
693
- cusip: string;
694
- description: string;
695
- domicile: string;
696
- etfCompany: string;
697
- expenseRatio: number;
698
- inceptionDate: string;
699
- isin: string;
700
- name: string;
701
- nav: number;
702
- navCurrency: string;
703
- sectorsList: {
704
- exposure: string;
705
- industry: string;
706
- }[];
707
- website: string;
708
- holdingsCount: number;
709
- }
710
- interface ETFWeighting {
711
- sector: string;
712
- weightPercentage: string;
713
- }
714
- interface ETFCountryWeighting {
715
- country: string;
716
- weightPercentage: string;
717
- }
718
- interface ETFStockExposure {
719
- etfSymbol: string;
720
- assetExposure: string;
721
- sharesNumber: number;
722
- weightPercentage: number;
723
- marketValue: number;
724
- }
725
-
726
- interface MutualFundQuote {
727
- symbol: string;
728
- price: number;
729
- changesPercentage: number;
730
- change: number;
731
- dayLow: number;
732
- dayHigh: number;
733
- yearLow: number;
734
- yearHigh: number;
735
- marketCap: number;
736
- priceAvg50: number;
737
- priceAvg200: number;
738
- volume: number;
739
- avgVolume: number;
740
- exchange: string;
741
- open: number;
742
- previousClose: number;
743
- eps: number;
744
- pe: number;
745
- earningsAnnouncement: string;
746
- sharesOutstanding: number;
747
- timestamp: number;
748
- }
749
- interface MutualFundHolding {
750
- holder: string;
751
- shares: number;
752
- dateReported: string;
753
- change: number;
754
- weightPercent: number;
755
- }
756
-
757
- interface EconomicIndicator {
758
- date: string;
759
- value: number;
760
- }
761
- interface TreasuryRate {
762
- date: string;
763
- month1: number;
764
- month2: number;
765
- month3: number;
766
- month6: number;
767
- year1: number;
768
- year2: number;
769
- year3: number;
770
- year5: number;
771
- year7: number;
772
- year10: number;
773
- year20: number;
774
- year30: number;
775
- }
776
- type EconomicIndicatorName = 'GDP' | 'realGDP' | 'nominalPotentialGDP' | 'realGDPPerCapita' | 'federalFunds' | 'CPI' | 'inflationRate' | 'inflation' | 'retailSales' | 'consumerSentiment' | 'durableGoods' | 'unemploymentRate' | 'totalNonfarmPayroll' | 'initialClaims' | 'industrialProductionTotalIndex' | 'newPrivatelyOwnedHousingUnitsStartedTotalUnits' | 'totalVehicleSales' | 'retailMoneyFunds' | 'smoothedUSRecessionProbabilities' | '3MonthOr90DayRatesAndYieldsCertificatesOfDeposit' | 'commercialBankInterestRateOnCreditCardPlansAllAccounts' | '30YearFixedRateMortgageAverage' | '15YearFixedRateMortgageAverage';
777
- interface EconomicIndicatorParams {
778
- name: EconomicIndicatorName;
779
- from?: string;
780
- to?: string;
781
- }
782
-
783
- interface MarketHours {
784
- stockExchangeName: string;
785
- stockMarketHours: {
786
- openingHour: string;
787
- closingHour: string;
788
- };
789
- stockMarketHolidays: MarketHoliday[];
790
- isTheStockMarketOpen: boolean;
791
- isTheEuronextMarketOpen: boolean;
792
- isTheForexMarketOpen: boolean;
793
- isTheCryptoMarketOpen: boolean;
794
- }
795
- interface MarketHoliday {
796
- year: number;
797
- 'Martin Luther King, Jr. Day': string;
798
- "Presidents' Day": string;
799
- 'Good Friday': string;
800
- 'Memorial Day': string;
801
- Juneteenth: string;
802
- 'Independence Day': string;
803
- 'Labor Day': string;
804
- 'Thanksgiving Day': string;
805
- Christmas: string;
806
- }
807
- interface MarketPerformance {
808
- symbol: string;
809
- name: string;
810
- change: number;
811
- price: number;
812
- changesPercentage: number;
813
- }
814
- interface MarketSectorPerformance {
815
- sector: string;
816
- changesPercentage: number;
817
- }
818
- interface MarketIndex {
819
- symbol: string;
820
- price: number;
821
- extendedPrice: number | null;
822
- change: number;
823
- dayHigh: number;
824
- dayLow: number;
825
- previousClose: number;
826
- volume: number | null;
827
- open: number;
828
- close: number | null;
829
- lastTradeTime: string;
830
- lastExtendedTradeTime: string | null;
831
- updatedAt: string;
832
- createdAt: string;
833
- type: string;
834
- name: string;
835
- range: string;
836
- yearHigh: number;
837
- yearLow: number;
838
- priceAvg50: number | null;
839
- priceAvg200: number | null;
840
- changesPercentage: number;
841
- }
842
-
843
- interface EarningsCalendar {
844
- date: string;
845
- symbol: string;
846
- eps: number | null;
847
- epsEstimated: number | null;
848
- time: string;
849
- revenue: number | null;
850
- revenueEstimated: number | null;
851
- fiscalDateEnding: string;
852
- updatedFromDate: string;
853
- }
854
- interface EarningsConfirmed {
855
- symbol: string;
856
- exchange: string;
857
- time: string;
858
- when: string;
859
- date: string;
860
- publicationDate: string;
861
- title: string;
862
- url: string;
863
- }
864
- interface DividendsCalendar {
865
- date: string;
866
- label: string;
867
- adjDividend: number;
868
- symbol: string;
869
- dividend: number;
870
- recordDate: string;
871
- paymentDate: string;
872
- declarationDate: string;
873
- }
874
- interface EconomicsCalendar {
875
- date: string;
876
- country: string;
877
- event: string;
878
- currency: string;
879
- previous: number;
880
- estimate: number | null;
881
- actual: number | null;
882
- change: number;
883
- impact: string;
884
- changePercentage: number;
885
- unit: string | null;
886
- }
887
- interface IPOCalendar {
888
- date: string;
889
- company: string;
890
- symbol: string;
891
- exchange: string;
892
- actions: string;
893
- shares: number | null;
894
- priceRange: string | null;
895
- marketCap: number | null;
896
- }
897
- interface SplitsCalendar {
898
- date: string;
899
- label: string;
900
- symbol: string;
901
- numerator: number;
902
- denominator: number;
903
- }
904
-
905
- interface StockList {
906
- symbol: string;
907
- exchange: string;
908
- exchangeShortName: string;
909
- price: number;
910
- name: string;
911
- type: string;
912
- }
913
- interface ETFList {
914
- symbol: string;
915
- exchange: string;
916
- exchangeShortName: string;
917
- price: number;
918
- name: string;
919
- }
920
- interface CryptoList {
921
- symbol: string;
922
- name: string;
923
- currency: string;
924
- stockExchange: string;
925
- exchangeShortName: string;
926
- }
927
- interface ForexList {
928
- symbol: string;
929
- name: string;
930
- currency: string;
931
- stockExchange: string;
932
- exchangeShortName: string;
933
- }
934
- interface AvailableIndexesList {
935
- symbol: string;
936
- name: string;
937
- currency: string;
938
- stockExchange: string;
939
- exchangeShortName: string;
940
- }
941
-
942
- interface CompanyProfile {
943
- symbol: string;
944
- price: number;
945
- beta: number;
946
- volAvg: number;
947
- mktCap: number;
948
- lastDiv: number;
949
- range: string;
950
- changes: number;
951
- companyName: string;
952
- currency: string;
953
- cik: string;
954
- isin: string;
955
- cusip: string;
956
- exchange: string;
957
- exchangeShortName: string;
958
- industry: string;
959
- website: string;
960
- description: string;
961
- ceo: string;
962
- sector: string;
963
- country: string;
964
- fullTimeEmployees: string;
965
- phone: string;
966
- address: string;
967
- city: string;
968
- state: string;
969
- zip: string;
970
- dcfDiff: number;
971
- dcf: number;
972
- image: string;
973
- ipoDate: string;
974
- defaultImage: boolean;
975
- isEtf: boolean;
976
- isActivelyTrading: boolean;
977
- isAdr: boolean;
978
- isFund: boolean;
979
- }
980
- interface ExecutiveCompensation {
981
- cik: string;
982
- symbol: string;
983
- companyName: string;
984
- industryTitle: string;
985
- acceptedDate: string;
986
- filingDate: string;
987
- nameAndPosition: string;
988
- year: number;
989
- salary: number;
990
- bonus: number;
991
- stock_award: number;
992
- incentive_plan_compensation: number;
993
- all_other_compensation: number;
994
- total: number;
995
- url: string;
996
- }
997
- interface CompanyNotes {
998
- cik: string;
999
- symbol: string;
1000
- title: string;
1001
- exchange: string;
1002
- }
1003
- interface HistoricalEmployeeCount {
1004
- symbol: string;
1005
- cik: string;
1006
- acceptanceTime: string;
1007
- periodOfReport: string;
1008
- companyName: string;
1009
- formType: string;
1010
- filingDate: string;
1011
- employeeCount: number;
1012
- source: string;
1013
- }
1014
- interface SharesFloat {
1015
- symbol: string;
1016
- freeFloat: number;
1017
- floatShares: number;
1018
- outstandingShares: number;
1019
- source: string;
1020
- date: string;
1021
- }
1022
- interface HistoricalSharesFloat {
1023
- symbol: string;
1024
- freeFloat: number;
1025
- floatShares: string;
1026
- outstandingShares: string;
1027
- source: string;
1028
- date: string;
1029
- }
1030
- interface EarningsCallTranscript {
1031
- symbol: string;
1032
- quarter: number;
1033
- year: number;
1034
- date: string;
1035
- content: string;
1036
- }
1037
- type CompanyTranscriptData = [number, number, string];
1038
-
1039
- interface SenateHouseTradingParams {
1040
- symbol: string;
1041
- }
1042
- interface SenateHouseTradingRSSFeedParams {
1043
- page: number;
1044
- }
1045
- interface SenateHouseTradingByNameParams {
1046
- name: string;
1047
- }
1048
- interface SenateTradingResponse {
1049
- firstName: string;
1050
- lastName: string;
1051
- office: string;
1052
- link: string;
1053
- dateRecieved: string;
1054
- transactionDate: string;
1055
- owner: string;
1056
- assetDescription: string;
1057
- assetType: string;
1058
- type: string;
1059
- amount: string;
1060
- comment: string;
1061
- symbol: string;
1062
- }
1063
- interface HouseTradingResponse {
1064
- disclosureYear: string;
1065
- disclosureDate: string;
1066
- transactionDate: string;
1067
- owner: string;
1068
- ticker: string;
1069
- assetDescription: string;
1070
- type: string;
1071
- amount: string;
1072
- representative: string;
1073
- district: string;
1074
- link: string;
1075
- capitalGainsOver200USD: string;
1076
- }
1077
- interface SenateHouseTradingByNameResponse {
1078
- symbol: string;
1079
- disclosureDate: string;
1080
- transactionDate: string;
1081
- firstName: string;
1082
- lastName: string;
1083
- office: string;
1084
- district: string;
1085
- owner: string;
1086
- assetDescription: string;
1087
- assetType: string;
1088
- type: string;
1089
- amount: string;
1090
- capitalGainsOver200USD: string;
1091
- comment: string;
1092
- link: string;
1093
- }
1094
-
1095
- interface Form13FParams {
1096
- cik: string;
1097
- date: string;
1098
- }
1099
- interface Form13FDatesParams {
1100
- cik: string;
1101
- }
1102
- interface InstitutionalHolderParams {
1103
- symbol: string;
1104
- }
1105
- interface Form13FResponse {
1106
- date: string;
1107
- fillingDate: string;
1108
- acceptedDate: string;
1109
- cik: string;
1110
- cusip: string;
1111
- tickerCusip: string;
1112
- nameOfIssuer: string;
1113
- shares: number;
1114
- titleOfClass: string;
1115
- value: number;
1116
- link: string;
1117
- finalLink: string;
1118
- }
1119
- interface InstitutionalHolderResponse {
1120
- holder: string;
1121
- shares: number;
1122
- dateReported: string;
1123
- change: number;
1124
- }
1125
-
1126
- interface InsiderTradingRSSResponse {
1127
- title: string;
1128
- fillingDate: string;
1129
- symbol: string;
1130
- link: string;
1131
- reportingCik: string;
1132
- issuerCik: string;
1133
- }
1134
- interface InsiderTradingSearchResponse {
1135
- symbol: string;
1136
- filingDate: string;
1137
- transactionDate: string;
1138
- reportingCik: string;
1139
- transactionType: string;
1140
- securitiesOwned: number;
1141
- securitiesTransacted: number;
1142
- companyCik: string;
1143
- reportingName: string;
1144
- typeOfOwner: string;
1145
- link: string;
1146
- securityName: string;
1147
- price: number;
1148
- formType: string;
1149
- acquistionOrDisposition: string;
1150
- }
1151
- type TransactionTypesResponse = string[];
1152
- interface InsidersBySymbolResponse {
1153
- typeOfOwner: string;
1154
- transactionDate: string;
1155
- owner: string;
1156
- }
1157
- interface InsiderTradeStatisticsResponse {
1158
- symbol: string;
1159
- cik: string;
1160
- year: number;
1161
- quarter: number;
1162
- purchases: number;
1163
- sales: number;
1164
- buySellRatio: number;
1165
- totalBought: number;
1166
- totalSold: number;
1167
- averageBought: number;
1168
- averageSold: number;
1169
- pPurchases: number;
1170
- sSales: number;
1171
- }
1172
- interface CikMapperResponse {
1173
- reportingCik: string;
1174
- reportingName: string;
1175
- }
1176
- interface CikMapperBySymbolResponse {
1177
- symbol: string;
1178
- companyCik: string;
1179
- }
1180
- interface BeneficialOwnershipResponse {
1181
- cik: string;
1182
- symbol: string;
1183
- filingDate: string;
1184
- acceptedDate: string;
1185
- cusip: string;
1186
- nameOfReportingPerson: string;
1187
- citizenshipOrPlaceOfOrganization: string;
1188
- soleVotingPower: string;
1189
- sharedVotingPower: string;
1190
- soleDispositivePower: string;
1191
- sharedDispositivePower: string;
1192
- amountBeneficiallyOwned: string;
1193
- percentOfClass: string;
1194
- typeOfReportingPerson: string;
1195
- url: string;
1196
- }
1197
- interface FailToDeliverResponse {
1198
- symbol: string;
1199
- date: string;
1200
- price: number;
1201
- quantity: number;
1202
- cusip: string;
1203
- name: string;
1204
- }
1205
- interface InsiderTradingRSSParams {
1206
- page: number;
1207
- }
1208
- interface InsiderTradingSearchParams {
1209
- symbol?: string;
1210
- reportingCik?: string;
1211
- companyCik?: string;
1212
- transactionType?: string;
1213
- page: number;
1214
- }
1215
- interface InsidersBySymbolParams {
1216
- symbol: string;
1217
- }
1218
- interface InsiderTradeStatisticsParams {
1219
- symbol: string;
1220
- }
1221
- interface CikMapperParams {
1222
- page: number;
1223
- }
1224
- interface CikMapperByNameParams {
1225
- name: string;
1226
- page?: number;
1227
- }
1228
- interface CikMapperBySymbolParams {
1229
- symbol: string;
1230
- }
1231
- interface BeneficialOwnershipParams {
1232
- symbol: string;
1233
- }
1234
- interface FailToDeliverParams {
1235
- symbol: string;
1236
- page?: number;
1237
- }
1238
- declare enum TransactionType {
1239
- AWARD = "A-Award",
1240
- CONVERSION = "C-Conversion",
1241
- RETURN = "D-Return",
1242
- EXPIRE_SHORT = "E-ExpireShort",
1243
- IN_KIND = "F-InKind",
1244
- GIFT = "G-Gift",
1245
- EXPIRE_LONG = "H-ExpireLong",
1246
- DISCRETIONARY = "I-Discretionary",
1247
- OTHER = "J-Other",
1248
- SMALL = "L-Small",
1249
- EXEMPT = "M-Exempt",
1250
- OUT_OF_THE_MONEY = "O-OutOfTheMoney",
1251
- PURCHASE = "P-Purchase",
1252
- SALE = "S-Sale",
1253
- TENDER = "U-Tender",
1254
- WILL = "W-Will",
1255
- IN_THE_MONEY = "X-InTheMoney",
1256
- TRUST = "Z-Trust"
1257
- }
1258
-
1259
- interface RSSFeedItem {
1260
- title: string;
1261
- date: string;
1262
- link: string;
1263
- cik: string;
1264
- form_type: string;
1265
- ticker: string;
1266
- done: boolean;
1267
- }
1268
- interface RSSFeedV3Item {
1269
- title: string;
1270
- date: string;
1271
- link: string;
1272
- cik: string;
1273
- form_type: string;
1274
- ticker: string;
1275
- done: boolean;
1276
- }
1277
- interface RSSFeed8KItem {
1278
- title: string;
1279
- symbol: string;
1280
- cik: string;
1281
- link: string;
1282
- finalLink: string;
1283
- date: string;
1284
- process: string;
1285
- hasFinancials: string;
1286
- }
1287
- interface SECFiling {
1288
- symbol: string;
1289
- cik: string;
1290
- type: string;
1291
- link: string;
1292
- finalLink: string;
1293
- acceptedDate: string;
1294
- fillingDate: string;
1295
- }
1296
- interface IndustryClassification {
1297
- symbol: string;
1298
- name: string;
1299
- cik: string;
1300
- sicCode: string;
1301
- industryTitle: string;
1302
- businessAdress: string;
1303
- phoneNumber: string;
1304
- }
1305
- interface IndustryClassificationCode {
1306
- office: string;
1307
- sicCode: string;
1308
- industryTitle: string;
1309
- }
1310
- interface RSSFeedParams {
1311
- limit?: number;
1312
- type?: string;
1313
- from?: string;
1314
- to?: string;
1315
- isDone?: boolean;
1316
- }
1317
- interface RSSFeedV3Params {
1318
- page?: number;
1319
- datatype?: string;
1320
- }
1321
- interface RSSFeedAllItem {
1322
- symbol: string;
1323
- fillingDate: string;
1324
- acceptedDate: string;
1325
- cik: string;
1326
- type: string;
1327
- link: string;
1328
- finalLink: string;
1329
- }
1330
- interface RSSFeed8KParams {
1331
- page?: number;
1332
- from?: string;
1333
- to?: string;
1334
- hasFinancial?: boolean;
1335
- limit?: number;
1336
- }
1337
- interface SECFilingsParams {
1338
- page?: number;
1339
- type?: string;
1340
- }
1341
- interface IndividualIndustryClassificationParams {
1342
- symbol?: string;
1343
- cik?: number;
1344
- sicCode?: number;
1345
- }
1346
- interface IndustryClassificationCodesParams {
1347
- industryTitle?: string;
1348
- sicCode?: number;
1349
- }
1
+ import { F as FMPConfig, A as APIResponse } from './common-COsxpVBY.mjs';
2
+ export { P as PeriodParams, S as SymbolParams } from './common-COsxpVBY.mjs';
3
+ import { M as MarketCap, S as StockSplitResponse, a as StockDividendResponse, b as StockRealTimePrice, c as StockRealTimePriceFull, I as IncomeStatement, B as BalanceSheet, C as CashFlowStatement, K as KeyMetrics, F as FinancialRatios, E as EnterpriseValue, d as CashflowGrowth, e as IncomeGrowth, f as BalanceSheetGrowth, g as FinancialGrowth, h as EarningsHistorical, i as EarningsSurprises, j as ETFHoldingDates, k as ETFHolding, l as ETFHolder, m as ETFProfile, n as ETFWeighting, o as ETFCountryWeighting, p as ETFStockExposure, T as TreasuryRate, q as EconomicIndicator, r as MarketHours, s as MarketPerformance, t as MarketSectorPerformance, u as MarketIndex, v as StockList, w as ETFList, x as CryptoList, y as ForexList, A as AvailableIndexesList, z as EarningsCalendar, D as EarningsConfirmed, G as DividendsCalendar, H as EconomicsCalendar, J as IPOCalendar, L as SplitsCalendar, N as CompanyProfile, O as ExecutiveCompensation, P as CompanyNotes, Q as HistoricalEmployeeCount, R as SharesFloat, U as HistoricalSharesFloat, V as EarningsCallTranscript, W as CompanyTranscriptData, X as Quote, Y as HistoricalPriceResponse, Z as HistoricalPriceData, _ as SenateTradingResponse, $ as SenateHouseTradingByNameResponse, a0 as HouseTradingResponse, a1 as Form13FResponse, a2 as InstitutionalHolderResponse, a3 as InsiderTradingRSSResponse, a4 as InsiderTradingSearchResponse, a5 as TransactionTypesResponse, a6 as InsidersBySymbolResponse, a7 as InsiderTradeStatisticsResponse, a8 as CikMapperResponse, a9 as CikMapperBySymbolResponse, aa as BeneficialOwnershipResponse, ab as FailToDeliverResponse, ac as TransactionType, ad as RSSFeedItem, ae as RSSFeedAllItem, af as RSSFeedV3Item, ag as RSSFeed8KItem, ah as SECFiling, ai as IndustryClassification, aj as IndustryClassificationCode } from './types-only-v3B1TqXe.mjs';
4
+ export { al as StockDividend, ak as StockSplit } from './types-only-v3B1TqXe.mjs';
5
+ export { FMPValidation } from './utils/validation.mjs';
1350
6
 
1351
7
  declare class FMPClient {
1352
8
  private v3Client;
@@ -1354,7 +10,6 @@ declare class FMPClient {
1354
10
  private stableClient;
1355
11
  private apiKey;
1356
12
  constructor(config: FMPConfig);
1357
- private createClient;
1358
13
  /**
1359
14
  * Standard get method - returns raw API response
1360
15
  *
@@ -1375,372 +30,1092 @@ declare class StockEndpoints {
1375
30
  private client;
1376
31
  constructor(client: FMPClient);
1377
32
  /**
1378
- * Get real-time stock quote
1379
- * @deprecated Use `fmp.quote.getQuote()` instead. This method will be removed in version 0.1.0.
1380
- * @param symbol - The stock symbol to get the quote for
1381
- * @returns This endpoint gives you the latest bid and ask prices for a stock, as well as the volume and last trade price in real time.
1382
- */
1383
- getQuote({ symbol }: {
1384
- symbol: string;
1385
- }): Promise<APIResponse<StockQuote>>;
1386
- /**
1387
- * Get historical stock prices
1388
- * @deprecated Use `fmp.quote.getHistoricalPrice()` instead. This method will be removed in version 0.1.0.
1389
- * @param symbol - The stock symbol to get the historical prices for
1390
- * @param from - The start date to get the historical prices for
1391
- * @param to - The end date to get the historical prices for
1392
- * @returns The FMP Daily Chart endpoint provides daily stock data for a specified company, including opening, high, low, and closing prices, with a default limit of 5 years of historical data. To access data beyond this limit, use the from and to parameters for custom date ranges, each with a 5-year limit
1393
- */
1394
- getHistoricalPrice({ symbol, from, to, }: {
1395
- symbol: string;
1396
- from?: string;
1397
- to?: string;
1398
- }): Promise<APIResponse<HistoricalPriceResponse>>;
1399
- /**
1400
- * Get market cap
1401
- * https://site.financialmodelingprep.com/developer/docs#market-cap-company-information
1402
- * @param symbol - The stock symbol to get the market cap for
1403
- * @returns The FMP Market Cap endpoint provides the current market capitalization of a company. Market cap is a measure of the size and relative importance of a company in the stock market. It is calculated by multiplying the current share price by the number of outstanding shares.
33
+ * Get current market capitalization for a stock
34
+ *
35
+ * Market capitalization represents the total value of a company's outstanding shares.
36
+ * Calculated by multiplying the current share price by the number of outstanding shares.
37
+ * This metric is crucial for understanding a company's size and market position.
38
+ *
39
+ * @param symbol - The stock symbol to get market cap for (e.g., 'AAPL', 'MSFT', 'GOOGL')
40
+ *
41
+ * @returns Promise resolving to market cap data including symbol, date, and market cap value
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Get market cap for Apple
46
+ * const marketCap = await fmp.stock.getMarketCap('AAPL');
47
+ * console.log(`Apple's market cap: $${marketCap.data.marketCap.toLocaleString()}`);
48
+ *
49
+ * // Get market cap for Microsoft
50
+ * const msftCap = await fmp.stock.getMarketCap('MSFT');
51
+ * ```
52
+ *
53
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-cap-company-information|FMP Market Cap Documentation}
1404
54
  */
1405
- getMarketCap({ symbol }: {
1406
- symbol: string;
1407
- }): Promise<APIResponse<MarketCap>>;
55
+ getMarketCap(symbol: string): Promise<APIResponse<MarketCap>>;
1408
56
  /**
1409
- * Get stock splits
1410
- * https://site.financialmodelingprep.com/developer/docs#splits-historical-splits
1411
- * @param symbol - The stock symbol to get the splits for
1412
- * @returns A list of historical stock splits for publicly traded companies, including the date of the stock split, the split ratio, and the type of stock split.
57
+ * Get historical stock splits for a company
58
+ *
59
+ * Stock splits occur when a company increases the number of shares by dividing existing shares.
60
+ * This endpoint provides the complete history of stock splits including dates, ratios, and split types.
61
+ * Useful for adjusting historical price data and understanding corporate actions.
62
+ *
63
+ * @param symbol - The stock symbol to get split history for (e.g., 'AAPL', 'TSLA', 'NVDA')
64
+ *
65
+ * @returns Promise resolving to historical stock splits with dates, labels, and split ratios
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * // Get Apple's split history
70
+ * const splits = await fmp.stock.getStockSplits('AAPL');
71
+ * splits.data.historical.forEach(split => {
72
+ * console.log(`${split.date}: ${split.numerator}:${split.denominator} split`);
73
+ * });
74
+ *
75
+ * // Get Tesla's split history
76
+ * const teslaSplits = await fmp.stock.getStockSplits('TSLA');
77
+ * ```
78
+ *
79
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-historical-splits|FMP Stock Splits Documentation}
1413
80
  */
1414
- getStockSplits({ symbol }: {
1415
- symbol: string;
1416
- }): Promise<APIResponse<StockSplitResponse>>;
81
+ getStockSplits(symbol: string): Promise<APIResponse<StockSplitResponse>>;
1417
82
  /**
1418
- * Get dividend history
1419
- * https://site.financialmodelingprep.com/developer/docs#dividends-historical-dividends
1420
- * @param symbol - The stock symbol to get the dividend history for
1421
- * @returns A list of historical dividend payments for publicly traded companies, including the date of the dividend payment, the ex-dividend date, and the dividend per share.
83
+ * Get historical dividend payments for a stock
84
+ *
85
+ * Dividends are periodic payments made by companies to shareholders from profits.
86
+ * This endpoint provides the complete dividend history including payment dates, amounts,
87
+ * and important dates like ex-dividend, record, and declaration dates.
88
+ *
89
+ * @param symbol - The stock symbol to get dividend history for (e.g., 'KO', 'JNJ', 'PG')
90
+ *
91
+ * @returns Promise resolving to dividend history with payment details and important dates
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * // Get Coca-Cola's dividend history
96
+ * const dividends = await fmp.stock.getDividendHistory('KO');
97
+ * dividends.data.historical.forEach(dividend => {
98
+ * console.log(`${dividend.date}: $${dividend.dividend} per share`);
99
+ * });
100
+ *
101
+ * // Get Johnson & Johnson's dividend history
102
+ * const jnjDividends = await fmp.stock.getDividendHistory('JNJ');
103
+ * ```
104
+ *
105
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-historical-dividends|FMP Dividends Documentation}
1422
106
  */
1423
- getDividendHistory({ symbol, }: {
1424
- symbol: string;
1425
- }): Promise<APIResponse<StockDividendResponse>>;
107
+ getDividendHistory(symbol: string): Promise<APIResponse<StockDividendResponse>>;
1426
108
  /**
1427
- * Get stock real time price
1428
- * @param symbol - The stock symbol to get the real time price for
1429
- * @returns The real time price for the stock
109
+ * Get real-time stock prices for multiple symbols
110
+ *
111
+ * Provides current market prices for stocks with minimal data overhead.
112
+ * Returns basic price information including symbol and current price.
113
+ * Ideal for quick price checks and portfolio monitoring.
114
+ *
115
+ * @param symbols - Array of stock symbols to get real-time prices for
116
+ *
117
+ * @returns Promise resolving to array of real-time price data with symbol and price
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * // Get prices for multiple tech stocks
122
+ * const prices = await fmp.stock.getRealTimePrice([
123
+ * 'AAPL', 'MSFT', 'GOOGL', 'AMZN', 'TSLA'
124
+ * ]);
125
+ *
126
+ * prices.data.forEach(stock => {
127
+ * console.log(`${stock.symbol}: $${stock.price}`);
128
+ * });
129
+ *
130
+ * // Get price for single stock
131
+ * const aaplPrice = await fmp.stock.getRealTimePrice(['AAPL']);
132
+ * ```
1430
133
  */
1431
- getRealTimePrice({ symbols, }: {
1432
- symbols: string[];
1433
- }): Promise<APIResponse<StockRealTimePrice[]>>;
134
+ getRealTimePrice(symbols: string[]): Promise<APIResponse<StockRealTimePrice[]>>;
1434
135
  /**
1435
- * Get stock real time price full
1436
- * https://site.financialmodelingprep.com/developer/docs#real-time-full-price-quote
1437
- * @param symbols - The stock symbols to get the real time price for
1438
- * @returns The real time price for the stocks
136
+ * Get comprehensive real-time stock data for multiple symbols
137
+ *
138
+ * Provides detailed real-time market data including bid/ask prices, volume, trade sizes,
139
+ * and timestamps. This endpoint offers much more information than the basic real-time price.
140
+ * Perfect for trading applications, market analysis, and detailed price monitoring.
141
+ *
142
+ * @param symbols - Array of stock symbols to get detailed real-time data for
143
+ *
144
+ * @returns Promise resolving to array of detailed real-time data including bid/ask, volume, and timestamps
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Get detailed data for multiple stocks
149
+ * const detailedData = await fmp.stock.getRealTimePriceForMultipleStocks([
150
+ * 'AAPL', 'MSFT', 'GOOGL'
151
+ * ]);
152
+ *
153
+ * detailedData.data.forEach(stock => {
154
+ * console.log(`${stock.symbol}:`);
155
+ * console.log(` Bid: $${stock.bidPrice} (${stock.bidSize} shares)`);
156
+ * console.log(` Ask: $${stock.askPrice} (${stock.askSize} shares)`);
157
+ * console.log(` Last: $${stock.lastSalePrice} (${stock.lastSaleSize} shares)`);
158
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
159
+ * });
160
+ *
161
+ * // Get detailed data for single stock
162
+ * const aaplDetailed = await fmp.stock.getRealTimePriceForMultipleStocks(['AAPL']);
163
+ * ```
164
+ *
165
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#real-time-full-price-quote|FMP Real-Time Full Price Documentation}
1439
166
  */
1440
- getRealTimePriceForMultipleStocks({ symbols, }: {
1441
- symbols: string[];
1442
- }): Promise<APIResponse<StockRealTimePriceFull[]>>;
167
+ getRealTimePriceForMultipleStocks(symbols: string[]): Promise<APIResponse<StockRealTimePriceFull[]>>;
1443
168
  }
1444
169
 
1445
170
  declare class FinancialEndpoints {
1446
171
  private client;
1447
172
  constructor(client: FMPClient);
1448
173
  /**
1449
- * Get income statement
1450
- * https://site.financialmodelingprep.com/developer/docs#income-statements-financial-statements
1451
- * @param symbol - The stock symbol to get the income statement for
1452
- * @param period - The period to get the income statement for (annual or quarter)
1453
- * @param limit - The number of periods to get
1454
- * @returns FMP's Income Statement API provides access to real-time income statement data for a wide range of companies, including public companies, private companies, and ETFs. This data can be used to track a company's profitability over time, to compare a company to its competitors, and to identify trends in a company's business.
174
+ * Get income statement data
175
+ *
176
+ * Provides comprehensive income statement data including revenue, expenses,
177
+ * net income, and earnings per share. Essential for analyzing company
178
+ * profitability, revenue trends, and financial performance over time.
179
+ *
180
+ * @param params - Income statement request parameters
181
+ * @param params.symbol - The stock symbol to get income statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
182
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
183
+ * @param params.limit - Number of periods to retrieve (default: 5)
184
+ *
185
+ * @returns Promise resolving to array of income statement data with financial metrics
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * // Get annual income statements for Apple
190
+ * const incomeStatements = await fmp.financial.getIncomeStatement({ symbol: 'AAPL' });
191
+ * incomeStatements.data.forEach(statement => {
192
+ * console.log(`${statement.date}: Revenue $${statement.revenue.toLocaleString()}, Net Income $${statement.netIncome.toLocaleString()}`);
193
+ * });
194
+ *
195
+ * // Get quarterly income statements for Microsoft
196
+ * const quarterlyIncome = await fmp.financial.getIncomeStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
197
+ * ```
198
+ *
199
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#income-statements-financial-statements|FMP Income Statement Documentation}
1455
200
  */
1456
- getIncomeStatement({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<IncomeStatement[]>>;
201
+ getIncomeStatement(params: {
202
+ symbol: string;
203
+ period?: 'annual' | 'quarter';
204
+ limit?: number;
205
+ }): Promise<APIResponse<IncomeStatement[]>>;
1457
206
  /**
1458
- * Get balance sheet
1459
- * https://site.financialmodelingprep.com/developer/docs#balance-sheet-statements-financial-statements
1460
- * @param symbol - The stock symbol to get the balance sheet for
1461
- * @param period - The period to get the balance sheet for (annual or quarter)
1462
- * @param limit - The number of periods to get
1463
- * @returns The balance sheet is a financial statement that displays a company's total assets, liabilities, and shareholder equity over a specific timeframe (quarterly or yearly). Investors can use this statement to determine if the company can fund its operations, meet its debt obligations, and pay a dividend.
207
+ * Get balance sheet data
208
+ *
209
+ * Provides comprehensive balance sheet data including assets, liabilities,
210
+ * and shareholder equity. Essential for analyzing company financial position,
211
+ * liquidity, and capital structure.
212
+ *
213
+ * @param params - Balance sheet request parameters
214
+ * @param params.symbol - The stock symbol to get balance sheet for (e.g., 'AAPL', 'MSFT', 'GOOGL')
215
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
216
+ * @param params.limit - Number of periods to retrieve (default: 5)
217
+ *
218
+ * @returns Promise resolving to array of balance sheet data with financial position metrics
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * // Get annual balance sheets for Apple
223
+ * const balanceSheets = await fmp.financial.getBalanceSheet({ symbol: 'AAPL' });
224
+ * balanceSheets.data.forEach(sheet => {
225
+ * console.log(`${sheet.date}: Assets $${sheet.totalAssets.toLocaleString()}, Equity $${sheet.totalStockholdersEquity.toLocaleString()}`);
226
+ * });
227
+ *
228
+ * // Get quarterly balance sheets for Microsoft
229
+ * const quarterlyBalance = await fmp.financial.getBalanceSheet({ symbol: 'MSFT', period: 'quarter', limit: 8 });
230
+ * ```
231
+ *
232
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#balance-sheet-statements-financial-statements|FMP Balance Sheet Documentation}
1464
233
  */
1465
- getBalanceSheet({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<BalanceSheet[]>>;
234
+ getBalanceSheet(params: {
235
+ symbol: string;
236
+ period?: 'annual' | 'quarter';
237
+ limit?: number;
238
+ }): Promise<APIResponse<BalanceSheet[]>>;
1466
239
  /**
1467
- * Get cash flow statement
1468
- * https://site.financialmodelingprep.com/developer/docs#cashflow-statements-financial-statements
1469
- * @param symbol - The stock symbol to get the cash flow statement for
1470
- * @param period - The period to get the cash flow statement for (annual or quarter)
1471
- * @param limit - The number of periods to get
1472
- * @returns The cash flow statement is a financial statement that highlights how cash moves through the company, including both cash inflows and outflows. This statement shows the cash flows in 3 main categories "Operating Cash Flows", "Investing Cash Flows", and "Financing Cash Flows", which help investors to understand if the company is making money or losing money by conducting business.
240
+ * Get cash flow statement data
241
+ *
242
+ * Provides comprehensive cash flow data including operating, investing,
243
+ * and financing cash flows. Essential for analyzing company cash generation,
244
+ * capital allocation, and financial sustainability.
245
+ *
246
+ * @param params - Cash flow statement request parameters
247
+ * @param params.symbol - The stock symbol to get cash flow statement for (e.g., 'AAPL', 'MSFT', 'GOOGL')
248
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
249
+ * @param params.limit - Number of periods to retrieve (default: 5)
250
+ *
251
+ * @returns Promise resolving to array of cash flow statement data with cash flow metrics
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * // Get annual cash flow statements for Apple
256
+ * const cashFlows = await fmp.financial.getCashFlowStatement({ symbol: 'AAPL' });
257
+ * cashFlows.data.forEach(flow => {
258
+ * console.log(`${flow.date}: Operating CF $${flow.operatingCashFlow.toLocaleString()}, Free CF $${flow.freeCashFlow.toLocaleString()}`);
259
+ * });
260
+ *
261
+ * // Get quarterly cash flow statements for Microsoft
262
+ * const quarterlyCashFlow = await fmp.financial.getCashFlowStatement({ symbol: 'MSFT', period: 'quarter', limit: 8 });
263
+ * ```
264
+ *
265
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cashflow-statements-financial-statements|FMP Cash Flow Statement Documentation}
1473
266
  */
1474
- getCashFlowStatement({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<CashFlowStatement[]>>;
267
+ getCashFlowStatement(params: {
268
+ symbol: string;
269
+ period?: 'annual' | 'quarter';
270
+ limit?: number;
271
+ }): Promise<APIResponse<CashFlowStatement[]>>;
1475
272
  /**
1476
- * Get key metrics
1477
- * https://site.financialmodelingprep.com/developer/docs#key-metrics-statement-analysis
1478
- * @param symbol - The stock symbol to get the key metrics for
1479
- * @param period - The period to get the key metrics for (annual or quarter)
1480
- * @param limit - The number of periods to get
1481
- * @returns Get key financial metrics for a company, including revenue, net income, and price-to-earnings ratio (P/E ratio). Assess a company's financial performance and compare it to its competitors.
273
+ * Get key financial metrics
274
+ *
275
+ * Provides essential financial metrics including revenue, net income,
276
+ * P/E ratio, and other key performance indicators. Essential for
277
+ * fundamental analysis and company valuation.
278
+ *
279
+ * @param params - Key metrics request parameters
280
+ * @param params.symbol - The stock symbol to get key metrics for (e.g., 'AAPL', 'MSFT', 'GOOGL')
281
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
282
+ * @param params.limit - Number of periods to retrieve (default: 5)
283
+ *
284
+ * @returns Promise resolving to array of key metrics data with financial indicators
285
+ *
286
+ * @example
287
+ * ```typescript
288
+ * // Get key metrics for Apple
289
+ * const keyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'AAPL' });
290
+ * keyMetrics.data.forEach(metric => {
291
+ * console.log(`${metric.date}: P/E ${metric.peRatio}, ROE ${metric.roe}%`);
292
+ * });
293
+ *
294
+ * // Get quarterly key metrics for Microsoft
295
+ * const quarterlyMetrics = await fmp.financial.getKeyMetrics({ symbol: 'MSFT', period: 'quarter', limit: 8 });
296
+ * ```
297
+ *
298
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#key-metrics-statement-analysis|FMP Key Metrics Documentation}
1482
299
  */
1483
- getKeyMetrics({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<KeyMetrics[]>>;
300
+ getKeyMetrics(params: {
301
+ symbol: string;
302
+ period?: 'annual' | 'quarter';
303
+ limit?: number;
304
+ }): Promise<APIResponse<KeyMetrics[]>>;
1484
305
  /**
1485
306
  * Get financial ratios
1486
- * https://site.financialmodelingprep.com/developer/docs#ratios-statement-analysis
1487
- * @param symbol - The stock symbol to get the financial ratios for
1488
- * @param period - The period to get the financial ratios for (annual or quarter)
1489
- * @param limit - The number of periods to get
1490
- * @returns Get financial ratios for a company, such as the P/B ratio and the ROE. Assess a company's financial health and compare it to its competitors.
1491
- */
1492
- getFinancialRatios({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<FinancialRatios[]>>;
1493
- /**
1494
- * Get enterprise value
1495
- * https://site.financialmodelingprep.com/developer/docs#enterprise-values-statement-analysis
1496
- * @param symbol - The stock symbol to get the enterprise value for
1497
- * @param period - The period to get the enterprise value for (annual or quarter)
1498
- * @param limit - The number of periods to get
1499
- * @returns Get the enterprise value of a company, which is the total value of a company, including its equity and debt. Assess a company's overall value and compare it to its peers.
1500
- */
1501
- getEnterpriseValue({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<EnterpriseValue[]>>;
1502
- /**
1503
- * Get cashflow growth
1504
- * https://site.financialmodelingprep.com/developer/docs#cashflow-growth-statement-analysis
1505
- * @param symbol - The stock symbol to get the cashflow growth for
1506
- * @param period - The period to get the cashflow growth for (annual or quarter)
1507
- * @param limit - The number of periods to get
1508
- * @returns Get the cash flow growth rate for a company. Measure how quickly a company's cash flow is growing.
1509
- */
1510
- getCashflowGrowth({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<CashflowGrowth[]>>;
1511
- /**
1512
- * Get income growth
1513
- * https://site.financialmodelingprep.com/developer/docs#income-growth-statement-analysis
1514
- * @param symbol - The stock symbol to get the income growth for
1515
- * @param period - The period to get the income growth for (annual or quarter)
1516
- * @param limit - The number of periods to get
1517
- * @returns Get the income growth rate for a company. Measure how quickly a company's income is growing.
1518
- */
1519
- getIncomeGrowth({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<IncomeGrowth[]>>;
1520
- /**
1521
- * Get balance sheet growth
1522
- * https://site.financialmodelingprep.com/developer/docs#balance-sheet-growth-statement-analysis
1523
- * @param symbol - The stock symbol to get the balance sheet growth for
1524
- * @param period - The period to get the balance sheet growth for (annual or quarter)
1525
- * @param limit - The number of periods to get
1526
- * @returns Get the balance sheet growth rate for a company. Measure how quickly a company's assets and liabilities are growing.
1527
- */
1528
- getBalanceSheetGrowth({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<BalanceSheetGrowth[]>>;
1529
- /**
1530
- * Get financial growth
1531
- * https://site.financialmodelingprep.com/developer/docs#financial-growth-statement-analysis
1532
- * @param symbol - The stock symbol to get the financial growth for
1533
- * @param period - The period to get the financial growth for (annual or quarter)
1534
- * @param limit - The number of periods to get
1535
- * @returns Financial Growth Get the financial growth rate for a company. Measure how quickly a company's overall financial performance is improving.
1536
- */
1537
- getFinancialGrowth({ symbol, period, limit, }: FinancialStatementsParams): Promise<APIResponse<FinancialGrowth[]>>;
1538
- /**
1539
- * Get earnings historical
1540
- * https://site.financialmodelingprep.com/developer/docs#earnings-historical-earnings
1541
- * @param symbol - The stock symbol to get the earnings historical for
1542
- * @param limit - The number of periods to get
1543
- * @returns A list of historical & upcoming earnings announcements for a specific company, including the date, estimated EPS, and actual EPS.
1544
- */
1545
- getEarningsHistorical({ symbol, limit, }: FinancialStatementsParams): Promise<APIResponse<EarningsHistorical[]>>;
1546
- /**
1547
- * Get earnings surprises
1548
- * https://site.financialmodelingprep.com/developer/docs#earnings-surprises-earnings
1549
- * @param symbol - The stock symbol to get the earnings surprises for
1550
- * @param limit - The number of periods to get
1551
- * @returns A list of earnings announcements for publicly traded companies that were either positive or negative surprises. This endpoint includes the date of the earnings announcement, the estimated EPS, the actual EPS, and the earnings surprise.
1552
- */
1553
- getEarningsSurprises({ symbol, }: FinancialStatementsParams): Promise<APIResponse<EarningsSurprises[]>>;
1554
- }
1555
-
1556
- declare class ForexEndpoints {
1557
- private client;
1558
- constructor(client: FMPClient);
307
+ *
308
+ * Provides comprehensive financial ratios including P/B ratio, ROE,
309
+ * debt-to-equity, and other important ratios. Essential for analyzing
310
+ * company financial health and comparing with peers.
311
+ *
312
+ * @param params - Financial ratios request parameters
313
+ * @param params.symbol - The stock symbol to get financial ratios for (e.g., 'AAPL', 'MSFT', 'GOOGL')
314
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
315
+ * @param params.limit - Number of periods to retrieve (default: 5)
316
+ *
317
+ * @returns Promise resolving to array of financial ratios data with ratio metrics
318
+ *
319
+ * @example
320
+ * ```typescript
321
+ * // Get financial ratios for Apple
322
+ * const ratios = await fmp.financial.getFinancialRatios({ symbol: 'AAPL' });
323
+ * ratios.data.forEach(ratio => {
324
+ * console.log(`${ratio.date}: P/B ${ratio.priceToBookRatio}, Debt/Equity ${ratio.debtToEquity}`);
325
+ * });
326
+ *
327
+ * // Get quarterly ratios for Microsoft
328
+ * const quarterlyRatios = await fmp.financial.getFinancialRatios({ symbol: 'MSFT', period: 'quarter', limit: 8 });
329
+ * ```
330
+ *
331
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#ratios-statement-analysis|FMP Financial Ratios Documentation}
332
+ */
333
+ getFinancialRatios(params: {
334
+ symbol: string;
335
+ period?: 'annual' | 'quarter';
336
+ limit?: number;
337
+ }): Promise<APIResponse<FinancialRatios[]>>;
1559
338
  /**
1560
- * Get forex quote
1561
- * @deprecated Use `fmp.quote.getQuote()` instead. This method will be removed in version 0.1.0.
1562
- * @param params - Parameters for the forex quote request
1563
- * @returns Forex quote data
339
+ * Get enterprise value data
340
+ *
341
+ * Provides enterprise value metrics including total enterprise value,
342
+ * market cap, and debt information. Essential for company valuation
343
+ * and comparing companies with different capital structures.
344
+ *
345
+ * @param params - Enterprise value request parameters
346
+ * @param params.symbol - The stock symbol to get enterprise value for (e.g., 'AAPL', 'MSFT', 'GOOGL')
347
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
348
+ * @param params.limit - Number of periods to retrieve (default: 5)
349
+ *
350
+ * @returns Promise resolving to array of enterprise value data with valuation metrics
351
+ *
352
+ * @example
353
+ * ```typescript
354
+ * // Get enterprise value for Apple
355
+ * const enterpriseValue = await fmp.financial.getEnterpriseValue({ symbol: 'AAPL' });
356
+ * enterpriseValue.data.forEach(ev => {
357
+ * console.log(`${ev.date}: EV $${ev.enterpriseValue.toLocaleString()}, Market Cap $${ev.marketCapitalization.toLocaleString()}`);
358
+ * });
359
+ *
360
+ * // Get quarterly enterprise value for Microsoft
361
+ * const quarterlyEV = await fmp.financial.getEnterpriseValue({ symbol: 'MSFT', period: 'quarter', limit: 8 });
362
+ * ```
363
+ *
364
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#enterprise-values-statement-analysis|FMP Enterprise Value Documentation}
1564
365
  */
1565
- getQuote(params: SymbolParams): Promise<APIResponse<ForexQuote[]>>;
366
+ getEnterpriseValue(params: {
367
+ symbol: string;
368
+ period?: 'annual' | 'quarter';
369
+ limit?: number;
370
+ }): Promise<APIResponse<EnterpriseValue[]>>;
1566
371
  /**
1567
- * Get historical forex prices
1568
- * @deprecated Use `fmp.quote.getHistoricalPrice()` instead. This method will be removed in version 0.1.0.
1569
- * @param symbol - The forex symbol to get the historical prices for
1570
- * @param from - The start date to get the historical prices for
1571
- * @param to - The end date to get the historical prices for
1572
- * @returns Historical forex price data
372
+ * Get cash flow growth data
373
+ *
374
+ * Provides cash flow growth rates showing how quickly a company's
375
+ * cash flows are growing over time. Essential for analyzing cash
376
+ * generation trends and financial sustainability.
377
+ *
378
+ * @param params - Cash flow growth request parameters
379
+ * @param params.symbol - The stock symbol to get cash flow growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
380
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
381
+ * @param params.limit - Number of periods to retrieve (default: 5)
382
+ *
383
+ * @returns Promise resolving to array of cash flow growth data with growth metrics
384
+ *
385
+ * @example
386
+ * ```typescript
387
+ * // Get cash flow growth for Apple
388
+ * const cashFlowGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'AAPL' });
389
+ * cashFlowGrowth.data.forEach(growth => {
390
+ * console.log(`${growth.date}: Operating CF Growth ${growth.operatingCashFlowGrowth}%`);
391
+ * });
392
+ *
393
+ * // Get quarterly cash flow growth for Microsoft
394
+ * const quarterlyGrowth = await fmp.financial.getCashflowGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
395
+ * ```
396
+ *
397
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cashflow-growth-statement-analysis|FMP Cash Flow Growth Documentation}
1573
398
  */
1574
- getHistoricalPrice({ symbol, from, to, }: {
399
+ getCashflowGrowth(params: {
1575
400
  symbol: string;
1576
- from?: string;
1577
- to?: string;
1578
- }): Promise<APIResponse<HistoricalPriceResponse>>;
1579
- }
1580
-
1581
- declare class CryptoEndpoints {
1582
- private client;
1583
- constructor(client: FMPClient);
401
+ period?: 'annual' | 'quarter';
402
+ limit?: number;
403
+ }): Promise<APIResponse<CashflowGrowth[]>>;
1584
404
  /**
1585
- * Get crypto quote
1586
- * @deprecated Use `fmp.quote.getQuote()` instead. This method will be removed in version 0.1.0.
1587
- * @param symbol - The crypto symbol to get the quote for
1588
- * @returns Crypto quote data
405
+ * Get income growth data
406
+ *
407
+ * Provides income growth rates showing how quickly a company's
408
+ * revenue and net income are growing over time. Essential for
409
+ * analyzing profitability trends and business momentum.
410
+ *
411
+ * @param params - Income growth request parameters
412
+ * @param params.symbol - The stock symbol to get income growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
413
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
414
+ * @param params.limit - Number of periods to retrieve (default: 5)
415
+ *
416
+ * @returns Promise resolving to array of income growth data with growth metrics
417
+ *
418
+ * @example
419
+ * ```typescript
420
+ * // Get income growth for Apple
421
+ * const incomeGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'AAPL' });
422
+ * incomeGrowth.data.forEach(growth => {
423
+ * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, Net Income Growth ${growth.netIncomeGrowth}%`);
424
+ * });
425
+ *
426
+ * // Get quarterly income growth for Microsoft
427
+ * const quarterlyGrowth = await fmp.financial.getIncomeGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
428
+ * ```
429
+ *
430
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#income-growth-statement-analysis|FMP Income Growth Documentation}
1589
431
  */
1590
- getQuote({ symbol }: {
432
+ getIncomeGrowth(params: {
1591
433
  symbol: string;
1592
- }): Promise<APIResponse<CryptoQuote | null>>;
434
+ period?: 'annual' | 'quarter';
435
+ limit?: number;
436
+ }): Promise<APIResponse<IncomeGrowth[]>>;
1593
437
  /**
1594
- * Get historical crypto prices
1595
- * @deprecated Use `fmp.quote.getHistoricalPrice()` instead. This method will be removed in version 0.1.0.
1596
- * @param symbol - The crypto symbol to get the historical prices for
1597
- * @param from - The start date to get the historical prices for
1598
- * @param to - The end date to get the historical prices for
1599
- * @returns Provides daily price data for all cryptocurrencies that are traded on exchanges around the world.
438
+ * Get balance sheet growth data
439
+ *
440
+ * Provides balance sheet growth rates showing how quickly a company's
441
+ * assets, liabilities, and equity are growing over time. Essential for
442
+ * analyzing capital structure trends and financial position changes.
443
+ *
444
+ * @param params - Balance sheet growth request parameters
445
+ * @param params.symbol - The stock symbol to get balance sheet growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
446
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
447
+ * @param params.limit - Number of periods to retrieve (default: 5)
448
+ *
449
+ * @returns Promise resolving to array of balance sheet growth data with growth metrics
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * // Get balance sheet growth for Apple
454
+ * const balanceSheetGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'AAPL' });
455
+ * balanceSheetGrowth.data.forEach(growth => {
456
+ * console.log(`${growth.date}: Assets Growth ${growth.totalAssetsGrowth}%, Equity Growth ${growth.totalStockholdersEquityGrowth}%`);
457
+ * });
458
+ *
459
+ * // Get quarterly balance sheet growth for Microsoft
460
+ * const quarterlyGrowth = await fmp.financial.getBalanceSheetGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
461
+ * ```
462
+ *
463
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#balance-sheet-growth-statement-analysis|FMP Balance Sheet Growth Documentation}
1600
464
  */
1601
- getHistoricalPrice({ symbol, from, to, }: {
465
+ getBalanceSheetGrowth(params: {
1602
466
  symbol: string;
1603
- from?: string;
1604
- to?: string;
1605
- }): Promise<APIResponse<HistoricalPriceResponse>>;
467
+ period?: 'annual' | 'quarter';
468
+ limit?: number;
469
+ }): Promise<APIResponse<BalanceSheetGrowth[]>>;
470
+ /**
471
+ * Get financial growth data
472
+ *
473
+ * Provides comprehensive financial growth rates across all key
474
+ * financial metrics. Essential for analyzing overall financial
475
+ * performance trends and business momentum.
476
+ *
477
+ * @param params - Financial growth request parameters
478
+ * @param params.symbol - The stock symbol to get financial growth for (e.g., 'AAPL', 'MSFT', 'GOOGL')
479
+ * @param params.period - The reporting period: 'annual' or 'quarter' (default: 'annual')
480
+ * @param params.limit - Number of periods to retrieve (default: 5)
481
+ *
482
+ * @returns Promise resolving to array of financial growth data with comprehensive growth metrics
483
+ *
484
+ * @example
485
+ * ```typescript
486
+ * // Get financial growth for Apple
487
+ * const financialGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'AAPL' });
488
+ * financialGrowth.data.forEach(growth => {
489
+ * console.log(`${growth.date}: Revenue Growth ${growth.revenueGrowth}%, EPS Growth ${growth.epsGrowth}%`);
490
+ * });
491
+ *
492
+ * // Get quarterly financial growth for Microsoft
493
+ * const quarterlyGrowth = await fmp.financial.getFinancialGrowth({ symbol: 'MSFT', period: 'quarter', limit: 8 });
494
+ * ```
495
+ *
496
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#financial-growth-statement-analysis|FMP Financial Growth Documentation}
497
+ */
498
+ getFinancialGrowth(params: {
499
+ symbol: string;
500
+ period?: 'annual' | 'quarter';
501
+ limit?: number;
502
+ }): Promise<APIResponse<FinancialGrowth[]>>;
503
+ /**
504
+ * Get historical earnings data
505
+ *
506
+ * Provides historical and upcoming earnings announcements including
507
+ * dates, estimated EPS, and actual EPS. Essential for analyzing
508
+ * earnings trends and tracking company performance.
509
+ *
510
+ * @param params - Earnings historical request parameters
511
+ * @param params.symbol - The stock symbol to get earnings history for (e.g., 'AAPL', 'MSFT', 'GOOGL')
512
+ * @param params.limit - Number of periods to retrieve (default: 5)
513
+ *
514
+ * @returns Promise resolving to array of historical earnings data with announcement details
515
+ *
516
+ * @example
517
+ * ```typescript
518
+ * // Get earnings history for Apple
519
+ * const earningsHistory = await fmp.financial.getEarningsHistorical({ symbol: 'AAPL', limit: 10 });
520
+ * earningsHistory.data.forEach(earning => {
521
+ * console.log(`${earning.date}: Est. ${earning.estimatedEps}, Actual ${earning.actualEps}`);
522
+ * });
523
+ *
524
+ * // Get earnings history for Microsoft
525
+ * const msftEarnings = await fmp.financial.getEarningsHistorical({ symbol: 'MSFT', limit: 8 });
526
+ * ```
527
+ *
528
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-historical-earnings|FMP Earnings Historical Documentation}
529
+ */
530
+ getEarningsHistorical(params: {
531
+ symbol: string;
532
+ limit?: number;
533
+ }): Promise<APIResponse<EarningsHistorical[]>>;
534
+ /**
535
+ * Get earnings surprises data
536
+ *
537
+ * Provides earnings announcements that exceeded or fell short of
538
+ * analyst estimates. Essential for analyzing earnings quality and
539
+ * market reactions to earnings releases.
540
+ *
541
+ * @param symbol - The stock symbol to get earnings surprises for (e.g., 'AAPL', 'MSFT', 'GOOGL')
542
+ *
543
+ * @returns Promise resolving to array of earnings surprises data with surprise details
544
+ *
545
+ * @example
546
+ * ```typescript
547
+ * // Get earnings surprises for Apple
548
+ * const earningsSurprises = await fmp.financial.getEarningsSurprises('AAPL');
549
+ * earningsSurprises.data.forEach(surprise => {
550
+ * console.log(`${surprise.date}: Est. ${surprise.estimatedEps}, Actual ${surprise.actualEps}, Surprise ${surprise.surprisePercentage}%`);
551
+ * });
552
+ *
553
+ * // Get earnings surprises for Microsoft
554
+ * const msftSurprises = await fmp.financial.getEarningsSurprises('MSFT');
555
+ * ```
556
+ *
557
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-surprises-earnings|FMP Earnings Surprises Documentation}
558
+ */
559
+ getEarningsSurprises(symbol: string): Promise<APIResponse<EarningsSurprises[]>>;
1606
560
  }
1607
561
 
1608
562
  declare class ETFEndpoints {
1609
563
  private client;
1610
564
  constructor(client: FMPClient);
1611
565
  /**
1612
- * Get ETF holding dates
1613
- * https://site.financialmodelingprep.com/developer/docs#etf-holding-dates-etf-holdings
1614
- * @param symbol - The symbol of the ETF to get the holding dates for
1615
- * @returns The FMP ETF Holding Dates endpoint provides a list of the dates on which ETF holdings are updated. For example, an investor may want to know when an ETF's holdings are updated in order to make sure that they are still aligned with their investment goals.
566
+ * Get available ETF holding dates
567
+ *
568
+ * Provides a list of dates when ETF holdings are updated and available.
569
+ * Useful for determining when the most recent holdings data is available
570
+ * and ensuring you're working with current portfolio information.
571
+ *
572
+ * @param symbol - ETF symbol to get holding dates for (e.g., 'SPY', 'VOO', 'QQQ')
573
+ *
574
+ * @returns Promise resolving to array of available holding dates
575
+ *
576
+ * @example
577
+ * ```typescript
578
+ * // Get holding dates for specific ETF
579
+ * const spyDates = await fmp.etf.getHoldingDates('SPY');
580
+ * spyDates.data.forEach(date => {
581
+ * console.log(`Holdings available: ${date.date}`);
582
+ * });
583
+ *
584
+ * // Get VOO holding dates
585
+ * const vooDates = await fmp.etf.getHoldingDates('VOO');
586
+ * ```
587
+ *
588
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-holding-dates-etf-holdings|FMP ETF Holding Dates Documentation}
1616
589
  */
1617
- getHoldingDates({ symbol }: SymbolParams): Promise<APIResponse<ETFHoldingDates[]>>;
590
+ getHoldingDates(symbol: string): Promise<APIResponse<ETFHoldingDates[]>>;
1618
591
  /**
1619
- * Get ETF holdings
1620
- * https://site.financialmodelingprep.com/developer/docs#etf-holdings-etf-holdings
1621
- * @param symbol - The symbol of the ETF to get the holdings for
1622
- * @param date - The date to get the holdings for
1623
- * @returns The FMP ETF Holdings endpoint provides a list of all the institutional investors that own shares of an ETF. For example, an investor may want to know which ETF has the highest exposure to a particular industry or sector.
592
+ * Get ETF holdings for specific date
593
+ *
594
+ * Provides detailed holdings information for an ETF on a specific date.
595
+ * Includes individual stocks, their weights, shares held, and market values.
596
+ * Essential for understanding ETF composition and portfolio analysis.
597
+ *
598
+ * @param params - ETF holdings request parameters
599
+ * @param params.symbol - The ETF symbol to get holdings for (e.g., 'SPY', 'VOO', 'QQQ')
600
+ * @param params.date - The date to get holdings for in YYYY-MM-DD format
601
+ *
602
+ * @returns Promise resolving to array of ETF holdings with detailed stock information
603
+ *
604
+ * @example
605
+ * ```typescript
606
+ * // Get SPY holdings for specific date
607
+ * const holdings = await fmp.etf.getHoldings({ symbol: 'SPY', date: '2024-01-15' });
608
+ * holdings.data.forEach(holding => {
609
+ * console.log(`${holding.asset}: ${holding.weight}% (${holding.sharesNumber} shares)`);
610
+ * });
611
+ *
612
+ * // Get VOO holdings
613
+ * const vooHoldings = await fmp.etf.getHoldings({ symbol: 'VOO', date: '2024-01-15' });
614
+ * ```
615
+ *
616
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-holdings-etf-holdings|FMP ETF Holdings Documentation}
1624
617
  */
1625
- getHoldings({ symbol, date, }: {
618
+ getHoldings(params: {
1626
619
  symbol: string;
1627
620
  date: string;
1628
621
  }): Promise<APIResponse<ETFHolding[]>>;
1629
622
  /**
1630
- * Get ETF holder
1631
- * https://site.financialmodelingprep.com/developer/docs#etf-holder-etf-holdings
1632
- * @param symbol - The symbol of the ETF to get the holder for
1633
- * @returns This endpoint returns all stocks held by a specific ETF. Assets, share number, and weight are among the fields returned. For example you can get components of SPY, VOO and more.
1634
- */
1635
- getHolder({ symbol }: SymbolParams): Promise<APIResponse<ETFHolder[]>>;
1636
- /**
1637
- * Get ETF profile
1638
- * https://site.financialmodelingprep.com/developer/docs#etf-information-etf-holdings
1639
- * @param symbol - The symbol of the ETF to get the profile for
1640
- * @returns The FMP ETF Information endpoint provides basic information about an ETF, such as its ticker symbol, name, expense ratio, and asset under management. For example, an investor may want to compare the expense ratios of different ETFs to find the one that is most cost-effective.
1641
- */
1642
- getProfile({ symbol }: SymbolParams): Promise<APIResponse<ETFProfile>>;
1643
- /**
1644
- * Get ETF sector weighting
1645
- * https://site.financialmodelingprep.com/developer/docs#etf-sector-weighting-etf-holdings
1646
- * @param symbol - The symbol of the ETF to get the sector exposure for
1647
- * @returns The FMP ETF Sector Weighting endpoint provides a breakdown of the percentage of an ETF's assets that are invested in each sector. For example, an investor may want to invest in an ETF that has a high exposure to the technology sector if they believe that the technology sector is poised for growth.
623
+ * Get ETF holdings and components
624
+ *
625
+ * Provides all stocks held by a specific ETF including assets, share numbers,
626
+ * and weight percentages. Essential for understanding ETF composition and
627
+ * finding which ETFs hold specific stocks.
628
+ *
629
+ * @param symbol - The ETF symbol to get holdings for (e.g., 'SPY', 'VOO', 'QQQ')
630
+ *
631
+ * @returns Promise resolving to array of ETF holdings with stock details
632
+ *
633
+ * @example
634
+ * ```typescript
635
+ * // Get SPY holdings
636
+ * const spyHoldings = await fmp.etf.getHolder('SPY');
637
+ * spyHoldings.data.forEach(holding => {
638
+ * console.log(`${holding.asset}: ${holding.weight}% (${holding.sharesNumber} shares)`);
639
+ * });
640
+ *
641
+ * // Get VOO holdings
642
+ * const vooHoldings = await fmp.etf.getHolder('VOO');
643
+ * ```
644
+ *
645
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-holder-etf-holdings|FMP ETF Holder Documentation}
1648
646
  */
1649
- getSectorWeighting({ symbol }: SymbolParams): Promise<APIResponse<ETFWeighting[]>>;
647
+ getHolder(symbol: string): Promise<APIResponse<ETFHolder[]>>;
1650
648
  /**
1651
- * Get ETF country weighting
1652
- * https://site.financialmodelingprep.com/developer/docs#etf-country-weighting-etf-holdings
1653
- * @param symbol - The symbol of the ETF to get the country weighting for
1654
- * @returns The FMP ETF Country Weighting endpoint provides a breakdown of the percentage of an ETF's assets that are invested in each country. For example, an investor may want to invest in an ETF that has a high exposure to China if they believe that the Chinese economy is poised for growth.
649
+ * Get ETF profile and information
650
+ *
651
+ * Provides comprehensive information about an ETF including ticker symbol,
652
+ * name, expense ratio, assets under management, and other key metrics.
653
+ * Essential for ETF comparison and due diligence.
654
+ *
655
+ * @param symbol - ETF symbol to get profile for (e.g., 'SPY', 'VOO', 'QQQ')
656
+ *
657
+ * @returns Promise resolving to ETF profile with detailed information
658
+ *
659
+ * @example
660
+ * ```typescript
661
+ * // Get SPY profile
662
+ * const spyProfile = await fmp.etf.getProfile('SPY');
663
+ * console.log(`SPY AUM: $${spyProfile.data.aum.toLocaleString()}`);
664
+ * console.log(`Expense Ratio: ${spyProfile.data.expenseRatio}%`);
665
+ *
666
+ * // Get VOO profile
667
+ * const vooProfile = await fmp.etf.getProfile('VOO');
668
+ * ```
669
+ *
670
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-information-etf-holdings|FMP ETF Information Documentation}
1655
671
  */
1656
- getCountryWeighting({ symbol }: SymbolParams): Promise<APIResponse<ETFCountryWeighting[]>>;
672
+ getProfile(symbol: string): Promise<APIResponse<ETFProfile>>;
1657
673
  /**
1658
- * Get ETF Stock exposure
1659
- * https://site.financialmodelingprep.com/developer/docs#etf-sector-exposure-etf-holdings
1660
- * @param symbol - The symbol of the ETF to get the stock exposure for
1661
- * @returns This endpoint returns asset exposure from all ETFs that have it in their holdings. It has properties like market value, share number or weight percentage. It can be useful for looking up stock you like to check what ETF has it on their portfolio.
1662
- */
1663
- getStockExposure({ symbol }: SymbolParams): Promise<APIResponse<ETFStockExposure[]>>;
1664
- }
1665
-
1666
- declare class MutualFundEndpoints {
1667
- private client;
1668
- constructor(client: FMPClient);
674
+ * Get ETF sector weighting and exposure
675
+ *
676
+ * Provides a breakdown of an ETF's sector allocation showing the percentage
677
+ * of assets invested in each sector. Essential for understanding sector
678
+ * exposure and diversification analysis.
679
+ *
680
+ * @param symbol - The ETF symbol to get sector weighting for (e.g., 'SPY', 'VOO', 'QQQ')
681
+ *
682
+ * @returns Promise resolving to array of sector weightings with percentage allocations
683
+ *
684
+ * @example
685
+ * ```typescript
686
+ * // Get SPY sector weightings
687
+ * const sectorWeightings = await fmp.etf.getSectorWeighting('SPY');
688
+ * sectorWeightings.data.forEach(sector => {
689
+ * console.log(`${sector.sector}: ${sector.weight}%`);
690
+ * });
691
+ *
692
+ * // Get QQQ sector exposure (tech-heavy)
693
+ * const qqqSectors = await fmp.etf.getSectorWeighting('QQQ');
694
+ * ```
695
+ *
696
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-sector-weighting-etf-holdings|FMP ETF Sector Weighting Documentation}
697
+ */
698
+ getSectorWeighting(symbol: string): Promise<APIResponse<ETFWeighting[]>>;
1669
699
  /**
1670
- * Get mutual fund quote
1671
- * @deprecated Use `fmp.quote.getQuote()` instead. This method will be removed in a future release.
1672
- * @param params - Parameters for the mutual fund quote request
1673
- * @returns Mutual fund quote data
700
+ * Get ETF country weighting and exposure
701
+ *
702
+ * Provides a breakdown of an ETF's geographic allocation showing the percentage
703
+ * of assets invested in each country. Essential for understanding international
704
+ * exposure and geographic diversification.
705
+ *
706
+ * @param symbol - The ETF symbol to get country weighting for (e.g., 'SPY', 'VOO', 'EFA')
707
+ *
708
+ * @returns Promise resolving to array of country weightings with percentage allocations
709
+ *
710
+ * @example
711
+ * ```typescript
712
+ * // Get SPY country weightings
713
+ * const countryWeightings = await fmp.etf.getCountryWeighting('SPY');
714
+ * countryWeightings.data.forEach(country => {
715
+ * console.log(`${country.country}: ${country.weight}%`);
716
+ * });
717
+ *
718
+ * // Get international ETF exposure
719
+ * const efaCountries = await fmp.etf.getCountryWeighting('EFA');
720
+ * ```
721
+ *
722
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-country-weighting-etf-holdings|FMP ETF Country Weighting Documentation}
1674
723
  */
1675
- getQuote(params: SymbolParams): Promise<APIResponse<MutualFundQuote[]>>;
724
+ getCountryWeighting(symbol: string): Promise<APIResponse<ETFCountryWeighting[]>>;
1676
725
  /**
1677
- * Get mutual fund holders
1678
- * https://site.financialmodelingprep.com/developer/docs#mutual-fund-holder-mutual-funds-holdings
1679
- * @param symbol - The symbol of the mutual fund to get the holders for
1680
- * @returns Mutual fund holders data
726
+ * Get ETF stock exposure and holdings
727
+ *
728
+ * Provides detailed exposure information for a specific stock across all ETFs
729
+ * that hold it. Includes market value, share numbers, and weight percentages.
730
+ * Useful for finding which ETFs have exposure to specific stocks.
731
+ *
732
+ * @param symbol - The stock symbol to get ETF exposure for (e.g., 'AAPL', 'MSFT', 'GOOGL')
733
+ *
734
+ * @returns Promise resolving to array of ETF exposures with detailed holding information
735
+ *
736
+ * @example
737
+ * ```typescript
738
+ * // Find ETFs that hold Apple
739
+ * const appleExposure = await fmp.etf.getStockExposure('AAPL');
740
+ * appleExposure.data.forEach(etf => {
741
+ * console.log(`${etf.etfSymbol}: ${etf.weight}% (${etf.sharesNumber} shares)`);
742
+ * });
743
+ *
744
+ * // Find ETFs that hold Microsoft
745
+ * const msftExposure = await fmp.etf.getStockExposure('MSFT');
746
+ * ```
747
+ *
748
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#etf-sector-exposure-etf-holdings|FMP ETF Stock Exposure Documentation}
1681
749
  */
1682
- getHolders({ symbol }: SymbolParams): Promise<APIResponse<MutualFundHolding[]>>;
750
+ getStockExposure(symbol: string): Promise<APIResponse<ETFStockExposure[]>>;
1683
751
  }
1684
752
 
1685
753
  declare class EconomicEndpoints {
1686
754
  private client;
1687
755
  constructor(client: FMPClient);
1688
756
  /**
1689
- * Get treasury rates
1690
- * https://site.financialmodelingprep.com/developer/docs#treasury-rates-economics-data
1691
- * @param from - The start date to get the treasury rates for
1692
- * @param to - The end date to get the treasury rates for
1693
- * @returns Treasury rates data
757
+ * Get treasury rates data
758
+ *
759
+ * Provides historical treasury rates for various maturities including
760
+ * 1-month, 3-month, 6-month, 1-year, 2-year, 3-year, 5-year, 7-year,
761
+ * 10-year, 20-year, and 30-year treasury bonds. Essential for analyzing
762
+ * interest rate trends, yield curves, and fixed income investments.
763
+ *
764
+ * @param params - Treasury rates request parameters
765
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
766
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
767
+ *
768
+ * @returns Promise resolving to array of treasury rates data with yield information
769
+ *
770
+ * @example
771
+ * ```typescript
772
+ * // Get treasury rates for the last year
773
+ * const treasuryRates = await fmp.economic.getTreasuryRates({
774
+ * from: '2023-01-01',
775
+ * to: '2023-12-31'
776
+ * });
777
+ * treasuryRates.data.forEach(rate => {
778
+ * console.log(`${rate.date}: 10Y ${rate.tenY}%, 2Y ${rate.twoY}%`);
779
+ * });
780
+ *
781
+ * // Get recent treasury rates
782
+ * const recentRates = await fmp.economic.getTreasuryRates({
783
+ * from: '2024-01-01'
784
+ * });
785
+ * ```
786
+ *
787
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#treasury-rates-economics-data|FMP Treasury Rates Documentation}
1694
788
  */
1695
- getTreasuryRates(params: DateRangeParams): Promise<APIResponse<TreasuryRate[]>>;
789
+ getTreasuryRates(params: {
790
+ from?: string;
791
+ to?: string;
792
+ }): Promise<APIResponse<TreasuryRate[]>>;
1696
793
  /**
1697
- * Get economic indicators
1698
- * https://site.financialmodelingprep.com/developer/docs#economic-indicators-economics-data
1699
- * @param name - GDP, realGDP, nominalPotentialGDP, realGDPPerCapita, federalFunds, CPI, inflationRate, inflation, retailSales, consumerSentiment, durableGoods, unemploymentRate, totalNonfarmPayroll, initialClaims, industrialProductionTotalIndex, newPrivatelyOwnedHousingUnitsStartedTotalUnits, totalVehicleSales, retailMoneyFunds, smoothedUSRecessionProbabilities, 3MonthOr90DayRatesAndYieldsCertificatesOfDeposit, commercialBankInterestRateOnCreditCardPlansAllAccounts, 30YearFixedRateMortgageAverage, 15YearFixedRateMortgageAverage
1700
- * @param from - The start date to get the economic indicators for
1701
- * @param to - The end date to get the economic indicators for
1702
- * @returns Provides real-time and historical economic data for a variety of economic indicators, such as GDP, unemployment, and inflation.
794
+ * Get economic indicators data
795
+ *
796
+ * Provides real-time and historical economic data for a wide variety of
797
+ * economic indicators including GDP, unemployment, inflation, retail sales,
798
+ * and many others. Essential for macroeconomic analysis and understanding
799
+ * economic trends and cycles.
800
+ *
801
+ * @param params - Economic indicators request parameters
802
+ * @param params.name - The economic indicator to retrieve
803
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
804
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
805
+ *
806
+ * @returns Promise resolving to array of economic indicator data with historical values
807
+ *
808
+ * @example
809
+ * ```typescript
810
+ * // Get GDP data for the last year
811
+ * const gdpData = await fmp.economic.getEconomicIndicators({
812
+ * name: 'GDP',
813
+ * from: '2023-01-01',
814
+ * to: '2023-12-31'
815
+ * });
816
+ * gdpData.data.forEach(gdp => {
817
+ * console.log(`${gdp.date}: GDP $${gdp.value.toLocaleString()} billion`);
818
+ * });
819
+ *
820
+ * // Get unemployment rate data
821
+ * const unemploymentData = await fmp.economic.getEconomicIndicators({
822
+ * name: 'unemploymentRate',
823
+ * from: '2024-01-01'
824
+ * });
825
+ *
826
+ * // Get inflation rate data
827
+ * const inflationData = await fmp.economic.getEconomicIndicators({
828
+ * name: 'inflationRate',
829
+ * from: '2023-01-01',
830
+ * to: '2023-12-31'
831
+ * });
832
+ * ```
833
+ *
834
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#economic-indicators-economics-data|FMP Economic Indicators Documentation}
1703
835
  */
1704
- getEconomicIndicators(params: EconomicIndicatorParams): Promise<APIResponse<EconomicIndicator[]>>;
836
+ getEconomicIndicators(params: {
837
+ name: 'GDP' | 'realGDP' | 'nominalPotentialGDP' | 'realGDPPerCapita' | 'federalFunds' | 'CPI' | 'inflationRate' | 'inflation' | 'retailSales' | 'consumerSentiment' | 'durableGoods' | 'unemploymentRate' | 'totalNonfarmPayroll' | 'initialClaims' | 'industrialProductionTotalIndex' | 'newPrivatelyOwnedHousingUnitsStartedTotalUnits' | 'totalVehicleSales' | 'retailMoneyFunds' | 'smoothedUSRecessionProbabilities' | '3MonthOr90DayRatesAndYieldsCertificatesOfDeposit' | 'commercialBankInterestRateOnCreditCardPlansAllAccounts' | '30YearFixedRateMortgageAverage' | '15YearFixedRateMortgageAverage';
838
+ from?: string;
839
+ to?: string;
840
+ }): Promise<APIResponse<EconomicIndicator[]>>;
1705
841
  }
1706
842
 
1707
843
  declare class MarketEndpoints {
1708
844
  private client;
1709
845
  constructor(client: FMPClient);
1710
846
  /**
1711
- * Get market hours
847
+ * Get current market hours and trading status
848
+ *
849
+ * Provides real-time information about market trading hours, including
850
+ * whether markets are currently open or closed, trading session times,
851
+ * and upcoming market holidays. Essential for determining trading
852
+ * availability and market status.
853
+ *
854
+ * @returns Promise resolving to market hours data with trading status and session information
855
+ *
856
+ * @example
857
+ * ```typescript
858
+ * // Get current market status
859
+ * const marketHours = await fmp.market.getMarketHours();
860
+ * console.log(`Market is ${marketHours.data.isTheStockMarketOpen ? 'OPEN' : 'CLOSED'}`);
861
+ * console.log(`Current time: ${marketHours.data.currentTime}`);
862
+ * console.log(`Next trading day: ${marketHours.data.nextTradingDay}`);
863
+ *
864
+ * // Check if it's a trading day
865
+ * if (marketHours.data.isTheStockMarketOpen) {
866
+ * console.log('Markets are currently open for trading');
867
+ * } else {
868
+ * console.log('Markets are closed');
869
+ * }
870
+ * ```
871
+ *
872
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-hours|FMP Market Hours Documentation}
1712
873
  */
1713
874
  getMarketHours(): Promise<APIResponse<MarketHours>>;
1714
875
  /**
1715
- * Get market performance
876
+ * Get overall market performance data
877
+ *
878
+ * Provides comprehensive market performance data including major indices,
879
+ * market breadth, and key performance metrics. Essential for understanding
880
+ * overall market sentiment, trends, and daily market activity.
881
+ *
882
+ * @returns Promise resolving to array of market performance data with indices and metrics
883
+ *
884
+ * @example
885
+ * ```typescript
886
+ * // Get overall market performance
887
+ * const marketPerformance = await fmp.market.getMarketPerformance();
888
+ * marketPerformance.data.forEach(market => {
889
+ * console.log(`${market.index}: ${market.change} (${market.changesPercentage}%)`);
890
+ * console.log(` Open: $${market.open}, High: $${market.dayHigh}, Low: $${market.dayLow}`);
891
+ * });
892
+ *
893
+ * // Find specific indices
894
+ * const sp500 = marketPerformance.data.find(market => market.index === 'S&P 500');
895
+ * console.log(`S&P 500 performance: ${sp500?.changesPercentage}%`);
896
+ *
897
+ * // Check market sentiment
898
+ * const gainers = marketPerformance.data.filter(market => market.changesPercentage > 0);
899
+ * const losers = marketPerformance.data.filter(market => market.changesPercentage < 0);
900
+ * console.log(`Gaining indices: ${gainers.length}, Losing indices: ${losers.length}`);
901
+ * ```
902
+ *
903
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-performance|FMP Market Performance Documentation}
1716
904
  */
1717
905
  getMarketPerformance(): Promise<APIResponse<MarketPerformance[]>>;
1718
906
  /**
1719
- * Get top gainers
1720
- * https://site.financialmodelingprep.com/developer/docs#market-biggest-gainers-market-overview
1721
- * @returns The FMP Market Biggest Gainers endpoint provides a list of the stocks that have gained the most value on a given day. This information can be used by investors to identify stocks that are momentum and to potential investment opportunities.
907
+ * Get top gaining stocks for the current trading day
908
+ *
909
+ * Provides a list of stocks that have gained the most value during the
910
+ * current trading session. Essential for identifying momentum stocks,
911
+ * tracking market movers, and discovering potential investment opportunities.
912
+ * Useful for day trading, momentum strategies, and market analysis.
913
+ *
914
+ * @returns Promise resolving to array of top gaining stocks with price and percentage change data
915
+ *
916
+ * @example
917
+ * ```typescript
918
+ * // Get top gainers for the day
919
+ * const gainers = await fmp.market.getGainers();
920
+ * console.log(`Top ${gainers.data.length} gaining stocks today:`);
921
+ *
922
+ * gainers.data.forEach((stock, index) => {
923
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
924
+ * console.log(` Price: $${stock.price} | Change: +${stock.change} (${stock.changesPercentage}%)`);
925
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
926
+ * });
927
+ *
928
+ * // Find stocks with >10% gains
929
+ * const bigGainers = gainers.data.filter(stock => stock.changesPercentage > 10);
930
+ * console.log(`Stocks with >10% gains: ${bigGainers.length}`);
931
+ *
932
+ * // Check volume leaders among gainers
933
+ * const highVolumeGainers = gainers.data.filter(stock => stock.volume > 1000000);
934
+ * console.log(`High volume gainers (>1M shares): ${highVolumeGainers.length}`);
935
+ * ```
936
+ *
937
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-biggest-gainers-market-overview|FMP Market Biggest Gainers Documentation}
1722
938
  */
1723
939
  getGainers(): Promise<APIResponse<MarketPerformance[]>>;
1724
940
  /**
1725
- * Get top losers
1726
- * https://site.financialmodelingprep.com/developer/docs#market-biggest-losers-market-overview
1727
- * @returns The FMP Market Biggest Losers endpoint provides a list of the stocks that have lost the most value on a given day. This information can be used by investors to identify stocks that are underperforming and to potential trading opportunities.
941
+ * Get top losing stocks for the current trading day
942
+ *
943
+ * Provides a list of stocks that have lost the most value during the
944
+ * current trading session. Essential for identifying underperforming stocks,
945
+ * tracking market decliners, and discovering potential contrarian opportunities.
946
+ * Useful for risk management, short selling strategies, and market analysis.
947
+ *
948
+ * @returns Promise resolving to array of top losing stocks with price and percentage change data
949
+ *
950
+ * @example
951
+ * ```typescript
952
+ * // Get top losers for the day
953
+ * const losers = await fmp.market.getLosers();
954
+ * console.log(`Top ${losers.data.length} losing stocks today:`);
955
+ *
956
+ * losers.data.forEach((stock, index) => {
957
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
958
+ * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
959
+ * console.log(` Volume: ${stock.volume.toLocaleString()}`);
960
+ * });
961
+ *
962
+ * // Find stocks with >10% losses
963
+ * const bigLosers = losers.data.filter(stock => stock.changesPercentage < -10);
964
+ * console.log(`Stocks with >10% losses: ${bigLosers.length}`);
965
+ *
966
+ * // Check for potential oversold conditions
967
+ * const highVolumeLosers = losers.data.filter(stock => stock.volume > 1000000);
968
+ * console.log(`High volume losers (>1M shares): ${highVolumeLosers.length}`);
969
+ *
970
+ * // Look for potential bounce candidates
971
+ * const oversoldStocks = losers.data.filter(stock =>
972
+ * stock.changesPercentage < -5 && stock.volume > 500000
973
+ * );
974
+ * ```
975
+ *
976
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-biggest-losers-market-overview|FMP Market Biggest Losers Documentation}
1728
977
  */
1729
978
  getLosers(): Promise<APIResponse<MarketPerformance[]>>;
1730
979
  /**
1731
- * Get most active stocks
980
+ * Get most actively traded stocks for the current trading day
981
+ *
982
+ * Provides a list of stocks with the highest trading volume during the
983
+ * current trading session. Essential for identifying stocks with high
984
+ * liquidity, tracking market interest, and discovering stocks with
985
+ * significant trading activity. Useful for day trading and liquidity analysis.
986
+ *
987
+ * @returns Promise resolving to array of most active stocks with volume and price data
988
+ *
989
+ * @example
990
+ * ```typescript
991
+ * // Get most active stocks for the day
992
+ * const mostActive = await fmp.market.getMostActive();
993
+ * console.log(`Top ${mostActive.data.length} most active stocks today:`);
994
+ *
995
+ * mostActive.data.forEach((stock, index) => {
996
+ * console.log(`${index + 1}. ${stock.symbol} (${stock.name})`);
997
+ * console.log(` Volume: ${stock.volume.toLocaleString()} shares`);
998
+ * console.log(` Price: $${stock.price} | Change: ${stock.change} (${stock.changesPercentage}%)`);
999
+ * console.log(` Avg Volume: ${stock.avgVolume?.toLocaleString() || 'N/A'}`);
1000
+ * });
1001
+ *
1002
+ * // Find stocks with unusual volume (>2x average)
1003
+ * const unusualVolume = mostActive.data.filter(stock =>
1004
+ * stock.avgVolume && stock.volume > stock.avgVolume * 2
1005
+ * );
1006
+ * console.log(`Stocks with unusual volume: ${unusualVolume.length}`);
1007
+ *
1008
+ * // Check for high volume gainers
1009
+ * const highVolumeGainers = mostActive.data.filter(stock =>
1010
+ * stock.changesPercentage > 0 && stock.volume > 1000000
1011
+ * );
1012
+ * console.log(`High volume gainers: ${highVolumeGainers.length}`);
1013
+ *
1014
+ * // Find penny stocks with high volume
1015
+ * const pennyStocks = mostActive.data.filter(stock =>
1016
+ * stock.price < 5 && stock.volume > 500000
1017
+ * );
1018
+ * ```
1019
+ *
1020
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-most-actives|FMP Market Most Actives Documentation}
1732
1021
  */
1733
1022
  getMostActive(): Promise<APIResponse<MarketPerformance[]>>;
1734
1023
  /**
1735
- * Get sector performance
1736
- * https://site.financialmodelingprep.com/developer/docs#sector-performance-market-overview
1737
- * @returns The FMP Sector Performance endpoint provides the performance of each sector of the stock market over a specified period of time. This information can be used by investors to identify sectors that are outperforming or underperforming the market.
1024
+ * Get sector performance data for the current trading day
1025
+ *
1026
+ * Provides performance data for all major market sectors including
1027
+ * technology, healthcare, financials, energy, and others. Essential for
1028
+ * sector rotation analysis, identifying leading/lagging sectors, and
1029
+ * understanding market breadth and sector-specific trends.
1030
+ *
1031
+ * @returns Promise resolving to array of sector performance data with percentage changes
1032
+ *
1033
+ * @example
1034
+ * ```typescript
1035
+ * // Get sector performance for the day
1036
+ * const sectorPerformance = await fmp.market.getSectorPerformance();
1037
+ * console.log(`Sector performance for ${sectorPerformance.data.length} sectors:`);
1038
+ *
1039
+ * sectorPerformance.data.forEach(sector => {
1040
+ * const changeColor = sector.changesPercentage >= 0 ? 'green' : 'red';
1041
+ * console.log(`${sector.sector}: ${sector.changesPercentage}%`);
1042
+ * console.log(` Change: ${sector.changesPercentage >= 0 ? '+' : ''}${sector.changesPercentage}%`);
1043
+ * });
1044
+ *
1045
+ * // Find best performing sectors
1046
+ * const topSectors = sectorPerformance.data
1047
+ * .sort((a, b) => b.changesPercentage - a.changesPercentage)
1048
+ * .slice(0, 3);
1049
+ * console.log('Top 3 performing sectors:');
1050
+ * topSectors.forEach((sector, index) => {
1051
+ * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1052
+ * });
1053
+ *
1054
+ * // Find worst performing sectors
1055
+ * const bottomSectors = sectorPerformance.data
1056
+ * .sort((a, b) => a.changesPercentage - b.changesPercentage)
1057
+ * .slice(0, 3);
1058
+ * console.log('Bottom 3 performing sectors:');
1059
+ * bottomSectors.forEach((sector, index) => {
1060
+ * console.log(`${index + 1}. ${sector.sector}: ${sector.changesPercentage}%`);
1061
+ * });
1062
+ *
1063
+ * // Check for sector rotation
1064
+ * const gainingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage > 0);
1065
+ * const losingSectors = sectorPerformance.data.filter(sector => sector.changesPercentage < 0);
1066
+ * console.log(`Sectors gaining: ${gainingSectors.length}, Sectors losing: ${losingSectors.length}`);
1067
+ * ```
1068
+ *
1069
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#sector-performance-market-overview|FMP Sector Performance Documentation}
1738
1070
  */
1739
1071
  getSectorPerformance(): Promise<APIResponse<MarketSectorPerformance[]>>;
1740
1072
  /**
1741
- * Get market indices
1742
- * https://site.financialmodelingprep.com/developer/docs#market-index-market-overview
1743
- * @returns The FMP Market Index endpoint provides a list of all the major stock market indices, such as the S&P 500, the Dow Jones Industrial Average, and the Nasdaq Composite Index. This information can be used by investors to track the performance of the overall stock market and to identify sectors and industries that are outperforming or underperforming the market.
1073
+ * Get real-time data for major market indices
1074
+ *
1075
+ * Provides real-time quote data for all major stock market indices including
1076
+ * S&P 500, Dow Jones Industrial Average, NASDAQ Composite, and other global
1077
+ * indices. Essential for tracking overall market performance, understanding
1078
+ * market sentiment, and identifying broad market trends.
1079
+ *
1080
+ * @returns Promise resolving to array of market index data with real-time quotes
1081
+ *
1082
+ * @example
1083
+ * ```typescript
1084
+ * // Get real-time market indices
1085
+ * const marketIndices = await fmp.market.getMarketIndex();
1086
+ * console.log(`Real-time data for ${marketIndices.data.length} major indices:`);
1087
+ *
1088
+ * marketIndices.data.forEach(index => {
1089
+ * console.log(`${index.symbol} (${index.name}):`);
1090
+ * console.log(` Price: $${index.price}`);
1091
+ * console.log(` Change: ${index.change} (${index.changesPercentage}%)`);
1092
+ * console.log(` Day Range: $${index.dayLow} - $${index.dayHigh}`);
1093
+ * console.log(` Volume: ${index.volume?.toLocaleString() || 'N/A'}`);
1094
+ * });
1095
+ *
1096
+ * // Find specific major indices
1097
+ * const sp500 = marketIndices.data.find(index => index.symbol === '^GSPC');
1098
+ * const nasdaq = marketIndices.data.find(index => index.symbol === '^IXIC');
1099
+ * const dowJones = marketIndices.data.find(index => index.symbol === '^DJI');
1100
+ *
1101
+ * console.log(`S&P 500: ${sp500?.price} (${sp500?.changesPercentage}%)`);
1102
+ * console.log(`NASDAQ: ${nasdaq?.price} (${nasdaq?.changesPercentage}%)`);
1103
+ * console.log(`Dow Jones: ${dowJones?.price} (${dowJones?.changesPercentage}%)`);
1104
+ *
1105
+ * // Check market breadth
1106
+ * const gainingIndices = marketIndices.data.filter(index => index.changesPercentage > 0);
1107
+ * const losingIndices = marketIndices.data.filter(index => index.changesPercentage < 0);
1108
+ * console.log(`Indices gaining: ${gainingIndices.length}, Indices losing: ${losingIndices.length}`);
1109
+ *
1110
+ * // Find international indices
1111
+ * const internationalIndices = marketIndices.data.filter(index =>
1112
+ * !index.symbol.startsWith('^') ||
1113
+ * index.name.toLowerCase().includes('europe') ||
1114
+ * index.name.toLowerCase().includes('asia')
1115
+ * );
1116
+ * ```
1117
+ *
1118
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#market-index-market-overview|FMP Market Index Documentation}
1744
1119
  */
1745
1120
  getMarketIndex(): Promise<APIResponse<MarketIndex[]>>;
1746
1121
  }
@@ -1749,33 +1124,174 @@ declare class ListEndpoints {
1749
1124
  private client;
1750
1125
  constructor(client: FMPClient);
1751
1126
  /**
1752
- * Get stock list
1753
- * https://site.financialmodelingprep.com/developer/docs#symbol-list-stock-list
1754
- * @returns The stock list
1127
+ * Get comprehensive list of all available stocks
1128
+ *
1129
+ * Provides a complete list of all stocks available on major exchanges including
1130
+ * NYSE, NASDAQ, and other global markets. Essential for discovering available
1131
+ * symbols, building watchlists, or creating stock screening applications.
1132
+ *
1133
+ * @returns Promise resolving to array of stock data with symbol, name, exchange, and price information
1134
+ *
1135
+ * @example
1136
+ * ```typescript
1137
+ * // Get all available stocks
1138
+ * const stocks = await fmp.list.getStockList();
1139
+ * console.log(`Total stocks available: ${stocks.data.length}`);
1140
+ *
1141
+ * // Find specific stocks
1142
+ * const appleStock = stocks.data.find(stock => stock.symbol === 'AAPL');
1143
+ * console.log(`Apple: ${appleStock?.name} (${appleStock?.exchange})`);
1144
+ *
1145
+ * // Filter by exchange
1146
+ * const nasdaqStocks = stocks.data.filter(stock => stock.exchange === 'NASDAQ');
1147
+ * console.log(`NASDAQ stocks: ${nasdaqStocks.length}`);
1148
+ * ```
1149
+ *
1150
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#symbol-list-stock-list|FMP Stock List Documentation}
1755
1151
  */
1756
1152
  getStockList(): Promise<APIResponse<StockList[]>>;
1757
1153
  /**
1758
- * Get ETF list
1759
- * https://site.financialmodelingprep.com/developer/docs#exchange-traded-fund-search-stock-list
1760
- * @returns The ETF list
1154
+ * Get comprehensive list of all available ETFs
1155
+ *
1156
+ * Provides a complete list of all Exchange-Traded Funds (ETFs) available for trading.
1157
+ * Includes ETFs from various asset classes including equity, bond, commodity, and
1158
+ * sector-specific funds. Essential for ETF research and portfolio construction.
1159
+ *
1160
+ * @returns Promise resolving to array of ETF data with symbol, name, exchange, and asset class information
1161
+ *
1162
+ * @example
1163
+ * ```typescript
1164
+ * // Get all available ETFs
1165
+ * const etfs = await fmp.list.getETFList();
1166
+ * console.log(`Total ETFs available: ${etfs.data.length}`);
1167
+ *
1168
+ * // Find specific ETFs
1169
+ * const spyETF = etfs.data.find(etf => etf.symbol === 'SPY');
1170
+ * console.log(`SPY: ${spyETF?.name} (${spyETF?.assetClass})`);
1171
+ *
1172
+ * // Filter by asset class
1173
+ * const equityETFs = etfs.data.filter(etf => etf.assetClass === 'Equity');
1174
+ * console.log(`Equity ETFs: ${equityETFs.length}`);
1175
+ *
1176
+ * // Find sector ETFs
1177
+ * const techETFs = etfs.data.filter(etf =>
1178
+ * etf.name.toLowerCase().includes('technology') ||
1179
+ * etf.name.toLowerCase().includes('tech')
1180
+ * );
1181
+ * ```
1182
+ *
1183
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#exchange-traded-fund-search-stock-list|FMP ETF List Documentation}
1761
1184
  */
1762
1185
  getETFList(): Promise<APIResponse<ETFList[]>>;
1763
1186
  /**
1764
- * Get crypto list
1765
- * https://site.financialmodelingprep.com/developer/docs#cryptocurrencies-list-crypto
1766
- * @returns The crypto list
1187
+ * Get comprehensive list of all available cryptocurrencies
1188
+ *
1189
+ * Provides a complete list of all cryptocurrencies available for trading.
1190
+ * Includes major cryptocurrencies like Bitcoin, Ethereum, and thousands of altcoins
1191
+ * with their trading pairs against USD and other major currencies.
1192
+ *
1193
+ * @returns Promise resolving to array of cryptocurrency data with symbol, name, and exchange information
1194
+ *
1195
+ * @example
1196
+ * ```typescript
1197
+ * // Get all available cryptocurrencies
1198
+ * const cryptos = await fmp.list.getCryptoList();
1199
+ * console.log(`Total cryptocurrencies available: ${cryptos.data.length}`);
1200
+ *
1201
+ * // Find major cryptocurrencies
1202
+ * const bitcoin = cryptos.data.find(crypto => crypto.symbol === 'BTCUSD');
1203
+ * console.log(`Bitcoin: ${bitcoin?.name} (${bitcoin?.exchange})`);
1204
+ *
1205
+ * const ethereum = cryptos.data.find(crypto => crypto.symbol === 'ETHUSD');
1206
+ * console.log(`Ethereum: ${ethereum?.name} (${ethereum?.exchange})`);
1207
+ *
1208
+ * // Filter by exchange
1209
+ * const binanceCryptos = cryptos.data.filter(crypto => crypto.exchange === 'Binance');
1210
+ * console.log(`Binance cryptocurrencies: ${binanceCryptos.length}`);
1211
+ *
1212
+ * // Find altcoins
1213
+ * const altcoins = cryptos.data.filter(crypto =>
1214
+ * !['BTCUSD', 'ETHUSD', 'USDTUSD', 'USDCUSD'].includes(crypto.symbol)
1215
+ * );
1216
+ * ```
1217
+ *
1218
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cryptocurrencies-list-crypto|FMP Cryptocurrency List Documentation}
1767
1219
  */
1768
1220
  getCryptoList(): Promise<APIResponse<CryptoList[]>>;
1769
1221
  /**
1770
- * Get forex list
1771
- * https://site.financialmodelingprep.com/developer/docs#forex-list-forex
1772
- * @returns The forex list
1222
+ * Get comprehensive list of all available forex currency pairs
1223
+ *
1224
+ * Provides a complete list of all foreign exchange currency pairs available for trading.
1225
+ * Includes major, minor, and exotic currency pairs with their base and quote currencies.
1226
+ * Essential for forex trading, currency analysis, and international market research.
1227
+ *
1228
+ * @returns Promise resolving to array of forex data with currency pair symbols and exchange information
1229
+ *
1230
+ * @example
1231
+ * ```typescript
1232
+ * // Get all available forex pairs
1233
+ * const forexPairs = await fmp.list.getForexList();
1234
+ * console.log(`Total forex pairs available: ${forexPairs.data.length}`);
1235
+ *
1236
+ * // Find major currency pairs
1237
+ * const eurUsd = forexPairs.data.find(pair => pair.symbol === 'EURUSD');
1238
+ * console.log(`EUR/USD: ${eurUsd?.name} (${eurUsd?.exchange})`);
1239
+ *
1240
+ * const gbpUsd = forexPairs.data.find(pair => pair.symbol === 'GBPUSD');
1241
+ * console.log(`GBP/USD: ${gbpUsd?.name} (${gbpUsd?.exchange})`);
1242
+ *
1243
+ * // Filter major pairs (USD as quote currency)
1244
+ * const majorPairs = forexPairs.data.filter(pair =>
1245
+ * pair.symbol.endsWith('USD') && pair.symbol.length === 6
1246
+ * );
1247
+ * console.log(`Major pairs: ${majorPairs.length}`);
1248
+ *
1249
+ * // Find exotic pairs
1250
+ * const exoticPairs = forexPairs.data.filter(pair =>
1251
+ * pair.symbol.includes('ZAR') || pair.symbol.includes('TRY') || pair.symbol.includes('BRL')
1252
+ * );
1253
+ * ```
1254
+ *
1255
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#forex-list-forex|FMP Forex List Documentation}
1773
1256
  */
1774
1257
  getForexList(): Promise<APIResponse<ForexList[]>>;
1775
1258
  /**
1776
- * Get available indexes list
1777
- * https://site.financialmodelingprep.com/developer/docs#available-indexes
1778
- * @returns The available indexes list
1259
+ * Get comprehensive list of all available market indexes
1260
+ *
1261
+ * Provides a complete list of all market indexes available for tracking and analysis.
1262
+ * Includes major global indexes like S&P 500, NASDAQ, Dow Jones, as well as
1263
+ * international indexes, sector indexes, and specialized market benchmarks.
1264
+ *
1265
+ * @returns Promise resolving to array of index data with symbol, name, and exchange information
1266
+ *
1267
+ * @example
1268
+ * ```typescript
1269
+ * // Get all available indexes
1270
+ * const indexes = await fmp.list.getAvailableIndexes();
1271
+ * console.log(`Total indexes available: ${indexes.data.length}`);
1272
+ *
1273
+ * // Find major US indexes
1274
+ * const sp500 = indexes.data.find(index => index.symbol === '^GSPC');
1275
+ * console.log(`S&P 500: ${sp500?.name} (${sp500?.exchange})`);
1276
+ *
1277
+ * const nasdaq = indexes.data.find(index => index.symbol === '^IXIC');
1278
+ * console.log(`NASDAQ: ${nasdaq?.name} (${nasdaq?.exchange})`);
1279
+ *
1280
+ * const dowJones = indexes.data.find(index => index.symbol === '^DJI');
1281
+ * console.log(`Dow Jones: ${dowJones?.name} (${dowJones?.exchange})`);
1282
+ *
1283
+ * // Filter by exchange
1284
+ * const nyseIndexes = indexes.data.filter(index => index.exchange === 'NYSE');
1285
+ * console.log(`NYSE indexes: ${nyseIndexes.length}`);
1286
+ *
1287
+ * // Find sector indexes
1288
+ * const techIndexes = indexes.data.filter(index =>
1289
+ * index.name.toLowerCase().includes('technology') ||
1290
+ * index.name.toLowerCase().includes('tech')
1291
+ * );
1292
+ * ```
1293
+ *
1294
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#available-indexes|FMP Available Indexes Documentation}
1779
1295
  */
1780
1296
  getAvailableIndexes(): Promise<APIResponse<AvailableIndexesList[]>>;
1781
1297
  }
@@ -1784,206 +1300,786 @@ declare class CalendarEndpoints {
1784
1300
  private client;
1785
1301
  constructor(client: FMPClient);
1786
1302
  /**
1787
- * Get earnings calendar
1788
- * https://site.financialmodelingprep.com/developer/docs#earnings-calendar-earnings
1789
- * @param from - The start date to get the earnings calendar for
1790
- * @param to - The end date to get the earnings calendar for
1791
- * @returns The earnings calendar
1303
+ * Get earnings calendar data
1304
+ *
1305
+ * Provides upcoming earnings announcements for all publicly traded companies
1306
+ * within a specified date range. Essential for tracking earnings season,
1307
+ * market events, and investment timing decisions.
1308
+ *
1309
+ * @param params - Earnings calendar request parameters
1310
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1311
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1312
+ *
1313
+ * @returns Promise resolving to array of earnings calendar data with announcement details
1314
+ *
1315
+ * @example
1316
+ * ```typescript
1317
+ * // Get earnings calendar for next week
1318
+ * const earningsCalendar = await fmp.calendar.getEarningsCalendar({
1319
+ * from: '2024-01-15',
1320
+ * to: '2024-01-22'
1321
+ * });
1322
+ * earningsCalendar.data.forEach(earning => {
1323
+ * console.log(`${earning.date}: ${earning.symbol} - Est. EPS: ${earning.estimatedEps}`);
1324
+ * });
1325
+ *
1326
+ * // Get earnings calendar for current month
1327
+ * const monthlyEarnings = await fmp.calendar.getEarningsCalendar({
1328
+ * from: '2024-01-01',
1329
+ * to: '2024-01-31'
1330
+ * });
1331
+ * ```
1332
+ *
1333
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-calendar-earnings|FMP Earnings Calendar Documentation}
1792
1334
  */
1793
- getEarningsCalendar({ from, to }?: DateRangeParams): Promise<APIResponse<EarningsCalendar[]>>;
1335
+ getEarningsCalendar(params?: {
1336
+ from?: string;
1337
+ to?: string;
1338
+ }): Promise<APIResponse<EarningsCalendar[]>>;
1794
1339
  /**
1795
- * Get earnings confirmed
1796
- * https://site.financialmodelingprep.com/developer/docs#earnings-confirmed-earnings
1797
- * @param from - The start date to get the earnings confirmed for
1798
- * @param to - The end date to get the earnings confirmed for
1799
- * @returns The earnings confirmed
1340
+ * Get confirmed earnings calendar data
1341
+ *
1342
+ * Provides confirmed earnings announcements with verified dates and times.
1343
+ * These are earnings announcements that have been officially confirmed
1344
+ * by companies, providing more reliable scheduling information.
1345
+ *
1346
+ * @param params - Confirmed earnings calendar request parameters
1347
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1348
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1349
+ *
1350
+ * @returns Promise resolving to array of confirmed earnings calendar data
1351
+ *
1352
+ * @example
1353
+ * ```typescript
1354
+ * // Get confirmed earnings for next week
1355
+ * const confirmedEarnings = await fmp.calendar.getEarningsConfirmed({
1356
+ * from: '2024-01-15',
1357
+ * to: '2024-01-22'
1358
+ * });
1359
+ * confirmedEarnings.data.forEach(earning => {
1360
+ * console.log(`${earning.date}: ${earning.symbol} - Confirmed: ${earning.time}`);
1361
+ * });
1362
+ *
1363
+ * // Get confirmed earnings for current month
1364
+ * const monthlyConfirmed = await fmp.calendar.getEarningsConfirmed({
1365
+ * from: '2024-01-01',
1366
+ * to: '2024-01-31'
1367
+ * });
1368
+ * ```
1369
+ *
1370
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-confirmed-earnings|FMP Earnings Confirmed Documentation}
1800
1371
  */
1801
- getEarningsConfirmed({ from, to }?: DateRangeParams): Promise<APIResponse<EarningsConfirmed[]>>;
1372
+ getEarningsConfirmed(params?: {
1373
+ from?: string;
1374
+ to?: string;
1375
+ }): Promise<APIResponse<EarningsConfirmed[]>>;
1802
1376
  /**
1803
- * Get dividends calendar
1804
- * https://site.financialmodelingprep.com/developer/docs#dividends-calendar-dividends
1805
- * @param from - The start date to get the dividends calendar for
1806
- * @param to - The end date to get the dividends calendar for
1807
- * @returns The dividends calendar
1377
+ * Get dividends calendar data
1378
+ *
1379
+ * Provides upcoming dividend payments and ex-dividend dates for all
1380
+ * publicly traded companies within a specified date range. Essential
1381
+ * for dividend investors and income-focused strategies.
1382
+ *
1383
+ * @param params - Dividends calendar request parameters
1384
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1385
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1386
+ *
1387
+ * @returns Promise resolving to array of dividends calendar data with payment details
1388
+ *
1389
+ * @example
1390
+ * ```typescript
1391
+ * // Get dividends calendar for next week
1392
+ * const dividendsCalendar = await fmp.calendar.getDividendsCalendar({
1393
+ * from: '2024-01-15',
1394
+ * to: '2024-01-22'
1395
+ * });
1396
+ * dividendsCalendar.data.forEach(dividend => {
1397
+ * console.log(`${dividend.date}: ${dividend.symbol} - Amount: $${dividend.amount}`);
1398
+ * });
1399
+ *
1400
+ * // Get dividends calendar for current month
1401
+ * const monthlyDividends = await fmp.calendar.getDividendsCalendar({
1402
+ * from: '2024-01-01',
1403
+ * to: '2024-01-31'
1404
+ * });
1405
+ * ```
1406
+ *
1407
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#dividends-calendar-dividends|FMP Dividends Calendar Documentation}
1808
1408
  */
1809
- getDividendsCalendar({ from, to }?: DateRangeParams): Promise<APIResponse<DividendsCalendar[]>>;
1409
+ getDividendsCalendar(params?: {
1410
+ from?: string;
1411
+ to?: string;
1412
+ }): Promise<APIResponse<DividendsCalendar[]>>;
1810
1413
  /**
1811
- * Get economics calendar
1812
- * https://site.financialmodelingprep.com/developer/docs#economics-calendar-economics-data
1813
- * @param from - The start date to get the economics calendar for
1814
- * @param to - The end date to get the economics calendar for
1815
- * @returns The economics calendar
1414
+ * Get economic calendar data
1415
+ *
1416
+ * Provides upcoming economic events, indicators, and data releases
1417
+ * that can impact financial markets. Essential for understanding
1418
+ * market-moving events and economic trends.
1419
+ *
1420
+ * @param params - Economic calendar request parameters
1421
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1422
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1423
+ *
1424
+ * @returns Promise resolving to array of economic calendar data with event details
1425
+ *
1426
+ * @example
1427
+ * ```typescript
1428
+ * // Get economic calendar for next week
1429
+ * const economicCalendar = await fmp.calendar.getEconomicsCalendar({
1430
+ * from: '2024-01-15',
1431
+ * to: '2024-01-22'
1432
+ * });
1433
+ * economicCalendar.data.forEach(event => {
1434
+ * console.log(`${event.date}: ${event.event} - Country: ${event.country}`);
1435
+ * });
1436
+ *
1437
+ * // Get economic calendar for current month
1438
+ * const monthlyEconomic = await fmp.calendar.getEconomicsCalendar({
1439
+ * from: '2024-01-01',
1440
+ * to: '2024-01-31'
1441
+ * });
1442
+ * ```
1443
+ *
1444
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#economics-calendar-economics-data|FMP Economic Calendar Documentation}
1816
1445
  */
1817
- getEconomicsCalendar({ from, to }?: DateRangeParams): Promise<APIResponse<EconomicsCalendar[]>>;
1446
+ getEconomicsCalendar(params?: {
1447
+ from?: string;
1448
+ to?: string;
1449
+ }): Promise<APIResponse<EconomicsCalendar[]>>;
1818
1450
  /**
1819
- * Get IPO calendar
1820
- * https://site.financialmodelingprep.com/developer/docs#ipo-calender-by-ipo-calendar
1821
- * @param from - The start date to get the IPO calendar for
1822
- * @param to - The end date to get the IPO calendar for
1823
- * @returns The IPO calendar
1451
+ * Get IPO calendar data
1452
+ *
1453
+ * Provides upcoming initial public offerings (IPOs) and their details
1454
+ * within a specified date range. Essential for tracking new market
1455
+ * entrants and investment opportunities in newly public companies.
1456
+ *
1457
+ * @param params - IPO calendar request parameters
1458
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1459
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1460
+ *
1461
+ * @returns Promise resolving to array of IPO calendar data with offering details
1462
+ *
1463
+ * @example
1464
+ * ```typescript
1465
+ * // Get IPO calendar for next week
1466
+ * const ipoCalendar = await fmp.calendar.getIPOCalendar({
1467
+ * from: '2024-01-15',
1468
+ * to: '2024-01-22'
1469
+ * });
1470
+ * ipoCalendar.data.forEach(ipo => {
1471
+ * console.log(`${ipo.date}: ${ipo.symbol} - Price: $${ipo.price}, Shares: ${ipo.shares.toLocaleString()}`);
1472
+ * });
1473
+ *
1474
+ * // Get IPO calendar for current month
1475
+ * const monthlyIPOs = await fmp.calendar.getIPOCalendar({
1476
+ * from: '2024-01-01',
1477
+ * to: '2024-01-31'
1478
+ * });
1479
+ * ```
1480
+ *
1481
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#ipo-calender-by-ipo-calendar|FMP IPO Calendar Documentation}
1824
1482
  */
1825
- getIPOCalendar({ from, to }?: DateRangeParams): Promise<APIResponse<IPOCalendar[]>>;
1483
+ getIPOCalendar(params?: {
1484
+ from?: string;
1485
+ to?: string;
1486
+ }): Promise<APIResponse<IPOCalendar[]>>;
1826
1487
  /**
1827
- * Get stock splits calendar
1828
- * https://site.financialmodelingprep.com/developer/docs#splits-calendar-splits
1829
- * @param from - The start date to get the stock splits calendar for
1830
- * @param to - The end date to get the stock splits calendar for
1831
- * @returns The stock splits calendar
1488
+ * Get stock splits calendar data
1489
+ *
1490
+ * Provides upcoming stock splits for publicly traded companies within
1491
+ * a specified date range. Essential for understanding corporate actions
1492
+ * that affect share prices and trading dynamics.
1493
+ *
1494
+ * @param params - Stock splits calendar request parameters
1495
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to today)
1496
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to 30 days from today)
1497
+ *
1498
+ * @returns Promise resolving to array of stock splits calendar data with split details
1499
+ *
1500
+ * @example
1501
+ * ```typescript
1502
+ * // Get stock splits calendar for next week
1503
+ * const splitsCalendar = await fmp.calendar.getSplitsCalendar({
1504
+ * from: '2024-01-15',
1505
+ * to: '2024-01-22'
1506
+ * });
1507
+ * splitsCalendar.data.forEach(split => {
1508
+ * console.log(`${split.date}: ${split.symbol} - Ratio: ${split.numerator}:${split.denominator}`);
1509
+ * });
1510
+ *
1511
+ * // Get stock splits calendar for current month
1512
+ * const monthlySplits = await fmp.calendar.getSplitsCalendar({
1513
+ * from: '2024-01-01',
1514
+ * to: '2024-01-31'
1515
+ * });
1516
+ * ```
1517
+ *
1518
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#splits-calendar-splits|FMP Stock Splits Calendar Documentation}
1832
1519
  */
1833
- getSplitsCalendar({ from, to }?: DateRangeParams): Promise<APIResponse<SplitsCalendar[]>>;
1520
+ getSplitsCalendar(params?: {
1521
+ from?: string;
1522
+ to?: string;
1523
+ }): Promise<APIResponse<SplitsCalendar[]>>;
1834
1524
  }
1835
1525
 
1836
1526
  declare class CompanyEndpoints {
1837
1527
  private client;
1838
1528
  constructor(client: FMPClient);
1839
1529
  /**
1840
- * Get company profile
1841
- * https://site.financialmodelingprep.com/developer/docs#company-profile-company-information
1842
- * @param symbol - The stock symbol to get the profile for
1843
- * @returns Get a comprehensive overview of a company with our Company Profile endpoint. This endpoint provides key information such as price, beta, market capitalization, description, headquarters, and more.
1530
+ * Get comprehensive company profile and information
1531
+ *
1532
+ * Provides detailed company information including financial metrics, business description,
1533
+ * headquarters location, and key performance indicators. Essential for fundamental analysis
1534
+ * and understanding a company's business model and market position.
1535
+ *
1536
+ * @param symbol - The stock symbol to get the profile for (e.g., 'AAPL', 'MSFT', 'GOOGL')
1537
+ *
1538
+ * @returns Promise resolving to comprehensive company profile with financial and business information
1539
+ *
1540
+ * @example
1541
+ * ```typescript
1542
+ * // Get Apple's company profile
1543
+ * const profile = await fmp.company.getCompanyProfile('AAPL');
1544
+ * console.log(`Company: ${profile.data.companyName}`);
1545
+ * console.log(`Industry: ${profile.data.industry}`);
1546
+ * console.log(`Market Cap: $${profile.data.mktCap.toLocaleString()}`);
1547
+ * console.log(`Description: ${profile.data.description.substring(0, 100)}...`);
1548
+ *
1549
+ * // Get Microsoft's profile
1550
+ * const msftProfile = await fmp.company.getCompanyProfile('MSFT');
1551
+ * ```
1552
+ *
1553
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#company-profile-company-information|FMP Company Profile Documentation}
1844
1554
  */
1845
- getCompanyProfile({ symbol }: {
1846
- symbol: string;
1847
- }): Promise<APIResponse<CompanyProfile>>;
1555
+ getCompanyProfile(symbol: string): Promise<APIResponse<CompanyProfile>>;
1848
1556
  /**
1849
- * Get executive compensation
1850
- * https://site.financialmodelingprep.com/developer/docs#executive-compensation-company-information
1851
- * @param symbol - The stock symbol to get the executive compensation for
1852
- * @returns Understand how a company compensates its executives with our Executive Compensation endpoint. This endpoint provides information such as salary, bonus, and stock options for each executive.
1557
+ * Get executive compensation and governance information
1558
+ *
1559
+ * Provides detailed compensation data for company executives including salary, bonuses,
1560
+ * stock options, and other benefits. Essential for governance analysis and understanding
1561
+ * executive pay structures and alignment with shareholder interests.
1562
+ *
1563
+ * @param symbol - The stock symbol to get executive compensation for (e.g., 'AAPL', 'MSFT', 'TSLA')
1564
+ *
1565
+ * @returns Promise resolving to array of executive compensation data with detailed pay information
1566
+ *
1567
+ * @example
1568
+ * ```typescript
1569
+ * // Get Apple's executive compensation
1570
+ * const compensation = await fmp.company.getExecutiveCompensation('AAPL');
1571
+ * compensation.data.forEach(exec => {
1572
+ * console.log(`${exec.name} (${exec.title}):`);
1573
+ * console.log(` Salary: $${exec.salary.toLocaleString()}`);
1574
+ * console.log(` Bonus: $${exec.bonus.toLocaleString()}`);
1575
+ * console.log(` Stock Options: $${exec.stockAwards.toLocaleString()}`);
1576
+ * });
1577
+ *
1578
+ * // Get Tesla's executive compensation
1579
+ * const teslaComp = await fmp.company.getExecutiveCompensation('TSLA');
1580
+ * ```
1581
+ *
1582
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#executive-compensation-company-information|FMP Executive Compensation Documentation}
1853
1583
  */
1854
- getExecutiveCompensation({ symbol, }: {
1855
- symbol: string;
1856
- }): Promise<APIResponse<ExecutiveCompensation[]>>;
1584
+ getExecutiveCompensation(symbol: string): Promise<APIResponse<ExecutiveCompensation[]>>;
1857
1585
  /**
1858
- * Get company notes
1859
- * https://site.financialmodelingprep.com/developer/docs#company-notes-company-information
1860
- * @param symbol - The stock symbol to get the notes for
1861
- * @returns Stay up-to-date on a company's financial condition, operations, and risks with our Company Notes endpoint. This endpoint provides information about notes reported by a company in their financial statements.
1586
+ * Get company notes and financial disclosures
1587
+ *
1588
+ * Provides important notes and disclosures from company financial statements.
1589
+ * These notes contain critical information about accounting policies, risks,
1590
+ * contingencies, and other material information that affects financial analysis.
1591
+ *
1592
+ * @param symbol - The stock symbol to get notes for (e.g., 'AAPL', 'MSFT', 'JPM')
1593
+ *
1594
+ * @returns Promise resolving to array of company notes with detailed disclosure information
1595
+ *
1596
+ * @example
1597
+ * ```typescript
1598
+ * // Get Apple's company notes
1599
+ * const notes = await fmp.company.getCompanyNotes('AAPL');
1600
+ * notes.data.forEach(note => {
1601
+ * console.log(`Note ${note.noteNumber}: ${note.noteTitle}`);
1602
+ * console.log(` Content: ${note.noteContent.substring(0, 100)}...`);
1603
+ * });
1604
+ *
1605
+ * // Get JPMorgan's notes
1606
+ * const jpmNotes = await fmp.company.getCompanyNotes('JPM');
1607
+ * ```
1608
+ *
1609
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#company-notes-company-information|FMP Company Notes Documentation}
1862
1610
  */
1863
- getCompanyNotes({ symbol }: {
1864
- symbol: string;
1865
- }): Promise<APIResponse<CompanyNotes[]>>;
1611
+ getCompanyNotes(symbol: string): Promise<APIResponse<CompanyNotes[]>>;
1612
+ /**
1613
+ * Get historical employee count data
1614
+ *
1615
+ * Provides historical data on company employee counts over time.
1616
+ * Useful for analyzing company growth, operational efficiency, and workforce trends.
1617
+ * Employee count is often a key indicator of company expansion or contraction.
1618
+ *
1619
+ * @param symbol - The stock symbol to get historical employee count for (e.g., 'AAPL', 'MSFT', 'AMZN')
1620
+ *
1621
+ * @returns Promise resolving to array of historical employee count data with year-by-year information
1622
+ *
1623
+ * @example
1624
+ * ```typescript
1625
+ * // Get Apple's employee count history
1626
+ * const employees = await fmp.company.getHistoricalEmployeeCount('AAPL');
1627
+ * employees.data.forEach(year => {
1628
+ * console.log(`${year.year}: ${year.employeeCount.toLocaleString()} employees`);
1629
+ * });
1630
+ *
1631
+ * // Get Amazon's employee growth
1632
+ * const amazonEmployees = await fmp.company.getHistoricalEmployeeCount('AMZN');
1633
+ * ```
1634
+ *
1635
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#historical-employee-company-information|FMP Historical Employee Count Documentation}
1636
+ */
1637
+ getHistoricalEmployeeCount(symbol: string): Promise<APIResponse<HistoricalEmployeeCount[]>>;
1866
1638
  /**
1867
- * Get historical employee count
1868
- * https://site.financialmodelingprep.com/developer/docs#historical-employee-company-information
1869
- * @param symbol - The stock symbol to get the historical employee count for
1870
- * @returns Track a company's employee count over time with our Historical Employee Count endpoint. This endpoint provides information about the number of employees a company has had each year.
1639
+ * Get current shares float information
1640
+ *
1641
+ * Provides the total number of shares that are publicly traded (float) for a company.
1642
+ * The float is calculated by subtracting restricted shares from total outstanding shares.
1643
+ * Important for understanding liquidity, volatility, and trading dynamics.
1644
+ *
1645
+ * @param symbol - The stock symbol to get shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
1646
+ *
1647
+ * @returns Promise resolving to shares float data with current float information
1648
+ *
1649
+ * @example
1650
+ * ```typescript
1651
+ * // Get Apple's shares float
1652
+ * const float = await fmp.company.getSharesFloat('AAPL');
1653
+ * console.log(`Float: ${float.data.sharesFloat.toLocaleString()} shares`);
1654
+ * console.log(`Outstanding: ${float.data.sharesOutstanding.toLocaleString()} shares`);
1655
+ * console.log(`Restricted: ${float.data.restrictedShares.toLocaleString()} shares`);
1656
+ *
1657
+ * // Get Tesla's float
1658
+ * const teslaFloat = await fmp.company.getSharesFloat('TSLA');
1659
+ * ```
1660
+ *
1661
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#company-share-float-share-float|FMP Shares Float Documentation}
1871
1662
  */
1872
- getHistoricalEmployeeCount({ symbol, }: {
1873
- symbol: string;
1874
- }): Promise<APIResponse<HistoricalEmployeeCount[]>>;
1663
+ getSharesFloat(symbol: string): Promise<APIResponse<SharesFloat>>;
1664
+ /**
1665
+ * Get historical shares float data
1666
+ *
1667
+ * Provides historical data on company shares float over time.
1668
+ * Useful for analyzing changes in liquidity, share issuance, and corporate actions
1669
+ * that affect the number of publicly traded shares.
1670
+ *
1671
+ * @param symbol - The stock symbol to get historical shares float for (e.g., 'AAPL', 'TSLA', 'NVDA')
1672
+ *
1673
+ * @returns Promise resolving to array of historical shares float data with date-by-date information
1674
+ *
1675
+ * @example
1676
+ * ```typescript
1677
+ * // Get Apple's historical float
1678
+ * const historicalFloat = await fmp.company.getHistoricalSharesFloat('AAPL');
1679
+ * historicalFloat.data.forEach(entry => {
1680
+ * console.log(`${entry.date}: ${entry.sharesFloat.toLocaleString()} shares`);
1681
+ * });
1682
+ *
1683
+ * // Get Tesla's float history
1684
+ * const teslaHistory = await fmp.company.getHistoricalSharesFloat('TSLA');
1685
+ * ```
1686
+ *
1687
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#company-historical-share-float|FMP Historical Shares Float Documentation}
1688
+ */
1689
+ getHistoricalSharesFloat(symbol: string): Promise<APIResponse<HistoricalSharesFloat[]>>;
1875
1690
  /**
1876
- * Get shares float
1877
- * https://site.financialmodelingprep.com/developer/docs#company-share-float-share-float
1878
- * @param symbol - The stock symbol to get the shares float for
1879
- * @returns The FMP Company Share Float endpoint provides the total number of shares that are publicly traded for a given company. This is also known as the company's float. The float is calculated by subtracting the number of restricted shares from the total number of outstanding shares.
1691
+ * Get earnings call transcript for specific quarter
1692
+ *
1693
+ * Provides the full transcript of a company's earnings conference call.
1694
+ * Contains detailed Q&A sessions, management commentary, and insights into
1695
+ * company performance, strategy, and future outlook.
1696
+ *
1697
+ * @param params - Earnings call transcript request parameters
1698
+ * @param params.symbol - The stock symbol to get transcript for (e.g., 'AAPL', 'MSFT', 'TSLA')
1699
+ * @param params.year - The year of the earnings call (e.g., 2024)
1700
+ * @param params.quarter - The quarter of the earnings call (1, 2, 3, or 4)
1701
+ *
1702
+ * @returns Promise resolving to earnings call transcript with full text content
1703
+ *
1704
+ * @example
1705
+ * ```typescript
1706
+ * // Get Apple's Q1 2024 earnings call
1707
+ * const transcript = await fmp.company.getEarningsCallTranscript({
1708
+ * symbol: 'AAPL',
1709
+ * year: 2024,
1710
+ * quarter: 1
1711
+ * });
1712
+ * console.log(`Transcript: ${transcript.data[0].content.substring(0, 200)}...`);
1713
+ *
1714
+ * // Get Tesla's Q4 2023 earnings call
1715
+ * const teslaTranscript = await fmp.company.getEarningsCallTranscript({
1716
+ * symbol: 'TSLA',
1717
+ * year: 2023,
1718
+ * quarter: 4
1719
+ * });
1720
+ * ```
1721
+ *
1722
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#earnings-transcript-earnings-transcripts|FMP Earnings Call Transcript Documentation}
1880
1723
  */
1881
- getSharesFloat({ symbol }: {
1724
+ getEarningsCallTranscript(params: {
1882
1725
  symbol: string;
1883
- }): Promise<APIResponse<SharesFloat>>;
1726
+ year: number;
1727
+ quarter: number;
1728
+ }): Promise<APIResponse<EarningsCallTranscript[]>>;
1729
+ /**
1730
+ * Get available earnings call transcript dates
1731
+ *
1732
+ * Provides a list of all available earnings call transcript dates for a company.
1733
+ * Useful for discovering which quarters have transcripts available before
1734
+ * requesting the full transcript content.
1735
+ *
1736
+ * @param symbol - The stock symbol to get transcript dates for (e.g., 'AAPL', 'MSFT', 'TSLA')
1737
+ *
1738
+ * @returns Promise resolving to array of available transcript dates with quarter information
1739
+ *
1740
+ * @example
1741
+ * ```typescript
1742
+ * // Get Apple's available transcript dates
1743
+ * const transcriptDates = await fmp.company.getCompanyTranscriptData('AAPL');
1744
+ * transcriptDates.data.forEach(date => {
1745
+ * console.log(`Q${date.quarter} ${date.year}: ${date.date}`);
1746
+ * });
1747
+ *
1748
+ * // Get Microsoft's transcript availability
1749
+ * const msftDates = await fmp.company.getCompanyTranscriptData('MSFT');
1750
+ * ```
1751
+ *
1752
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#transcript-dates-earnings-transcripts|FMP Company Transcript Data Documentation}
1753
+ */
1754
+ getCompanyTranscriptData(symbol: string): Promise<APIResponse<CompanyTranscriptData[]>>;
1755
+ }
1756
+
1757
+ declare class QuoteEndpoints {
1758
+ private client;
1759
+ constructor(client: FMPClient);
1884
1760
  /**
1885
- * Get historical shares float
1886
- * https://site.financialmodelingprep.com/developer/docs#company-historical-share-float
1887
- * @param symbol - The stock symbol to get the historical shares float for
1888
- * @returns The FMP Historical Share Float endpoint provides historical data on the number of shares that are publicly traded for a given company. This is also known as the company's float. The float is calculated by subtracting the number of restricted shares from the total number of outstanding shares.
1761
+ * Get real-time quote data for any asset type (stocks, crypto, forex, commodities, ETFs)
1762
+ *
1763
+ * This endpoint provides current market data including price, volume, market cap, and key metrics.
1764
+ * Works with any valid symbol across all supported asset classes.
1765
+ *
1766
+ * @param symbol - The trading symbol (e.g., 'AAPL', 'BTCUSD', 'EURUSD', 'GCUSD', 'SPY')
1767
+ *
1768
+ * @returns Promise resolving to quote data with current price, volume, market cap, and performance metrics
1769
+ *
1770
+ * @example
1771
+ * ```typescript
1772
+ * // Get stock quote
1773
+ * const aaplQuote = await fmp.quote.getQuote('AAPL');
1774
+ *
1775
+ * // Get crypto quote
1776
+ * const btcQuote = await fmp.quote.getQuote('BTCUSD');
1777
+ *
1778
+ * // Get forex quote
1779
+ * const eurQuote = await fmp.quote.getQuote('EURUSD');
1780
+ * ```
1889
1781
  */
1890
- getHistoricalSharesFloat({ symbol, }: {
1782
+ getQuote(symbol: string): Promise<APIResponse<Quote>>;
1783
+ /**
1784
+ * Get historical price data for any asset type with customizable date range
1785
+ *
1786
+ * Retrieves daily OHLCV (Open, High, Low, Close, Volume) data for the specified symbol.
1787
+ * Data includes adjusted close prices, volume, and percentage changes.
1788
+ *
1789
+ * @param params - Historical price request parameters
1790
+ * @param params.symbol - The trading symbol to get historical data for
1791
+ * @param params.from - Start date in YYYY-MM-DD format (optional, defaults to 1 year ago)
1792
+ * @param params.to - End date in YYYY-MM-DD format (optional, defaults to today)
1793
+ *
1794
+ * @returns Promise resolving to historical price data with daily OHLCV information
1795
+ *
1796
+ * @example
1797
+ * ```typescript
1798
+ * // Get last year's data
1799
+ * const history = await fmp.quote.getHistoricalPrice({
1800
+ * symbol: 'AAPL',
1801
+ * from: '2023-01-01',
1802
+ * to: '2023-12-31'
1803
+ * });
1804
+ *
1805
+ * // Get recent data (last 30 days)
1806
+ * const recent = await fmp.quote.getHistoricalPrice({
1807
+ * symbol: 'BTCUSD',
1808
+ * from: '2024-01-01'
1809
+ * });
1810
+ * ```
1811
+ */
1812
+ getHistoricalPrice(params: {
1891
1813
  symbol: string;
1892
- }): Promise<APIResponse<HistoricalSharesFloat[]>>;
1814
+ from?: string;
1815
+ to?: string;
1816
+ }): Promise<APIResponse<HistoricalPriceResponse>>;
1893
1817
  /**
1894
- * Get earnings call transcript
1895
- * https://site.financialmodelingprep.com/developer/docs#earnings-transcript-earnings-transcripts
1896
- * @param symbol - The stock symbol to get the earnings call transcript for
1897
- * @param year - The year of the earnings call
1898
- * @param quarter - The quarter of the earnings call
1899
- * @returns The FMP Earnings Call Transcript endpoint provides the transcript of a company's earnings call.
1818
+ * Get real-time quotes for multiple symbols in a single request
1819
+ *
1820
+ * Efficiently retrieve quote data for multiple assets across different asset classes.
1821
+ * Useful for portfolio tracking, market monitoring, or batch data collection.
1822
+ *
1823
+ * @param symbols - Array of trading symbols to get quotes for
1824
+ *
1825
+ * @returns Promise resolving to an array of quote data for all requested symbols
1826
+ *
1827
+ * @example
1828
+ * ```typescript
1829
+ * // Get quotes for a mixed portfolio
1830
+ * const quotes = await fmp.quote.getQuotes([
1831
+ * 'AAPL', // Stock
1832
+ * 'BTCUSD', // Crypto
1833
+ * 'EURUSD', // Forex
1834
+ * 'SPY' // ETF
1835
+ * ]);
1836
+ *
1837
+ * // Get quotes for tech stocks
1838
+ * const techQuotes = await fmp.quote.getQuotes([
1839
+ * 'AAPL', 'MSFT', 'GOOGL', 'AMZN', 'TSLA'
1840
+ * ]);
1841
+ * ```
1900
1842
  */
1901
- getEarningsCallTranscript({ symbol, year, quarter, }: {
1902
- symbol: string;
1903
- year: number;
1904
- quarter: number;
1905
- }): Promise<APIResponse<EarningsCallTranscript[]>>;
1843
+ getQuotes(symbols: string[]): Promise<APIResponse<Quote[]>>;
1906
1844
  /**
1907
- * Get company transcript dates
1908
- * https://site.financialmodelingprep.com/developer/docs#transcript-dates-earnings-transcripts
1909
- * @param symbol - The stock symbol to get the transcript data for
1910
- * @returns The FMP Company Transcript Data endpoint provides the transcript data for a company's earnings call.
1911
- */
1912
- getCompanyTranscriptData({ symbol, }: {
1845
+ * Get intraday price data with customizable time intervals
1846
+ *
1847
+ * Retrieves intraday OHLCV data at specified intervals (1min to 4hour).
1848
+ * Perfect for technical analysis, day trading, or short-term price monitoring.
1849
+ *
1850
+ * @param params - Intraday request parameters
1851
+ * @param params.symbol - The trading symbol to get intraday data for
1852
+ * @param params.interval - Time interval: '1min', '5min', '15min', '30min', '1hour', or '4hour'
1853
+ * @param params.from - Start date in YYYY-MM-DD format (optional)
1854
+ * @param params.to - End date in YYYY-MM-DD format (optional)
1855
+ *
1856
+ * @returns Promise resolving to intraday price data with OHLCV information at specified intervals
1857
+ *
1858
+ * @example
1859
+ * ```typescript
1860
+ * // Get 5-minute intraday data for today
1861
+ * const intraday = await fmp.quote.getIntraday({
1862
+ * symbol: 'AAPL',
1863
+ * interval: '5min',
1864
+ * from: '2024-01-15'
1865
+ * });
1866
+ *
1867
+ * // Get 1-hour data for crypto
1868
+ * const cryptoIntraday = await fmp.quote.getIntraday({
1869
+ * symbol: 'BTCUSD',
1870
+ * interval: '1hour',
1871
+ * from: '2024-01-10',
1872
+ * to: '2024-01-15'
1873
+ * });
1874
+ * ```
1875
+ */
1876
+ getIntraday(params: {
1913
1877
  symbol: string;
1914
- }): Promise<APIResponse<CompanyTranscriptData[]>>;
1878
+ interval: '1min' | '5min' | '15min' | '30min' | '1hour' | '4hour';
1879
+ from?: string;
1880
+ to?: string;
1881
+ }): Promise<APIResponse<HistoricalPriceData[]>>;
1915
1882
  }
1916
1883
 
1917
- declare class QuoteEndpoints {
1884
+ declare class SenateHouseEndpoints {
1918
1885
  private client;
1919
1886
  constructor(client: FMPClient);
1920
1887
  /**
1921
- * Get quote for any asset type (stock, crypto, forex, commodity, ETF)
1922
- * @param params - Parameters for the quote request
1923
- * @returns Quote data for the specified asset
1888
+ * Get senate trading data for a specific stock symbol
1889
+ *
1890
+ * Provides detailed information about senate members' trading activities for a specific stock.
1891
+ * Includes transaction details, amounts, dates, and ownership information for transparency
1892
+ * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
1893
+ *
1894
+ * @param params - Senate trading request parameters
1895
+ * @param params.symbol - The stock symbol to get senate trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
1896
+ *
1897
+ * @returns Promise resolving to array of senate trading data with transaction details
1898
+ *
1899
+ * @example
1900
+ * ```typescript
1901
+ * // Get senate trading data for Apple
1902
+ * const appleSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'AAPL' });
1903
+ * appleSenateTrading.data.forEach(trade => {
1904
+ * console.log(`${trade.firstName} ${trade.lastName} (${trade.office}):`);
1905
+ * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
1906
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
1907
+ * });
1908
+ *
1909
+ * // Get senate trading data for Tesla
1910
+ * const teslaSenateTrading = await fmp.senateHouse.getSenateTrading({ symbol: 'TSLA' });
1911
+ * ```
1912
+ *
1913
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#senate-trading|FMP Senate Trading Documentation}
1914
+ */
1915
+ getSenateTrading(params: {
1916
+ symbol: string;
1917
+ }): Promise<APIResponse<SenateTradingResponse[]>>;
1918
+ /**
1919
+ * Get senate trading RSS feed with pagination
1920
+ *
1921
+ * Provides a paginated RSS feed of all senate trading activities across all stocks.
1922
+ * Useful for monitoring congressional trading activities, compliance tracking,
1923
+ * and transparency reporting. Returns recent trading disclosures from senate members.
1924
+ *
1925
+ * @param params - Senate trading RSS feed request parameters
1926
+ * @param params.page - The page number to retrieve (starts from 0)
1927
+ *
1928
+ * @returns Promise resolving to array of senate trading data from RSS feed
1929
+ *
1930
+ * @example
1931
+ * ```typescript
1932
+ * // Get first page of senate trading RSS feed
1933
+ * const firstPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
1934
+ * console.log(`First page: ${firstPage.data.length} trading activities`);
1935
+ *
1936
+ * // Get second page of senate trading RSS feed
1937
+ * const secondPage = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 1 });
1938
+ * console.log(`Second page: ${secondPage.data.length} trading activities`);
1939
+ *
1940
+ * // Get recent senate trading activities
1941
+ * const recentTrades = await fmp.senateHouse.getSenateTradingRSSFeed({ page: 0 });
1942
+ * recentTrades.data.forEach(trade => {
1943
+ * console.log(`${trade.firstName} ${trade.lastName}: ${trade.type} ${trade.amount}`);
1944
+ * });
1945
+ * ```
1946
+ *
1947
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#senate-trading-rss-feed-senate|FMP Senate Trading RSS Feed Documentation}
1924
1948
  */
1925
- getQuote(params: QuoteParams): Promise<APIResponse<Quote>>;
1949
+ getSenateTradingRSSFeed(params: {
1950
+ page: number;
1951
+ }): Promise<APIResponse<SenateTradingResponse[]>>;
1926
1952
  /**
1927
- * Get historical prices for any asset type
1928
- * @param params - Parameters for the historical price request
1929
- * @returns Historical price data for the specified asset
1953
+ * Get senate trading data for a specific senator by name
1954
+ *
1955
+ * Provides detailed trading activities for a specific senate member across all stocks.
1956
+ * Useful for tracking individual senator's trading patterns, compliance monitoring,
1957
+ * and transparency reporting. Returns all trading disclosures for the specified senator.
1958
+ *
1959
+ * @param params - Senate trading by name request parameters
1960
+ * @param params.name - The name of the senator to get trading data for (e.g., 'John Smith', 'Jane Doe')
1961
+ *
1962
+ * @returns Promise resolving to array of senate trading data for the specified senator
1963
+ *
1964
+ * @example
1965
+ * ```typescript
1966
+ * // Get trading data for Senator John Smith
1967
+ * const johnSmithTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'John Smith' });
1968
+ * johnSmithTrades.data.forEach(trade => {
1969
+ * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
1970
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
1971
+ * console.log(` Asset: ${trade.assetDescription}`);
1972
+ * });
1973
+ *
1974
+ * // Get trading data for Senator Jane Doe
1975
+ * const janeDoeTrades = await fmp.senateHouse.getSenateTradingByName({ name: 'Jane Doe' });
1976
+ * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
1977
+ * ```
1978
+ *
1979
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#senate-trading-by-name|FMP Senate Trading by Name Documentation}
1930
1980
  */
1931
- getHistoricalPrice(params: HistoricalPriceParams): Promise<APIResponse<HistoricalPriceResponse>>;
1981
+ getSenateTradingByName(params: {
1982
+ name: string;
1983
+ }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
1932
1984
  /**
1933
- * Get multiple quotes for any asset type
1934
- * @param symbols - Array of symbols to get quotes for
1935
- * @returns Array of quote data
1985
+ * Get house trading data for a specific stock symbol
1986
+ *
1987
+ * Provides detailed information about house representatives' trading activities for a specific stock.
1988
+ * Includes transaction details, amounts, dates, and district information for transparency
1989
+ * and compliance with the STOCK Act (Stop Trading on Congressional Knowledge).
1990
+ *
1991
+ * @param params - House trading request parameters
1992
+ * @param params.symbol - The stock symbol to get house trading data for (e.g., 'AAPL', 'MSFT', 'TSLA')
1993
+ *
1994
+ * @returns Promise resolving to array of house trading data with transaction details
1995
+ *
1996
+ * @example
1997
+ * ```typescript
1998
+ * // Get house trading data for Apple
1999
+ * const appleHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'AAPL' });
2000
+ * appleHouseTrading.data.forEach(trade => {
2001
+ * console.log(`${trade.representative} (District ${trade.district}):`);
2002
+ * console.log(` ${trade.type} ${trade.amount} of ${trade.assetDescription}`);
2003
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
2004
+ * });
2005
+ *
2006
+ * // Get house trading data for Microsoft
2007
+ * const msftHouseTrading = await fmp.senateHouse.getHouseTrading({ symbol: 'MSFT' });
2008
+ * console.log(`Microsoft house trading activities: ${msftHouseTrading.data.length}`);
2009
+ * ```
2010
+ *
2011
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#house-disclosure|FMP House Trading Documentation}
1936
2012
  */
1937
- getQuotes(symbols: string[]): Promise<APIResponse<Quote[]>>;
2013
+ getHouseTrading(params: {
2014
+ symbol: string;
2015
+ }): Promise<APIResponse<HouseTradingResponse[]>>;
1938
2016
  /**
1939
- * Get intraday data for any asset type
1940
- * @param params - Parameters for the intraday request
1941
- * @returns Intraday price data for the specified asset
2017
+ * Get house trading RSS feed with pagination
2018
+ *
2019
+ * Provides a paginated RSS feed of all house trading activities across all stocks.
2020
+ * Useful for monitoring congressional trading activities, compliance tracking,
2021
+ * and transparency reporting. Returns recent trading disclosures from house representatives.
2022
+ *
2023
+ * @param params - House trading RSS feed request parameters
2024
+ * @param params.page - The page number to retrieve (starts from 0)
2025
+ *
2026
+ * @returns Promise resolving to array of house trading data from RSS feed
2027
+ *
2028
+ * @example
2029
+ * ```typescript
2030
+ * // Get first page of house trading RSS feed
2031
+ * const firstPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
2032
+ * console.log(`First page: ${firstPage.data.length} trading activities`);
2033
+ *
2034
+ * // Get second page of house trading RSS feed
2035
+ * const secondPage = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 1 });
2036
+ * console.log(`Second page: ${secondPage.data.length} trading activities`);
2037
+ *
2038
+ * // Get recent house trading activities
2039
+ * const recentTrades = await fmp.senateHouse.getHouseTradingRSSFeed({ page: 0 });
2040
+ * recentTrades.data.forEach(trade => {
2041
+ * console.log(`${trade.representative} (District ${trade.district}): ${trade.type} ${trade.amount}`);
2042
+ * });
2043
+ * ```
2044
+ *
2045
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#house-disclosure-rss-feed-senate|FMP House Trading RSS Feed Documentation}
1942
2046
  */
1943
- getIntraday(params: IntradayParams): Promise<APIResponse<HistoricalPriceData[]>>;
1944
- }
1945
-
1946
- declare class SenateHouseEndpoints {
1947
- private client;
1948
- constructor(client: FMPClient);
2047
+ getHouseTradingRSSFeed(params: {
2048
+ page: number;
2049
+ }): Promise<APIResponse<HouseTradingResponse[]>>;
1949
2050
  /**
1950
- * Get senate trading data only
1951
- * https://site.financialmodelingprep.com/developer/docs#senate-trading
1952
- * @param symbol - The stock symbol to get the senate trading data for
1953
- * @returns Senate trading data only
1954
- */
1955
- getSenateTrading(params: SenateHouseTradingParams): Promise<APIResponse<SenateTradingResponse[]>>;
1956
- /** Get senate trading RSS feed
1957
- * https://site.financialmodelingprep.com/developer/docs#senate-trading-rss-feed-senate
1958
- * @param page - The page number to get
1959
- * @returns Senate trading RSS feed
1960
- */
1961
- getSenateTradingRSSFeed(params: SenateHouseTradingRSSFeedParams): Promise<APIResponse<SenateTradingResponse[]>>;
1962
- /** Get Senate trades by name
1963
- * https://site.financialmodelingprep.com/developer/docs/stable#senate-trading-by-name
1964
- * @param name - The name of the senator to get the trades for
1965
- * @returns Senate trades by name
1966
- */
1967
- getSenateTradingByName(params: SenateHouseTradingByNameParams): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
1968
- /**
1969
- * Get house trading data only
1970
- * https://site.financialmodelingprep.com/developer/docs#house-disclosure
1971
- * @param symbol - The stock symbol to get the house trading data for
1972
- * @returns House trading data only
1973
- */
1974
- getHouseTrading(params: SenateHouseTradingParams): Promise<APIResponse<HouseTradingResponse[]>>;
1975
- /** Get house trading RSS feed
1976
- * https://site.financialmodelingprep.com/developer/docs#house-disclosure-rss-feed-senate
1977
- * @param page - The page number to get
1978
- * @returns House trading RSS feed
1979
- */
1980
- getHouseTradingRSSFeed(params: SenateHouseTradingRSSFeedParams): Promise<APIResponse<HouseTradingResponse[]>>;
1981
- /** Get house trading by name
1982
- * https://site.financialmodelingprep.com/developer/docs/stable#house-trading-by-name
1983
- * @param name - The name of the representative to get the trades for
1984
- * @returns House trading by name
1985
- */
1986
- getHouseTradingByName(params: SenateHouseTradingByNameParams): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
2051
+ * Get house trading data for a specific representative by name
2052
+ *
2053
+ * Provides detailed trading activities for a specific house representative across all stocks.
2054
+ * Useful for tracking individual representative's trading patterns, compliance monitoring,
2055
+ * and transparency reporting. Returns all trading disclosures for the specified representative.
2056
+ *
2057
+ * @param params - House trading by name request parameters
2058
+ * @param params.name - The name of the representative to get trading data for (e.g., 'John Smith', 'Jane Doe')
2059
+ *
2060
+ * @returns Promise resolving to array of house trading data for the specified representative
2061
+ *
2062
+ * @example
2063
+ * ```typescript
2064
+ * // Get trading data for Representative John Smith
2065
+ * const johnSmithTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'John Smith' });
2066
+ * johnSmithTrades.data.forEach(trade => {
2067
+ * console.log(`${trade.symbol}: ${trade.type} ${trade.amount}`);
2068
+ * console.log(` Transaction Date: ${trade.transactionDate}`);
2069
+ * console.log(` Asset: ${trade.assetDescription}`);
2070
+ * console.log(` District: ${trade.district}`);
2071
+ * });
2072
+ *
2073
+ * // Get trading data for Representative Jane Doe
2074
+ * const janeDoeTrades = await fmp.senateHouse.getHouseTradingByName({ name: 'Jane Doe' });
2075
+ * console.log(`Jane Doe has ${janeDoeTrades.data.length} trading activities`);
2076
+ * ```
2077
+ *
2078
+ * @see {@link https://site.financialmodelingprep.com/developer/docs/stable#house-trading-by-name|FMP House Trading by Name Documentation}
2079
+ */
2080
+ getHouseTradingByName(params: {
2081
+ name: string;
2082
+ }): Promise<APIResponse<SenateHouseTradingByNameResponse[]>>;
1987
2083
  }
1988
2084
 
1989
2085
  declare class InstitutionalEndpoints {
@@ -1991,100 +2087,437 @@ declare class InstitutionalEndpoints {
1991
2087
  constructor(client: FMPClient);
1992
2088
  /**
1993
2089
  * Get Form 13F institutional stock ownership data
1994
- * https://site.financialmodelingprep.com/developer/docs#form-13f-13f---institutional-stock-ownership
1995
- * @param symbol - The stock symbol to get the Form 13F data for
1996
- * @param date - The date to get the Form 13F data for (optional)
1997
- * @returns Form 13F institutional stock ownership data
2090
+ *
2091
+ * Provides Form 13F institutional stock ownership data for investment
2092
+ * managers with over $100 million in assets under management. Essential
2093
+ * for analyzing institutional investment patterns and holdings.
2094
+ *
2095
+ * @param params - Form 13F request parameters
2096
+ * @param params.cik - Central Index Key (CIK) of the investment manager
2097
+ * @param params.date - Specific date in YYYY-MM-DD format (optional, defaults to most recent filing)
2098
+ *
2099
+ * @returns Promise resolving to array of Form 13F institutional ownership data
2100
+ *
2101
+ * @example
2102
+ * ```typescript
2103
+ * // Get Berkshire Hathaway's Form 13F data
2104
+ * const berkshire13F = await fmp.institutional.getForm13F({
2105
+ * cik: '0001067983'
2106
+ * });
2107
+ * berkshire13F.data.forEach(holding => {
2108
+ * console.log(`${holding.issuerName}: ${holding.value.toLocaleString()} shares, $${holding.value.toLocaleString()}`);
2109
+ * });
2110
+ *
2111
+ * // Get Form 13F data for specific date
2112
+ * const historical13F = await fmp.institutional.getForm13F({
2113
+ * cik: '0001067983',
2114
+ * date: '2023-12-31'
2115
+ * });
2116
+ *
2117
+ * // Get BlackRock's Form 13F data
2118
+ * const blackrock13F = await fmp.institutional.getForm13F({
2119
+ * cik: '0001364742'
2120
+ * });
2121
+ * ```
2122
+ *
2123
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-13f---institutional-stock-ownership|FMP Form 13F Documentation}
1998
2124
  */
1999
- getForm13F(params: Form13FParams): Promise<APIResponse<Form13FResponse[]>>;
2125
+ getForm13F(params: {
2126
+ cik: string;
2127
+ date?: string;
2128
+ }): Promise<APIResponse<Form13FResponse[]>>;
2000
2129
  /**
2001
- * Get Form 13F dates for institutional stock ownership
2002
- * https://site.financialmodelingprep.com/developer/docs#form-13f-dates-13f---institutional-stock-ownership
2003
- * @param symbol - The stock symbol to get the Form 13F dates for
2004
- * @returns Form 13F dates for institutional stock ownership
2130
+ * Get Form 13F filing dates for an investment manager
2131
+ *
2132
+ * Provides available filing dates for Form 13F submissions by a specific
2133
+ * investment manager. Essential for discovering historical filing dates
2134
+ * before requesting detailed Form 13F data.
2135
+ *
2136
+ * @param params - Form 13F dates request parameters
2137
+ * @param params.cik - Central Index Key (CIK) of the investment manager
2138
+ *
2139
+ * @returns Promise resolving to array of available Form 13F filing dates
2140
+ *
2141
+ * @example
2142
+ * ```typescript
2143
+ * // Get Berkshire Hathaway's Form 13F filing dates
2144
+ * const berkshireDates = await fmp.institutional.getForm13FDates({
2145
+ * cik: '0001067983'
2146
+ * });
2147
+ * berkshireDates.data.forEach(date => {
2148
+ * console.log(`Filing date: ${date}`);
2149
+ * });
2150
+ *
2151
+ * // Get BlackRock's filing dates
2152
+ * const blackrockDates = await fmp.institutional.getForm13FDates({
2153
+ * cik: '0001364742'
2154
+ * });
2155
+ * ```
2156
+ *
2157
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#form-13f-dates-13f---institutional-stock-ownership|FMP Form 13F Dates Documentation}
2005
2158
  */
2006
- getForm13FDates(params: Form13FDatesParams): Promise<APIResponse<string[]>>;
2159
+ getForm13FDates(params: {
2160
+ cik: string;
2161
+ }): Promise<APIResponse<string[]>>;
2007
2162
  /**
2008
- * Get institutional holders data
2009
- * https://site.financialmodelingprep.com/developer/docs#institutional-holder-13f---institutional-stock-ownership
2010
- * @param symbol - The stock symbol to get the institutional holders for
2011
- * @returns Institutional holders data
2163
+ * Get institutional holders for a company
2164
+ *
2165
+ * Provides data on institutional investors holding shares in a specific
2166
+ * company. Essential for understanding institutional ownership patterns,
2167
+ * major shareholders, and investment sentiment.
2168
+ *
2169
+ * @param params - Institutional holders request parameters
2170
+ * @param params.symbol - Stock symbol to get institutional holders for
2171
+ *
2172
+ * @returns Promise resolving to array of institutional holders data
2173
+ *
2174
+ * @example
2175
+ * ```typescript
2176
+ * // Get Apple's institutional holders
2177
+ * const appleHolders = await fmp.institutional.getInstitutionalHolders({
2178
+ * symbol: 'AAPL'
2179
+ * });
2180
+ * appleHolders.data.forEach(holder => {
2181
+ * console.log(`${holder.holder}: ${holder.shares.toLocaleString()} shares (${holder.weight}%)`);
2182
+ * });
2183
+ *
2184
+ * // Get Microsoft's institutional holders
2185
+ * const msftHolders = await fmp.institutional.getInstitutionalHolders({
2186
+ * symbol: 'MSFT'
2187
+ * });
2188
+ *
2189
+ * // Get Tesla's institutional holders
2190
+ * const teslaHolders = await fmp.institutional.getInstitutionalHolders({
2191
+ * symbol: 'TSLA'
2192
+ * });
2193
+ * ```
2194
+ *
2195
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#institutional-holder-13f---institutional-stock-ownership|FMP Institutional Holders Documentation}
2012
2196
  */
2013
- getInstitutionalHolders(params: InstitutionalHolderParams): Promise<APIResponse<InstitutionalHolderResponse[]>>;
2197
+ getInstitutionalHolders(params: {
2198
+ symbol: string;
2199
+ }): Promise<APIResponse<InstitutionalHolderResponse[]>>;
2014
2200
  }
2015
2201
 
2016
2202
  declare class InsiderEndpoints {
2017
2203
  private client;
2018
2204
  constructor(client: FMPClient);
2019
2205
  /**
2020
- * Get insider trading RSS feed
2021
- * https://site.financialmodelingprep.com/developer/docs#insider-trades-rss-insider-trading
2022
- * @param params - Parameters for the RSS feed request
2023
- * @returns An RSS feed of insider trades, updated in real time
2206
+ * Get insider trading RSS feed data
2207
+ *
2208
+ * Provides real-time RSS feed of insider trading activities across all
2209
+ * publicly traded companies. Essential for monitoring insider trading
2210
+ * patterns, corporate governance, and potential market-moving events.
2211
+ *
2212
+ * @param params - RSS feed request parameters
2213
+ * @param params.page - Page number for pagination (default: 0)
2214
+ *
2215
+ * @returns Promise resolving to array of insider trading RSS feed data
2216
+ *
2217
+ * @example
2218
+ * ```typescript
2219
+ * // Get first page of insider trading RSS feed
2220
+ * const rssFeed = await fmp.insider.getInsiderTradingRSS({ page: 0 });
2221
+ * rssFeed.data.forEach(trade => {
2222
+ * console.log(`${trade.date}: ${trade.symbol} - ${trade.insiderName} ${trade.transactionType}`);
2223
+ * });
2224
+ *
2225
+ * // Get second page of RSS feed
2226
+ * const nextPage = await fmp.insider.getInsiderTradingRSS({ page: 1 });
2227
+ * ```
2228
+ *
2229
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trades-rss-insider-trading|FMP Insider Trading RSS Documentation}
2024
2230
  */
2025
- getInsiderTradingRSS({ page, }: InsiderTradingRSSParams): Promise<APIResponse<InsiderTradingRSSResponse[]>>;
2231
+ getInsiderTradingRSS(params: {
2232
+ page?: number;
2233
+ }): Promise<APIResponse<InsiderTradingRSSResponse[]>>;
2026
2234
  /**
2027
- * Search for insider trades
2028
- * https://site.financialmodelingprep.com/developer/docs#insider-trades-search-insider-trading
2029
- * @param params - Parameters for the insider trading search
2030
- * @returns A list of insider trades filtered by the provided parameters
2235
+ * Search for insider trades with advanced filtering
2236
+ *
2237
+ * Provides comprehensive insider trading data with multiple filtering options
2238
+ * including symbol, CIK numbers, and transaction types. Essential for detailed
2239
+ * analysis of insider trading patterns and corporate governance.
2240
+ *
2241
+ * @param params - Insider trading search parameters
2242
+ * @param params.symbol - Stock symbol to filter by (optional)
2243
+ * @param params.reportingCik - Reporting CIK to filter by (optional)
2244
+ * @param params.companyCik - Company CIK to filter by (optional)
2245
+ * @param params.transactionType - Transaction type to filter by (optional)
2246
+ * @param params.page - Page number for pagination (default: 0)
2247
+ *
2248
+ * @returns Promise resolving to array of insider trading search results
2249
+ *
2250
+ * @example
2251
+ * ```typescript
2252
+ * // Search for Apple insider trades
2253
+ * const appleTrades = await fmp.insider.searchInsiderTrading({
2254
+ * symbol: 'AAPL',
2255
+ * page: 0
2256
+ * });
2257
+ * appleTrades.data.forEach(trade => {
2258
+ * console.log(`${trade.date}: ${trade.insiderName} - ${trade.transactionType} ${trade.sharesTraded} shares`);
2259
+ * });
2260
+ *
2261
+ * // Search by transaction type
2262
+ * const purchases = await fmp.insider.searchInsiderTrading({
2263
+ * transactionType: 'P-Purchase',
2264
+ * page: 0
2265
+ * });
2266
+ *
2267
+ * // Search by CIK
2268
+ * const cikTrades = await fmp.insider.searchInsiderTrading({
2269
+ * companyCik: '0000320193',
2270
+ * page: 0
2271
+ * });
2272
+ * ```
2273
+ *
2274
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trades-search-insider-trading|FMP Insider Trading Search Documentation}
2031
2275
  */
2032
- searchInsiderTrading({ symbol, reportingCik, companyCik, transactionType, page, }: InsiderTradingSearchParams): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2276
+ searchInsiderTrading(params: {
2277
+ symbol?: string;
2278
+ reportingCik?: string;
2279
+ companyCik?: string;
2280
+ transactionType?: string;
2281
+ page?: number;
2282
+ }): Promise<APIResponse<InsiderTradingSearchResponse[]>>;
2033
2283
  /**
2034
- * Get transaction types
2035
- * https://site.financialmodelingprep.com/developer/docs#transaction-types-insider-trading
2036
- * @returns A list of all insider transaction types
2284
+ * Get all available transaction types
2285
+ *
2286
+ * Provides a comprehensive list of all insider trading transaction types
2287
+ * used in SEC filings. Essential for understanding different types of
2288
+ * insider trading activities and filtering search results.
2289
+ *
2290
+ * @returns Promise resolving to array of transaction types with descriptions
2291
+ *
2292
+ * @example
2293
+ * ```typescript
2294
+ * // Get all transaction types
2295
+ * const transactionTypes = await fmp.insider.getTransactionTypes();
2296
+ * transactionTypes.data.forEach(type => {
2297
+ * console.log(`${type.code}: ${type.description}`);
2298
+ * });
2299
+ * ```
2300
+ *
2301
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#transaction-types-insider-trading|FMP Transaction Types Documentation}
2037
2302
  */
2038
2303
  getTransactionTypes(): Promise<APIResponse<TransactionTypesResponse>>;
2039
2304
  /**
2040
- * Get insiders by symbol
2041
- * https://site.financialmodelingprep.com/developer/docs#insiders-by-symbol-insider-trading
2042
- * @param params - Parameters for the insiders request
2043
- * @returns A list of insiders for a specific company
2305
+ * Get insiders roster for a specific company
2306
+ *
2307
+ * Provides a list of all insiders (officers, directors, and beneficial owners)
2308
+ * for a specific company. Essential for understanding corporate governance
2309
+ * structure and identifying key personnel.
2310
+ *
2311
+ * @param params - Insiders request parameters
2312
+ * @param params.symbol - Stock symbol to get insiders for
2313
+ *
2314
+ * @returns Promise resolving to array of insiders data for the company
2315
+ *
2316
+ * @example
2317
+ * ```typescript
2318
+ * // Get Apple's insiders roster
2319
+ * const appleInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'AAPL' });
2320
+ * appleInsiders.data.forEach(insider => {
2321
+ * console.log(`${insider.name} - ${insider.title} (${insider.cik})`);
2322
+ * });
2323
+ *
2324
+ * // Get Microsoft's insiders
2325
+ * const msftInsiders = await fmp.insider.getInsidersBySymbol({ symbol: 'MSFT' });
2326
+ * ```
2327
+ *
2328
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insiders-by-symbol-insider-trading|FMP Insiders by Symbol Documentation}
2044
2329
  */
2045
- getInsidersBySymbol({ symbol, }: InsidersBySymbolParams): Promise<APIResponse<InsidersBySymbolResponse[]>>;
2330
+ getInsidersBySymbol(params: {
2331
+ symbol: string;
2332
+ }): Promise<APIResponse<InsidersBySymbolResponse[]>>;
2046
2333
  /**
2047
- * Get insider trade statistics
2048
- * https://site.financialmodelingprep.com/developer/docs#insider-trade-statistics-insider-trading
2049
- * @param params - Parameters for the statistics request
2050
- * @returns Statistics on insider trading activity for a specific company
2334
+ * Get insider trade statistics for a company
2335
+ *
2336
+ * Provides comprehensive statistics on insider trading activity for a
2337
+ * specific company including total trades, volume, and value metrics.
2338
+ * Essential for analyzing insider trading patterns and sentiment.
2339
+ *
2340
+ * @param params - Statistics request parameters
2341
+ * @param params.symbol - Stock symbol to get statistics for
2342
+ *
2343
+ * @returns Promise resolving to array of insider trade statistics data
2344
+ *
2345
+ * @example
2346
+ * ```typescript
2347
+ * // Get Apple's insider trade statistics
2348
+ * const appleStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'AAPL' });
2349
+ * appleStats.data.forEach(stat => {
2350
+ * console.log(`${stat.insiderName}: ${stat.totalTrades} trades, ${stat.totalShares} shares`);
2351
+ * });
2352
+ *
2353
+ * // Get Microsoft's statistics
2354
+ * const msftStats = await fmp.insider.getInsiderTradeStatistics({ symbol: 'MSFT' });
2355
+ * ```
2356
+ *
2357
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#insider-trade-statistics-insider-trading|FMP Insider Trade Statistics Documentation}
2051
2358
  */
2052
- getInsiderTradeStatistics({ symbol, }: InsiderTradeStatisticsParams): Promise<APIResponse<InsiderTradeStatisticsResponse[]>>;
2359
+ getInsiderTradeStatistics(params: {
2360
+ symbol: string;
2361
+ }): Promise<APIResponse<InsiderTradeStatisticsResponse[]>>;
2053
2362
  /**
2054
- * Get CIK mapper
2055
- * https://site.financialmodelingprep.com/developer/docs#cik-mapper-insider-trading
2056
- * @param params - Parameters for the CIK mapper request
2057
- * @returns A list of CIK numbers and corresponding company names
2363
+ * Get CIK mapper data
2364
+ *
2365
+ * Provides a mapping between CIK (Central Index Key) numbers and company
2366
+ * names. Essential for converting between CIK numbers and company
2367
+ * identifiers in insider trading analysis.
2368
+ *
2369
+ * @param params - CIK mapper request parameters
2370
+ * @param params.page - Page number for pagination (default: 0)
2371
+ *
2372
+ * @returns Promise resolving to array of CIK mapper data
2373
+ *
2374
+ * @example
2375
+ * ```typescript
2376
+ * // Get first page of CIK mapper
2377
+ * const cikMapper = await fmp.insider.getCikMapper({ page: 0 });
2378
+ * cikMapper.data.forEach(mapping => {
2379
+ * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
2380
+ * });
2381
+ *
2382
+ * // Get second page
2383
+ * const nextPage = await fmp.insider.getCikMapper({ page: 1 });
2384
+ * ```
2385
+ *
2386
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-insider-trading|FMP CIK Mapper Documentation}
2058
2387
  */
2059
- getCikMapper({ page }: CikMapperParams): Promise<APIResponse<CikMapperResponse[]>>;
2388
+ getCikMapper(params: {
2389
+ page?: number;
2390
+ }): Promise<APIResponse<CikMapperResponse[]>>;
2060
2391
  /**
2061
- * Get CIK mapper by name
2062
- * https://site.financialmodelingprep.com/developer/docs#cik-mapper-by-name-insider-trading
2063
- * @param params - Parameters for the CIK mapper by name request
2064
- * @returns A list of CIK numbers and corresponding names matching the search term
2392
+ * Get CIK mapper by name search
2393
+ *
2394
+ * Provides CIK numbers and company names matching a search term.
2395
+ * Useful for finding companies by partial name matches and
2396
+ * converting company names to CIK numbers.
2397
+ *
2398
+ * @param params - CIK mapper by name request parameters
2399
+ * @param params.name - Company name or partial name to search for
2400
+ * @param params.page - Page number for pagination (default: 0)
2401
+ *
2402
+ * @returns Promise resolving to array of CIK mapper data matching the search
2403
+ *
2404
+ * @example
2405
+ * ```typescript
2406
+ * // Search for Apple by name
2407
+ * const appleCik = await fmp.insider.getCikMapperByName({
2408
+ * name: 'Apple',
2409
+ * page: 0
2410
+ * });
2411
+ * appleCik.data.forEach(mapping => {
2412
+ * console.log(`CIK: ${mapping.cik} - Company: ${mapping.name}`);
2413
+ * });
2414
+ *
2415
+ * // Search for Microsoft
2416
+ * const msftCik = await fmp.insider.getCikMapperByName({
2417
+ * name: 'Microsoft',
2418
+ * page: 0
2419
+ * });
2420
+ * ```
2421
+ *
2422
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-by-name-insider-trading|FMP CIK Mapper by Name Documentation}
2065
2423
  */
2066
- getCikMapperByName({ name, page, }: CikMapperByNameParams): Promise<APIResponse<CikMapperResponse[]>>;
2424
+ getCikMapperByName(params: {
2425
+ name: string;
2426
+ page?: number;
2427
+ }): Promise<APIResponse<CikMapperResponse[]>>;
2067
2428
  /**
2068
2429
  * Get CIK mapper by symbol
2069
- * https://site.financialmodelingprep.com/developer/docs#cik-mapper-company-insider-trading
2070
- * @param params - Parameters for the CIK mapper by symbol request
2071
- * @returns CIK number and corresponding company name for a specific symbol
2430
+ *
2431
+ * Provides CIK number and company name for a specific stock symbol.
2432
+ * Essential for converting stock symbols to CIK numbers for use
2433
+ * in insider trading searches and analysis.
2434
+ *
2435
+ * @param params - CIK mapper by symbol request parameters
2436
+ * @param params.symbol - Stock symbol to get CIK for
2437
+ *
2438
+ * @returns Promise resolving to CIK mapper data for the symbol
2439
+ *
2440
+ * @example
2441
+ * ```typescript
2442
+ * // Get Apple's CIK by symbol
2443
+ * const appleCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'AAPL' });
2444
+ * console.log(`Apple CIK: ${appleCik.data.cik} - ${appleCik.data.name}`);
2445
+ *
2446
+ * // Get Microsoft's CIK
2447
+ * const msftCik = await fmp.insider.getCikMapperBySymbol({ symbol: 'MSFT' });
2448
+ * ```
2449
+ *
2450
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#cik-mapper-company-insider-trading|FMP CIK Mapper by Symbol Documentation}
2072
2451
  */
2073
- getCikMapperBySymbol({ symbol, }: CikMapperBySymbolParams): Promise<APIResponse<CikMapperBySymbolResponse>>;
2452
+ getCikMapperBySymbol(params: {
2453
+ symbol: string;
2454
+ }): Promise<APIResponse<CikMapperBySymbolResponse>>;
2074
2455
  /**
2075
2456
  * Get beneficial ownership acquisitions
2076
- * https://site.financialmodelingprep.com/developer/docs#acquisition-of-beneficial-ownership
2077
- * @param params - Parameters for the beneficial ownership request
2078
- * @returns A list of acquisitions of beneficial ownership for a specific company
2457
+ *
2458
+ * Provides data on acquisitions of beneficial ownership for a specific
2459
+ * company. Essential for tracking significant ownership changes and
2460
+ * corporate governance events.
2461
+ *
2462
+ * @param params - Beneficial ownership request parameters
2463
+ * @param params.symbol - Stock symbol to get beneficial ownership data for
2464
+ *
2465
+ * @returns Promise resolving to array of beneficial ownership acquisition data
2466
+ *
2467
+ * @example
2468
+ * ```typescript
2469
+ * // Get Apple's beneficial ownership acquisitions
2470
+ * const appleOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'AAPL' });
2471
+ * appleOwnership.data.forEach(acquisition => {
2472
+ * console.log(`${acquisition.date}: ${acquisition.insiderName} acquired ${acquisition.sharesAcquired} shares`);
2473
+ * });
2474
+ *
2475
+ * // Get Microsoft's beneficial ownership
2476
+ * const msftOwnership = await fmp.insider.getBeneficialOwnership({ symbol: 'MSFT' });
2477
+ * ```
2478
+ *
2479
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#acquisition-of-beneficial-ownership|FMP Beneficial Ownership Documentation}
2079
2480
  */
2080
- getBeneficialOwnership({ symbol, }: BeneficialOwnershipParams): Promise<APIResponse<BeneficialOwnershipResponse[]>>;
2481
+ getBeneficialOwnership(params: {
2482
+ symbol: string;
2483
+ }): Promise<APIResponse<BeneficialOwnershipResponse[]>>;
2081
2484
  /**
2082
2485
  * Get fail to deliver data
2083
- * https://site.financialmodelingprep.com/developer/docs#fail-to-deliver
2084
- * @param params - Parameters for the fail to deliver request
2085
- * @returns A list of fail to deliver data for a specific company
2486
+ *
2487
+ * Provides fail to deliver data for a specific company, which indicates
2488
+ * when market participants fail to deliver securities on settlement date.
2489
+ * Important for understanding market mechanics and potential short interest.
2490
+ *
2491
+ * @param params - Fail to deliver request parameters
2492
+ * @param params.symbol - Stock symbol to get fail to deliver data for
2493
+ * @param params.page - Page number for pagination (default: 0)
2494
+ *
2495
+ * @returns Promise resolving to array of fail to deliver data
2496
+ *
2497
+ * @example
2498
+ * ```typescript
2499
+ * // Get Apple's fail to deliver data
2500
+ * const appleFailToDeliver = await fmp.insider.getFailToDeliver({
2501
+ * symbol: 'AAPL',
2502
+ * page: 0
2503
+ * });
2504
+ * appleFailToDeliver.data.forEach(entry => {
2505
+ * console.log(`${entry.date}: ${entry.shares} shares failed to deliver`);
2506
+ * });
2507
+ *
2508
+ * // Get Microsoft's fail to deliver data
2509
+ * const msftFailToDeliver = await fmp.insider.getFailToDeliver({
2510
+ * symbol: 'MSFT',
2511
+ * page: 0
2512
+ * });
2513
+ * ```
2514
+ *
2515
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#fail-to-deliver|FMP Fail to Deliver Documentation}
2086
2516
  */
2087
- getFailToDeliver({ symbol, page, }: FailToDeliverParams): Promise<APIResponse<FailToDeliverResponse[]>>;
2517
+ getFailToDeliver(params: {
2518
+ symbol: string;
2519
+ page?: number;
2520
+ }): Promise<APIResponse<FailToDeliverResponse[]>>;
2088
2521
  /**
2089
2522
  * Get all insider trades for a symbol (convenience method)
2090
2523
  * @param symbol - The stock symbol to get insider trades for
@@ -2120,63 +2553,343 @@ declare class SECEndpoints {
2120
2553
  constructor(client: FMPClient);
2121
2554
  /**
2122
2555
  * Get RSS feed of SEC filings
2123
- * https://site.financialmodelingprep.com/developer/docs#rss-feed-securities-and-exchange-commission-(s.e.c)
2124
- * @param params - RSS feed parameters
2125
- * @returns A real-time feed of SEC filings from publicly traded companies, including the filing type, link to SEC page, and direct link to the filing. This endpoint can be used to stay up-to-date on the latest SEC filings for all companies or for a specific set of companies.
2556
+ *
2557
+ * Provides a real-time feed of SEC filings from publicly traded companies,
2558
+ * including filing types, links to SEC pages, and direct links to filings.
2559
+ * Essential for staying up-to-date on the latest SEC filings for all companies
2560
+ * or for monitoring specific companies' regulatory activities.
2561
+ *
2562
+ * @param params - RSS feed parameters (optional)
2563
+ * @returns Promise resolving to array of RSS feed items with SEC filing information
2564
+ *
2565
+ * @example
2566
+ * ```typescript
2567
+ * // Get all recent SEC filings
2568
+ * const allFilings = await fmp.sec.getRSSFeed();
2569
+ * console.log(`Recent SEC filings: ${allFilings.data.length}`);
2570
+ *
2571
+ * // Get specific filing type
2572
+ * const form4Filings = await fmp.sec.getRSSFeed({ type: '4' });
2573
+ * console.log(`Form 4 filings: ${form4Filings.data.length}`);
2574
+ *
2575
+ * // Get filings with date range
2576
+ * const recentFilings = await fmp.sec.getRSSFeed({
2577
+ * from: '2024-01-01',
2578
+ * to: '2024-01-31'
2579
+ * });
2580
+ * console.log(`Recent filings: ${recentFilings.data.length}`);
2581
+ *
2582
+ * // Get limited results
2583
+ * const limitedFilings = await fmp.sec.getRSSFeed({ limit: 10 });
2584
+ * console.log(`Limited filings: ${limitedFilings.data.length}`);
2585
+ * ```
2586
+ *
2587
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed Documentation}
2126
2588
  */
2127
- getRSSFeed(params?: RSSFeedParams): Promise<APIResponse<RSSFeedItem[]>>;
2589
+ getRSSFeed(params?: {
2590
+ limit?: number;
2591
+ type?: string;
2592
+ from?: string;
2593
+ to?: string;
2594
+ isDone?: boolean;
2595
+ }): Promise<APIResponse<RSSFeedItem[]>>;
2128
2596
  /**
2129
- * Get RSS feed of all SEC filings
2130
- * https://site.financialmodelingprep.com/developer/docs#rss-feed-all-securities-and-exchange-commission-(s.e.c)
2131
- * @param params - RSS feed all parameters
2132
- * @returns A real-time feed of all SEC filings from publicly traded companies in the latest RSS feed format. This endpoint provides a comprehensive overview of all SEC filings, including the filing type, link to SEC page, and direct link to the filing.
2597
+ * Get comprehensive RSS feed of all SEC filings
2598
+ *
2599
+ * Provides a comprehensive real-time feed of all SEC filings from publicly
2600
+ * traded companies in the latest RSS feed format. This endpoint offers the
2601
+ * most complete overview of SEC filings with enhanced metadata and formatting.
2602
+ *
2603
+ * @param params - RSS feed all parameters (optional)
2604
+ * @returns Promise resolving to array of comprehensive RSS feed items with enhanced SEC filing information
2605
+ *
2606
+ * @example
2607
+ * ```typescript
2608
+ * // Get all comprehensive SEC filings
2609
+ * const allFilings = await fmp.sec.getRSSFeedAll();
2610
+ * console.log(`Comprehensive SEC filings: ${allFilings.data.length}`);
2611
+ *
2612
+ * // Get paginated results
2613
+ * const page2Filings = await fmp.sec.getRSSFeedAll({ page: 1 });
2614
+ * console.log(`Page 2 filings: ${page2Filings.data.length}`);
2615
+ *
2616
+ * // Get specific data type
2617
+ * const specificData = await fmp.sec.getRSSFeedAll({ datatype: 'json' });
2618
+ * console.log(`Specific data type filings: ${specificData.data.length}`);
2619
+ * ```
2620
+ *
2621
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-all-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed All Documentation}
2133
2622
  */
2134
- getRSSFeedAll(params?: RSSFeedV3Params): Promise<APIResponse<RSSFeedAllItem[]>>;
2623
+ getRSSFeedAll(params?: {
2624
+ page?: number;
2625
+ datatype?: string;
2626
+ }): Promise<APIResponse<RSSFeedAllItem[]>>;
2135
2627
  /**
2136
2628
  * Get RSS feed V3 of SEC filings
2137
- * https://site.financialmodelingprep.com/developer/docs#rss-feed-v3-securities-and-exchange-commission-(s.e.c)
2138
- * @param params - RSS feed V3 parameters
2139
- * @returns A real-time feed of SEC filings from publicly traded companies in the latest RSS feed format (V3)
2629
+ *
2630
+ * Provides a real-time feed of SEC filings from publicly traded companies
2631
+ * in the V3 RSS feed format. This version offers enhanced metadata and
2632
+ * improved structure for better parsing and analysis of SEC filings.
2633
+ *
2634
+ * @param params - RSS feed V3 parameters (optional)
2635
+ * @returns Promise resolving to array of V3 RSS feed items with enhanced SEC filing information
2636
+ *
2637
+ * @example
2638
+ * ```typescript
2639
+ * // Get V3 format SEC filings
2640
+ * const v3Filings = await fmp.sec.getRSSFeedV3();
2641
+ * console.log(`V3 SEC filings: ${v3Filings.data.length}`);
2642
+ *
2643
+ * // Get paginated V3 results
2644
+ * const page2V3 = await fmp.sec.getRSSFeedV3({ page: 1 });
2645
+ * console.log(`Page 2 V3 filings: ${page2V3.data.length}`);
2646
+ *
2647
+ * // Get specific data type
2648
+ * const specificV3 = await fmp.sec.getRSSFeedV3({ datatype: 'json' });
2649
+ * console.log(`Specific V3 data type: ${specificV3.data.length}`);
2650
+ * ```
2651
+ *
2652
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#rss-feed-v3-securities-and-exchange-commission-(s.e.c)|FMP RSS Feed V3 Documentation}
2140
2653
  */
2141
- getRSSFeedV3(params?: RSSFeedV3Params): Promise<APIResponse<RSSFeedV3Item[]>>;
2654
+ getRSSFeedV3(params?: {
2655
+ page?: number;
2656
+ datatype?: string;
2657
+ }): Promise<APIResponse<RSSFeedV3Item[]>>;
2142
2658
  /**
2143
2659
  * Get RSS feed of 8-K SEC filings
2144
- * https://site.financialmodelingprep.com/developer/docs#rss-feed-8-k-securities-and-exchange-commission-(s.e.c)
2145
- * @param params - RSS feed 8-K parameters
2146
- * @returns A real-time feed of 8-K SEC filings from publicly traded companies
2660
+ *
2661
+ * Provides a real-time feed specifically for 8-K SEC filings from publicly
2662
+ * traded companies. 8-K filings are used to announce major events that
2663
+ * shareholders should know about, such as earnings releases, mergers,
2664
+ * acquisitions, and other material events.
2665
+ *
2666
+ * @param params - RSS feed 8-K parameters (optional)
2667
+ * @returns Promise resolving to array of 8-K RSS feed items with material event information
2668
+ *
2669
+ * @example
2670
+ * ```typescript
2671
+ * // Get all 8-K filings
2672
+ * const form8KFilings = await fmp.sec.getRSSFeed8K();
2673
+ * console.log(`8-K filings: ${form8KFilings.data.length}`);
2674
+ *
2675
+ * // Get 8-K filings with date range
2676
+ * const recent8K = await fmp.sec.getRSSFeed8K({
2677
+ * from: '2024-01-01',
2678
+ * to: '2024-01-31'
2679
+ * });
2680
+ * console.log(`Recent 8-K filings: ${recent8K.data.length}`);
2681
+ *
2682
+ * // Get 8-K filings with financials
2683
+ * const financial8K = await fmp.sec.getRSSFeed8K({ hasFinancial: true });
2684
+ * console.log(`8-K filings with financials: ${financial8K.data.length}`);
2685
+ *
2686
+ * // Get limited 8-K results
2687
+ * const limited8K = await fmp.sec.getRSSFeed8K({ limit: 10 });
2688
+ * console.log(`Limited 8-K filings: ${limited8K.data.length}`);
2689
+ * ```
2690
+ *
2691
+ * @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}
2147
2692
  */
2148
- getRSSFeed8K(params?: RSSFeed8KParams): Promise<APIResponse<RSSFeed8KItem[]>>;
2693
+ getRSSFeed8K(params?: {
2694
+ page?: number;
2695
+ from?: string;
2696
+ to?: string;
2697
+ hasFinancial?: boolean;
2698
+ limit?: number;
2699
+ }): Promise<APIResponse<RSSFeed8KItem[]>>;
2149
2700
  /**
2150
2701
  * Get SEC filings for a specific company
2151
- * https://site.financialmodelingprep.com/developer/docs#sec-filings-securities-and-exchange-commission-(s.e.c)
2152
- * @param symbol - The stock symbol to get SEC filings for
2153
- * @param params - SEC filings parameters
2154
- * @returns Access direct links to SEC filings, including the filing type, link to the SEC page, and direct link to the specific filing
2702
+ *
2703
+ * Provides direct access to SEC filings for a specific company, including
2704
+ * filing types, links to SEC pages, and direct links to specific filings.
2705
+ * Essential for monitoring a company's regulatory compliance and staying
2706
+ * informed about important corporate events and disclosures.
2707
+ *
2708
+ * @param symbol - The stock symbol to get SEC filings for (e.g., 'AAPL', 'MSFT', 'GOOGL')
2709
+ * @param params - SEC filings parameters (optional)
2710
+ * @returns Promise resolving to array of SEC filings with detailed filing information
2711
+ *
2712
+ * @example
2713
+ * ```typescript
2714
+ * // Get all SEC filings for Apple
2715
+ * const appleFilings = await fmp.sec.getSECFilings({ symbol: 'AAPL' });
2716
+ * console.log(`Apple SEC filings: ${appleFilings.data.length}`);
2717
+ *
2718
+ * // Get specific filing type for Microsoft
2719
+ * const msftForm4 = await fmp.sec.getSECFilings({
2720
+ * symbol: 'MSFT',
2721
+ * params: { type: '4' }
2722
+ * });
2723
+ * console.log(`Microsoft Form 4 filings: ${msftForm4.data.length}`);
2724
+ * ```
2725
+ *
2726
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#sec-filings-securities-and-exchange-commission-(s.e.c)|FMP SEC Filings Documentation}
2155
2727
  */
2156
2728
  getSECFilings({ symbol, params, }: {
2157
2729
  symbol: string;
2158
- params?: SECFilingsParams;
2730
+ params?: {
2731
+ type?: string;
2732
+ page?: number;
2733
+ };
2159
2734
  }): Promise<APIResponse<SECFiling[]>>;
2160
2735
  /**
2161
- * Get individual industry classification
2162
- * https://site.financialmodelingprep.com/developer/docs#individual-industry-classification-standard-industrial-classification
2736
+ * Get individual industry classification for a company
2737
+ *
2738
+ * Provides the industry classification for a specific company based on the
2739
+ * Standard Industrial Classification (SIC) system. Essential for understanding
2740
+ * a company's business sector, industry peers, and market positioning.
2741
+ *
2163
2742
  * @param params - Industry classification parameters
2164
- * @returns Identify the industry in which a particular company operates, based on the Standard Industrial Classification (SIC) system
2743
+ * @returns Promise resolving to industry classification data with SIC code and description
2744
+ *
2745
+ * @example
2746
+ * ```typescript
2747
+ * // Get Apple's industry classification by symbol
2748
+ * const appleIndustry = await fmp.sec.getIndividualIndustryClassification({ symbol: 'AAPL' });
2749
+ * console.log(`Apple Industry: ${appleIndustry.data.industryTitle}`);
2750
+ * console.log(`SIC Code: ${appleIndustry.data.sicCode}`);
2751
+ *
2752
+ * // Get industry classification by CIK
2753
+ * const cikIndustry = await fmp.sec.getIndividualIndustryClassification({ cik: 320193 });
2754
+ * console.log(`CIK Industry: ${cikIndustry.data.industryTitle}`);
2755
+ *
2756
+ * // Get industry classification by SIC code
2757
+ * const sicIndustry = await fmp.sec.getIndividualIndustryClassification({ sicCode: 3571 });
2758
+ * console.log(`SIC Industry: ${sicIndustry.data.industryTitle}`);
2759
+ * ```
2760
+ *
2761
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#individual-industry-classification-standard-industrial-classification|FMP Individual Industry Classification Documentation}
2165
2762
  */
2166
- getIndividualIndustryClassification(params: IndividualIndustryClassificationParams): Promise<APIResponse<IndustryClassification>>;
2763
+ getIndividualIndustryClassification(params: {
2764
+ symbol?: string;
2765
+ cik?: string;
2766
+ sicCode?: number;
2767
+ }): Promise<APIResponse<IndustryClassification>>;
2167
2768
  /**
2168
2769
  * Get all industry classifications
2169
- * https://site.financialmodelingprep.com/developer/docs#all-industry-classification-standard-industrial-classification
2170
- * @returns Get a comprehensive overview of all industries, classified according to the SIC system
2770
+ *
2771
+ * Provides a comprehensive overview of all industries classified according
2772
+ * to the Standard Industrial Classification (SIC) system. Essential for
2773
+ * understanding industry categories, sector analysis, and market research.
2774
+ *
2775
+ * @returns Promise resolving to array of all industry classifications with SIC codes and descriptions
2776
+ *
2777
+ * @example
2778
+ * ```typescript
2779
+ * // Get all industry classifications
2780
+ * const allIndustries = await fmp.sec.getAllIndustryClassifications();
2781
+ * console.log(`Total industries: ${allIndustries.data.length}`);
2782
+ *
2783
+ * allIndustries.data.forEach((industry, index) => {
2784
+ * console.log(`${index + 1}. ${industry.industryTitle}`);
2785
+ * console.log(` SIC Code: ${industry.sicCode}`);
2786
+ * });
2787
+ *
2788
+ * // Find specific industry
2789
+ * const techIndustry = allIndustries.data.find(industry =>
2790
+ * industry.industryTitle.toLowerCase().includes('computer')
2791
+ * );
2792
+ * console.log(`Tech Industry: ${techIndustry?.industryTitle}`);
2793
+ * ```
2794
+ *
2795
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#all-industry-classification-standard-industrial-classification|FMP All Industry Classifications Documentation}
2171
2796
  */
2172
2797
  getAllIndustryClassifications(): Promise<APIResponse<IndustryClassification[]>>;
2173
2798
  /**
2174
2799
  * Get industry classification codes
2175
- * https://site.financialmodelingprep.com/developer/docs#industry-classification-codes-standard-industrial-classification
2800
+ *
2801
+ * Provides detailed information about the Standard Industrial Classification
2802
+ * (SIC) system and helps identify SIC codes for specific industries.
2803
+ * Essential for understanding industry categorization and sector analysis.
2804
+ *
2176
2805
  * @param params - Industry classification codes parameters
2177
- * @returns Learn more about the SIC system and identify the SIC code for a particular industry
2806
+ * @returns Promise resolving to array of industry classification codes with detailed information
2807
+ *
2808
+ * @example
2809
+ * ```typescript
2810
+ * // Get all industry classification codes
2811
+ * const allCodes = await fmp.sec.getIndustryClassificationCodes({});
2812
+ * console.log(`Total SIC codes: ${allCodes.data.length}`);
2813
+ *
2814
+ * // Search for specific SIC code
2815
+ * const code3571 = await fmp.sec.getIndustryClassificationCodes({ sicCode: 3571 });
2816
+ * console.log(`SIC 3571: ${code3571.data[0]?.industryTitle}`);
2817
+ *
2818
+ * // Search for industry by title
2819
+ * const computerIndustry = await fmp.sec.getIndustryClassificationCodes({ industryTitle: 'Computer' });
2820
+ * console.log(`Computer-related industries: ${computerIndustry.data.length}`);
2821
+ * ```
2822
+ *
2823
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#industry-classification-codes-standard-industrial-classification|FMP Industry Classification Codes Documentation}
2824
+ */
2825
+ getIndustryClassificationCodes(params: {
2826
+ industryTitle?: string;
2827
+ sicCode?: number;
2828
+ }): Promise<APIResponse<IndustryClassificationCode[]>>;
2829
+ }
2830
+
2831
+ interface MutualFundHolding {
2832
+ holder: string;
2833
+ shares: number;
2834
+ dateReported: string;
2835
+ change: number;
2836
+ weightPercent: number;
2837
+ }
2838
+
2839
+ declare class MutualFundEndpoints {
2840
+ private client;
2841
+ constructor(client: FMPClient);
2842
+ /**
2843
+ * Get mutual fund holders of a specific stock
2844
+ *
2845
+ * Provides data on mutual funds that hold shares in a specific stock.
2846
+ * Essential for understanding mutual fund ownership patterns and
2847
+ * which mutual funds are invested in particular companies.
2848
+ *
2849
+ * @param symbol - The stock symbol to get mutual fund holders for (e.g., 'AAPL', 'MSFT', 'GOOGL')
2850
+ *
2851
+ * @returns Promise resolving to array of mutual fund holders with position details
2852
+ *
2853
+ * @example
2854
+ * ```typescript
2855
+ * // Get mutual funds that hold Apple stock
2856
+ * const appleHolders = await fmp.mutualFund.getHolders('AAPL');
2857
+ * console.log(`${appleHolders.data.length} mutual funds hold AAPL`);
2858
+ *
2859
+ * appleHolders.data.forEach((holder, index) => {
2860
+ * console.log(`${index + 1}. ${holder.holder}`);
2861
+ * console.log(` Shares: ${holder.shares?.toLocaleString() || 'N/A'}`);
2862
+ * console.log(` Weight: ${holder.weightPercent}% | Change: ${holder.change}`);
2863
+ * });
2864
+ *
2865
+ * // Get mutual funds that hold Microsoft stock
2866
+ * const msftHolders = await fmp.mutualFund.getHolders('MSFT');
2867
+ *
2868
+ * // Find top mutual fund holders by shares
2869
+ * const topHolders = msftHolders.data
2870
+ * .sort((a, b) => (b.shares || 0) - (a.shares || 0))
2871
+ * .slice(0, 10);
2872
+ * console.log('Top 10 mutual fund holders by shares:');
2873
+ * topHolders.forEach((holder, index) => {
2874
+ * console.log(`${index + 1}. ${holder.holder}: ${holder.shares.toLocaleString()} shares`);
2875
+ * });
2876
+ *
2877
+ * // Get mutual funds that hold Google stock
2878
+ * const googlHolders = await fmp.mutualFund.getHolders('GOOGL');
2879
+ *
2880
+ * // Analyze mutual fund concentration
2881
+ * const totalShares = googlHolders.data.reduce((sum, holder) => sum + (holder.shares || 0), 0);
2882
+ * console.log(`Total shares held by mutual funds: ${totalShares.toLocaleString()}`);
2883
+ *
2884
+ * googlHolders.data.forEach(holder => {
2885
+ * const percentage = ((holder.shares || 0) / totalShares * 100).toFixed(2);
2886
+ * console.log(`${holder.holder}: ${percentage}% of total mutual fund holdings`);
2887
+ * });
2888
+ * ```
2889
+ *
2890
+ * @see {@link https://site.financialmodelingprep.com/developer/docs#mutual-fund-holder-mutual-funds-holdings|FMP Mutual Fund Holders Documentation}
2178
2891
  */
2179
- getIndustryClassificationCodes(params: IndustryClassificationCodesParams): Promise<APIResponse<IndustryClassificationCode[]>>;
2892
+ getHolders(symbol: string): Promise<APIResponse<MutualFundHolding[]>>;
2180
2893
  }
2181
2894
 
2182
2895
  /**
@@ -2186,10 +2899,20 @@ declare class SECEndpoints {
2186
2899
  * ```typescript
2187
2900
  * import { FMP } from 'fmp-node-api';
2188
2901
  *
2902
+ * // Option 1: Provide API key directly
2189
2903
  * const fmp = new FMP({ apiKey: 'your-api-key' });
2190
2904
  *
2191
- * // Get stock quote
2192
- * const quote = await fmp.stock.getQuote({ symbol: 'AAPL' });
2905
+ * // Option 2: Use environment variable (FMP_API_KEY)
2906
+ * const fmp = new FMP();
2907
+ *
2908
+ * // Option 3: Provide partial config with environment variable fallback
2909
+ * const fmp = new FMP({ timeout: 15000 });
2910
+ *
2911
+ * // Get quote for any asset type
2912
+ * const quote = await fmp.quote.getQuote({ symbol: 'AAPL' });
2913
+ *
2914
+ * // Get stock-specific data
2915
+ * const marketCap = await fmp.stock.getMarketCap({ symbol: 'AAPL' });
2193
2916
  *
2194
2917
  * // Get financial statements
2195
2918
  * const incomeStatement = await fmp.financial.getIncomeStatement({
@@ -2197,17 +2920,12 @@ declare class SECEndpoints {
2197
2920
  * period: 'annual'
2198
2921
  * });
2199
2922
  *
2200
- * // Get forex data
2201
- * const forexQuote = await fmp.forex.getQuote({ symbol: 'EURUSD' });
2202
2923
  * ```
2203
2924
  */
2204
2925
  declare class FMP {
2205
2926
  readonly stock: StockEndpoints;
2206
2927
  readonly financial: FinancialEndpoints;
2207
- readonly forex: ForexEndpoints;
2208
- readonly crypto: CryptoEndpoints;
2209
2928
  readonly etf: ETFEndpoints;
2210
- readonly mutualFund: MutualFundEndpoints;
2211
2929
  readonly economic: EconomicEndpoints;
2212
2930
  readonly market: MarketEndpoints;
2213
2931
  readonly list: ListEndpoints;
@@ -2218,38 +2936,14 @@ declare class FMP {
2218
2936
  readonly institutional: InstitutionalEndpoints;
2219
2937
  readonly insider: InsiderEndpoints;
2220
2938
  readonly sec: SECEndpoints;
2221
- constructor(config: FMPConfig);
2939
+ readonly mutualFund: MutualFundEndpoints;
2940
+ constructor(config?: FMPConfig);
2222
2941
  /**
2223
2942
  * Get the underlying client instance for advanced usage
2224
2943
  */
2225
2944
  getClient(): FMPClient;
2226
2945
  }
2227
2946
 
2228
- /**
2229
- * Validate API key
2230
- */
2231
- declare function validateApiKey(apiKey: string): void;
2232
- /**
2233
- * Validate stock symbol
2234
- */
2235
- declare function validateSymbol(symbol: string): void;
2236
- /**
2237
- * Validate date format (YYYY-MM-DD)
2238
- */
2239
- declare function validateDate(date: string): void;
2240
- /**
2241
- * Validate period parameter
2242
- */
2243
- declare function validatePeriod(period: string): void;
2244
- /**
2245
- * Validate limit parameter
2246
- */
2247
- declare function validateLimit(limit: number): void;
2248
- /**
2249
- * Validate page parameter
2250
- */
2251
- declare function validatePage(page: number): void;
2252
-
2253
2947
  /**
2254
2948
  * Format currency value
2255
2949
  */
@@ -2266,18 +2960,6 @@ declare function formatLargeNumber(value: number): string;
2266
2960
  * Format date to YYYY-MM-DD
2267
2961
  */
2268
2962
  declare function formatDate(date: Date | string): string;
2269
- /**
2270
- * Format date to readable format
2271
- */
2272
- declare function formatReadableDate(date: Date | string): string;
2273
- /**
2274
- * Format timestamp to readable format
2275
- */
2276
- declare function formatTimestamp(timestamp: number): string;
2277
- /**
2278
- * Format number with specified decimal places
2279
- */
2280
- declare function formatNumber(value: number, decimals?: number): string;
2281
2963
  /**
2282
2964
  * Format volume with appropriate units
2283
2965
  */
@@ -2313,40 +2995,5 @@ declare const SECTORS: {
2313
2995
  readonly REAL_ESTATE: "Real Estate";
2314
2996
  readonly COMMUNICATION_SERVICES: "Communication Services";
2315
2997
  };
2316
- declare const COUNTRIES: {
2317
- readonly US: "US";
2318
- readonly CA: "CA";
2319
- readonly GB: "GB";
2320
- readonly AU: "AU";
2321
- readonly IN: "IN";
2322
- readonly DE: "DE";
2323
- readonly FR: "FR";
2324
- readonly JP: "JP";
2325
- readonly CN: "CN";
2326
- readonly BR: "BR";
2327
- };
2328
- declare const ERROR_MESSAGES: {
2329
- readonly API_KEY_REQUIRED: "API key is required";
2330
- readonly SYMBOL_REQUIRED: "Symbol is required";
2331
- readonly INVALID_SYMBOL: "Invalid symbol format";
2332
- readonly INVALID_DATE: "Invalid date format. Use YYYY-MM-DD";
2333
- readonly INVALID_PERIOD: "Period must be either \"annual\" or \"quarter\"";
2334
- readonly INVALID_LIMIT: "Limit must be between 1 and 1000";
2335
- readonly INVALID_PAGE: "Page must be a non-negative number";
2336
- readonly REQUEST_FAILED: "Request failed";
2337
- readonly RATE_LIMIT_EXCEEDED: "Rate limit exceeded";
2338
- readonly UNAUTHORIZED: "Unauthorized - Invalid API key";
2339
- readonly NOT_FOUND: "Resource not found";
2340
- };
2341
- declare const HTTP_STATUS: {
2342
- readonly OK: 200;
2343
- readonly CREATED: 201;
2344
- readonly BAD_REQUEST: 400;
2345
- readonly UNAUTHORIZED: 401;
2346
- readonly FORBIDDEN: 403;
2347
- readonly NOT_FOUND: 404;
2348
- readonly TOO_MANY_REQUESTS: 429;
2349
- readonly INTERNAL_SERVER_ERROR: 500;
2350
- };
2351
2998
 
2352
- export { type APIResponse, type AvailableIndexesList, type BalanceSheet, type BalanceSheetGrowth, type BeneficialOwnershipParams, type BeneficialOwnershipResponse, COUNTRIES, CalendarEndpoints, type CashFlowStatement, type CashflowGrowth, type CikMapperByNameParams, type CikMapperBySymbolParams, type CikMapperBySymbolResponse, type CikMapperParams, type CikMapperResponse, type CompaniesPriceListResponse, CompanyEndpoints, type CompanyNotes, type CompanyProfile, type CompanyTranscriptData, CryptoEndpoints, type CryptoHistoricalParams, type CryptoList, type CryptoListParams, type CryptoQuote, DEFAULT_LIMIT, DEFAULT_TIMEOUT, type DateRangeParams, type DividendsCalendar, ERROR_MESSAGES, type ETFCountryWeighting, ETFEndpoints, type ETFHolder, type ETFHolding, type ETFHoldingDates, type ETFList, type ETFProfile, type ETFStockExposure, type ETFWeighting, EXCHANGES, type EarningsCalendar, type EarningsCallTranscript, type EarningsConfirmed, type EarningsHistorical, type EarningsSurprises, EconomicEndpoints, type EconomicIndicator, type EconomicIndicatorName, type EconomicIndicatorParams, type EconomicsCalendar, type EnterpriseValue, Exchange, type ExecutiveCompensation, FMP, FMPClient, type FMPConfig, type FailToDeliverParams, type FailToDeliverResponse, FinancialEndpoints, type FinancialGrowth, type FinancialRatios, type FinancialStatementBase, type FinancialStatementsParams, ForexEndpoints, type ForexHistoricalParams, type ForexList, type ForexQuote, type Form13FDatesParams, type Form13FParams, type Form13FResponse, type GrowthStatementBase, HTTP_STATUS, type HistoricalEmployeeCount, type HistoricalPriceData, type HistoricalPriceParams, type HistoricalPriceResponse, type HistoricalSharesFloat, type HouseTradingResponse, type IPOCalendar, type IncomeGrowth, type IncomeStatement, type IndividualIndustryClassificationParams, type IndustryClassification, type IndustryClassificationCode, type IndustryClassificationCodesParams, InsiderEndpoints, type InsiderTradeStatisticsParams, type InsiderTradeStatisticsResponse, type InsiderTradingRSSParams, type InsiderTradingRSSResponse, type InsiderTradingSearchParams, type InsiderTradingSearchResponse, type InsidersBySymbolParams, type InsidersBySymbolResponse, InstitutionalEndpoints, type InstitutionalHolderParams, type InstitutionalHolderResponse, type IntradayParams, type KeyMetrics, ListEndpoints, MAX_LIMIT, type MarketCap, MarketEndpoints, type MarketHoliday, type MarketHours, type MarketIndex, type MarketPerformance, type MarketSectorPerformance, MutualFundEndpoints, type MutualFundHolding, type MutualFundQuote, PERIODS, type PaginationParams, Period, type PeriodParams, type QueryParams, type Quote, QuoteEndpoints, type QuoteParams, type RSSFeed8KItem, type RSSFeed8KParams, type RSSFeedAllItem, type RSSFeedItem, type RSSFeedParams, type RSSFeedV3Item, type RSSFeedV3Params, SECEndpoints, type SECFiling, type SECFilingsParams, SECTORS, SenateHouseEndpoints, type SenateHouseTradingByNameParams, type SenateHouseTradingByNameResponse, type SenateHouseTradingParams, type SenateHouseTradingRSSFeedParams, type SenateTradingResponse, type SharesFloat, type SplitsCalendar, type StockDividend, type StockDividendResponse, StockEndpoints, type StockList, type StockListResponse, type StockQuote, type StockRealTimePrice, type StockRealTimePriceFull, type StockSplit, type StockSplitResponse, type SymbolParams, TransactionType, type TransactionTypesResponse, type TreasuryRate, formatCurrency, formatDate, formatLargeNumber, formatNumber, formatPercentage, formatReadableDate, formatTimestamp, formatVolume, validateApiKey, validateDate, validateLimit, validatePage, validatePeriod, validateSymbol };
2999
+ export { APIResponse, CalendarEndpoints, CompanyEndpoints, DEFAULT_LIMIT, DEFAULT_TIMEOUT, ETFEndpoints, EXCHANGES, EconomicEndpoints, FMP, FMPClient, FinancialEndpoints, InsiderEndpoints, InstitutionalEndpoints, ListEndpoints, MAX_LIMIT, MarketCap, MarketEndpoints, MutualFundEndpoints, PERIODS, Quote, QuoteEndpoints, SECEndpoints, SECTORS, SenateHouseEndpoints, StockEndpoints, StockRealTimePrice, formatCurrency, formatDate, formatLargeNumber, formatPercentage, formatVolume };