开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

TWS API earning dates..


 

Anyone know if a company earnings date can be obtained via TWS API?
Thanks.


 

Walter,
The Wall Street Horizons subscription provides information about earnings dates via the reqFundamentals function:


It will be in XML, i.e.

??? ??? <Name>Facebook Inc.</Name>
??? ??? <Ticker>FB</Ticker>

??? ??? <EarningsList>
??? ??? ??? <Earnings>
??? ??? ??? ??? <Q1>5/3/2017</Q1>
??? ??? ??? ??? <Q2>7/27/2016</Q2>
??? ??? ??? ??? <Q3>11/2/2016</Q3>
??? ??? ??? ??? <Q4>2/1/2017</Q4>
??? ??? ??? ??? <Period>Q1</Period>
??? ??? ??? ??? <Time>After Market</Time>
??? ??? ??? ??? <Etype>Confirmed</Etype>
??? ??? ??? ??? <Date>5/3/2017</Date>
??? ??? ??? ??? <TimeStamp>4/26/2017 1:13:26 PM</TimeStamp>
??? ??? ??? </Earnings>
??? ??? </EarningsList>


 

开云体育

Oh, nice. Thanks!

On Sep 28, 2017, at 11:10 AM, Josh via Groups.Io <jb201448@...> wrote:

Walter,
The Wall Street Horizons subscription provides information about earnings dates via the reqFundamentals function:


It will be in XML, i.e.

??? ??? <Name>Facebook Inc.</Name>
??? ??? <Ticker>FB</Ticker>

??? ??? <EarningsList>
??? ??? ??? <Earnings>
??? ??? ??? ??? <Q1>5/3/2017</Q1>
??? ??? ??? ??? <Q2>7/27/2016</Q2>
??? ??? ??? ??? <Q3>11/2/2016</Q3>
??? ??? ??? ??? <Q4>2/1/2017</Q4>
??? ??? ??? ??? <Period>Q1</Period>
??? ??? ??? ??? <Time>After Market</Time>
??? ??? ??? ??? <Etype>Confirmed</Etype>
??? ??? ??? ??? <Date>5/3/2017</Date>
??? ??? ??? ??? <TimeStamp>4/26/2017 1:13:26 PM</TimeStamp>
??? ??? ??? </Earnings>
??? ??? </EarningsList>


 

Link seems to be outdated. 2 Questions:
1. Is the information per se still valid?
2. Do I need to subscribe to these service in Account Mgmt? Any costs associated?


 

Is this still valid?

Out of the following, which xml will give Next Earnings date details?

ReportSnapshot
ReportFinSummary
ReportRatios
ReportsOwnership
ReportsFinStatements
RESC
CalendarReport

Many Thanks


 

Alternatively you can find this info via Yahoo Finance.


 

开云体育

Do you mean read this date from your yes api python code?

Yahoo finance data are not up to date for all the tickers.?

I need this to automate my python script to display?


On 8 Feb 2020, at 08:28, Despair <boris@...> wrote:

?Alternatively you can find this info via Yahoo Finance.


 

I fetch the earnings dates (using matlab) via Yahoos API. Works fine for me. So far I didn't notice that I'm missing something but of course possible.


 

Robbo: still valid if subscribed to Horizon Wall Streets as Josh pointed out.

C# example:

