reportify-sdk 0.2.9 → 0.3.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 +107 -6
- package/dist/index.d.mts +82 -64
- package/dist/index.d.ts +82 -64
- package/dist/index.js +166 -166
- package/dist/index.mjs +165 -166
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,19 +49,18 @@ const balance = await client.stock.balanceSheet('US:AAPL');
|
|
|
49
49
|
const cashflow = await client.stock.cashflowStatement('US:AAPL');
|
|
50
50
|
|
|
51
51
|
// Price data
|
|
52
|
-
const prices = await client.stock.prices('US:AAPL', {
|
|
53
|
-
const kline = await client.stock.kline('US:TSLA', { interval: '1d', limit: 100 });
|
|
52
|
+
const prices = await client.stock.prices('US:AAPL', { startDate: '2024-01-01' });
|
|
54
53
|
|
|
55
|
-
// Real-time
|
|
56
|
-
const
|
|
54
|
+
// Real-time quote
|
|
55
|
+
const quote = await client.stock.quote('US:AAPL');
|
|
57
56
|
|
|
58
57
|
// Company info
|
|
59
58
|
const overview = await client.stock.overview('US:AAPL');
|
|
60
59
|
const shareholders = await client.stock.shareholders('US:AAPL');
|
|
61
60
|
|
|
62
61
|
// Screening and calendar
|
|
63
|
-
const stocks = await client.stock.screener({
|
|
64
|
-
const earnings = await client.stock.earningsCalendar({
|
|
62
|
+
const stocks = await client.stock.screener({ country: 'US', marketCapMoreThan: 1e10 });
|
|
63
|
+
const earnings = await client.stock.earningsCalendar({ market: 'us', startDate: '2024-01-01', endDate: '2024-01-31' });
|
|
65
64
|
```
|
|
66
65
|
|
|
67
66
|
### Timeline
|
|
@@ -92,6 +91,108 @@ const summary = await client.docs.summary('doc_id');
|
|
|
92
91
|
// List and search documents
|
|
93
92
|
const docs = await client.docs.list({ symbols: ['US:AAPL'], pageSize: 10 });
|
|
94
93
|
const chunks = await client.docs.searchChunks('revenue breakdown', { num: 5 });
|
|
94
|
+
|
|
95
|
+
// Upload documents
|
|
96
|
+
const result = await client.docs.uploadDocs([
|
|
97
|
+
{ url: 'https://example.com/report.pdf', name: 'Annual Report' }
|
|
98
|
+
]);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Quant (Quantitative Analysis)
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
// Compute technical indicators
|
|
105
|
+
const rsi = await client.quant.computeIndicators({
|
|
106
|
+
symbols: ['000001'],
|
|
107
|
+
formula: 'RSI(14)'
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const macd = await client.quant.computeIndicators({
|
|
111
|
+
symbols: ['000001'],
|
|
112
|
+
formula: 'MACD()'
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Screen stocks by formula
|
|
116
|
+
const oversold = await client.quant.screen({ formula: 'RSI(14) < 30' });
|
|
117
|
+
const goldenCross = await client.quant.screen({ formula: 'CROSS(MA(5), MA(20))' });
|
|
118
|
+
|
|
119
|
+
// Get OHLCV data
|
|
120
|
+
const ohlcv = await client.quant.ohlcv({ symbol: '000001', startDate: '2024-01-01' });
|
|
121
|
+
const ohlcvBatch = await client.quant.ohlcvBatch({ symbols: ['000001', '600519'] });
|
|
122
|
+
|
|
123
|
+
// Backtest strategy
|
|
124
|
+
const result = await client.quant.backtest({
|
|
125
|
+
startDate: '2023-01-01',
|
|
126
|
+
endDate: '2024-01-01',
|
|
127
|
+
symbol: '000001',
|
|
128
|
+
entryFormula: 'CROSS(MA(5), MA(20))',
|
|
129
|
+
exitFormula: 'CROSSDOWN(MA(5), MA(20))'
|
|
130
|
+
});
|
|
131
|
+
console.log(`Total Return: ${(result.total_return_pct * 100).toFixed(2)}%`);
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Concepts
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// Get latest concepts
|
|
138
|
+
const concepts = await client.concepts.latest();
|
|
139
|
+
concepts.forEach(c => console.log(c.concept_name));
|
|
140
|
+
|
|
141
|
+
// Get today's concept feeds
|
|
142
|
+
const feeds = await client.concepts.today();
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Channels
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
// Search channels
|
|
149
|
+
const result = await client.channels.search('Goldman Sachs');
|
|
150
|
+
|
|
151
|
+
// Get followed channels
|
|
152
|
+
const followings = await client.channels.getFollowings();
|
|
153
|
+
|
|
154
|
+
// Follow/unfollow a channel
|
|
155
|
+
await client.channels.follow('channel_id');
|
|
156
|
+
await client.channels.unfollow('channel_id');
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Chat
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
// Chat completion based on documents
|
|
163
|
+
const response = await client.chat.completion(
|
|
164
|
+
'What are Tesla revenue projections?',
|
|
165
|
+
{
|
|
166
|
+
symbols: ['US:TSLA'],
|
|
167
|
+
mode: 'comprehensive' // concise, comprehensive, deepresearch
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
console.log(response.message);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Agent
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
// Create agent conversation
|
|
177
|
+
const conv = await client.agent.createConversation(11887655289749510);
|
|
178
|
+
|
|
179
|
+
// Chat with agent
|
|
180
|
+
const response = await client.agent.chat(
|
|
181
|
+
conv.id,
|
|
182
|
+
'Analyze NVIDIA latest earnings'
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
// Get agent-generated file
|
|
186
|
+
const fileContent = await client.agent.getFile('file_id');
|
|
187
|
+
// Save in Node.js: fs.writeFileSync('output.xlsx', Buffer.from(fileContent));
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### User
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
// Get followed companies
|
|
194
|
+
const companies = await client.user.followedCompanies();
|
|
195
|
+
companies.forEach(c => console.log(`${c.symbol}: ${c.name}`));
|
|
95
196
|
```
|
|
96
197
|
|
|
97
198
|
## Error Handling
|
package/dist/index.d.mts
CHANGED
|
@@ -56,6 +56,13 @@ interface SearchOptions {
|
|
|
56
56
|
startDatetime?: string;
|
|
57
57
|
endDatetime?: string;
|
|
58
58
|
}
|
|
59
|
+
interface EarningsSearchOptions {
|
|
60
|
+
num?: number;
|
|
61
|
+
startDatetime?: string;
|
|
62
|
+
endDatetime?: string;
|
|
63
|
+
fiscalYear?: string;
|
|
64
|
+
fiscalQuarter?: string;
|
|
65
|
+
}
|
|
59
66
|
interface CompanyOverview {
|
|
60
67
|
symbol: string;
|
|
61
68
|
name: string;
|
|
@@ -560,7 +567,7 @@ declare class DocsModule {
|
|
|
560
567
|
/**
|
|
561
568
|
* Query documents by symbols
|
|
562
569
|
*
|
|
563
|
-
* @param symbols -
|
|
570
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
564
571
|
* @param options - Filter options
|
|
565
572
|
*/
|
|
566
573
|
queryBySymbols(symbols: string[], options?: {
|
|
@@ -1364,6 +1371,78 @@ declare class UserModule {
|
|
|
1364
1371
|
followedCompanies(): Promise<FollowedCompany[]>;
|
|
1365
1372
|
}
|
|
1366
1373
|
|
|
1374
|
+
/**
|
|
1375
|
+
* Search Module
|
|
1376
|
+
*
|
|
1377
|
+
* Provides document search functionality across various categories.
|
|
1378
|
+
*/
|
|
1379
|
+
|
|
1380
|
+
/**
|
|
1381
|
+
* Search module for document search functionality.
|
|
1382
|
+
*
|
|
1383
|
+
* @example
|
|
1384
|
+
* ```typescript
|
|
1385
|
+
* const results = await client.search.all('Tesla earnings');
|
|
1386
|
+
* const news = await client.search.news('Apple iPhone');
|
|
1387
|
+
* ```
|
|
1388
|
+
*/
|
|
1389
|
+
declare class SearchModule {
|
|
1390
|
+
private client;
|
|
1391
|
+
constructor(client: Reportify);
|
|
1392
|
+
/**
|
|
1393
|
+
* Search documents across all categories
|
|
1394
|
+
*
|
|
1395
|
+
* @param query - Search query string
|
|
1396
|
+
* @param options - Search options
|
|
1397
|
+
* @returns List of matching documents
|
|
1398
|
+
*/
|
|
1399
|
+
all(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1400
|
+
/**
|
|
1401
|
+
* Search news articles
|
|
1402
|
+
*/
|
|
1403
|
+
news(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1404
|
+
/**
|
|
1405
|
+
* Search research reports
|
|
1406
|
+
*/
|
|
1407
|
+
reports(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1408
|
+
/**
|
|
1409
|
+
* Search company filings
|
|
1410
|
+
*
|
|
1411
|
+
* @param query - Search query string
|
|
1412
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1413
|
+
* @param options - Search options
|
|
1414
|
+
*/
|
|
1415
|
+
filings(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1416
|
+
/**
|
|
1417
|
+
* Search earnings call transcripts and slides
|
|
1418
|
+
*
|
|
1419
|
+
* @param query - Search query string
|
|
1420
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1421
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1422
|
+
*/
|
|
1423
|
+
conferenceCalls(query: string, symbols: string[], options?: EarningsSearchOptions): Promise<Document[]>;
|
|
1424
|
+
/**
|
|
1425
|
+
* Search earnings financial reports
|
|
1426
|
+
*
|
|
1427
|
+
* @param query - Search query string
|
|
1428
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1429
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1430
|
+
*/
|
|
1431
|
+
earningsPack(query: string, symbols: string[], options?: EarningsSearchOptions): Promise<Document[]>;
|
|
1432
|
+
/**
|
|
1433
|
+
* Search conference calls and IR (Investor Relations) meetings
|
|
1434
|
+
*/
|
|
1435
|
+
minutes(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1436
|
+
/**
|
|
1437
|
+
* Search social media content
|
|
1438
|
+
*/
|
|
1439
|
+
socials(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1440
|
+
/**
|
|
1441
|
+
* Search webpage content
|
|
1442
|
+
*/
|
|
1443
|
+
webpages(query: string, options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1367
1446
|
/**
|
|
1368
1447
|
* Reportify Client
|
|
1369
1448
|
*
|
|
@@ -1388,6 +1467,7 @@ declare class Reportify {
|
|
|
1388
1467
|
private apiKey;
|
|
1389
1468
|
private baseUrl;
|
|
1390
1469
|
private timeout;
|
|
1470
|
+
readonly search: SearchModule;
|
|
1391
1471
|
readonly stock: StockModule;
|
|
1392
1472
|
readonly docs: DocsModule;
|
|
1393
1473
|
readonly quant: QuantModule;
|
|
@@ -1422,68 +1502,6 @@ declare class Reportify {
|
|
|
1422
1502
|
* Make a GET request and return raw bytes (for file downloads)
|
|
1423
1503
|
*/
|
|
1424
1504
|
getBytes(path: string): Promise<ArrayBuffer>;
|
|
1425
|
-
/**
|
|
1426
|
-
* Search documents across all categories
|
|
1427
|
-
*
|
|
1428
|
-
* @param query - Search query string
|
|
1429
|
-
* @param options - Search options
|
|
1430
|
-
* @returns List of matching documents
|
|
1431
|
-
*
|
|
1432
|
-
* @example
|
|
1433
|
-
* ```typescript
|
|
1434
|
-
* const docs = await client.search('Tesla earnings', { num: 10 });
|
|
1435
|
-
* docs.forEach(doc => console.log(doc.title));
|
|
1436
|
-
* ```
|
|
1437
|
-
*/
|
|
1438
|
-
search(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1439
|
-
/**
|
|
1440
|
-
* Search news articles
|
|
1441
|
-
*/
|
|
1442
|
-
searchNews(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1443
|
-
/**
|
|
1444
|
-
* Search research reports
|
|
1445
|
-
*/
|
|
1446
|
-
searchReports(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1447
|
-
/**
|
|
1448
|
-
* Search company filings
|
|
1449
|
-
* @param query - Search query string
|
|
1450
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1451
|
-
* @param options - Search options
|
|
1452
|
-
*/
|
|
1453
|
-
searchFilings(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1454
|
-
/**
|
|
1455
|
-
* Search earnings pack documents (Financial reports, Earnings call transcripts, etc.)
|
|
1456
|
-
* @param query - Search query string
|
|
1457
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1458
|
-
* @param options - Search options
|
|
1459
|
-
*/
|
|
1460
|
-
searchEarningsPack(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1461
|
-
/**
|
|
1462
|
-
* Search conference call transcripts
|
|
1463
|
-
* @param query - Search query string
|
|
1464
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1465
|
-
* @param options - Search options
|
|
1466
|
-
*/
|
|
1467
|
-
searchConferenceCalls(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1468
|
-
/**
|
|
1469
|
-
* Search minutes transcripts (Conference calls, IR meetings)
|
|
1470
|
-
* @param query - Search query string
|
|
1471
|
-
* @param options - Search options
|
|
1472
|
-
*/
|
|
1473
|
-
searchMinutes(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1474
|
-
/**
|
|
1475
|
-
* Search social media content
|
|
1476
|
-
*/
|
|
1477
|
-
searchSocials(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1478
|
-
/**
|
|
1479
|
-
* Search webpage content
|
|
1480
|
-
*/
|
|
1481
|
-
searchWebpages(query: string, options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1482
|
-
/**
|
|
1483
|
-
* @deprecated Use searchConferenceCalls instead
|
|
1484
|
-
* Search earnings call transcripts
|
|
1485
|
-
*/
|
|
1486
|
-
searchTranscripts(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1487
1505
|
}
|
|
1488
1506
|
|
|
1489
|
-
export { APIError, type AgentConversation, type AgentMessage, AgentModule, AuthenticationError, type BacktestParams, type BacktestResult, type BatchOHLCVParams, type Calendar, type Channel, ChannelsModule, type ChatCompletionOptions, type ChatCompletionResponse, type ChatMode, ChatModule, type Chunk, type ChunkSearchOptions, type CompanyInfo, type CompanyOverview, type Concept, type ConceptDoc, type ConceptEvent, type ConceptFeed, type ConceptStock, ConceptsModule, type DocsListOptions, DocsModule, type Document, type DocumentInput, type EarningsEvent, type FactorComputeParams, type FactorMeta, type FinancialStatement, type FollowedCompany, type IPOEvent, type IPOStatus, type IndexConstituent, type IndexFund, type IndicatorComputeParams, type IndicatorData, type IndicatorMeta, type IndustryConstituent, KBModule, type KBSearchOptions, type Market, NotFoundError, type OHLCVData, type OHLCVParams, type PaginatedResponse, type Period, type PriceData, QuantModule, type Quote, RateLimitError, Reportify, type ReportifyConfig, ReportifyError, type ScreenParams, type ScreenedStock, type SearchOptions, type Shareholder, type ShareholderType, type StockInfo, type StockMarket, StockModule, TimelineModule, type TimelineOptions, type UploadDocRequest, UserModule };
|
|
1507
|
+
export { APIError, type AgentConversation, type AgentMessage, AgentModule, AuthenticationError, type BacktestParams, type BacktestResult, type BatchOHLCVParams, type Calendar, type Channel, ChannelsModule, type ChatCompletionOptions, type ChatCompletionResponse, type ChatMode, ChatModule, type Chunk, type ChunkSearchOptions, type CompanyInfo, type CompanyOverview, type Concept, type ConceptDoc, type ConceptEvent, type ConceptFeed, type ConceptStock, ConceptsModule, type DocsListOptions, DocsModule, type Document, type DocumentInput, type EarningsEvent, type EarningsSearchOptions, type FactorComputeParams, type FactorMeta, type FinancialStatement, type FollowedCompany, type IPOEvent, type IPOStatus, type IndexConstituent, type IndexFund, type IndicatorComputeParams, type IndicatorData, type IndicatorMeta, type IndustryConstituent, KBModule, type KBSearchOptions, type Market, NotFoundError, type OHLCVData, type OHLCVParams, type PaginatedResponse, type Period, type PriceData, QuantModule, type Quote, RateLimitError, Reportify, type ReportifyConfig, ReportifyError, type ScreenParams, type ScreenedStock, SearchModule, type SearchOptions, type Shareholder, type ShareholderType, type StockInfo, type StockMarket, StockModule, TimelineModule, type TimelineOptions, type UploadDocRequest, UserModule };
|
package/dist/index.d.ts
CHANGED
|
@@ -56,6 +56,13 @@ interface SearchOptions {
|
|
|
56
56
|
startDatetime?: string;
|
|
57
57
|
endDatetime?: string;
|
|
58
58
|
}
|
|
59
|
+
interface EarningsSearchOptions {
|
|
60
|
+
num?: number;
|
|
61
|
+
startDatetime?: string;
|
|
62
|
+
endDatetime?: string;
|
|
63
|
+
fiscalYear?: string;
|
|
64
|
+
fiscalQuarter?: string;
|
|
65
|
+
}
|
|
59
66
|
interface CompanyOverview {
|
|
60
67
|
symbol: string;
|
|
61
68
|
name: string;
|
|
@@ -560,7 +567,7 @@ declare class DocsModule {
|
|
|
560
567
|
/**
|
|
561
568
|
* Query documents by symbols
|
|
562
569
|
*
|
|
563
|
-
* @param symbols -
|
|
570
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
564
571
|
* @param options - Filter options
|
|
565
572
|
*/
|
|
566
573
|
queryBySymbols(symbols: string[], options?: {
|
|
@@ -1364,6 +1371,78 @@ declare class UserModule {
|
|
|
1364
1371
|
followedCompanies(): Promise<FollowedCompany[]>;
|
|
1365
1372
|
}
|
|
1366
1373
|
|
|
1374
|
+
/**
|
|
1375
|
+
* Search Module
|
|
1376
|
+
*
|
|
1377
|
+
* Provides document search functionality across various categories.
|
|
1378
|
+
*/
|
|
1379
|
+
|
|
1380
|
+
/**
|
|
1381
|
+
* Search module for document search functionality.
|
|
1382
|
+
*
|
|
1383
|
+
* @example
|
|
1384
|
+
* ```typescript
|
|
1385
|
+
* const results = await client.search.all('Tesla earnings');
|
|
1386
|
+
* const news = await client.search.news('Apple iPhone');
|
|
1387
|
+
* ```
|
|
1388
|
+
*/
|
|
1389
|
+
declare class SearchModule {
|
|
1390
|
+
private client;
|
|
1391
|
+
constructor(client: Reportify);
|
|
1392
|
+
/**
|
|
1393
|
+
* Search documents across all categories
|
|
1394
|
+
*
|
|
1395
|
+
* @param query - Search query string
|
|
1396
|
+
* @param options - Search options
|
|
1397
|
+
* @returns List of matching documents
|
|
1398
|
+
*/
|
|
1399
|
+
all(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1400
|
+
/**
|
|
1401
|
+
* Search news articles
|
|
1402
|
+
*/
|
|
1403
|
+
news(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1404
|
+
/**
|
|
1405
|
+
* Search research reports
|
|
1406
|
+
*/
|
|
1407
|
+
reports(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1408
|
+
/**
|
|
1409
|
+
* Search company filings
|
|
1410
|
+
*
|
|
1411
|
+
* @param query - Search query string
|
|
1412
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1413
|
+
* @param options - Search options
|
|
1414
|
+
*/
|
|
1415
|
+
filings(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1416
|
+
/**
|
|
1417
|
+
* Search earnings call transcripts and slides
|
|
1418
|
+
*
|
|
1419
|
+
* @param query - Search query string
|
|
1420
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1421
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1422
|
+
*/
|
|
1423
|
+
conferenceCalls(query: string, symbols: string[], options?: EarningsSearchOptions): Promise<Document[]>;
|
|
1424
|
+
/**
|
|
1425
|
+
* Search earnings financial reports
|
|
1426
|
+
*
|
|
1427
|
+
* @param query - Search query string
|
|
1428
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1429
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1430
|
+
*/
|
|
1431
|
+
earningsPack(query: string, symbols: string[], options?: EarningsSearchOptions): Promise<Document[]>;
|
|
1432
|
+
/**
|
|
1433
|
+
* Search conference calls and IR (Investor Relations) meetings
|
|
1434
|
+
*/
|
|
1435
|
+
minutes(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1436
|
+
/**
|
|
1437
|
+
* Search social media content
|
|
1438
|
+
*/
|
|
1439
|
+
socials(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1440
|
+
/**
|
|
1441
|
+
* Search webpage content
|
|
1442
|
+
*/
|
|
1443
|
+
webpages(query: string, options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1367
1446
|
/**
|
|
1368
1447
|
* Reportify Client
|
|
1369
1448
|
*
|
|
@@ -1388,6 +1467,7 @@ declare class Reportify {
|
|
|
1388
1467
|
private apiKey;
|
|
1389
1468
|
private baseUrl;
|
|
1390
1469
|
private timeout;
|
|
1470
|
+
readonly search: SearchModule;
|
|
1391
1471
|
readonly stock: StockModule;
|
|
1392
1472
|
readonly docs: DocsModule;
|
|
1393
1473
|
readonly quant: QuantModule;
|
|
@@ -1422,68 +1502,6 @@ declare class Reportify {
|
|
|
1422
1502
|
* Make a GET request and return raw bytes (for file downloads)
|
|
1423
1503
|
*/
|
|
1424
1504
|
getBytes(path: string): Promise<ArrayBuffer>;
|
|
1425
|
-
/**
|
|
1426
|
-
* Search documents across all categories
|
|
1427
|
-
*
|
|
1428
|
-
* @param query - Search query string
|
|
1429
|
-
* @param options - Search options
|
|
1430
|
-
* @returns List of matching documents
|
|
1431
|
-
*
|
|
1432
|
-
* @example
|
|
1433
|
-
* ```typescript
|
|
1434
|
-
* const docs = await client.search('Tesla earnings', { num: 10 });
|
|
1435
|
-
* docs.forEach(doc => console.log(doc.title));
|
|
1436
|
-
* ```
|
|
1437
|
-
*/
|
|
1438
|
-
search(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1439
|
-
/**
|
|
1440
|
-
* Search news articles
|
|
1441
|
-
*/
|
|
1442
|
-
searchNews(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1443
|
-
/**
|
|
1444
|
-
* Search research reports
|
|
1445
|
-
*/
|
|
1446
|
-
searchReports(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1447
|
-
/**
|
|
1448
|
-
* Search company filings
|
|
1449
|
-
* @param query - Search query string
|
|
1450
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1451
|
-
* @param options - Search options
|
|
1452
|
-
*/
|
|
1453
|
-
searchFilings(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1454
|
-
/**
|
|
1455
|
-
* Search earnings pack documents (Financial reports, Earnings call transcripts, etc.)
|
|
1456
|
-
* @param query - Search query string
|
|
1457
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1458
|
-
* @param options - Search options
|
|
1459
|
-
*/
|
|
1460
|
-
searchEarningsPack(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1461
|
-
/**
|
|
1462
|
-
* Search conference call transcripts
|
|
1463
|
-
* @param query - Search query string
|
|
1464
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1465
|
-
* @param options - Search options
|
|
1466
|
-
*/
|
|
1467
|
-
searchConferenceCalls(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1468
|
-
/**
|
|
1469
|
-
* Search minutes transcripts (Conference calls, IR meetings)
|
|
1470
|
-
* @param query - Search query string
|
|
1471
|
-
* @param options - Search options
|
|
1472
|
-
*/
|
|
1473
|
-
searchMinutes(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1474
|
-
/**
|
|
1475
|
-
* Search social media content
|
|
1476
|
-
*/
|
|
1477
|
-
searchSocials(query: string, options?: SearchOptions): Promise<Document[]>;
|
|
1478
|
-
/**
|
|
1479
|
-
* Search webpage content
|
|
1480
|
-
*/
|
|
1481
|
-
searchWebpages(query: string, options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1482
|
-
/**
|
|
1483
|
-
* @deprecated Use searchConferenceCalls instead
|
|
1484
|
-
* Search earnings call transcripts
|
|
1485
|
-
*/
|
|
1486
|
-
searchTranscripts(query: string, symbols: string[], options?: Omit<SearchOptions, 'symbols' | 'categories' | 'industries' | 'channelIds'>): Promise<Document[]>;
|
|
1487
1505
|
}
|
|
1488
1506
|
|
|
1489
|
-
export { APIError, type AgentConversation, type AgentMessage, AgentModule, AuthenticationError, type BacktestParams, type BacktestResult, type BatchOHLCVParams, type Calendar, type Channel, ChannelsModule, type ChatCompletionOptions, type ChatCompletionResponse, type ChatMode, ChatModule, type Chunk, type ChunkSearchOptions, type CompanyInfo, type CompanyOverview, type Concept, type ConceptDoc, type ConceptEvent, type ConceptFeed, type ConceptStock, ConceptsModule, type DocsListOptions, DocsModule, type Document, type DocumentInput, type EarningsEvent, type FactorComputeParams, type FactorMeta, type FinancialStatement, type FollowedCompany, type IPOEvent, type IPOStatus, type IndexConstituent, type IndexFund, type IndicatorComputeParams, type IndicatorData, type IndicatorMeta, type IndustryConstituent, KBModule, type KBSearchOptions, type Market, NotFoundError, type OHLCVData, type OHLCVParams, type PaginatedResponse, type Period, type PriceData, QuantModule, type Quote, RateLimitError, Reportify, type ReportifyConfig, ReportifyError, type ScreenParams, type ScreenedStock, type SearchOptions, type Shareholder, type ShareholderType, type StockInfo, type StockMarket, StockModule, TimelineModule, type TimelineOptions, type UploadDocRequest, UserModule };
|
|
1507
|
+
export { APIError, type AgentConversation, type AgentMessage, AgentModule, AuthenticationError, type BacktestParams, type BacktestResult, type BatchOHLCVParams, type Calendar, type Channel, ChannelsModule, type ChatCompletionOptions, type ChatCompletionResponse, type ChatMode, ChatModule, type Chunk, type ChunkSearchOptions, type CompanyInfo, type CompanyOverview, type Concept, type ConceptDoc, type ConceptEvent, type ConceptFeed, type ConceptStock, ConceptsModule, type DocsListOptions, DocsModule, type Document, type DocumentInput, type EarningsEvent, type EarningsSearchOptions, type FactorComputeParams, type FactorMeta, type FinancialStatement, type FollowedCompany, type IPOEvent, type IPOStatus, type IndexConstituent, type IndexFund, type IndicatorComputeParams, type IndicatorData, type IndicatorMeta, type IndustryConstituent, KBModule, type KBSearchOptions, type Market, NotFoundError, type OHLCVData, type OHLCVParams, type PaginatedResponse, type Period, type PriceData, QuantModule, type Quote, RateLimitError, Reportify, type ReportifyConfig, ReportifyError, type ScreenParams, type ScreenedStock, SearchModule, type SearchOptions, type Shareholder, type ShareholderType, type StockInfo, type StockMarket, StockModule, TimelineModule, type TimelineOptions, type UploadDocRequest, UserModule };
|
package/dist/index.js
CHANGED
|
@@ -33,6 +33,7 @@ __export(index_exports, {
|
|
|
33
33
|
RateLimitError: () => RateLimitError,
|
|
34
34
|
Reportify: () => Reportify,
|
|
35
35
|
ReportifyError: () => ReportifyError,
|
|
36
|
+
SearchModule: () => SearchModule,
|
|
36
37
|
StockModule: () => StockModule,
|
|
37
38
|
TimelineModule: () => TimelineModule,
|
|
38
39
|
UserModule: () => UserModule
|
|
@@ -467,7 +468,7 @@ var DocsModule = class {
|
|
|
467
468
|
/**
|
|
468
469
|
* Query documents by symbols
|
|
469
470
|
*
|
|
470
|
-
* @param symbols -
|
|
471
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
471
472
|
* @param options - Filter options
|
|
472
473
|
*/
|
|
473
474
|
async queryBySymbols(symbols, options = {}) {
|
|
@@ -1412,6 +1413,165 @@ var UserModule = class {
|
|
|
1412
1413
|
}
|
|
1413
1414
|
};
|
|
1414
1415
|
|
|
1416
|
+
// src/search.ts
|
|
1417
|
+
var SearchModule = class {
|
|
1418
|
+
constructor(client) {
|
|
1419
|
+
this.client = client;
|
|
1420
|
+
}
|
|
1421
|
+
/**
|
|
1422
|
+
* Search documents across all categories
|
|
1423
|
+
*
|
|
1424
|
+
* @param query - Search query string
|
|
1425
|
+
* @param options - Search options
|
|
1426
|
+
* @returns List of matching documents
|
|
1427
|
+
*/
|
|
1428
|
+
async all(query, options = {}) {
|
|
1429
|
+
const body = {
|
|
1430
|
+
query,
|
|
1431
|
+
num: options.num || 10
|
|
1432
|
+
};
|
|
1433
|
+
if (options.categories) body.categories = options.categories;
|
|
1434
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1435
|
+
if (options.industries) body.industries = options.industries;
|
|
1436
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1437
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1438
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1439
|
+
const response = await this.client.post("/v2/search", body);
|
|
1440
|
+
return response.docs || [];
|
|
1441
|
+
}
|
|
1442
|
+
/**
|
|
1443
|
+
* Search news articles
|
|
1444
|
+
*/
|
|
1445
|
+
async news(query, options = {}) {
|
|
1446
|
+
const body = {
|
|
1447
|
+
query,
|
|
1448
|
+
num: options.num || 10
|
|
1449
|
+
};
|
|
1450
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1451
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1452
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1453
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1454
|
+
const response = await this.client.post("/v2/search/news", body);
|
|
1455
|
+
return response.docs || [];
|
|
1456
|
+
}
|
|
1457
|
+
/**
|
|
1458
|
+
* Search research reports
|
|
1459
|
+
*/
|
|
1460
|
+
async reports(query, options = {}) {
|
|
1461
|
+
const body = {
|
|
1462
|
+
query,
|
|
1463
|
+
num: options.num || 10
|
|
1464
|
+
};
|
|
1465
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1466
|
+
if (options.industries) body.industries = options.industries;
|
|
1467
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1468
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1469
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1470
|
+
const response = await this.client.post("/v2/search/reports", body);
|
|
1471
|
+
return response.docs || [];
|
|
1472
|
+
}
|
|
1473
|
+
/**
|
|
1474
|
+
* Search company filings
|
|
1475
|
+
*
|
|
1476
|
+
* @param query - Search query string
|
|
1477
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1478
|
+
* @param options - Search options
|
|
1479
|
+
*/
|
|
1480
|
+
async filings(query, symbols, options = {}) {
|
|
1481
|
+
const body = {
|
|
1482
|
+
query,
|
|
1483
|
+
symbols,
|
|
1484
|
+
num: options.num || 10
|
|
1485
|
+
};
|
|
1486
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1487
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1488
|
+
const response = await this.client.post("/v2/search/filings", body);
|
|
1489
|
+
return response.docs || [];
|
|
1490
|
+
}
|
|
1491
|
+
/**
|
|
1492
|
+
* Search earnings call transcripts and slides
|
|
1493
|
+
*
|
|
1494
|
+
* @param query - Search query string
|
|
1495
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1496
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1497
|
+
*/
|
|
1498
|
+
async conferenceCalls(query, symbols, options = {}) {
|
|
1499
|
+
const body = {
|
|
1500
|
+
query,
|
|
1501
|
+
symbols,
|
|
1502
|
+
num: options.num || 10
|
|
1503
|
+
};
|
|
1504
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1505
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1506
|
+
if (options.fiscalYear) body.fiscal_year = options.fiscalYear;
|
|
1507
|
+
if (options.fiscalQuarter) body.fiscal_quarter = options.fiscalQuarter;
|
|
1508
|
+
const response = await this.client.post("/v2/search/conference-calls", body);
|
|
1509
|
+
return response.docs || [];
|
|
1510
|
+
}
|
|
1511
|
+
/**
|
|
1512
|
+
* Search earnings financial reports
|
|
1513
|
+
*
|
|
1514
|
+
* @param query - Search query string
|
|
1515
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1516
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1517
|
+
*/
|
|
1518
|
+
async earningsPack(query, symbols, options = {}) {
|
|
1519
|
+
const body = {
|
|
1520
|
+
query,
|
|
1521
|
+
symbols,
|
|
1522
|
+
num: options.num || 10
|
|
1523
|
+
};
|
|
1524
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1525
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1526
|
+
if (options.fiscalYear) body.fiscal_year = options.fiscalYear;
|
|
1527
|
+
if (options.fiscalQuarter) body.fiscal_quarter = options.fiscalQuarter;
|
|
1528
|
+
const response = await this.client.post("/v2/search/earnings-pack", body);
|
|
1529
|
+
return response.docs || [];
|
|
1530
|
+
}
|
|
1531
|
+
/**
|
|
1532
|
+
* Search conference calls and IR (Investor Relations) meetings
|
|
1533
|
+
*/
|
|
1534
|
+
async minutes(query, options = {}) {
|
|
1535
|
+
const body = {
|
|
1536
|
+
query,
|
|
1537
|
+
num: options.num || 10
|
|
1538
|
+
};
|
|
1539
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1540
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1541
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1542
|
+
const response = await this.client.post("/v2/search/minutes", body);
|
|
1543
|
+
return response.docs || [];
|
|
1544
|
+
}
|
|
1545
|
+
/**
|
|
1546
|
+
* Search social media content
|
|
1547
|
+
*/
|
|
1548
|
+
async socials(query, options = {}) {
|
|
1549
|
+
const body = {
|
|
1550
|
+
query,
|
|
1551
|
+
num: options.num || 10
|
|
1552
|
+
};
|
|
1553
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1554
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1555
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1556
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1557
|
+
const response = await this.client.post("/v2/search/socials", body);
|
|
1558
|
+
return response.docs || [];
|
|
1559
|
+
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Search webpage content
|
|
1562
|
+
*/
|
|
1563
|
+
async webpages(query, options = {}) {
|
|
1564
|
+
const body = {
|
|
1565
|
+
query,
|
|
1566
|
+
num: options.num || 10
|
|
1567
|
+
};
|
|
1568
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1569
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1570
|
+
const response = await this.client.post("/v2/search/webpages", body);
|
|
1571
|
+
return response.docs || [];
|
|
1572
|
+
}
|
|
1573
|
+
};
|
|
1574
|
+
|
|
1415
1575
|
// src/types.ts
|
|
1416
1576
|
var ReportifyError = class extends Error {
|
|
1417
1577
|
statusCode;
|
|
@@ -1454,6 +1614,7 @@ var Reportify = class {
|
|
|
1454
1614
|
baseUrl;
|
|
1455
1615
|
timeout;
|
|
1456
1616
|
// Sub-modules
|
|
1617
|
+
search;
|
|
1457
1618
|
stock;
|
|
1458
1619
|
docs;
|
|
1459
1620
|
quant;
|
|
@@ -1471,6 +1632,7 @@ var Reportify = class {
|
|
|
1471
1632
|
this.apiKey = config.apiKey;
|
|
1472
1633
|
this.baseUrl = (config.baseUrl || DEFAULT_BASE_URL).replace(/\/$/, "");
|
|
1473
1634
|
this.timeout = config.timeout || DEFAULT_TIMEOUT;
|
|
1635
|
+
this.search = new SearchModule(this);
|
|
1474
1636
|
this.stock = new StockModule(this);
|
|
1475
1637
|
this.docs = new DocsModule(this);
|
|
1476
1638
|
this.quant = new QuantModule(this);
|
|
@@ -1502,7 +1664,7 @@ var Reportify = class {
|
|
|
1502
1664
|
headers: {
|
|
1503
1665
|
Authorization: `Bearer ${this.apiKey}`,
|
|
1504
1666
|
"Content-Type": "application/json",
|
|
1505
|
-
"User-Agent": "reportify-sdk-js/0.
|
|
1667
|
+
"User-Agent": "reportify-sdk-js/0.3.0"
|
|
1506
1668
|
},
|
|
1507
1669
|
body: options.body ? JSON.stringify(options.body) : void 0,
|
|
1508
1670
|
signal: controller.signal
|
|
@@ -1563,7 +1725,7 @@ var Reportify = class {
|
|
|
1563
1725
|
headers: {
|
|
1564
1726
|
Authorization: `Bearer ${this.apiKey}`,
|
|
1565
1727
|
"Content-Type": "application/json",
|
|
1566
|
-
"User-Agent": "reportify-sdk-typescript/0.
|
|
1728
|
+
"User-Agent": "reportify-sdk-typescript/0.3.0"
|
|
1567
1729
|
}
|
|
1568
1730
|
});
|
|
1569
1731
|
if (!response.ok) {
|
|
@@ -1579,169 +1741,6 @@ var Reportify = class {
|
|
|
1579
1741
|
}
|
|
1580
1742
|
return response.arrayBuffer();
|
|
1581
1743
|
}
|
|
1582
|
-
// ===========================================================================
|
|
1583
|
-
// Search Methods
|
|
1584
|
-
// ===========================================================================
|
|
1585
|
-
/**
|
|
1586
|
-
* Search documents across all categories
|
|
1587
|
-
*
|
|
1588
|
-
* @param query - Search query string
|
|
1589
|
-
* @param options - Search options
|
|
1590
|
-
* @returns List of matching documents
|
|
1591
|
-
*
|
|
1592
|
-
* @example
|
|
1593
|
-
* ```typescript
|
|
1594
|
-
* const docs = await client.search('Tesla earnings', { num: 10 });
|
|
1595
|
-
* docs.forEach(doc => console.log(doc.title));
|
|
1596
|
-
* ```
|
|
1597
|
-
*/
|
|
1598
|
-
async search(query, options = {}) {
|
|
1599
|
-
const body = {
|
|
1600
|
-
query,
|
|
1601
|
-
num: options.num || 10
|
|
1602
|
-
};
|
|
1603
|
-
if (options.categories) body.categories = options.categories;
|
|
1604
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1605
|
-
if (options.industries) body.industries = options.industries;
|
|
1606
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1607
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1608
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1609
|
-
const response = await this.post("/v2/search", body);
|
|
1610
|
-
return response.docs || [];
|
|
1611
|
-
}
|
|
1612
|
-
/**
|
|
1613
|
-
* Search news articles
|
|
1614
|
-
*/
|
|
1615
|
-
async searchNews(query, options = {}) {
|
|
1616
|
-
const body = {
|
|
1617
|
-
query,
|
|
1618
|
-
num: options.num || 10
|
|
1619
|
-
};
|
|
1620
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1621
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1622
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1623
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1624
|
-
const response = await this.post("/v2/search/news", body);
|
|
1625
|
-
return response.docs || [];
|
|
1626
|
-
}
|
|
1627
|
-
/**
|
|
1628
|
-
* Search research reports
|
|
1629
|
-
*/
|
|
1630
|
-
async searchReports(query, options = {}) {
|
|
1631
|
-
const body = {
|
|
1632
|
-
query,
|
|
1633
|
-
num: options.num || 10
|
|
1634
|
-
};
|
|
1635
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1636
|
-
if (options.industries) body.industries = options.industries;
|
|
1637
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1638
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1639
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1640
|
-
const response = await this.post("/v2/search/reports", body);
|
|
1641
|
-
return response.docs || [];
|
|
1642
|
-
}
|
|
1643
|
-
/**
|
|
1644
|
-
* Search company filings
|
|
1645
|
-
* @param query - Search query string
|
|
1646
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1647
|
-
* @param options - Search options
|
|
1648
|
-
*/
|
|
1649
|
-
async searchFilings(query, symbols, options = {}) {
|
|
1650
|
-
const body = {
|
|
1651
|
-
query,
|
|
1652
|
-
symbols,
|
|
1653
|
-
num: options.num || 10
|
|
1654
|
-
};
|
|
1655
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1656
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1657
|
-
const response = await this.post("/v2/search/filings", body);
|
|
1658
|
-
return response.docs || [];
|
|
1659
|
-
}
|
|
1660
|
-
/**
|
|
1661
|
-
* Search earnings pack documents (Financial reports, Earnings call transcripts, etc.)
|
|
1662
|
-
* @param query - Search query string
|
|
1663
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1664
|
-
* @param options - Search options
|
|
1665
|
-
*/
|
|
1666
|
-
async searchEarningsPack(query, symbols, options = {}) {
|
|
1667
|
-
const body = {
|
|
1668
|
-
query,
|
|
1669
|
-
symbols,
|
|
1670
|
-
num: options.num || 10
|
|
1671
|
-
};
|
|
1672
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1673
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1674
|
-
const response = await this.post("/v2/search/earnings-pack", body);
|
|
1675
|
-
return response.docs || [];
|
|
1676
|
-
}
|
|
1677
|
-
/**
|
|
1678
|
-
* Search conference call transcripts
|
|
1679
|
-
* @param query - Search query string
|
|
1680
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1681
|
-
* @param options - Search options
|
|
1682
|
-
*/
|
|
1683
|
-
async searchConferenceCalls(query, symbols, options = {}) {
|
|
1684
|
-
const body = {
|
|
1685
|
-
query,
|
|
1686
|
-
symbols,
|
|
1687
|
-
num: options.num || 10
|
|
1688
|
-
};
|
|
1689
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1690
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1691
|
-
const response = await this.post("/v2/search/conference-calls", body);
|
|
1692
|
-
return response.docs || [];
|
|
1693
|
-
}
|
|
1694
|
-
/**
|
|
1695
|
-
* Search minutes transcripts (Conference calls, IR meetings)
|
|
1696
|
-
* @param query - Search query string
|
|
1697
|
-
* @param options - Search options
|
|
1698
|
-
*/
|
|
1699
|
-
async searchMinutes(query, options = {}) {
|
|
1700
|
-
const body = {
|
|
1701
|
-
query,
|
|
1702
|
-
num: options.num || 10
|
|
1703
|
-
};
|
|
1704
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1705
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1706
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1707
|
-
const response = await this.post("/v2/search/minutes", body);
|
|
1708
|
-
return response.docs || [];
|
|
1709
|
-
}
|
|
1710
|
-
/**
|
|
1711
|
-
* Search social media content
|
|
1712
|
-
*/
|
|
1713
|
-
async searchSocials(query, options = {}) {
|
|
1714
|
-
const body = {
|
|
1715
|
-
query,
|
|
1716
|
-
num: options.num || 10
|
|
1717
|
-
};
|
|
1718
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1719
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1720
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1721
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1722
|
-
const response = await this.post("/v2/search/socials", body);
|
|
1723
|
-
return response.docs || [];
|
|
1724
|
-
}
|
|
1725
|
-
/**
|
|
1726
|
-
* Search webpage content
|
|
1727
|
-
*/
|
|
1728
|
-
async searchWebpages(query, options = {}) {
|
|
1729
|
-
const body = {
|
|
1730
|
-
query,
|
|
1731
|
-
num: options.num || 10
|
|
1732
|
-
};
|
|
1733
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1734
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1735
|
-
const response = await this.post("/v2/search/webpages", body);
|
|
1736
|
-
return response.docs || [];
|
|
1737
|
-
}
|
|
1738
|
-
/**
|
|
1739
|
-
* @deprecated Use searchConferenceCalls instead
|
|
1740
|
-
* Search earnings call transcripts
|
|
1741
|
-
*/
|
|
1742
|
-
async searchTranscripts(query, symbols, options = {}) {
|
|
1743
|
-
return this.searchConferenceCalls(query, symbols, options);
|
|
1744
|
-
}
|
|
1745
1744
|
};
|
|
1746
1745
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1747
1746
|
0 && (module.exports = {
|
|
@@ -1758,6 +1757,7 @@ var Reportify = class {
|
|
|
1758
1757
|
RateLimitError,
|
|
1759
1758
|
Reportify,
|
|
1760
1759
|
ReportifyError,
|
|
1760
|
+
SearchModule,
|
|
1761
1761
|
StockModule,
|
|
1762
1762
|
TimelineModule,
|
|
1763
1763
|
UserModule
|
package/dist/index.mjs
CHANGED
|
@@ -426,7 +426,7 @@ var DocsModule = class {
|
|
|
426
426
|
/**
|
|
427
427
|
* Query documents by symbols
|
|
428
428
|
*
|
|
429
|
-
* @param symbols -
|
|
429
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
430
430
|
* @param options - Filter options
|
|
431
431
|
*/
|
|
432
432
|
async queryBySymbols(symbols, options = {}) {
|
|
@@ -1371,6 +1371,165 @@ var UserModule = class {
|
|
|
1371
1371
|
}
|
|
1372
1372
|
};
|
|
1373
1373
|
|
|
1374
|
+
// src/search.ts
|
|
1375
|
+
var SearchModule = class {
|
|
1376
|
+
constructor(client) {
|
|
1377
|
+
this.client = client;
|
|
1378
|
+
}
|
|
1379
|
+
/**
|
|
1380
|
+
* Search documents across all categories
|
|
1381
|
+
*
|
|
1382
|
+
* @param query - Search query string
|
|
1383
|
+
* @param options - Search options
|
|
1384
|
+
* @returns List of matching documents
|
|
1385
|
+
*/
|
|
1386
|
+
async all(query, options = {}) {
|
|
1387
|
+
const body = {
|
|
1388
|
+
query,
|
|
1389
|
+
num: options.num || 10
|
|
1390
|
+
};
|
|
1391
|
+
if (options.categories) body.categories = options.categories;
|
|
1392
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1393
|
+
if (options.industries) body.industries = options.industries;
|
|
1394
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1395
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1396
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1397
|
+
const response = await this.client.post("/v2/search", body);
|
|
1398
|
+
return response.docs || [];
|
|
1399
|
+
}
|
|
1400
|
+
/**
|
|
1401
|
+
* Search news articles
|
|
1402
|
+
*/
|
|
1403
|
+
async news(query, options = {}) {
|
|
1404
|
+
const body = {
|
|
1405
|
+
query,
|
|
1406
|
+
num: options.num || 10
|
|
1407
|
+
};
|
|
1408
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1409
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1410
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1411
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1412
|
+
const response = await this.client.post("/v2/search/news", body);
|
|
1413
|
+
return response.docs || [];
|
|
1414
|
+
}
|
|
1415
|
+
/**
|
|
1416
|
+
* Search research reports
|
|
1417
|
+
*/
|
|
1418
|
+
async reports(query, options = {}) {
|
|
1419
|
+
const body = {
|
|
1420
|
+
query,
|
|
1421
|
+
num: options.num || 10
|
|
1422
|
+
};
|
|
1423
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1424
|
+
if (options.industries) body.industries = options.industries;
|
|
1425
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1426
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1427
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1428
|
+
const response = await this.client.post("/v2/search/reports", body);
|
|
1429
|
+
return response.docs || [];
|
|
1430
|
+
}
|
|
1431
|
+
/**
|
|
1432
|
+
* Search company filings
|
|
1433
|
+
*
|
|
1434
|
+
* @param query - Search query string
|
|
1435
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1436
|
+
* @param options - Search options
|
|
1437
|
+
*/
|
|
1438
|
+
async filings(query, symbols, options = {}) {
|
|
1439
|
+
const body = {
|
|
1440
|
+
query,
|
|
1441
|
+
symbols,
|
|
1442
|
+
num: options.num || 10
|
|
1443
|
+
};
|
|
1444
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1445
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1446
|
+
const response = await this.client.post("/v2/search/filings", body);
|
|
1447
|
+
return response.docs || [];
|
|
1448
|
+
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Search earnings call transcripts and slides
|
|
1451
|
+
*
|
|
1452
|
+
* @param query - Search query string
|
|
1453
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1454
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1455
|
+
*/
|
|
1456
|
+
async conferenceCalls(query, symbols, options = {}) {
|
|
1457
|
+
const body = {
|
|
1458
|
+
query,
|
|
1459
|
+
symbols,
|
|
1460
|
+
num: options.num || 10
|
|
1461
|
+
};
|
|
1462
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1463
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1464
|
+
if (options.fiscalYear) body.fiscal_year = options.fiscalYear;
|
|
1465
|
+
if (options.fiscalQuarter) body.fiscal_quarter = options.fiscalQuarter;
|
|
1466
|
+
const response = await this.client.post("/v2/search/conference-calls", body);
|
|
1467
|
+
return response.docs || [];
|
|
1468
|
+
}
|
|
1469
|
+
/**
|
|
1470
|
+
* Search earnings financial reports
|
|
1471
|
+
*
|
|
1472
|
+
* @param query - Search query string
|
|
1473
|
+
* @param symbols - Stock symbols in market:ticker format (required, e.g., US:AAPL, HK:00700, SH:600519, SZ:000001)
|
|
1474
|
+
* @param options - Search options including fiscal year/quarter filters
|
|
1475
|
+
*/
|
|
1476
|
+
async earningsPack(query, symbols, options = {}) {
|
|
1477
|
+
const body = {
|
|
1478
|
+
query,
|
|
1479
|
+
symbols,
|
|
1480
|
+
num: options.num || 10
|
|
1481
|
+
};
|
|
1482
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1483
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1484
|
+
if (options.fiscalYear) body.fiscal_year = options.fiscalYear;
|
|
1485
|
+
if (options.fiscalQuarter) body.fiscal_quarter = options.fiscalQuarter;
|
|
1486
|
+
const response = await this.client.post("/v2/search/earnings-pack", body);
|
|
1487
|
+
return response.docs || [];
|
|
1488
|
+
}
|
|
1489
|
+
/**
|
|
1490
|
+
* Search conference calls and IR (Investor Relations) meetings
|
|
1491
|
+
*/
|
|
1492
|
+
async minutes(query, options = {}) {
|
|
1493
|
+
const body = {
|
|
1494
|
+
query,
|
|
1495
|
+
num: options.num || 10
|
|
1496
|
+
};
|
|
1497
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1498
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1499
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1500
|
+
const response = await this.client.post("/v2/search/minutes", body);
|
|
1501
|
+
return response.docs || [];
|
|
1502
|
+
}
|
|
1503
|
+
/**
|
|
1504
|
+
* Search social media content
|
|
1505
|
+
*/
|
|
1506
|
+
async socials(query, options = {}) {
|
|
1507
|
+
const body = {
|
|
1508
|
+
query,
|
|
1509
|
+
num: options.num || 10
|
|
1510
|
+
};
|
|
1511
|
+
if (options.symbols) body.symbols = options.symbols;
|
|
1512
|
+
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1513
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1514
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1515
|
+
const response = await this.client.post("/v2/search/socials", body);
|
|
1516
|
+
return response.docs || [];
|
|
1517
|
+
}
|
|
1518
|
+
/**
|
|
1519
|
+
* Search webpage content
|
|
1520
|
+
*/
|
|
1521
|
+
async webpages(query, options = {}) {
|
|
1522
|
+
const body = {
|
|
1523
|
+
query,
|
|
1524
|
+
num: options.num || 10
|
|
1525
|
+
};
|
|
1526
|
+
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1527
|
+
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1528
|
+
const response = await this.client.post("/v2/search/webpages", body);
|
|
1529
|
+
return response.docs || [];
|
|
1530
|
+
}
|
|
1531
|
+
};
|
|
1532
|
+
|
|
1374
1533
|
// src/types.ts
|
|
1375
1534
|
var ReportifyError = class extends Error {
|
|
1376
1535
|
statusCode;
|
|
@@ -1413,6 +1572,7 @@ var Reportify = class {
|
|
|
1413
1572
|
baseUrl;
|
|
1414
1573
|
timeout;
|
|
1415
1574
|
// Sub-modules
|
|
1575
|
+
search;
|
|
1416
1576
|
stock;
|
|
1417
1577
|
docs;
|
|
1418
1578
|
quant;
|
|
@@ -1430,6 +1590,7 @@ var Reportify = class {
|
|
|
1430
1590
|
this.apiKey = config.apiKey;
|
|
1431
1591
|
this.baseUrl = (config.baseUrl || DEFAULT_BASE_URL).replace(/\/$/, "");
|
|
1432
1592
|
this.timeout = config.timeout || DEFAULT_TIMEOUT;
|
|
1593
|
+
this.search = new SearchModule(this);
|
|
1433
1594
|
this.stock = new StockModule(this);
|
|
1434
1595
|
this.docs = new DocsModule(this);
|
|
1435
1596
|
this.quant = new QuantModule(this);
|
|
@@ -1461,7 +1622,7 @@ var Reportify = class {
|
|
|
1461
1622
|
headers: {
|
|
1462
1623
|
Authorization: `Bearer ${this.apiKey}`,
|
|
1463
1624
|
"Content-Type": "application/json",
|
|
1464
|
-
"User-Agent": "reportify-sdk-js/0.
|
|
1625
|
+
"User-Agent": "reportify-sdk-js/0.3.0"
|
|
1465
1626
|
},
|
|
1466
1627
|
body: options.body ? JSON.stringify(options.body) : void 0,
|
|
1467
1628
|
signal: controller.signal
|
|
@@ -1522,7 +1683,7 @@ var Reportify = class {
|
|
|
1522
1683
|
headers: {
|
|
1523
1684
|
Authorization: `Bearer ${this.apiKey}`,
|
|
1524
1685
|
"Content-Type": "application/json",
|
|
1525
|
-
"User-Agent": "reportify-sdk-typescript/0.
|
|
1686
|
+
"User-Agent": "reportify-sdk-typescript/0.3.0"
|
|
1526
1687
|
}
|
|
1527
1688
|
});
|
|
1528
1689
|
if (!response.ok) {
|
|
@@ -1538,169 +1699,6 @@ var Reportify = class {
|
|
|
1538
1699
|
}
|
|
1539
1700
|
return response.arrayBuffer();
|
|
1540
1701
|
}
|
|
1541
|
-
// ===========================================================================
|
|
1542
|
-
// Search Methods
|
|
1543
|
-
// ===========================================================================
|
|
1544
|
-
/**
|
|
1545
|
-
* Search documents across all categories
|
|
1546
|
-
*
|
|
1547
|
-
* @param query - Search query string
|
|
1548
|
-
* @param options - Search options
|
|
1549
|
-
* @returns List of matching documents
|
|
1550
|
-
*
|
|
1551
|
-
* @example
|
|
1552
|
-
* ```typescript
|
|
1553
|
-
* const docs = await client.search('Tesla earnings', { num: 10 });
|
|
1554
|
-
* docs.forEach(doc => console.log(doc.title));
|
|
1555
|
-
* ```
|
|
1556
|
-
*/
|
|
1557
|
-
async search(query, options = {}) {
|
|
1558
|
-
const body = {
|
|
1559
|
-
query,
|
|
1560
|
-
num: options.num || 10
|
|
1561
|
-
};
|
|
1562
|
-
if (options.categories) body.categories = options.categories;
|
|
1563
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1564
|
-
if (options.industries) body.industries = options.industries;
|
|
1565
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1566
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1567
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1568
|
-
const response = await this.post("/v2/search", body);
|
|
1569
|
-
return response.docs || [];
|
|
1570
|
-
}
|
|
1571
|
-
/**
|
|
1572
|
-
* Search news articles
|
|
1573
|
-
*/
|
|
1574
|
-
async searchNews(query, options = {}) {
|
|
1575
|
-
const body = {
|
|
1576
|
-
query,
|
|
1577
|
-
num: options.num || 10
|
|
1578
|
-
};
|
|
1579
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1580
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1581
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1582
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1583
|
-
const response = await this.post("/v2/search/news", body);
|
|
1584
|
-
return response.docs || [];
|
|
1585
|
-
}
|
|
1586
|
-
/**
|
|
1587
|
-
* Search research reports
|
|
1588
|
-
*/
|
|
1589
|
-
async searchReports(query, options = {}) {
|
|
1590
|
-
const body = {
|
|
1591
|
-
query,
|
|
1592
|
-
num: options.num || 10
|
|
1593
|
-
};
|
|
1594
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1595
|
-
if (options.industries) body.industries = options.industries;
|
|
1596
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1597
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1598
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1599
|
-
const response = await this.post("/v2/search/reports", body);
|
|
1600
|
-
return response.docs || [];
|
|
1601
|
-
}
|
|
1602
|
-
/**
|
|
1603
|
-
* Search company filings
|
|
1604
|
-
* @param query - Search query string
|
|
1605
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1606
|
-
* @param options - Search options
|
|
1607
|
-
*/
|
|
1608
|
-
async searchFilings(query, symbols, options = {}) {
|
|
1609
|
-
const body = {
|
|
1610
|
-
query,
|
|
1611
|
-
symbols,
|
|
1612
|
-
num: options.num || 10
|
|
1613
|
-
};
|
|
1614
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1615
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1616
|
-
const response = await this.post("/v2/search/filings", body);
|
|
1617
|
-
return response.docs || [];
|
|
1618
|
-
}
|
|
1619
|
-
/**
|
|
1620
|
-
* Search earnings pack documents (Financial reports, Earnings call transcripts, etc.)
|
|
1621
|
-
* @param query - Search query string
|
|
1622
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1623
|
-
* @param options - Search options
|
|
1624
|
-
*/
|
|
1625
|
-
async searchEarningsPack(query, symbols, options = {}) {
|
|
1626
|
-
const body = {
|
|
1627
|
-
query,
|
|
1628
|
-
symbols,
|
|
1629
|
-
num: options.num || 10
|
|
1630
|
-
};
|
|
1631
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1632
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1633
|
-
const response = await this.post("/v2/search/earnings-pack", body);
|
|
1634
|
-
return response.docs || [];
|
|
1635
|
-
}
|
|
1636
|
-
/**
|
|
1637
|
-
* Search conference call transcripts
|
|
1638
|
-
* @param query - Search query string
|
|
1639
|
-
* @param symbols - Required: Stock symbols to filter by
|
|
1640
|
-
* @param options - Search options
|
|
1641
|
-
*/
|
|
1642
|
-
async searchConferenceCalls(query, symbols, options = {}) {
|
|
1643
|
-
const body = {
|
|
1644
|
-
query,
|
|
1645
|
-
symbols,
|
|
1646
|
-
num: options.num || 10
|
|
1647
|
-
};
|
|
1648
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1649
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1650
|
-
const response = await this.post("/v2/search/conference-calls", body);
|
|
1651
|
-
return response.docs || [];
|
|
1652
|
-
}
|
|
1653
|
-
/**
|
|
1654
|
-
* Search minutes transcripts (Conference calls, IR meetings)
|
|
1655
|
-
* @param query - Search query string
|
|
1656
|
-
* @param options - Search options
|
|
1657
|
-
*/
|
|
1658
|
-
async searchMinutes(query, options = {}) {
|
|
1659
|
-
const body = {
|
|
1660
|
-
query,
|
|
1661
|
-
num: options.num || 10
|
|
1662
|
-
};
|
|
1663
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1664
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1665
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1666
|
-
const response = await this.post("/v2/search/minutes", body);
|
|
1667
|
-
return response.docs || [];
|
|
1668
|
-
}
|
|
1669
|
-
/**
|
|
1670
|
-
* Search social media content
|
|
1671
|
-
*/
|
|
1672
|
-
async searchSocials(query, options = {}) {
|
|
1673
|
-
const body = {
|
|
1674
|
-
query,
|
|
1675
|
-
num: options.num || 10
|
|
1676
|
-
};
|
|
1677
|
-
if (options.symbols) body.symbols = options.symbols;
|
|
1678
|
-
if (options.channelIds) body.channel_ids = options.channelIds;
|
|
1679
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1680
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1681
|
-
const response = await this.post("/v2/search/socials", body);
|
|
1682
|
-
return response.docs || [];
|
|
1683
|
-
}
|
|
1684
|
-
/**
|
|
1685
|
-
* Search webpage content
|
|
1686
|
-
*/
|
|
1687
|
-
async searchWebpages(query, options = {}) {
|
|
1688
|
-
const body = {
|
|
1689
|
-
query,
|
|
1690
|
-
num: options.num || 10
|
|
1691
|
-
};
|
|
1692
|
-
if (options.startDatetime) body.start_datetime = options.startDatetime;
|
|
1693
|
-
if (options.endDatetime) body.end_datetime = options.endDatetime;
|
|
1694
|
-
const response = await this.post("/v2/search/webpages", body);
|
|
1695
|
-
return response.docs || [];
|
|
1696
|
-
}
|
|
1697
|
-
/**
|
|
1698
|
-
* @deprecated Use searchConferenceCalls instead
|
|
1699
|
-
* Search earnings call transcripts
|
|
1700
|
-
*/
|
|
1701
|
-
async searchTranscripts(query, symbols, options = {}) {
|
|
1702
|
-
return this.searchConferenceCalls(query, symbols, options);
|
|
1703
|
-
}
|
|
1704
1702
|
};
|
|
1705
1703
|
export {
|
|
1706
1704
|
APIError,
|
|
@@ -1716,6 +1714,7 @@ export {
|
|
|
1716
1714
|
RateLimitError,
|
|
1717
1715
|
Reportify,
|
|
1718
1716
|
ReportifyError,
|
|
1717
|
+
SearchModule,
|
|
1719
1718
|
StockModule,
|
|
1720
1719
|
TimelineModule,
|
|
1721
1720
|
UserModule
|