Benzinga provides API for querying structured data for conference calls, dividends, earnings (and future earnings dates), economics, pharmaceutical announcements, government trades, guidance, IPOs, secondary offerings, ratings, M&A activity, retail sales, and splits.
There is a separate manager and module for each calendar resource, for example for conference calls:
import { ConferenceCallsCalendarManager } from '@benzinga/calendar-conference-calls-manager'
As with other managers, you must use a session to obtain an instance of a calendar manager:
import { createSession } from '@benzinga/session';
import { ConferenceCallsCalendarManager } from '@benzinga/calendar-conference-calls-manager';
const session = createSession({
'benzinga-authentication': {
apiKey: '<YOUR BENZINGA API KEY GOES HERE>'
}
});
const manager = session.getManager(ConferenceCallsCalendarManager);
After that you may query data. All calendars share the same input parameters, that can be used for filtering data, and also the same name of methods:
ConferenceCallsCalendarManager
hasgetConferenceCalls(params)
methodEconomicsCalendarManager
hasgetEconomics(params)
method- etc...
Example of selecting second page of data, filtered by symbols and date up to 20th January 2022:
const calendarDataResponse = await manager.getConferenceCalls({
page: 1,
symbols: ['AAPL', 'MSFT'],
dateTo: '2022-01-20'
});
if (calendarDataResponse.err) {
//handle error
} else {
console.log(calendarDataResponse.ok);
}
Some calendars may add additional filtering params, for example IPO:
await ipoManager.getConferenceCalls({
page: 1,
symbols: ['AAPL', 'MSFT'],
dateTo: '2022-01-20',
ipoType: 'Ordinary Shares'
});
List of calendar resources and their modules:
Resource | Module |
---|---|
Conference Calls | @benzinga/calendar-conference-calls-manager |
Dividends | @benzinga/calendar-dividends-manager |
Earnings | @benzinga/calendar-earnings-manager |
Economics | @benzinga/calendar-economics-manager |
FDA | @benzinga/calendar-fda-manager |
Government Trades | @benzinga/calendar-government-trades-manager |
Guidance | @benzinga/calendar-guidance-manager |
IPOs | @benzinga/calendar-ipos-manager |
Mergers and Acquisitions | @benzinga/calendar-ma-manager |
Offerings | @benzinga/calendar-offerings-manager |
Ratings | @benzinga/calendar-ratings-manager |
Retail | @benzinga/calendar-retail-manager |
Signals | @benzinga/calendar-option-activity-manager |
Splits | @benzinga/calendar-splits-manager |
Common calendar entity
Most calendar entities extend this interface
-
EntityType
(EntityType) -
id
(string) - Unique ID of this entry -
name
(string) - Name of record -
ticker
(string) - Ticker symbol of company -
type
(EntityType) -
updated
(number) - Last updated timestamp, UTC -
notes
(string) - Additional notes provided by the Benzinga Newsdesk where applicable. Notes may include HTML.
Event, emitted when calendar data was fetched
-
Type
(Type) -
Entity
(Entity) -
result
(Entity[]) -
type
(${Type}:fetched_data
)
Event, emitted when there was an error in calendar querying
-
Type
(Type) -
type
(${Type}:error
) -
error
(SafeError) -
errorType
(CommonCalendarErrorType) -
parameters
(CommonCalendarQueryParams)