User Comments

  • Stefan
    20.1.2017 9:26:04

    Yes, I do bespoke bot/apps development using betfair api.

  • Stefan
    2.12.2016 11:20:40

    Football Bot triggers your action bot you define in the parameter BotName. The action bot is responsible for placing a bet or starting a trading session on preset selection.  

    All bots which place a bet offers the parameter: ExecuteOnSelection, therefore if you want to declare the exact selection on which you want to place a bet you must set this parameter. Home team selection index is 1, the away team selection index is 2. 

    If your strategy for Football bot is to place a bet on home team when a goal is scored, so for instance scores: 1 - 0;2 – 0 and so on, then consequently your action bot ExecuteOnSelection must be set to 1. 

    Have a look at on some other articles describing how to execute some bot strategies on football matches:

  • Stefan
    24.11.2016 14:30:08

    Football Score tool uses data from betfair, so there is  no need to synchronize such data with betfair markets, because live score api queries match data by market id.  

    If you use other source of live score data, then first you need to spend some time on hacking such source of data, some sources makes it difficult by scrambling data as well, for instance all service aggregating live score data from seems to be stealing data from other providers, hardly to say what company is actually real provider of live score data for Europe, maybe it is that Czech company I mentioned above. 

    Just by judging from your forum name, in your country the average hourly rate for senior software developer is 45 Euro.  

    The api source I use offer information about cards as well, this feature is not implement to Football Bot, if you want to build your bespoke bot just send me by email your short project specification.

  • Stefan
    28.9.2016 20:06:33

    This bot code shows how to retrieve betfair SP prices. When market is turned at in play, so in code, the line 72, you can add what you want to.


  • Stefan
    9.9.2016 21:04:15

    And what would you do with that?  

    Frankly to say I am not quite sure you understand what you can see on those videos. Those videos were actually made to report my progress on quite big project I am working on now for couple weeks. 

  • Stefan
    4.9.2016 19:49:41

    Yes, I developed similar app/bot for MySQL as well.

  • Stefan
    1.9.2016 16:52:06

    Unfortunately I did not have a time to add this bot to Community ones.  

    I will do so in the update after betfair will cease Australian exchange service endpoint, so some changes will be required to bfexplorer as well.

  • Stefan
    1.9.2016 16:48:17

    What you executed by using Bfexplorer Console is just script, showing recorded data in XPlot charts. You need to execute the bot called: "Record Market Selection Data" to record those data first.

  • Stefan
    12.8.2016 16:32:22

    For more information read this article: Betfair Data to Database


  • Stefan
    7.8.2016 15:41:26

    Visual Studio offers the NuGet package manager: 

    You can use it to quickly install all needed packages (assemblies/libraries) to your project, just type XPlot.Plotly 

    On GitHub you can find source code for this project: 

    So alternatively you can clone or download XPlot, and build XPlot.Plotly.dll assembly yourself. 

    Do not forgot that you have to replace path to bfexplorer assemblies this script is using as well. 

    Well, I am not quite sure if you manage to do it yourself, as you ask for help in very base and common tasks any programmer/software developer must already know. I would really suggest to learn that first.

    Yes, Microsoft Edge is my default Internet Browser, therefor the script opens Edge to show charts. 

  • Stefan
    7.8.2016 12:23:25

    Actually all you need is just to read the code. To any console application you can enter command line arguments, and in the code of the console application those arguments are passed as array of strings.


    static void Main(string[] args)
        if (args.Length != 2)
            throw new Exception("Please enter your betfair user name and password!");
        var username = args[0];
        var password = args[1];
        var task = ExecuteMyTest(username, password);


    In the code you can see that the first argument (args[0]) represents your username and the second  argument (args[1]) your password. 

    Go to the Solution Explorer and on the BetfairApiConsole project click with your right mouse button, select Properties menu item, and click on it. 

    In the project properties window select Dubug, and in the Start Options sections, in the Command line arguments, enter your username and password. (the argument separator character is space). 

    Execute your bot sdk project, and your betfair credentials will be used to login to betfair thriugh betfair api. You can debug your test bot project or create your own ones. 

    In bfexplorer bot sdk you can find projects in C# or F# programming languages. 

  • Stefan
    11.7.2016 8:05:15

    I have just changed your subscription to Free Professional, you can execute bots now.

  • Stefan
    10.7.2016 13:03:26

    Thanks Neil, community subscription is automatically prolonged to free subscription after your previous subscription expires (and you are allowed to use the community subscription), then after your donation I must changed your subscription status to Free Professional, please let me know when that happens.

    Well, how to use bots?

    Just try to browse all available bots, and you will find out that bot names suggest the bot functionality, and bot parameters in details describe this functionality.

    For instance from your strategy, the cash out function. Bfexplorer offers this function/feature in bots having Close Position in their name (just type: close to Add a new order/bot dialog search input box to list all such bots).

    I suggested using “Close Selection Bet Position At Odds” bot, as this bot operates on one selection, but you can use as well the bot: “Close Market Bet Position” that closes bet position on entire market, it cashes out all open selection bet positions. The Profit parameter is mandatory one, so if you want to force the bot to cash out at any profit/loss, you must set Profit to 0 and Loss to 0.001, what covers any profit or loss trigger condition.

  • Stefan
    9.7.2016 11:57:07

    If you want to trigger your action bots by football/soccer match score or time then you must use “Football Bot”.

    Please install the latest version of bfexplorer:

    In the old version the Score parameter was mandatory, and you want to trigger by match time only as well.

    First you need to setup your two action bots, to place lay bet on “Over 2.5 Goals” and cash out.


    Use “Place Bet” bot and set following parameters: AllowPlacingBetInPlay to True (checked) , OfferMyBet to False, BetType to Lay, Stake, ExecuteOnSelection to 2, and name this bot setting: Lay Over 2.5 Goals


    Use “Close Selection Bet Position At Odds” bot and set following parameters: Odds to 0, ExecuteOnSelection to 2, and name this bot setting: Cash Out Over 2.5 Goals


    Use “Football Bot” and set following parameters: BotName to: Lay Over 2.5 Goals (use bot dialog to select your action bot, as typing the bot name you can make a mistake), Score to: 0 – 0, MatchTime to: 27, and name this bot setting: Lay Over 2.5 Goals at 27th minute and 0 – 0


    Use “Football Bot” and set following parameters: BotName to: Cash Out Over 2.5 Goals, MatchTime to: 46, and name this bot setting: Cash Out Over 2.5 Goals at 46th minute


    And finally to execute your strategy by one bot, use “Execute Bots” to add execute your two football bots, set the parameter BotNames to: Lay Over 2.5 Goals at 27th minute and 0 – 0; Cash Out Over 2.5 Goals at 46th minute (again use Select Bots dialog instead of typing bot names), and name this bot setting: My Football Lay Over 2.5 Goals Strategy (or of course name your bot settings as you like).

    You execute “My Football Lay Over 2.5 Goals Strategy” on selected markets manually or you can use Bot Executor tool.

  • Stefan
    4.7.2016 12:13:29

    Use My Bet Position tool to close your bet position, or just see total profit/loss per market. Open Markets view also presents total numbers per market like: Total Matched, Unmatched Bets, Matched Bets, Profit Balance and so.

  • Stefan
    29.6.2016 12:43:45

    Unfortunately all information I have got about a race is already displayed in Event Browser. Maybe there is possible to distinguish between race types from a market name, and then you would be able to filter events in Event Browser view.

    For GB and IE horse racing events, betfair offers timeform data, and I had done such projects which uses those data.

  • Stefan
    21.6.2016 13:38:17

    Betfair exposes their data through betfair api. In order to receive data from betfair server, the client (bfexplorer app) must sent a request to the server (betfair api server), the server replies with response data. This communication takes some time, and most of it depends on the Internet connection latency.

    In my case I am from Slovakia so from my location the internet connection latency to betfair servers is about 70 ms. Users located in London have about 15 ms, basically as close your computer is to betfair ones in the Internet infrastructure, the better your Internet connection latency is.

    So if I set update period to 50 ms, it actually does not mean that data from befair servers are delivered to bfexplorer every 50 ms, but instead it says that bfexplorer requests new data after 50 ms period.

    To get real time period of market prices update time, you must add your Internet connection latency and of course a time needed to process those data by bfexplorer, and that depends on your computer power, this time is actually unimportant when comparing to the Internet connection latency time.

    When using market/order streaming technology, a communication channel is open to betfair server, and bfexplorer only reads responses, so the intenet connection latency is applied only in one part of communication, and not twice like it is in REST client/server communication.

    Betfair applies limitations to client/server communication asking developers not to update one market data quicker than 200 ms, such limitation is not applied to market/order streaming technology so you can set update period to 0.