Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »


Interactive login is to be used when the user is present to login (for example, 3rd Party Desktop Applications) and will manage any additional information required at login depending upon a customer's account (such as 2 Factor Authentication codes or National Identifiers). 

This is achieved by embedding the Betfair IdentitySSO login page in your application and then obtaining a successful session token upon login. The keep alive operation should be called every 7 minutes if the user is still actively using your application. The embedded login page initially looks like this:


You should be able to detect the presence of a session token in the requests upon successful login for use by your application.



URL definition

International users:<theProductDescriptor>&url=<theRedirectUrl>

Spanish jurisdiction users:<theProductDescriptor>&url=<theRedirectUrl>

Italian jurisdiction users:<theProductDescriptor>&url=<theRedirectUrl>



product(mandatory)The product for which the login page is used and on which the user will do the login; This should be your application key."IhDSui3ODdsdwo"
url (mandatory)The url to which the the browser should be redirected in case of a successful login. 
By default, will be allowed but further URLs can be added upon agreement with Betfair.


Keep Alive

URL definition

International jurisdictions:

Spanish jurisdiction:

Italian jurisdiction:





URL definition

International jurisdictions:

Spain jurisdiction:

Italian jurisdiction:


  • product (mandatory) - The Application key to which the user is logging into.
    eg. Ljdiejje9399rew
  • url (mandatory) - The url to which the the browser should be redirected in case of a successful logout. This will be by default but additional URLs can be added to a whitelist by arrangement with Betfair.

Sample Code

A sample client, written in C#, is available to demonstrate this process on Github.  This is a C# project created under Visual Studio 2010, written against .Net 4, and is a Winforms Application.


The key steps demonstrated by this client are:

  • Embed into your application
  • Handle the login method and retrieval of a session token from the cookies
  • Handle the keep alive method
  • Handle the logout method


How it works

Upon start-up, the URL of the API login page is assigned to the web browser control:

//Give embedded web browser Betfair api login page URL         

System.Uri u = new Uri(LogonURL);

When the web browser control receives data an event is triggered and the following function called: 

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            //On embeded web browser response get cookie
            string cookie = this.webBrowser1.Document.Cookie;

            if (cookie != null)

            //If successfull login start KeepAlive 
            if (!m_LoggedOut && !m_KeepAliveTimer.Enabled)
                webBrowser1.Visible = false;
                SetMessage("Logon successfull\r\n SSOID=" + m_SSOID);


Upon successful login the cookie is parsed for the SSOID. The webrowser control made invisible and the SSOID displayed in a TextBox. The keep-alive timer is started

private void StartKeepAlive()
            m_KeepAliveTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnKeepAliveTimer);
            // Set the Interval to 15 mins.
            m_KeepAliveTimer.Interval = 1000 * 60 * 15;
            m_KeepAliveTimer.Enabled = true;

Above the StartKeepAlive function simply starts a 15 minute timer which invokes function OnKeepAliveTimer. 

OnKeepAliveTimer sends a Keep Alive message.

A message to this effect is then displayed.

Upon hitting the Logout button the following event handler is invoked:

private void btnLogout_Click(object sender, EventArgs e)
            m_KeepAliveTimer.Enabled = false;
            m_LoggedOut = true;

            System.Uri u = new Uri(LogoutURL);
            this.webBrowser1.Url = u;

            SetMessage("Logged out");



The keep alive timer is closed. The logout url is sent and a Logged out message is displayed.