Is there any way to retrieve mp3, presentation and transcripts of corporate analyst meetings via the eikon api?
Regarding the transcripts, I read that it seems not to be possible to get them but I was thinking that there should be a way to get the list of events via news searching (as opposed to the events app). From them on it simple.
Anyway, I could use some help in retrieving the presentations and mp3s
@mbraun.ese You can retrieve news for just transcripts which can give you the data and time of the release. Please try:
df = ek.get_news_headlines('Source:TRANS',count=100) df
for all companies . You can see the company name in between the date and 'Earnings Call'- but if you wanted to focus on one company - say IBM:
df = ek.get_news_headlines('Source:TRANS AND R:IBM.N',count=100) df
News History in Eikon goes back 15 months so if you wanted to get all transcripts for all companies you would need to iterate as the maximum number of headlines returned per is max 100. Remember you are only allowed 10,000 API calls per day. So be careful. Here I illustrate with 3 Days of all transcripts.
from datetime import datetime, timedelta now = datetime.now() maxenddate = now - timedelta(days=3) #upto months=15 print(now, maxenddate)
newsdf = pd.DataFrame() startdf=now while startdf >= maxenddate: try: df1 = ek.get_news_headlines(query ='Source:TRANS', date_to = startdf, count=100) startdf = df1['versionCreated'].min().replace(second=0,microsecond=0,tzinfo=None).strftime('%Y/%m/%d %H:%M') startdf = datetime.strptime(startdf,'%Y/%m/%d %H:%M') if len(df1): newsdf = pd.concat([newsdf, df1], axis=0) else: newsdf = df1 except Exception: break newsdf.info()
I hope this can help.
Many thanks @jason.ramchandani01. I can download the headlines and story id but then the story id does not lead me to the text of the transcript of the meeting but to what seems to be a webpage. When I try to open it, I get neither the transcript nor the file.
df = ek.get_news_headlines(query='Topic:FWP AND R:HCDI.O')
for idx, storyId in enumerate(df['storyId'].values): #for each row in our df dataframe
newsText = ek.get_news_story(storyId) #get the news story
df['newsText'] = newsText
That didn't paste correctly, sorry.
@mbraun.ese So this works for me - for a transcript news item it gets the link and opens the transcript in a new browser window:
import re import webbrowser text1 = ek.get_news_story('urn:newsml:reuters.com:20211110:nTRN1sXnWG:1') webbrowser.open(re.findall(r'(https?://[^\s]+)', text1))
From there you can download the file. Is this what you want?