Skip to content

Integrating Bracket Instances#

The following describes you to use the tool with your website.

Setting up Bracket Instances#

To set up a new bracket instance, you must contact your Quarter4 Account Manager and they will request the appropriate configuration details from you. Once configured you can link or embed the bracket as described next.

Linking to Bracket Instances#

To link your website with your Quarter4 brackets, we suggest you create a form to collect user info on your site, such as email address and marketing permissions. Upon submission, you can then tell the user their link to the bracket and include their username in the url as follows:{your-bracket}?username={username}

If your bracket is located at and your user's username is mycoolusername then their link would be:

By including the username in the query string, the bracket site will not ask the user to enter a username. If you don't include a username, the user will be asked to enter one and may enter any text they would like.


There is no external validation of username validity at this time. The username is simply a string that is required to identify a bracket submission by name in the Leader Board. Anyone with a link to the bracket may submit a bracket using whatever username they would like. Once submitted, the bracket can not be modified and the username can not be re-used for that tournament. The username is only used for the identification of a submission in the leader board and is no related in any way to users in the Quarter4 system.

Embedding your Bracket Instance#

To embed the bracket in an iframe you can simply use the same url from the previous linking section above. Here again, we'll use the example bracket for user mycoolusername (remember, username is optional in the url). To embed this bracket for this user, use the url for an <iframe> src attribute as follows:

    <title>Quarter4 Bracket Iframe Example</title>
    <script src=""></script>

      function receiveMessage(event) {
        // Make sure the message is from Quarter4 Bracket
        if (event.origin !== "") {
        var height =;
      window.addEventListener("message", receiveMessage, false);

    <!-- Change width for your needs. Relative width is recommended for responsive scaling -->
      style="width: 1200px; height: 0px"

Here, we also demonstrate how you can add an event listener for the window's message event to receive the height of the rendered <iframe> content. This will allow you to adjust the height of your <iframe> appropriately so that the user doesn't need to scroll the content. In the above example we used the jQuery .height method to adjust the element, but you can use whatever JavaScript is appropriate for your site.

Accessing Leader Board Results (API)#

To access the final results of your bracket's leader board, you can use the Quarter4 Data API as follows:{sport}/v2/brackets/leaderboards/{slug}

where slug is the slug assigned to your leader board. For example, to retrieve the leader board results for the example leader board, you would query:

The result will look something like this:

  "links": {
    "self": "\/basketball\/v2\/brackets\/leaderboards\/example"
  "meta": {
    "totalItems": 38
  "data": [
      "id": "\/basketball\/v2\/anons\/596d4cae-95c4-4fb0-868d-f8c0dc3457bb",
      "type": "Anon",
      "attributes": {
        "name": "mycoolusername",
        "source": "example",
        "rank": 1,
        "meta": {
          "round": {
            "1": 0,
            "2": 32,
            "3": 32,
            "4": 24,
            "5": 48,
            "6": 64,
            "7": 64
          "total": 264,
          "champion": "Baylor"
        "uuid": "596d4cae-95c4-4fb0-868d-f8c0dc3457bb"
      "id": "\/basketball\/v2\/anons\/ca8983fd-8ebf-4774-9f77-b1ddccc14e98",
      "type": "Anon",
      "attributes": {
        "name": "jeffrey",
        "source": "example",
        "rank": 2,
        "meta": {
          "round": {
            "1": 0,
            "2": 44,
            "3": 24,
            "4": 32,
            "5": 16,
            "6": 32,
            "7": 64
          "total": 212,
          "champion": "Baylor"
        "uuid": "ca8983fd-8ebf-4774-9f77-b1ddccc14e98"

Results will be ordered by rank.

For each result, the name is the username entered by the user, the rank is their current rank as of the query and the meta contains their calculated score for each round as well as the current total and who they picked as the final champion.

The points assigned in meta.round will be allotted for each round using the formula 2^round where round is the number of the round starting at 1 (feeder rounds such as NCAAMB first 4 or NBA playin are not included):

  • 1 (Round 1): 2 points / correct pick
  • 2 (Round 2): 4 points / correct pick
  • 3 (Round 3): 8 points / correct pick
  • 4 (Round 4): 16 points / correct pick
  • etc...

Points and ranks are recalculated as game statistics are finalized after each game.

Accessing Custom Bracket Instance Form Data (CSV)#

We highly recommend you collect custom user information on your own web site prior to sending users to the bracket link. However, if that is not possible and you wish still wish to collect additional information, such as a name or email address, you may request an additional form be added to the bracket. For example:

Try It Out

This additional information is collected but not used by Quarter4 and is only stored along with the bracket submission for later retrieval by the bracket instance owner.

Setting up a new Bracket Instance

To have a form configured on your bracket instance please contact your Quarter4 Account Representative.

To retrieve the details related submissions with a custom forms, use the following endpoint:{sport}/v2/brackets/userdata/{slug}.csv?api_key={your_api_key}

Replace {sport} and {slug} with the appropriate sport and bracket instance identifier. This endpoint will return a CSV file with a uuid, source, username for each entry, along with a column for each field in the custom form, depending on the fields you have requested in your form. For example if the form also contains an email field and an name field the csv would resemble:


You still need to include an API key in the API request. Only results related to bracket instances configured under the APi key will be returned.