listMarketCatalogue is pretty unusable

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AlgoTrader
    Junior Member
    • Mar 2012
    • 243

    #1

    listMarketCatalogue is pretty unusable

    The world of sports is very various, some sports events consist of small number of markets, some of hundreds.

    Let's consider the Wimbledon tournament. There are 128 men matches, 128 women matches, 64 men doubles matches, 64 women doubles matches and 48 mixed matches. That is the main draw, we are not talking of qualification rounds. Total is 432 matches. That is 'Match Odds' only. The total number of markets can be many thousands (match odds, set N winner, total games, number of sets, set betting).

    We have listMarketCatalogue that allows only 150 scores, every market is at absolute minumum is 1 score, in reality it is 3-5 depending on extra info required. Then, how can we extract the whole Wimbledon tournament? We do not know marketIds yet, we cannot extract part of event. I cannot extract event with a single listMarketCatalogue call, I cannot extract it with multiple calls - there is no way to explain how to filter out "previous page".

    The listMarketCatalogue scoring should be much higher than listMarketBook, it is used for detecting markets and it should at least extract the "big" events like Wimbledon. The current limit makes absolutly impossible or very difficult extract such events. I will have to invent heavy filters to extract men and woman match odds (there are 256 singles 'match odds' markets).

    The current scoring is exellent for listMarketBook that we call for markets of interest and very bad for listMarketCatalogue that we call to see what is there and see what is of interest.
    Last edited by AlgoTrader; 07-05-2013, 07:55 AM.
    Betfair Bots Made Easy
  • BetfairDeveloperProgram
    Administrator
    • Oct 2008
    • 679

    #2
    listMarketCatalogue is pretty unusable

    Hi AlgoTrader,

    Thanks for your feedback.

    For listMarketCatalogue, EVENT_TYPE, EVENT, COMPETITION (and after the next release MARKET_START_TIME) have a score of 0, not the documented 2. We'll correct the documentation shortly. You will run into limits only if you request the RUNNER_DESCRIPTION, RUNNER_METADATA or MARKET_DESCRIPTION, and it is our intention that you make separate calls for each market, or group of markets, where you want this level of detail in your data. We are putting in place a limit of 1000 markets per request to listMarketCatalogue to protect the API against unrestricted requests.

    Here’s an example of a current competition:

    Consider the Barclays Premier League (listCompetitions tells us that this has 869 markets), Competition ID=31. ListMarketCatalogue with Competition filter of 31, and market projection of competition, event, event_type (we already know competition, but included for illustration) – then I receive all 869 markets; a sample of one of which contains:

    Code:
    {
       "marketId":"1.105732498",
       "marketName":"Handicap Bottom 2012/13",
       "eventType":{
          "id":"1",
          "name":"Soccer"
       },
       "competition":{
          "id":"31",
          "name":"Barclays Premier League"
       },
       "event":{
          "id":"2022802",
          "name":"Barclays Premier League",
          "countryCode":"GB",
          "timezone":"Europe/London",
          "openDate":"2012-08-11T11:45:00.000Z"
       }
    }
    We now have a list of all markets in the competition, with some limited information about each of them. We can then make a more detailed request for the markets we are interested in, e.g listMarketCatalogue with a marketProjection of RUNNER_DESCRIPTION and a marketFilter on marketID=1.105732498 then gives this:

    Code:
    [
       {
          "jsonrpc":"2.0",
          "result":[
             {
                "marketId":"1.105732498",
                "marketName":"Handicap Bottom 2012/13",
                "runners":[
                   {
                      "selectionId":6550931,
                      "runnerName":"Newcastle +26 pts",
                      "handicap":0.0,
                      "sortPriority":1
                   },
    And continues for all runners in the market.

    Kind Regards

    Neil

    Comment

    • AlgoTrader
      Junior Member
      • Mar 2012
      • 243

      #3
      I try to summarize what I understand:

      - I can get up to 1000 markets if I do not ask for "scored info"
      - I can get up to 75 markets if I ask "extended info"

      The first number is quite good, although I would suggest 1500 as a better number. The second number is too small for my opinion. Selection names are very crucial to display markets in beatiful way

      For example:
      Code:
      {
         "marketId":"1.105732498",
         "marketName":"Handicap Bottom 2012/13",
         "eventType":{
            "id":"1",
            "name":"Soccer"
         },
         "competition":{
            "id":"31",
            "name":"Barclays Premier League"
         },
         "event":{
            "id":"2022802",
            "name":"Barclays Premier League",
            "countryCode":"GB",
            "timezone":"Europe/London",
            "openDate":"2012-08-11T11:45:00.000Z"
         }
      }
      We have lots of information excluding the most important one. For soccer match I want to know which commands are playing. For tennis match I want to have at least player names. Well, what can we say from the example above - it just a soccer match with unknown teams. I cannot display any reasonable info in GUI. The current version returns menuPath that is really very good. The new version of listMarketCatalogue is very bad in that way.

      I will get 1000 marketIds with unknown players, then I need to filter 990 that are out of interest, so I have to issue lots of redundant calls (13 in this case, 1000/75) to just get player/team names! That is very sad thing.
      Betfair Bots Made Easy

      Comment

      • AlgoTrader
        Junior Member
        • Mar 2012
        • 243

        #4
        Well, the last message was not correct in the way that team/player names are unknown. I am sorry, I was not right:

        Code:
            {
              "marketId": "1.109349950",
              "marketName": "Match Odds",
              "event": {
                "id": "27006701",
                "name": "Janowicz v Berdych",
                "countryCode": "ES",
                "timezone": "CET",
                "openDate": "2013-05-08T09:00:00.000Z"
              }
            },
        EVENT projection has enough information of what event is. After correcting score of EVENT to be 0, life is improving. The "default" answer is rather useless:

        Code:
            {
              "marketId": "1.109325474",
              "marketName": "Match Odds"
            },
            {
              "marketId": "1.109335729",
              "marketName": "Match Odds"
            },
            {
              "marketId": "1.109335262",
              "marketName": "Match Odds"
            },
        This can be misleading as it returns almost zero infoormation (only marketIds, that are not much informative).

        Anyway, thanks for resetting scores of EVENT, EVENT_TYPE and COMPETITION! That allows us to survive

        PS Is there any estimate of when betting appear on the scene?
        Betfair Bots Made Easy

        Comment

        • BetfairDeveloperProgram
          Administrator
          • Oct 2008
          • 679

          #5
          PS Is there any estimate of when betting appear on the scene?
          Yes, betting operations are due in a release in the first week of June.

          Thanks

          Neil

          Comment

          Working...
          X