sentisense 0.61.0 → 0.63.0
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/README.md +28 -2
- package/dist/cli.cjs +123 -39
- package/dist/index.cjs +51 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +373 -13
- package/dist/index.d.ts +373 -13
- package/dist/index.mjs +51 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -191,12 +191,122 @@ interface StockProfile {
|
|
|
191
191
|
imageUrl?: string | null;
|
|
192
192
|
[key: string]: unknown;
|
|
193
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* A knowledge-base entity related to a stock (a person, product, partner and so on), as
|
|
196
|
+
* returned by `stocks.getEntities()`.
|
|
197
|
+
*
|
|
198
|
+
* Address the entity by `urlSlug` (the handle the metric and document endpoints take) and
|
|
199
|
+
* label it with `displayName`.
|
|
200
|
+
*/
|
|
194
201
|
interface StockEntity {
|
|
202
|
+
/**
|
|
203
|
+
* Entity id as sent by the API.
|
|
204
|
+
* @deprecated Not a stable public identifier. Use `urlSlug` to refer to an entity.
|
|
205
|
+
*/
|
|
206
|
+
id: string;
|
|
207
|
+
/** Human-readable name, e.g. `"Tim Cook"`. */
|
|
208
|
+
displayName: string;
|
|
209
|
+
/** Entity type, e.g. `"PERSON"`, `"COMPANY"`, `"PRODUCT_OR_SERVICE"`. */
|
|
210
|
+
type: string;
|
|
211
|
+
/** Ticker of the stock this entity is related to. */
|
|
212
|
+
relatedStock?: string | null;
|
|
213
|
+
/** Handle the metric and document endpoints address this entity by. `null` when it has none. */
|
|
214
|
+
urlSlug?: string | null;
|
|
215
|
+
/** A person's title, e.g. `"Executive Chairman"`. `null` for non-people. */
|
|
216
|
+
title?: string | null;
|
|
217
|
+
/** A product's category. `null` for non-products. */
|
|
218
|
+
category?: string | null;
|
|
219
|
+
/** Icon image URL, or `null` when none is assigned. */
|
|
220
|
+
iconUrl?: string | null;
|
|
221
|
+
/** App Store id when the product has a tracked companion app. Omitted otherwise. */
|
|
222
|
+
appId?: string | null;
|
|
223
|
+
/** @deprecated Never sent by the API. To refer to the entity, use `urlSlug`. */
|
|
195
224
|
entityId: string;
|
|
225
|
+
/** @deprecated Never sent by the API; read `displayName`. */
|
|
196
226
|
name: string;
|
|
197
|
-
type: string;
|
|
198
227
|
[key: string]: unknown;
|
|
199
228
|
}
|
|
229
|
+
/** Options for `stocks.getGraph()`. */
|
|
230
|
+
interface GetStockGraphOptions {
|
|
231
|
+
/** Hops from the stock's own company node: `1` (default) or `2`. */
|
|
232
|
+
depth?: 1 | 2;
|
|
233
|
+
/** Maximum non-root nodes, 1 to 200 (default 75). The root is always included in addition. */
|
|
234
|
+
cap?: number;
|
|
235
|
+
}
|
|
236
|
+
/** One node in a {@link StockGraph}. Every identifier in the graph is a `slug`. */
|
|
237
|
+
interface GraphNode {
|
|
238
|
+
/** Handle for this entity, the same one the metric and document endpoints take. */
|
|
239
|
+
slug: string;
|
|
240
|
+
displayName: string;
|
|
241
|
+
/** `"COMPANY"`, `"PERSON"`, `"PRODUCT_OR_SERVICE"`, `"ORGANIZATION"`, `"PUBLISHER"`, `"TOPIC"`, ... */
|
|
242
|
+
type: string;
|
|
243
|
+
/** Product category, present only on PRODUCT_OR_SERVICE nodes when known. */
|
|
244
|
+
category?: string;
|
|
245
|
+
}
|
|
246
|
+
/** One typed relationship in a {@link StockGraph}, between two node slugs. */
|
|
247
|
+
interface GraphEdge {
|
|
248
|
+
/** Slug of the node the relationship starts from. */
|
|
249
|
+
source: string;
|
|
250
|
+
/** Slug of the node the relationship points to. */
|
|
251
|
+
target: string;
|
|
252
|
+
/** Relationship type, e.g. `"LEADS"`, `"FOUNDED"`, `"PRODUCT_OF"`, `"VARIANT_OF"`, `"PEER"`. */
|
|
253
|
+
type: string;
|
|
254
|
+
/** `"DIRECTED"` (source to target) or `"BIDIRECTIONAL"` (for example peers). */
|
|
255
|
+
direction: string;
|
|
256
|
+
/**
|
|
257
|
+
* Extra facts about the relationship, all values as strings. Keys depend on the edge
|
|
258
|
+
* type, for example `role` and `since` on `LEADS`, `year` on `FOUNDED`. Empty when the
|
|
259
|
+
* edge carries none.
|
|
260
|
+
*/
|
|
261
|
+
properties: Record<string, string>;
|
|
262
|
+
}
|
|
263
|
+
/** A product family and the slugs of its member products. */
|
|
264
|
+
interface GraphProductFamily {
|
|
265
|
+
/** Parent product's slug, e.g. `"iPhone"`. Join to nodes[].slug for its displayName label. */
|
|
266
|
+
family: string;
|
|
267
|
+
/** Slugs of the products in the family. */
|
|
268
|
+
members: string[];
|
|
269
|
+
}
|
|
270
|
+
/** Node slugs in a {@link StockGraph}, grouped by role relative to the stock. */
|
|
271
|
+
interface GraphGroups {
|
|
272
|
+
people: string[];
|
|
273
|
+
products: string[];
|
|
274
|
+
productFamilies: GraphProductFamily[];
|
|
275
|
+
/** Peer companies. */
|
|
276
|
+
peers: string[];
|
|
277
|
+
organizations: string[];
|
|
278
|
+
publishers: string[];
|
|
279
|
+
topics: string[];
|
|
280
|
+
}
|
|
281
|
+
/** Size of a {@link StockGraph}. */
|
|
282
|
+
interface GraphCounts {
|
|
283
|
+
nodes: number;
|
|
284
|
+
edges: number;
|
|
285
|
+
/** Node count per node `type`, e.g. `{ PERSON: 6, PRODUCT_OR_SERVICE: 23 }`. */
|
|
286
|
+
byType: Record<string, number>;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* The company knowledge graph around one stock, from `GET /api/v1/stocks/{ticker}/graph`:
|
|
290
|
+
* the people, products, peers and other entities linked to the company, and the typed
|
|
291
|
+
* relationships between them. Every identifier is a slug.
|
|
292
|
+
*/
|
|
293
|
+
interface StockGraph {
|
|
294
|
+
ticker: string;
|
|
295
|
+
/** Slug of the stock's own company node, the graph's starting point. */
|
|
296
|
+
root: string;
|
|
297
|
+
/** Depth the graph was walked to (1 or 2). */
|
|
298
|
+
depth: number;
|
|
299
|
+
/** Node cap applied to this response. */
|
|
300
|
+
cap: number;
|
|
301
|
+
/** True when the cap cut the graph short. */
|
|
302
|
+
truncated: boolean;
|
|
303
|
+
/** Nodes left out because they carry no slug. */
|
|
304
|
+
omitted: number;
|
|
305
|
+
counts: GraphCounts;
|
|
306
|
+
groups: GraphGroups;
|
|
307
|
+
nodes: GraphNode[];
|
|
308
|
+
edges: GraphEdge[];
|
|
309
|
+
}
|
|
200
310
|
/** Per-source tone for a stock: where the conversation is, and how it leans. */
|
|
201
311
|
interface SentimentSourceTone {
|
|
202
312
|
/** "News", "Reddit", "X", "YouTube", "Substack". */
|
|
@@ -446,18 +556,81 @@ interface FundamentalsPeriodsResponse {
|
|
|
446
556
|
/** Populated when no periods are available, explaining why. */
|
|
447
557
|
reason?: string | null;
|
|
448
558
|
}
|
|
559
|
+
/** One settlement-date reading in {@link ShortInterest}. */
|
|
560
|
+
interface ShortInterestDataPoint {
|
|
561
|
+
/** Shares sold short and not yet covered as of `settlementDate`. */
|
|
562
|
+
shortInterest: number | null;
|
|
563
|
+
/** `shortInterest` divided by `avgDailyVolume`: trading days to cover at average volume. */
|
|
564
|
+
daysToCover: number | null;
|
|
565
|
+
/** Average daily trading volume, in shares. */
|
|
566
|
+
avgDailyVolume: number | null;
|
|
567
|
+
/** ISO date `"YYYY-MM-DD"` of the settlement this reading is for. */
|
|
568
|
+
settlementDate: string | null;
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Short interest history from `stocks.getShortInterest()`, newest first. An unknown
|
|
572
|
+
* ticker returns an empty `dataPoints` array and `count: 0`, not an error.
|
|
573
|
+
*/
|
|
449
574
|
interface ShortInterest {
|
|
450
575
|
ticker: string;
|
|
576
|
+
dataPoints: ShortInterestDataPoint[];
|
|
577
|
+
/** Number of entries in `dataPoints`. */
|
|
578
|
+
count: number;
|
|
451
579
|
[key: string]: unknown;
|
|
452
580
|
}
|
|
581
|
+
/**
|
|
582
|
+
* Free float from `stocks.getFloat()`. An unknown ticker returns every field other than
|
|
583
|
+
* `ticker` as `null`, not an error.
|
|
584
|
+
*/
|
|
453
585
|
interface FloatInfo {
|
|
454
586
|
ticker: string;
|
|
587
|
+
/**
|
|
588
|
+
* Shares available to trade publicly. `0` means the symbol has no free float, as with
|
|
589
|
+
* funds such as SPY or QQQ. Shares outstanding is not on this response; read it from
|
|
590
|
+
* the fundamentals endpoints.
|
|
591
|
+
*/
|
|
592
|
+
freeFloat: number | null;
|
|
593
|
+
/** Free float as percentage points of shares outstanding: `92.1` means 92.1%. */
|
|
594
|
+
freeFloatPercent: number | null;
|
|
595
|
+
/**
|
|
596
|
+
* Date the float figure is effective: `"YYYY-MM-DD"` or `"YYYY-MM-DD HH:mm:ss"`
|
|
597
|
+
* depending on the data source, so parse it leniently.
|
|
598
|
+
*/
|
|
599
|
+
effectiveDate: string | null;
|
|
455
600
|
[key: string]: unknown;
|
|
456
601
|
}
|
|
602
|
+
/** One trading day in {@link ShortVolume}. */
|
|
603
|
+
interface ShortVolumeDataPoint {
|
|
604
|
+
/** Shares sold short that day on the reporting venues. */
|
|
605
|
+
shortVolume: number | null;
|
|
606
|
+
/** Total shares traded that day on the same reporting venues, not consolidated volume. */
|
|
607
|
+
totalVolume: number | null;
|
|
608
|
+
/** `shortVolume` as percentage points of `totalVolume`: `41.04` means 41.04%. */
|
|
609
|
+
shortVolumeRatio: number | null;
|
|
610
|
+
/** ISO date `"YYYY-MM-DD"` of the trading day. */
|
|
611
|
+
date: string | null;
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Daily short volume from `stocks.getShortVolume()`, newest first. An unknown ticker
|
|
615
|
+
* returns an empty `dataPoints` array and `count: 0`, not an error.
|
|
616
|
+
*/
|
|
457
617
|
interface ShortVolume {
|
|
458
618
|
ticker: string;
|
|
619
|
+
dataPoints: ShortVolumeDataPoint[];
|
|
620
|
+
/** Number of entries in `dataPoints`. */
|
|
621
|
+
count: number;
|
|
459
622
|
[key: string]: unknown;
|
|
460
623
|
}
|
|
624
|
+
/** Options for `stocks.getShortInterest()`. */
|
|
625
|
+
interface GetShortInterestOptions {
|
|
626
|
+
/** Settlement dates to return. Omitted, the API returns 24. */
|
|
627
|
+
limit?: number;
|
|
628
|
+
}
|
|
629
|
+
/** Options for `stocks.getShortVolume()`. */
|
|
630
|
+
interface GetShortVolumeOptions {
|
|
631
|
+
/** Trading days to return. Omitted, the API returns 90. */
|
|
632
|
+
limit?: number;
|
|
633
|
+
}
|
|
461
634
|
interface MetricsBreakdown {
|
|
462
635
|
[key: string]: unknown;
|
|
463
636
|
}
|
|
@@ -743,6 +916,10 @@ interface OptionsSummary {
|
|
|
743
916
|
largestPrintPctl?: number;
|
|
744
917
|
/** Where the intraday board lives and who can open it. */
|
|
745
918
|
capabilities?: OptionsCapabilities;
|
|
919
|
+
/** DELISTED marks a frozen last dossier; absent for listed or pending symbols. */
|
|
920
|
+
listingStatus?: "DELISTED";
|
|
921
|
+
/** ISO day (YYYY-MM-DD) trading stopped; absent when the date is unknown. */
|
|
922
|
+
delistedDate?: string;
|
|
746
923
|
}
|
|
747
924
|
/** Trailing window for `client.stocks.getOptionsHistory()`. */
|
|
748
925
|
type OptionsHistoryWindow = "1y" | "2y" | "5y";
|
|
@@ -1458,6 +1635,38 @@ interface GetHoldersOptions {
|
|
|
1458
1635
|
/** Sort direction. Server default is `"desc"`. Requires `limit`. */
|
|
1459
1636
|
sortDir?: "asc" | "desc";
|
|
1460
1637
|
}
|
|
1638
|
+
/**
|
|
1639
|
+
* Optional wire keys inside an institution detail's preview envelope.
|
|
1640
|
+
* Opt in with PreviewResponse<InstitutionDetail>; getInstitutionDetail retains
|
|
1641
|
+
* Promise<unknown> for compatibility with existing callers and implementations.
|
|
1642
|
+
*/
|
|
1643
|
+
interface InstitutionDetail {
|
|
1644
|
+
filerCik?: string | null;
|
|
1645
|
+
displayName?: string | null;
|
|
1646
|
+
urlSlug?: string | null;
|
|
1647
|
+
filerCategory?: string | null;
|
|
1648
|
+
/** Equity portfolio value in USD. */
|
|
1649
|
+
totalValueUsd?: number;
|
|
1650
|
+
/** Full row count, including synthetic SOLD_OUT rows. */
|
|
1651
|
+
holdingsCount?: number;
|
|
1652
|
+
/** Latest report's ISO calendar day (YYYY-MM-DD). */
|
|
1653
|
+
latestReportDate?: string | null;
|
|
1654
|
+
quartersTracked?: number;
|
|
1655
|
+
newPositions?: number;
|
|
1656
|
+
increasedPositions?: number;
|
|
1657
|
+
decreasedPositions?: number;
|
|
1658
|
+
soldOutPositions?: number;
|
|
1659
|
+
multiCikRollup?: boolean | null;
|
|
1660
|
+
childCikCount?: number | null;
|
|
1661
|
+
childCiks?: string[] | null;
|
|
1662
|
+
holdings?: Record<string, unknown>[] | null;
|
|
1663
|
+
optionPositions?: Record<string, unknown>[];
|
|
1664
|
+
returnedCount?: number;
|
|
1665
|
+
offset?: number;
|
|
1666
|
+
/** max(0, holdingsCount - soldOutPositions), for the full portfolio on every tier. */
|
|
1667
|
+
positionsHeld?: number;
|
|
1668
|
+
[key: string]: unknown;
|
|
1669
|
+
}
|
|
1461
1670
|
/** A single institution summary from the discovery list. */
|
|
1462
1671
|
interface InstitutionSummary {
|
|
1463
1672
|
/** SEC Central Index Key of the (rolled-up) institution. */
|
|
@@ -2286,8 +2495,35 @@ interface KpiTypeEntry {
|
|
|
2286
2495
|
category: string;
|
|
2287
2496
|
chartType: string;
|
|
2288
2497
|
}
|
|
2498
|
+
/**
|
|
2499
|
+
* A knowledge-base entity, as returned by `kb.getPopularEntities()`. Address it by
|
|
2500
|
+
* `urlSlug` and label it with `displayName`.
|
|
2501
|
+
*/
|
|
2289
2502
|
interface KBEntity {
|
|
2503
|
+
/**
|
|
2504
|
+
* Entity id as sent by the API.
|
|
2505
|
+
* @deprecated Not a stable public identifier. Use `urlSlug` to refer to an entity.
|
|
2506
|
+
*/
|
|
2507
|
+
id: string;
|
|
2508
|
+
/** Human-readable name, e.g. `"Elon Musk"`. */
|
|
2509
|
+
displayName: string;
|
|
2510
|
+
/** Entity type, e.g. `"PERSON"`, `"COMPANY"`, `"PRODUCT_OR_SERVICE"`. */
|
|
2511
|
+
type: string;
|
|
2512
|
+
/** Ticker of the stock this entity is most closely related to, when it has one. */
|
|
2513
|
+
relatedStock?: string | null;
|
|
2514
|
+
/** Handle the metric and document endpoints address this entity by. `null` when it has none. */
|
|
2515
|
+
urlSlug?: string | null;
|
|
2516
|
+
/** A person's title. `null` for non-people. */
|
|
2517
|
+
title?: string | null;
|
|
2518
|
+
/** A product's category. `null` for non-products. */
|
|
2519
|
+
category?: string | null;
|
|
2520
|
+
/** Icon image URL, or `null` when none is assigned. */
|
|
2521
|
+
iconUrl?: string | null;
|
|
2522
|
+
/** App Store id when the product has a tracked companion app. Omitted otherwise. */
|
|
2523
|
+
appId?: string | null;
|
|
2524
|
+
/** @deprecated Never sent by the API. To refer to the entity, use `urlSlug`. */
|
|
2290
2525
|
entityId: string;
|
|
2526
|
+
/** @deprecated Never sent by the API; read `displayName`. */
|
|
2291
2527
|
name: string;
|
|
2292
2528
|
[key: string]: unknown;
|
|
2293
2529
|
}
|
|
@@ -2928,12 +3164,48 @@ interface AnalystAction {
|
|
|
2928
3164
|
fromGrade: string | null;
|
|
2929
3165
|
toGrade: string | null;
|
|
2930
3166
|
}
|
|
3167
|
+
/** Which forward period an {@link AnalystEstimate} covers. */
|
|
3168
|
+
type AnalystEstimatePeriodType = "CURRENT_QUARTER" | "NEXT_QUARTER" | "CURRENT_YEAR" | "NEXT_YEAR";
|
|
3169
|
+
/** Consensus EPS estimate for one forward period. */
|
|
2931
3170
|
interface AnalystEstimate {
|
|
2932
|
-
/**
|
|
3171
|
+
/**
|
|
3172
|
+
* Period label as sent by the API: usually a date such as `"2026-10-29"` for the
|
|
3173
|
+
* current quarter (a relative code such as `"0q"` when no date is known yet), a
|
|
3174
|
+
* relative code such as `"+1q"`, `"0y"` or `"+1y"` otherwise. Use
|
|
3175
|
+
* `periodType` to tell periods apart.
|
|
3176
|
+
*/
|
|
3177
|
+
periodLabel: string | null;
|
|
3178
|
+
periodType: AnalystEstimatePeriodType | null;
|
|
3179
|
+
/** Lowest analyst EPS estimate for the period. */
|
|
3180
|
+
estimateLow: number | null;
|
|
3181
|
+
/** Mean analyst EPS estimate for the period. */
|
|
3182
|
+
estimateMean: number | null;
|
|
3183
|
+
/** Highest analyst EPS estimate for the period. */
|
|
3184
|
+
estimateHigh: number | null;
|
|
3185
|
+
/** Analysts contributing to the estimate. */
|
|
3186
|
+
numberOfAnalysts: number | null;
|
|
2933
3187
|
[key: string]: unknown;
|
|
2934
3188
|
}
|
|
3189
|
+
/** Reported EPS against the consensus estimate for one past report. */
|
|
2935
3190
|
interface AnalystEarningsSurprise {
|
|
2936
|
-
/**
|
|
3191
|
+
/** Period label as sent by the API, e.g. `"2026-07-30"`. */
|
|
3192
|
+
periodLabel: string | null;
|
|
3193
|
+
/** ISO date `"YYYY-MM-DD"` the results were reported. */
|
|
3194
|
+
reportDate: string | null;
|
|
3195
|
+
/** Consensus EPS estimate going into the report. */
|
|
3196
|
+
estimateEps: number | null;
|
|
3197
|
+
/** Reported EPS. */
|
|
3198
|
+
actualEps: number | null;
|
|
3199
|
+
/**
|
|
3200
|
+
* As sent by the API: a fraction rounded to 2 decimals (0.07 = 7%), despite the name.
|
|
3201
|
+
*/
|
|
3202
|
+
surprisePercent: number | null;
|
|
3203
|
+
/**
|
|
3204
|
+
* Signed true percent: (actualEps - estimateEps) * 100 / abs(estimateEps),
|
|
3205
|
+
* rounded half-up to 2 decimals. Null when either EPS is missing or the estimate
|
|
3206
|
+
* is zero. The legacy surprisePercent fraction is unchanged.
|
|
3207
|
+
*/
|
|
3208
|
+
surprisePct?: number | null;
|
|
2937
3209
|
[key: string]: unknown;
|
|
2938
3210
|
}
|
|
2939
3211
|
interface AnalystEstimatesResponse {
|
|
@@ -2956,6 +3228,15 @@ interface GetAnalystMarketActivityOptions {
|
|
|
2956
3228
|
/** Days of history to return. Default 30. */
|
|
2957
3229
|
lookbackDays?: number;
|
|
2958
3230
|
}
|
|
3231
|
+
/** A named analyst, as referenced from a note. */
|
|
3232
|
+
interface AnalystRef {
|
|
3233
|
+
/**
|
|
3234
|
+
* Addresses `analyst.profile(slug)` and `analyst.calls(slug)`. `null` when we hold no
|
|
3235
|
+
* profile for the named analyst; the `name` is still returned.
|
|
3236
|
+
*/
|
|
3237
|
+
slug: string | null;
|
|
3238
|
+
name: string;
|
|
3239
|
+
}
|
|
2959
3240
|
/** One price target note. */
|
|
2960
3241
|
interface AnalystNote {
|
|
2961
3242
|
/** ISO date the note was published, `"YYYY-MM-DD"`. */
|
|
@@ -2964,7 +3245,7 @@ interface AnalystNote {
|
|
|
2964
3245
|
* The individual named on the note, or `null` when the report named nobody.
|
|
2965
3246
|
* Absent means the report did not identify one, never that the note did not happen.
|
|
2966
3247
|
*/
|
|
2967
|
-
analyst:
|
|
3248
|
+
analyst: AnalystRef | null;
|
|
2968
3249
|
priceTarget: number | null;
|
|
2969
3250
|
adjPriceTarget: number | null;
|
|
2970
3251
|
priceWhenPosted: number | null;
|
|
@@ -3324,9 +3605,11 @@ declare class Earnings {
|
|
|
3324
3605
|
* management phrased it, and a summary of the earnings call.
|
|
3325
3606
|
*
|
|
3326
3607
|
* Branch on `isPreview`: a PRO key receives every hydrated quarter in full, a
|
|
3327
|
-
* FREE key receives the latest quarter shaped rather than truncated
|
|
3328
|
-
* `totalCount
|
|
3329
|
-
*
|
|
3608
|
+
* FREE key receives the latest quarter shaped rather than truncated.
|
|
3609
|
+
* `totalCount` on the envelope counts indexed quarters on both tiers. The
|
|
3610
|
+
* returned array can be shorter when a body is unavailable or limit cuts it.
|
|
3611
|
+
* Older responses may omit the count. {@link EarningsQuarter} documents
|
|
3612
|
+
* which fields each tier carries.
|
|
3330
3613
|
*
|
|
3331
3614
|
* A quarter typically appears within 48 hours of the company reporting, and
|
|
3332
3615
|
* the call summary can arrive after the press-release content for the same
|
|
@@ -3431,6 +3714,53 @@ interface EtfInfo {
|
|
|
3431
3714
|
*/
|
|
3432
3715
|
imageUrl: string | null;
|
|
3433
3716
|
}
|
|
3717
|
+
/**
|
|
3718
|
+
* Quote snapshot for an ETF from `GET /api/v1/etfs/{ticker}/quote`: the same price-side
|
|
3719
|
+
* fields as the stock quote, with fund facts (AUM, expense ratio, NAV, inception date) in
|
|
3720
|
+
* place of market cap, P/E and EPS.
|
|
3721
|
+
*
|
|
3722
|
+
* Every field except `ticker` and `timestamp` is left out of the response when unknown
|
|
3723
|
+
* rather than sent as `null`, so check for presence before rendering.
|
|
3724
|
+
*/
|
|
3725
|
+
interface EtfQuote {
|
|
3726
|
+
ticker: string;
|
|
3727
|
+
/** Regular-session price, delayed. During regular hours: the most recent regular-session value. Otherwise: the most recent regular-session close. */
|
|
3728
|
+
currentPrice?: number | null;
|
|
3729
|
+
change?: number | null;
|
|
3730
|
+
/** Change in percentage points: `-0.21` means -0.21%. */
|
|
3731
|
+
changePercent?: number | null;
|
|
3732
|
+
/** Shares traded in the session. */
|
|
3733
|
+
volume?: number | null;
|
|
3734
|
+
open?: number | null;
|
|
3735
|
+
dayHigh?: number | null;
|
|
3736
|
+
dayLow?: number | null;
|
|
3737
|
+
previousClose?: number | null;
|
|
3738
|
+
week52High?: number | null;
|
|
3739
|
+
week52Low?: number | null;
|
|
3740
|
+
/**
|
|
3741
|
+
* Trailing-12-month dividend yield as a fraction, not percentage points: `0.0099` is a
|
|
3742
|
+
* 0.99% yield.
|
|
3743
|
+
*/
|
|
3744
|
+
dividendYield?: number | null;
|
|
3745
|
+
/** Assets under management, in USD. The fund analogue of a stock's market cap. */
|
|
3746
|
+
aum?: number | null;
|
|
3747
|
+
/** Annual expense ratio as a fraction: `0.0009` is 0.09%. */
|
|
3748
|
+
expenseRatio?: number | null;
|
|
3749
|
+
/** Net asset value per share, in USD. */
|
|
3750
|
+
nav?: number | null;
|
|
3751
|
+
/** Fund inception date, ISO `"YYYY-MM-DD"`. */
|
|
3752
|
+
inceptionDate?: string | null;
|
|
3753
|
+
/** Unix timestamp in MILLISECONDS of when this response was served. Not the age of the price. */
|
|
3754
|
+
timestamp: number;
|
|
3755
|
+
/**
|
|
3756
|
+
* Unix timestamp in MILLISECONDS of the market data behind `currentPrice`. Read this for
|
|
3757
|
+
* freshness rather than `timestamp`. Absent when the price cannot be dated, so treat an
|
|
3758
|
+
* absent value as unknown age, not as fresh.
|
|
3759
|
+
*/
|
|
3760
|
+
priceAsOf?: number | null;
|
|
3761
|
+
/** Pre-market or after-hours view. Absent during regular hours, overnight and weekends. */
|
|
3762
|
+
extendedHours?: ExtendedHoursInfo | null;
|
|
3763
|
+
}
|
|
3434
3764
|
interface EtfHolding {
|
|
3435
3765
|
/** The symbol as the issuer filed it. For an international fund this is the local exchange code, not a US ticker, so resolve stocks with `linkedTicker` instead. */
|
|
3436
3766
|
ticker: string;
|
|
@@ -3570,6 +3900,15 @@ declare class Etfs {
|
|
|
3570
3900
|
* List every ETF tracked by SentiSense, sorted by ticker.
|
|
3571
3901
|
*/
|
|
3572
3902
|
list(): Promise<EtfInfo[]>;
|
|
3903
|
+
/**
|
|
3904
|
+
* Get the quote snapshot for an ETF: price, day and 52-week range, volume, dividend
|
|
3905
|
+
* yield, AUM, expense ratio, NAV and inception date.
|
|
3906
|
+
*
|
|
3907
|
+
* Fails with a 400 `APIError` whose `code` is `"ticker_is_not_etf"` when the symbol is a
|
|
3908
|
+
* stock (use `stocks.getQuote()` for those), and a `NotFoundError` when there is no
|
|
3909
|
+
* price data for the fund.
|
|
3910
|
+
*/
|
|
3911
|
+
quote(ticker: string): Promise<EtfQuote>;
|
|
3573
3912
|
/**
|
|
3574
3913
|
* Get the full holdings composition for an ETF, including per-holding weights
|
|
3575
3914
|
* and freshness metadata. Returns 404 for unknown ETFs or commodity-only funds.
|
|
@@ -3818,6 +4157,10 @@ declare class Institutional {
|
|
|
3818
4157
|
* Resolved by URL slug (e.g. `Berkshire-Hathaway`) or numeric SEC CIK.
|
|
3819
4158
|
* Free users receive the profile and top 10 holdings; PRO users receive the
|
|
3820
4159
|
* full holdings array. Returns 404 if the slug or CIK is unknown.
|
|
4160
|
+
*
|
|
4161
|
+
* The signature remains unknown for compatibility. Opt in to the exported
|
|
4162
|
+
* PreviewResponse<InstitutionDetail> type to read data.positionsHeld, the full
|
|
4163
|
+
* portfolio count excluding SOLD_OUT rows, even on a truncated holdings list.
|
|
3821
4164
|
*/
|
|
3822
4165
|
getInstitutionDetail(slugOrCik: string): Promise<unknown>;
|
|
3823
4166
|
}
|
|
@@ -4072,6 +4415,17 @@ declare class Stocks {
|
|
|
4072
4415
|
getSentiment(ticker: string): Promise<PreviewResponse<StockSentiment>>;
|
|
4073
4416
|
/** Get related KB entities (people, products, partners). */
|
|
4074
4417
|
getEntities(ticker: string): Promise<StockEntity[]>;
|
|
4418
|
+
/**
|
|
4419
|
+
* Get the company knowledge graph around a stock: the people, products, peers and other
|
|
4420
|
+
* entities linked to the company, and the typed relationships between them.
|
|
4421
|
+
*
|
|
4422
|
+
* Every identifier in the response is a slug, the same handle the metric and document
|
|
4423
|
+
* endpoints take, so a node can be passed straight to them. `depth` is 1 (default) or 2,
|
|
4424
|
+
* `cap` limits the number of non-root nodes (1 to 200, default 75); the root is always
|
|
4425
|
+
* included in addition. Out-of-range values are rejected with a 400. A ticker with no
|
|
4426
|
+
* graph returns a `NotFoundError`.
|
|
4427
|
+
*/
|
|
4428
|
+
getGraph(ticker: string, options?: GetStockGraphOptions): Promise<StockGraph>;
|
|
4075
4429
|
/**
|
|
4076
4430
|
* Get AI-generated stock analysis report. Requires PRO tier.
|
|
4077
4431
|
*
|
|
@@ -4110,12 +4464,18 @@ declare class Stocks {
|
|
|
4110
4464
|
getCurrentFundamentals(ticker: string): Promise<TtmFundamentals>;
|
|
4111
4465
|
/** Get historical revenue data. */
|
|
4112
4466
|
getHistoricalRevenue(ticker: string): Promise<unknown>;
|
|
4113
|
-
/**
|
|
4114
|
-
|
|
4467
|
+
/**
|
|
4468
|
+
* Get short interest history (FINRA), newest first: shares short, days to cover and
|
|
4469
|
+
* average daily volume per settlement date. `limit` defaults to 24 settlement dates.
|
|
4470
|
+
*/
|
|
4471
|
+
getShortInterest(ticker: string, options?: GetShortInterestOptions): Promise<ShortInterest>;
|
|
4115
4472
|
/** Get float information. */
|
|
4116
4473
|
getFloat(ticker: string): Promise<FloatInfo>;
|
|
4117
|
-
/**
|
|
4118
|
-
|
|
4474
|
+
/**
|
|
4475
|
+
* Get daily short volume, newest first: shares sold short against total volume on the
|
|
4476
|
+
* reporting venues. `limit` defaults to 90 trading days.
|
|
4477
|
+
*/
|
|
4478
|
+
getShortVolume(ticker: string, options?: GetShortVolumeOptions): Promise<ShortVolume>;
|
|
4119
4479
|
/**
|
|
4120
4480
|
* Get company-specific KPI time-series for a ticker. Returns curated GAAP and
|
|
4121
4481
|
* non-GAAP metrics from earnings filings (e.g. iPhone unit sales, Tesla deliveries,
|
|
@@ -4395,6 +4755,6 @@ declare class APIError extends SentiSenseError {
|
|
|
4395
4755
|
constructor(message: string, status: number, code?: string);
|
|
4396
4756
|
}
|
|
4397
4757
|
|
|
4398
|
-
declare const VERSION = "0.
|
|
4758
|
+
declare const VERSION = "0.63.0";
|
|
4399
4759
|
|
|
4400
|
-
export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketMoodOptions, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsCapabilities, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsIntradayBoardCapability, type OptionsIntradayFlow, type OptionsOiFollowUp, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortVolume, type SimilarStock, type StockDetail, type StockEntity, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
|
|
4760
|
+
export { type AISummary, APIError, type AnalystAction, type AnalystCall, type AnalystCalledItCall, type AnalystCalledItMove, type AnalystConsensus, type AnalystConsensusHistory, type AnalystConsensusHistoryPoint, type AnalystCoverage, type AnalystCoverageAnalyst, type AnalystCoverageBookEntry, type AnalystCoverageFirm, type AnalystEarningsSurprise, type AnalystEstimate, type AnalystEstimatePeriodType, type AnalystEstimatesResponse, type AnalystFirmRating, type AnalystFirmTenure, type AnalystNote, type AnalystProfile, type AnalystRatingBuckets, type AnalystRef, type AssetMetadata, AuthenticationError, type CalendarMeta, type ChartData, type ChartDataPoint, type ClusterBuy, type CompanyKpisData, type CongressTrade, DeepHistoryUnavailableError, type Document, type DocumentSearchResponse, type DocumentSource, type EarningsCalendarResponse, type EarningsEvent, type EarningsKpiHighlight, type EarningsOutcomeStatistics, type EarningsQuarter, type EarningsReaction, type EarningsReactionsResponse, type EarningsSource, type EarningsStatistics, type EarningsStatisticsBaseline, type EarningsStatisticsDeviation, type EarningsStatisticsThresholds, type EarningsStatisticsWindow, type EntitySearchResult, type EntitySearchType, type EtfAggregateCoverage, type EtfAnalystAggregate, type EtfAnalystContributor, type EtfHolding, type EtfHoldings, type EtfInfo, type EtfInsiderAggregate, type EtfInsiderContributor, type EtfQuote, type EtfScreenerExecuteResponse, type EtfScreenerRow, type EtfSentimentAggregate, type EtfSentimentReading, type ExtendedHoursInfo, type FeaturedScreen, type FloatInfo, type Fundamentals, type FundamentalsPeriod, type FundamentalsPeriodsResponse, type GetAnalystActionsOptions, type GetAnalystCalledItOptions, type GetAnalystCallsOptions, type GetAnalystConsensusHistoryOptions, type GetAnalystCoverageOptions, type GetAnalystMarketActivityOptions, type GetEarningsCalendarOptions, type GetEarningsStatisticsOptions, type GetEarningsSummariesOptions, type GetEtfInsiderAggregateOptions, type GetHoldersOptions, type GetInsiderOptions, type GetInsightsOptions, type GetLatestInsightsOptions, type GetOptionsHistoryOptions, type GetPoliticianActivityOptions, type GetPoliticianDirectoryOptions, type GetPoliticianMemberOptions, type GetPoliticiansOptions, type GetRankedEarningsOptions, type GetRecentEarningsOptions, type GetShortInterestOptions, type GetShortVolumeOptions, type GetStockGraphOptions, type GetStockInsightsRangeOptions, type GetUserInsightsOptions, type GraphCounts, type GraphEdge, type GraphGroups, type GraphNode, type GraphProductFamily, type Holder, type HolderNotableChanges, type IndexConstituent, type IndexHistoryPoint, type IndexHistoryResponse, type IndexListResponse, type IndexListing, type IndexSnapshot, type InsiderActivityResponse, type InsiderActivitySummary, type InsiderTrade, type Insight, type InsightPreviewResponse, type InstitutionDetail, type InstitutionList, type InstitutionListResponse, type InstitutionSummary, type InstitutionalFlow, type InstitutionalFlows, type InstitutionalFlowsResponse, type KBEntity, type KpiCoverageEntry, type KpiCoverageResponse, type KpiDataPoint, type KpiSeries, type KpiTypeEntry, type ListInstitutionsOptions, type LockedInsight, type MarketMood, type MarketMoodOptions, type MarketStatus, type MarketSummary, type MetricDistribution, type MetricDistributionOptions, type MetricType, type MetricsBreakdown, type MetricsOptions, NotFoundError, type OptionsAggregate, type OptionsCapabilities, type OptionsContext, type OptionsHighlight, type OptionsHistory, type OptionsHistoryWindow, type OptionsIntradayBoardCapability, type OptionsIntradayFlow, type OptionsOiFollowUp, type OptionsOiWalls, type OptionsOverview, type OptionsOverviewRow, type OptionsSummary, type OptionsUnusualContract, type OptionsWall, type PoliticianDetail, type PoliticianDirectory, type PoliticianDirectoryEntry, type PoliticianDirectoryResponse, type PoliticianSummary, type PreviewResponse, type Quarter, type RankedEarnings, type RankedEarningsSection, type RankedReportedEarnings, type RankedUpcomingEarnings, RateLimitError, type RatingBase, type RatingDimension, type RatingDimensionKey, type RatingFlag, type RatingNotRatedReason, type RatingSubLeg, type RecentEarningsEntry, type RiskAdjustment, type RiskCondition, type ScreenerExecuteOptions, type ScreenerExecuteResponse, type ScreenerFieldCatalog, type ScreenerFieldDescriptor, type ScreenerFieldOption, type ScreenerFilter, type ScreenerPlan, type ScreenerRow, type ScreenerScreensResponse, type ScreenerSort, type SearchEntitiesOptions, type SearchStoriesOptions, SentiSense, SentiSenseError, type SentiSenseOptions, type SentimentEntry, type ServingMetric, type ShortInterest, type ShortInterestDataPoint, type ShortVolume, type ShortVolumeDataPoint, type SimilarStock, type StockDetail, type StockEntity, type StockGraph, type StockImage, type StockNotRated, type StockPrice, type StockProfile, type StockQuote, type StockRating, type StockRatingResponse, type StockSocialDominance, type Story, type StoryCluster, type StoryTimelineEntry, TemporarilyUnavailableError, type TickerHolders, type TrackerEvent, type TrackerGeoEntry, type TrackerHeadlineMetric, type TrackerListResponse, type TrackerListing, type TrackerMetricValue, type TrackerSignal, type TrackerSnapshot, type TrackerSnapshotResponse, type TrackerSourceRef, type TrackerTableRow, type TrackerTimeSeriesPoint, type TtmFundamentals, VERSION, type WeightedConsensus, type WeightedNetFlow, SentiSense as default };
|