public void fundamentalData(int reqId, string data)
{
try
{
string ticker = XMLstringExtract(data, "Ticker");
data = XMLstringExtract(data, "EarningsList");
string date = XMLstringExtract(data, "Date");
string confirmed = XMLstringExtract(data, "Etype");
Log("Next " + ticker + " Earnings: " + date + " " + confirmed);
}


 

Thanks Despair. Are you using Yahoo API from?
yahoo-finance 1.4.0?

Would you mind sharing the code snippet only for getting Earning dates??


 

?I looked at?Horizon Wall Streets subscription and their subscription currently is 5 USD per month. I explored other options within?reqFundamentalData and mange to find next earning details within RESC.xml

-<Annual fYear="2020" periodLength="12" periodUnit="MNS" endMonth="12" fyNum="2">
?
<Interim type="Q" periodNum="1" periodLength="3" periodUnit="MNS" endMonth="3" endCalYear="2020" dateStatus="T" expectDate="2020-04-23T00:00:00"/>
?
<Interim type="Q" periodNum="2" periodLength="3" periodUnit="MNS" endMonth="6" endCalYear="2020" dateStatus="T" expectDate="2020-07-23T00:00:00"/>
?
<Interim type="Q" periodNum="3" periodLength="3" periodUnit="MNS" endMonth="9" endCalYear="2020"/>
?
<Interim type="Q" periodNum="4" periodLength="3" periodUnit="MNS" endMonth="12" endCalYear="2020"/>

with the help of lxml/etree, I am now able to extract next earning date with the following code.? ? ? ? ?


for child in root.xpath('//CompanyPeriods/Annual/Interim'):
? ? ? ? ? ? ? ? if (child.attrib['endCalYear'] == '2020'):
? ? ? ? ? ? ? ? ? ? print (child.tag, child.attrib, child.text)?


 

I'm not using the API you referenced to since I'm using matlab and not python.

Here you should find all info you need:

https://observablehq.com/@stroked/yahoofinance?collection=@stroked/market-data


 

Yahoo earnings dates are highly inaccurate. Most are missing the crucial information of time (before market open/after close).


 

hi Robbo , I tried the same, not getting results, Do I need WSJ subs? I tried it with that too. but not getting

<Annual endMonth="12" fYear="2021" fyNum="0" periodLength="12" periodUnit="MNS">
<Interim endCalYear="2021" endMonth="3" periodLength="3" periodNum="1" periodUnit="MNS" type="Q"/>
<Interim endCalYear="2021" endMonth="6" periodLength="3" periodNum="2" periodUnit="MNS" type="Q"/>
<Interim endCalYear="2021" endMonth="9" periodLength="3" periodNum="3" periodUnit="MNS" type="Q"/>
<Interim endCalYear="2021" endMonth="12" periodLength="3" periodNum="4" periodUnit="MNS" type="Q"/>
?


 

Hi,

?

with Wall Street Horizon subscription, reqFundamentalData(reqId:10000001, Contract:<XOM>, FundamentalType.CalendarReport) gives:

<?xml version="1.0" ?>

<WSHData>

<Company>

<Name>Exxon Mobil Corp.</Name>

<Ticker>XOM</Ticker>

<ISIN>US30231G1022</ISIN>

<Exchange>NYSE</Exchange>

<Country>USA</Country>

<conid>177017693</conid>

<conid>38708363</conid>

<conid>242506913</conid>

<conid>13977</conid>

<conid>12973868</conid>

<EarningsList>

<Earnings>

<Q1>4/30/2021</Q1>

<Q2>7/31/2020</Q2>

<Q3>10/30/2020</Q3>

<TimeZone>EST</TimeZone>

<Q4>2/2/2021</Q4>

<Period>Q1</Period>

<Time>Before Market</Time>

<Etype>Completed</Etype>

<Date>4/30/2021</Date>

<TimeStamp>4/28/2021 5:32:18 PM</TimeStamp>

</Earnings>

</EarningsList>

<EarningsCallList>

<EarningsCall>

<TimeZone>EST</TimeZone>

<GotoBroadcast>http://mmm.wallstreethorizon.com/u.asp?u=379567</GotoBroadcast>

<Time>9:30 AM</Time>

<Date>4/30/2021</Date>

<TimeStamp>4/28/2021 5:32:18 PM</TimeStamp>

</EarningsCall>

</EarningsCallList>

<EarningsCallTranscriptList>

<EarningsCallTranscript>

<TimeZone>EST</TimeZone>

<Period>Q1 2021</Period>

<URL>https://seekingalpha.com/article/4422992-exxon-mobil-corporation-xom-ceo-darren-woods-on-q1-2021-results-earnings-call-transcript?utm_source=wallstreethorizon.com&amp;utm_medium=referral</URL>

<TimeStamp>4/28/2021 5:32:18 PM</TimeStamp>

</EarningsCallTranscript>

</EarningsCallTranscriptList>

<ShareHolderMeetingList>

<ShareHolderMeeting>

<Type>S</Type>

<TimeZone>EST</TimeZone>

<Date>5/26/2021</Date>

<TimeStamp>4/28/2021 5:32:18 PM</TimeStamp>

</ShareHolderMeeting>

</ShareHolderMeetingList>

</Company>

</WSHData>

?


 

Thank you! Cani get the upcoming earnings data from IBKR API without wallstreet Horizon?subscription?


 

No, you can not. A free alternative (although not perfect) is the Yahoo API.


 

?. Does anyone know how to access this either in TWS and also In API?


 

You have to subscribe to the WSH data feed in market subscriptions.? Then call:

reqFundamentals(contract, FundamentalType.CalendarReport, handler);

The handler will get back a big string of XML you can parse to get the event feed.? The TWS documentation for this functionality isn't very good.? I wasn't able to find a good page to give you a link.? But reqFundaments (in the Java API) or reqFundamentalData (in the EClient) is what you want.

Hunter


On Friday, May 21, 2021, 12:32:38 PM PDT, <rajsekar37@...> wrote:


?. Does anyone know how to access this either in TWS and also In API?


 

Hi there

I tried the IB api cal for the Earnings and it had issues. We got bad dates, sometimes the dates weren't there and it seemed to be flaky. SO we gave in an signed up for the SPLENDID

this gets us IV, HV, earnings dates, earnings calcs based on prior earnings and a LOT of other data that we use to suplement and check IB data with. It's a simple API and we tend to use the overnight CSV by setting up a cronjob.

curl "

or PYTHON

import requests

x = requests.get(")

print (x.text)