boxfishjs

Boxfish TV API connector

Usage no npm install needed!

<script type="module">
  import boxfishjs from 'https://cdn.skypack.dev/boxfishjs';
</script>

README

Boxfish js

JavaScript interface for the Boxfish API.

If using the library client side it will require the jquery library.

Creating a new instance ( client side mode )

    var boxfish = new Boxfish();

We also are compatible with node.js

    npm install boxfishjs --save

Endpoints

Authorization

client_id and secret_id can be found here

Although a user can authenticate with our OAuth API directly and get the access_token we strongly advise against it.

One can easily access the javascript files on you browser and steal your client credentials. Developers should instead create a server side proxy that servers the token upon your client's request.

NOTE:

if you are using Node.js you can skip the proxy and just go straight to the authetication

require("boxfish").OAuth({client_id}, {client_secret}, function( token ) {

    // the token is already saved and it will be used for the rest of the calls form now on
    
})

Here is a PHP example of proxy

/**
 * Authenticate with the boxfish API
 */
private function auth() {

    $params = array(
        'client_id'     =>  $this->client_id,
        'client_secret' =>  $this->client_secret,
        'grant_type'    =>  'client_credentials'
    );

    $auth = $this->post($this->oauth_endpoint, null, $params);

    if ($auth['http_code']!=200) {
        // TODO: handle the error
    }

    // this is your token
    // $payload->access_token;

    return $payload;

}

Here is a NODE example of proxy

/**
 * Authenticate with the boxfish API
 */
function auth(request, response) {

    var 
        https = require('https'),
        options = {
            host 	: 'api.boxfish.com',
            path 	: '/oauth/token',
            method 	: 'POST',
            headers : {
                "Accept": "application/vnd.com.boxfish+json",
                "Content-Type" : 'application/json'
            }
        },
        data = {
            client_id     :  this.client_id,
            client_secret :  this.client_secret,
            grant_type    :  'client_credentials'
        };

    var req = https.request(options, function(res) {

        res.setEncoding('utf8');
        res.on('data', function (chunk) {
            
            data = JSON.parse(chunk);

            return response.json(data);

        });

    });

    if ( data ) 
        req.write( data);

    req.end();

}

once you have created a server side proxy you can pass the URI as a parameter to the library's authorize method

NOTE: the return format from the proxy needs to be a JSON object with the following format

{
    "access_token": "{token}"
}
var 
    proxy = 'http://your-proxy-url/get-token',
    success = fucntion( token ) {
        // authenticated, do stuff
    };

boxfish.authorize( proxy, success );

after authorized you can also access your token like this

boxfish.token;

Trending

The trending discussions endpoint provides search results for currently trending topics. This provides a What's On view of live TV and associated topics.

Trending Topics

Gets the list of trending topic terms, globally ("all") or by category ("news", "sports" or "lifestyle"). Trending topics can be described as the breaking news or "hot stories" of the day - the things that are being most discussed on TV.

Parameters
name type required default
category enum all
limit int 10
Example
var
    category = ["all"],
    limit = 10;

boxfish.get_trending_topics( category, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "category": "NEWS",
    "topic": "Boston",
    "image": "http://media.boxfish.com/thumbnails/us-cnnhd/20130424/20/20130424202410_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Tsarnaev",
    "image": "http://media.boxfish.com/thumbnails/us-cnnhd/20130424/20/20130424202410_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Al Qaeda",
    "image": "http://media.boxfish.com/thumbnails/us-msnbc/20130424/20/20130424200820_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Misha",
    "image": "http://media.boxfish.com/thumbnails/us-msnbc/20130424/20/20130424200530_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Korea",
    "image": "http://media.boxfish.com/thumbnails/us-abc/20130424/18/20130424181900_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Obama",
    "image": "http://media.boxfish.com/thumbnails/us-msnbc/20130424/20/20130424202110_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Earthquake",
    "image": "http://media.boxfish.com/thumbnails/us-trutvhd/20130424/16/20130424162730_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Arias",
    "image": "http://media.boxfish.com/thumbnails/us-headlinenews/20130424/20/20130424202210_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "China",
    "image": "http://media.boxfish.com/thumbnails/us-fnchd/20130424/19/20130424195330_310x174.jpg"
  },
  {
    "category": "NEWS",
    "topic": "Gun Control",
    "image": "http://media.boxfish.com/thumbnails/us-fnchd/20130423/20/20130423205520_310x174.jpg"
  }
]

Trending Channels

Gets trending discussions by channel: the latest conversations discussing currently trending topics on live TV. Provides a realtime "What's Hot" view of TV. Trending is based on what TV is speaking about, rather than Twitter or Viewer beheviour

Parameters
name type required default
category enum all
lineupId string
airing bool false
Example
var
    category = ["all"],
    lineupId = "",
    airing = false;

boxfish.get_trending_channels( category, lineupId, airing)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "id": "s_us-trutvhd_20130506182813",
    "time": "2013-05-06T18:28:13Z",
    "text": ">> Black and white 97 in the area. ",
    "image": "http://s3.amazonaws.com/media.boxfish.com/thumbnails/us-trutvhd/20130506/18/20130506182800_310x174.jpg",
    "channel": {
      "id": "us-trutvhd",
      "name": "truTV",
      "image": "http://media.boxfish.com/channels/white/us-trutvhd.png"
    },
    "program": {
      "id": "13372130",
      "name": "In Session",
      "start": "2013-05-06T13:00:00Z",
      "stop": "2013-05-06T19:00:00Z",
      "image": "http://media.boxfish.com/programs/13/13372130_310x174.png",
      "genre": "news_other"
    },
    "topics": [
      {
        "topic": "Suspects",
        "score": 0.29121493810465
      },
      {
        "topic": "Vehicle",
        "score": 0.28999399122689
      },
      {
        "topic": "Residences",
        "score": 0.21070351770968
      },
      {
        "topic": "Wilson",
        "score": 0.11034285670505
      },
      {
        "topic": "Second Subject",
        "score": 0.097744696253726
      }
    ]
  },
  {
    "id": "s_us-fbn_20130506182758",
    "time": "2013-05-06T18:27:58Z",
    "text": "Lauren Simonetti was talking about it earlier. ",
    "image": "http://media.boxfish.com/thumbnails/us-fbn/20130506/18/20130506182750_310x174.jpg",
    "channel": {
      "id": "us-fbn",
      "name": "Fox Business News (FBN)",
      "image": "http://media.boxfish.com/channels/white/us-fbn.png"
    },
    "program": {
      "id": "7191694",
      "name": "Markets Now",
      "start": "2013-05-06T18:00:00Z",
      "stop": "2013-05-06T19:00:00Z",
      "image": "http://media.boxfish.com/programs/71/7191694_310x174.png",
      "genre": "news_business & finance"
    },
    "topics": [
      {
        "topic": "End Israel",
        "score": 0.30612239530139
      },
      {
        "topic": "Missiles",
        "score": 0.19464310010974
      },
      {
        "topic": "Syria",
        "score": 0.19083414370036
      },
      {
        "topic": "Hezbollah",
        "score": 0.15992110708059
      },
      {
        "topic": "Iron Dome Missile Defense",
        "score": 0.14847925380791
      }
    ]
  }
]

Trending Programs

Gets trending programs: the latest conversations currently discussing trending topics on TV. Results are returned by unique program, so no channel lineup information is required.

Parameters
name type required default
category enum all
airing bool false
limit int 10
Example
var
    category = ["all"],
    airing = false,
    limit = 10;

boxfish.get_trending_programs( category, airing, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "id": "s_EP006893540008_20140926170000",
    "time": "20140926170000",
    "text": ">> So it was a really sunny morning for Bubba Watson and the -- for Tom Watson and the United States. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Bulls",
    "flatTag": {
      "entityType": "PERSON",
      "displayName": "Ian Poulter",
      "start": "2014-09-26T17:32:58.000Z",
      "stop": "2014-09-26T17:37:19.000Z"
    },
    "program": {
      "id": "EP006893540008",
      "name": "Live From the Ryder Cup",
      "start": "2014-09-26T17:00:00.000Z",
      "stop": "2014-09-26T20:00:00.000Z",
      "image": null,
      "genre": "sports_golf",
      "groups": null
    }
  },
  {
    "id": "s_SH010091980000_20140926160000",
    "time": "20140926160000",
    "text": "Secy. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Ebola",
    "flatTag": {
      "entityType": "LOCATION",
      "displayName": "West Africa",
      "start": "2014-09-26T16:34:29.000Z",
      "stop": "2014-09-26T16:35:44.000Z"
    },
    "program": {
      "id": "SH010091980000",
      "name": "Fox 6 News at 11",
      "start": "2014-09-26T16:00:00.000Z",
      "stop": "2014-09-26T17:00:00.000Z",
      "image": null,
      "genre": "news_null",
      "groups": null
    }
  },
  {
    "id": "s_SH006570110000_20140926140000",
    "time": "20140926140000",
    "text": "But I'm going to sneak in the bills. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Tigers",
    "flatTag": {
      "entityType": "PERSON",
      "displayName": "Aaron Rodgers",
      "start": "2014-09-26T16:33:27.000Z",
      "stop": "2014-09-26T16:34:14.000Z"
    },
    "program": {
      "id": "SH006570110000",
      "name": "Mike & Mike",
      "start": "2014-09-26T14:00:00.000Z",
      "stop": "2014-09-26T17:00:00.000Z",
      "image": null,
      "genre": "talk_sports talk",
      "groups": null
    }
  }
]

Trending Programs By Topic

Gets trending programs by trending topic: the latest conversations currently discussing an individual trending topic on TV. Results are returned by unique program, so no channel lineup information is required. Note that very few or zero unique programs discussing a topic, an important consideration for live discovery applications.

Parameters
name type required default
keyword string true
airing bool false
limit int 10
Example
var
    keyword = "",
    airing = false,
    limit = 10;

boxfish.get_trending_by_topics( keyword, airing, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "id": "s_SH010091980000_20140926160000",
    "time": "20140926160000",
    "text": "Secy. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Ebola",
    "flatTag": {
      "entityType": "LOCATION",
      "displayName": "West Africa",
      "start": "2014-09-26T16:34:29.000Z",
      "stop": "2014-09-26T16:35:44.000Z"
    },
    "program": {
      "id": "SH010091980000",
      "name": "Fox 6 News at 11",
      "start": "2014-09-26T16:00:00.000Z",
      "stop": "2014-09-26T17:00:00.000Z",
      "image": null,
      "genre": "news_null",
      "groups": null
    }
  },
  {
    "id": "s_SH003278540000_20140926160000",
    "time": "20140926160000",
    "text": "Your. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Ebola",
    "flatTag": {
      "entityType": "OTHER",
      "displayName": "Patients",
      "start": "2014-09-26T16:21:48.000Z",
      "stop": "2014-09-26T16:22:55.000Z"
    },
    "program": {
      "id": "SH003278540000",
      "name": "Action News at Noon",
      "start": "2014-09-26T16:00:00.000Z",
      "stop": "2014-09-26T16:30:00.000Z",
      "image": null,
      "genre": "news_null",
      "groups": null
    }
  },
  {
    "id": "s_EP015057880759_20140926150000",
    "time": "20140926150000",
    "text": ">> This portion of \"cbs this let's go places. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Ebola",
    "flatTag": {
      "entityType": "OTHER",
      "displayName": "Patients",
      "start": "2014-09-26T16:11:41.000Z",
      "stop": "2014-09-26T16:15:04.000Z"
    },
    "program": {
      "id": "EP015057880759",
      "name": "CBS This Morning",
      "start": "2014-09-26T15:00:00.000Z",
      "stop": "2014-09-26T17:00:00.000Z",
      "image": null,
      "genre": "news_talk",
      "groups": null
    }
  },
  {
    "id": "s_EP000018936893_20140926150000",
    "time": "20140926150000",
    "text": ">> This portion of \"cbs this morning\" sponsored by toyota. ",
    "image": null,
    "advert": false,
    "trendingKeyword": "Ebola",
    "flatTag": {
      "entityType": "OTHER",
      "displayName": "Patients",
      "start": "2014-09-26T16:11:35.000Z",
      "stop": "2014-09-26T16:14:54.000Z"
    },
    "program": {
      "id": "EP000018936893",
      "name": "Good Morning America",
      "start": "2014-09-26T15:00:00.000Z",
      "stop": "2014-09-26T17:00:00.000Z",
      "image": null,
      "genre": "news_talk",
      "groups": null
    }
  }
]

Channels

The /channels/ endpoint provides channel lists for provided ZIP codes and service providers, representing the full range of channels available through the TV service provider.

Get Service Providers

Gets the television service providers available to customers in the provided ZIP code region.

Parameters
name type required default
zipcode string true
Example
var
    zipcode = "";

boxfish.get_channels_services( zipcode)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "id": "74981",
    "name": "Palo Alto - Comcast"
  },
  {
    "id": "889087",
    "name": "DirecTV with San Francisco-Oak-SJ Area Channels (Pacific)"
  },
  {
    "id": "76449",
    "name": "Dish Network with San Francisco-Oak-SJ Area Channels (Pacific)"
  },
  {
    "id": "82105",
    "name": "San Francisco - AT&T U-verse"
  },
  {
    "id": "20552",
    "name": "San Fran-Oak-Sj Area Channels - Broadcast TV"
  },
  {
    "id": "80004",
    "name": "Pacific - National Channels - Pacific Time Zone"
  },
  {
    "id": "201195",
    "name": "Palo Alto - Southwestern Bell Home Entertainment"
  }
]

Create Lineup

Generates a channel lineup for the provided service id. The associated lineup id can be used throughout the platform to filter API results to those received by a user/within the channel lineup.

Parameters
name type required default
serviceId string true
hd bool true
Example
var
    serviceId = "",
    hd = true;

boxfish.get_channels_lineup( serviceId, hd)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
{
  "id": "d76040d9-052c-43db-a949-a66d8eaa072b",
  "service": "889087",
  "hd": true,
  "channels": [
    {
      "id": "us-cnnhd",
      "name": "CNN",
      "image": "http://media.boxfish.com/channels/thumbnails/us-cnnhd_310x174.jpg",
      "number": "202",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "News"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-espnhd",
      "name": "ESPN",
      "image": "http://media.boxfish.com/channels/thumbnails/us-espnhd_310x174.jpg",
      "number": "206",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "Sports"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-espnnews",
      "name": "ESPN News",
      "image": "http://media.boxfish.com/channels/thumbnails/us-espnnews_310x174.jpg",
      "number": "207",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "Sports"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-hbo",
      "name": "HBO (East)",
      "image": "http://media.boxfish.com/channels/thumbnails/us-hbo_310x174.jpg",
      "number": "501",
      "hd": true,
      "groups": [],
      "dynamicImages": true
    }
  ]
}

Get Channels

Gets the channels for a provided lineup id.

Parameters
name type required default
lineupId string true
hd bool true
Example
var
    lineupId = "",
    hd = true;

boxfish.get_channels( lineupId, hd)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
{
  "id": "d76040d9-052c-43db-a949-a66d8eaa072b",
  "service": "889087",
  "hd": true,
  "channels": [
    {
      "id": "us-cnnhd",
      "name": "CNN",
      "image": "http://media.boxfish.com/channels/thumbnails/us-cnnhd_310x174.jpg",
      "number": "202",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "News"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-espnhd",
      "name": "ESPN",
      "image": "http://media.boxfish.com/channels/thumbnails/us-espnhd_310x174.jpg",
      "number": "206",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "Sports"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-espnnews",
      "name": "ESPN News",
      "image": "http://media.boxfish.com/channels/thumbnails/us-espnnews_310x174.jpg",
      "number": "207",
      "hd": true,
      "groups": [
        "Most Watched",
        "Favorite",
        "Sports"
      ],
      "dynamicImages": true
    },
    {
      "id": "us-hbo",
      "name": "HBO (East)",
      "image": "http://media.boxfish.com/channels/thumbnails/us-hbo_310x174.jpg",
      "number": "501",
      "hd": true,
      "groups": [],
      "dynamicImages": true
    }
  ]
}

Discussions

The discussions endpoint provides sentence results for ongoing or past discussions. This provides a snapshot of the text, topics, program and channel information for a channel in realtime or at a specified point in time.

Get Channel Discussions

Gets the discussions on a channel(s).

Parameters
name type required default
channels string[] true
channelType string true boxfish
lineupId string
time datetime Now
Example
var
    channels = [""],
    channelType = "boxfish",
    lineupId = "",
    time = new Date({some-date});

boxfish.get_discussions( channels, channelType, lineupId, time)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "id": "us-cnnhd-20140927002016-ig3An54uTecL2pBk4BplcYIWDFA=",
    "time": "2014-09-27T00:20:16.000Z",
    "text": "Prime minister Haider Al-abadi is aware of that challenge, but this is basically their army. ",
    "image": "http://s3.amazonaws.com/media.boxfish.com/thumbnails/us-cnnhd/20140927/00/20140927002010_310x174.jpg",
    "advert": false,
    "channel": {
      "id": "us-cnnhd",
      "name": "CNN",
      "image": "http://media.boxfish.com/channels/thumbnails/us-cnnhd_310x174.jpg",
      "number": "202",
      "hd": false,
      "groups": [
        "Most Watched",
        "Favorite",
        "News"
      ],
      "dynamicImages": true
    },
    "program": {
      "id": "3946312",
      "name": "Anderson Cooper 360",
      "start": "2014-09-27T00:00:00.000Z",
      "stop": "2014-09-27T01:00:00.000Z",
      "image": "http://media.boxfish.com/programs/3946312/3946312_310x174.png",
      "genre": "news_newsmagazine",
      "groups": [
        "News"
      ]
    },
    "topics": [
      {
        "topic": "Baghdad",
        "score": 0.45097575880426,
        "metadata": {
          "type": "place",
          "url": "http://en.wikipedia.org/wiki/Baghdad"
        }
      },
      {
        "topic": "Iraqi Army",
        "score": 0.1528692942901,
        "metadata": {
          "type": "organisation",
          "url": "http://en.wikipedia.org/wiki/Iraqi_Army"
        }
      },
      {
        "topic": "Iraqi Forces",
        "score": 0.14091287933071,
        "metadata": null
      },
      {
        "topic": "Iraqi Troops",
        "score": 0.13157439166302,
        "metadata": null
      },
      {
        "topic": "Iraqi Military",
        "score": 0.12366767591192,
        "metadata": null
      }
    ]
  }
]

Flat Tags

The /tags/flat/ endpoint provides the reduced or flatted content tags.
 
These provide a high level description the TV content. They are tailed for applications such as DVR tagging or to deliver a high level understanding of content for analytics applications, for example, returning the 10 topics discussed during a 1 hour newscast.

Get Flat Tags By Channel

Gets tags for a specified channel for a specified length. Tags are not nested.

Parameters
name type required default
channels string[] true
channelType string true boxfish
start datetime Now minus 1 Hour
stop datetime Now (If a start time given, 1 hour from start time)
limit int 100
Example
var
    channels = [""],
    channelType = "boxfish",
    start = new Date({some-date}),
    stop = new Date({some-date}),
    limit = 100;

boxfish.get_tags_flat_channel( channels, channelType, start, stop, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "segments": [
      {
        "id": "us-cnnhd-20140605025924",
        "start": "2014-06-05T02:59:24.000Z",
        "stop": "2014-06-05T03:00:39.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "PERSON",
            "displayName": "Hillary Clinton",
            "start": "2014-06-05T02:59:32.000Z",
            "stop": "2014-06-05T02:59:50.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "segments": [
      {
        "id": "us-espnhd-20140605030002",
        "start": "2014-06-05T03:00:02.000Z",
        "stop": "2014-06-05T03:00:40.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "QUOTED",
            "displayName": "Sportscenter",
            "start": "2014-06-05T03:00:12.000Z",
            "stop": "2014-06-05T03:00:29.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          },
          {
            "entityType": "OTHER",
            "displayName": "Rangers",
            "start": "2014-06-05T03:00:29.000Z",
            "stop": "2014-06-05T03:00:36.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          }
        ]
      },
      {
        "id": "us-espnhd-20140605025959",
        "start": "2014-06-05T02:59:59.000Z",
        "stop": "2014-06-05T03:00:02.000Z",
        "type": "ADVERT",
        "entities": [
          {
            "entityType": "ADVERT",
            "displayName": "ADVERT",
            "start": "2014-06-05T02:59:59.000Z",
            "stop": "2014-06-05T03:00:02.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  }
]

Get Latest Flat Tags

Gets the most recent flat tags for a specified channel. Tags are not nested.

Parameters
name type required default
channels string[] true
channelType string true boxfish
date datetime Now
limit int 2
Example
var
    channels = [""],
    channelType = "boxfish",
    date = new Date({some-date}),
    limit = 2;

boxfish.get_tags_flat_latest( channels, channelType, date, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "segments": [
      {
        "id": "us-cnnhd-20140605025924",
        "start": "2014-06-05T02:59:24.000Z",
        "stop": "2014-06-05T03:00:39.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "PERSON",
            "displayName": "Hillary Clinton",
            "start": "2014-06-05T02:59:32.000Z",
            "stop": "2014-06-05T02:59:50.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "segments": [
      {
        "id": "us-espnhd-20140605030002",
        "start": "2014-06-05T03:00:02.000Z",
        "stop": "2014-06-05T03:00:40.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "QUOTED",
            "displayName": "Sportscenter",
            "start": "2014-06-05T03:00:12.000Z",
            "stop": "2014-06-05T03:00:29.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          },
          {
            "entityType": "OTHER",
            "displayName": "Rangers",
            "start": "2014-06-05T03:00:29.000Z",
            "stop": "2014-06-05T03:00:36.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          }
        ]
      },
      {
        "id": "us-espnhd-20140605025959",
        "start": "2014-06-05T02:59:59.000Z",
        "stop": "2014-06-05T03:00:02.000Z",
        "type": "ADVERT",
        "entities": [
          {
            "entityType": "ADVERT",
            "displayName": "ADVERT",
            "start": "2014-06-05T02:59:59.000Z",
            "stop": "2014-06-05T03:00:02.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  }
]

Get Flat Tags By Program

Gets tags for a specified program start time and channel. Tags are not nested.

Parameters
name type required default
channels string[] true
channelType string true boxfish
date datetime Now
Example
var
    channels = [""],
    channelType = "boxfish",
    date = new Date({some-date});

boxfish.get_tags_flat_program( channels, channelType, date)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "program": [
      {
        "id": "us-cnnhd-20140605010000",
        "segments": [
          {
            "id": "us-cnnhd-20140605011938",
            "start": "2014-06-05T01:19:38.000Z",
            "stop": "2014-06-05T01:25:43.000Z",
            "type": "CONTENT",
            "entities": [
              {
                "entityType": "PERSON",
                "displayName": "Bowe Bergdahl",
                "start": "2014-06-05T01:19:38.000Z",
                "stop": "2014-06-05T01:25:34.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              },
              {
                "entityType": "LOCATION",
                "displayName": "Idaho",
                "start": "2014-06-05T01:25:39.000Z",
                "stop": "2014-06-05T01:25:43.000Z",
                "isSingleMention": true,
                "nestedOccurrences": null
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "program": [
      {
        "id": "us-espnhd-20140605010000",
        "segments": [
          {
            "id": "us-espnhd-20140605010111",
            "start": "2014-06-05T01:01:11.000Z",
            "stop": "2014-06-05T01:02:46.000Z",
            "type": "ADVERT",
            "entities": [
              {
                "entityType": "ADVERT",
                "displayName": "ADVERT",
                "start": "2014-06-05T01:01:11.000Z",
                "stop": "2014-06-05T01:02:46.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              }
            ]
          },
          {
            "id": "us-espnhd-20140605010246",
            "start": "2014-06-05T01:02:46.000Z",
            "stop": "2014-06-05T01:16:28.000Z",
            "type": "CONTENT",
            "entities": [
              {
                "entityType": "OTHER",
                "displayName": "Bullpen",
                "start": "2014-06-05T01:03:05.000Z",
                "stop": "2014-06-05T01:07:47.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              },
              {
                "entityType": "OTHER",
                "displayName": "Kyle Blanks",
                "start": "2014-06-05T01:04:27.000Z",
                "stop": "2014-06-05T01:12:45.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              },
              {
                "entityType": "PERSON",
                "displayName": "Norris",
                "start": "2014-06-05T01:06:11.000Z",
                "stop": "2014-06-05T01:15:42.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              },
              {
                "entityType": "OTHER",
                "displayName": "Infield",
                "start": "2014-06-05T01:13:32.000Z",
                "stop": "2014-06-05T01:16:01.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              },
              {
                "entityType": "OTHER",
                "displayName": "Home Runs",
                "start": "2014-06-05T01:15:59.000Z",
                "stop": "2014-06-05T01:16:13.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              }
            ]
          }
        ]
      }
    ]
  }
]

Nested Tags

The /tags/nested/ endpoint provides nested tags, our most information rich topic response format.
 
Nested tags provide a windowed view of content, representing broad conversation topics over time and the sub-topic discussions within these segments. These are presented for developers who require a more granular view of the topic data and who are willing to invest in the more complex processing associated with the more complex data.

Nested Tags By Channel

Gets tags for a specified channel for a specified length. Tags can be nested to an unlimited depth.

Parameters
name type required default
channels string[] true
channelType string true boxfish
start datetime Now minus 1 Hour
stop datetime Now (If a start time given, 1 hour from start time)
Example
var
    channels = [""],
    channelType = "boxfish",
    start = new Date({some-date}),
    stop = new Date({some-date});

boxfish.get_tag_nested_channel( channels, channelType, start, stop)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "segments": [
      {
        "id": "us-cnnhd-20140605025924",
        "start": "2014-06-05T02:59:24.000Z",
        "stop": "2014-06-05T03:00:39.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "PERSON",
            "displayName": "Hillary Clinton",
            "start": "2014-06-05T02:59:32.000Z",
            "stop": "2014-06-05T02:59:50.000Z",
            "isSingleMention": false,
            "nestedOccurrences": [
              {
                "entityType": "PERSON",
                "displayName": "Vladimir Putin",
                "start": "2014-06-05T02:59:32.000Z",
                "stop": "2014-06-05T02:59:32.000Z",
                "isSingleMention": true,
                "nestedOccurrences": null
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "segments": [
      {
        "id": "us-espnhd-20140605030002",
        "start": "2014-06-05T03:00:02.000Z",
        "stop": "2014-06-05T03:00:40.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "QUOTED",
            "displayName": "Sportscenter",
            "start": "2014-06-05T03:00:12.000Z",
            "stop": "2014-06-05T03:00:29.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          },
          {
            "entityType": "OTHER",
            "displayName": "Rangers",
            "start": "2014-06-05T03:00:29.000Z",
            "stop": "2014-06-05T03:00:36.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          }
        ]
      },
      {
        "id": "us-espnhd-20140605025959",
        "start": "2014-06-05T02:59:59.000Z",
        "stop": "2014-06-05T03:00:02.000Z",
        "type": "ADVERT",
        "entities": [
          {
            "entityType": "ADVERT",
            "displayName": "ADVERT",
            "start": "2014-06-05T02:59:59.000Z",
            "stop": "2014-06-05T03:00:02.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  }
]

Latest Nested Tags

Gets the most recent tags for a specified channel. Tags can be nested to an unlimited depth.

Parameters
name type required default
channels string[] true
channelType string true boxfish
date datetime Now
limit int 2
Example
var
    channels = [""],
    channelType = "boxfish",
    date = new Date({some-date}),
    limit = 2;

boxfish.get_tag_nested_latest( channels, channelType, date, limit)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "segments": [
      {
        "id": "us-cnnhd-20140605025924",
        "start": "2014-06-05T02:59:24.000Z",
        "stop": "2014-06-05T03:00:39.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "PERSON",
            "displayName": "Hillary Clinton",
            "start": "2014-06-05T02:59:32.000Z",
            "stop": "2014-06-05T02:59:50.000Z",
            "isSingleMention": false,
            "nestedOccurrences": [
              {
                "entityType": "PERSON",
                "displayName": "Vladimir Putin",
                "start": "2014-06-05T02:59:32.000Z",
                "stop": "2014-06-05T02:59:32.000Z",
                "isSingleMention": true,
                "nestedOccurrences": null
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "segments": [
      {
        "id": "us-espnhd-20140605030002",
        "start": "2014-06-05T03:00:02.000Z",
        "stop": "2014-06-05T03:00:40.000Z",
        "type": "CONTENT",
        "entities": [
          {
            "entityType": "QUOTED",
            "displayName": "Sportscenter",
            "start": "2014-06-05T03:00:12.000Z",
            "stop": "2014-06-05T03:00:29.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          },
          {
            "entityType": "OTHER",
            "displayName": "Rangers",
            "start": "2014-06-05T03:00:29.000Z",
            "stop": "2014-06-05T03:00:36.000Z",
            "isSingleMention": true,
            "nestedOccurrences": null
          }
        ]
      },
      {
        "id": "us-espnhd-20140605025959",
        "start": "2014-06-05T02:59:59.000Z",
        "stop": "2014-06-05T03:00:02.000Z",
        "type": "ADVERT",
        "entities": [
          {
            "entityType": "ADVERT",
            "displayName": "ADVERT",
            "start": "2014-06-05T02:59:59.000Z",
            "stop": "2014-06-05T03:00:02.000Z",
            "isSingleMention": false,
            "nestedOccurrences": null
          }
        ]
      }
    ]
  }
]

Nested Tags By Program

Gets tags for a specified program start time and channel. Tags can be nested to an unlimited depth.

Parameters
name type required default
channels string[] true
channelType string true boxfish
date datetime Now
Example
var
    channels = [""],
    channelType = "boxfish",
    date = new Date({some-date});

boxfish.get_tag_nested_program( channels, channelType, date)
    .then(function(result) {
        // do stuff
    });
Outuput Sample
[
  {
    "channel": "us-cnnhd",
    "program": [
      {
        "id": "us-cnnhd-20140605010000",
        "segments": [
          {
            "id": "us-cnnhd-20140605011938",
            "start": "2014-06-05T01:19:38.000Z",
            "stop": "2014-06-05T01:25:43.000Z",
            "type": "CONTENT",
            "entities": [
              {
                "entityType": "PERSON",
                "displayName": "Bowe Bergdahl",
                "start": "2014-06-05T01:19:38.000Z",
                "stop": "2014-06-05T01:25:34.000Z",
                "isSingleMention": false,
                "nestedOccurrences": [
                  {
                    "entityType": "OTHER",
                    "displayName": "Deserter",
                    "start": "2014-06-05T01:19:38.000Z",
                    "stop": "2014-06-05T01:19:47.000Z",
                    "isSingleMention": true,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Soldier",
                        "start": "2014-06-05T01:19:38.000Z",
                        "stop": "2014-06-05T01:19:47.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  },
                  {
                    "entityType": "LOCATION",
                    "displayName": "American",
                    "start": "2014-06-05T01:19:51.000Z",
                    "stop": "2014-06-05T01:23:15.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Fellow Soldiers",
                        "start": "2014-06-05T01:19:59.000Z",
                        "stop": "2014-06-05T01:22:50.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Soldier",
                            "start": "2014-06-05T01:20:56.000Z",
                            "stop": "2014-06-05T01:20:59.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Taliban",
                            "start": "2014-06-05T01:21:26.000Z",
                            "stop": "2014-06-05T01:21:33.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": [
                              {
                                "entityType": "OTHER",
                                "displayName": "Wikileaks",
                                "start": "2014-06-05T01:21:26.000Z",
                                "stop": "2014-06-05T01:21:33.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              }
                            ]
                          },
                          {
                            "entityType": "LOCATION",
                            "displayName": "Afghanistan",
                            "start": "2014-06-05T01:21:36.000Z",
                            "stop": "2014-06-05T01:21:38.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "PERSON",
                            "displayName": "Sergeant Bergdahl",
                            "start": "2014-06-05T01:22:16.000Z",
                            "stop": "2014-06-05T01:22:20.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "PERSON",
                            "displayName": "Pamela Brown",
                            "start": "2014-06-05T01:22:23.000Z",
                            "stop": "2014-06-05T01:22:23.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Province",
                    "start": "2014-06-05T01:20:35.000Z",
                    "stop": "2014-06-05T01:23:43.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Troops",
                        "start": "2014-06-05T01:23:05.000Z",
                        "stop": "2014-06-05T01:23:06.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      },
                      {
                        "entityType": "OTHER",
                        "displayName": "Attacks",
                        "start": "2014-06-05T01:23:23.000Z",
                        "stop": "2014-06-05T01:23:43.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Military",
                    "start": "2014-06-05T01:20:48.000Z",
                    "stop": "2014-06-05T01:25:12.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Captivity",
                        "start": "2014-06-05T01:25:01.000Z",
                        "stop": "2014-06-05T01:25:12.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Captive",
                    "start": "2014-06-05T01:25:18.000Z",
                    "stop": "2014-06-05T01:25:23.000Z",
                    "isSingleMention": true,
                    "nestedOccurrences": [
                      {
                        "entityType": "LOCATION",
                        "displayName": "Middle East",
                        "start": "2014-06-05T01:25:18.000Z",
                        "stop": "2014-06-05T01:25:23.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  }
                ]
              },
              {
                "entityType": "LOCATION",
                "displayName": "Idaho",
                "start": "2014-06-05T01:25:39.000Z",
                "stop": "2014-06-05T01:25:43.000Z",
                "isSingleMention": true,
                "nestedOccurrences": null
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "channel": "us-espnhd",
    "program": [
      {
        "id": "us-espnhd-20140605010000",
        "segments": [
          {
            "id": "us-espnhd-20140605010111",
            "start": "2014-06-05T01:01:11.000Z",
            "stop": "2014-06-05T01:02:46.000Z",
            "type": "ADVERT",
            "entities": [
              {
                "entityType": "ADVERT",
                "displayName": "ADVERT",
                "start": "2014-06-05T01:01:11.000Z",
                "stop": "2014-06-05T01:02:46.000Z",
                "isSingleMention": false,
                "nestedOccurrences": null
              }
            ]
          },
          {
            "id": "us-espnhd-20140605010246",
            "start": "2014-06-05T01:02:46.000Z",
            "stop": "2014-06-05T01:16:28.000Z",
            "type": "CONTENT",
            "entities": [
              {
                "entityType": "OTHER",
                "displayName": "Bullpen",
                "start": "2014-06-05T01:03:05.000Z",
                "stop": "2014-06-05T01:07:47.000Z",
                "isSingleMention": false,
                "nestedOccurrences": [
                  {
                    "entityType": "PERSON",
                    "displayName": "Brandon Moss",
                    "start": "2014-06-05T01:03:16.000Z",
                    "stop": "2014-06-05T01:06:12.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Left-handed",
                        "start": "2014-06-05T01:03:29.000Z",
                        "stop": "2014-06-05T01:03:44.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Batters",
                            "start": "2014-06-05T01:03:29.000Z",
                            "stop": "2014-06-05T01:03:30.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Lefties",
                            "start": "2014-06-05T01:03:32.000Z",
                            "stop": "2014-06-05T01:03:35.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Right-handed Hitters",
                            "start": "2014-06-05T01:03:38.000Z",
                            "stop": "2014-06-05T01:03:44.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      },
                      {
                        "entityType": "OTHER",
                        "displayName": "Base Hit",
                        "start": "2014-06-05T01:03:57.000Z",
                        "stop": "2014-06-05T01:04:27.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Center Field",
                            "start": "2014-06-05T01:03:57.000Z",
                            "stop": "2014-06-05T01:03:57.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "PERSON",
                            "displayName": "Derek Jeter",
                            "start": "2014-06-05T01:04:18.000Z",
                            "stop": "2014-06-05T01:04:27.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "entityType": "PERSON",
                    "displayName": "Joe Girardi",
                    "start": "2014-06-05T01:03:21.000Z",
                    "stop": "2014-06-05T01:07:33.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "PERSON",
                        "displayName": "Matt Thornton",
                        "start": "2014-06-05T01:03:32.000Z",
                        "stop": "2014-06-05T01:07:18.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Oakland",
                            "start": "2014-06-05T01:04:18.000Z",
                            "stop": "2014-06-05T01:06:48.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": [
                              {
                                "entityType": "QUOTED",
                                "displayName": "Yeah, I Pretty Much Know",
                                "start": "2014-06-05T01:04:54.000Z",
                                "stop": "2014-06-05T01:05:10.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              },
                              {
                                "entityType": "PERSON",
                                "displayName": "Tom Hallion",
                                "start": "2014-06-05T01:05:22.000Z",
                                "stop": "2014-06-05T01:05:22.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              },
                              {
                                "entityType": "OTHER",
                                "displayName": "Padres",
                                "start": "2014-06-05T01:05:52.000Z",
                                "stop": "2014-06-05T01:05:59.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              },
                              {
                                "entityType": "PERSON",
                                "displayName": "Jon",
                                "start": "2014-06-05T01:06:22.000Z",
                                "stop": "2014-06-05T01:06:27.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              },
                              {
                                "entityType": "OTHER",
                                "displayName": "Ninth",
                                "start": "2014-06-05T01:06:29.000Z",
                                "stop": "2014-06-05T01:06:31.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              },
                              {
                                "entityType": "OTHER",
                                "displayName": "Outs",
                                "start": "2014-06-05T01:06:32.000Z",
                                "stop": "2014-06-05T01:06:48.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Yankees",
                    "start": "2014-06-05T01:03:48.000Z",
                    "stop": "2014-06-05T01:07:47.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": null
                  }
                ]
              },
              {
                "entityType": "OTHER",
                "displayName": "Kyle Blanks",
                "start": "2014-06-05T01:04:27.000Z",
                "stop": "2014-06-05T01:12:45.000Z",
                "isSingleMention": false,
                "nestedOccurrences": [
                  {
                    "entityType": "OTHER",
                    "displayName": "National League",
                    "start": "2014-06-05T01:06:22.000Z",
                    "stop": "2014-06-05T01:09:47.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "PERSON",
                        "displayName": "Billy Beane",
                        "start": "2014-06-05T01:07:04.000Z",
                        "stop": "2014-06-05T01:07:18.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      },
                      {
                        "entityType": "OTHER",
                        "displayName": "Ballgame",
                        "start": "2014-06-05T01:07:35.000Z",
                        "stop": "2014-06-05T01:07:41.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      },
                      {
                        "entityType": "OTHER",
                        "displayName": "10th",
                        "start": "2014-06-05T01:07:44.000Z",
                        "stop": "2014-06-05T01:07:47.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": [
                          {
                            "entityType": "LOCATION",
                            "displayName": "American League",
                            "start": "2014-06-05T01:07:44.000Z",
                            "stop": "2014-06-05T01:07:47.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      },
                      {
                        "entityType": "PERSON",
                        "displayName": "Paul Nauert",
                        "start": "2014-06-05T01:08:22.000Z",
                        "stop": "2014-06-05T01:08:25.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Home Plate",
                            "start": "2014-06-05T01:08:22.000Z",
                            "stop": "2014-06-05T01:08:25.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Pitcher",
                    "start": "2014-06-05T01:06:29.000Z",
                    "stop": "2014-06-05T01:11:17.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "PERSON",
                        "displayName": "Bob Melvin",
                        "start": "2014-06-05T01:07:04.000Z",
                        "stop": "2014-06-05T01:11:09.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Majors",
                            "start": "2014-06-05T01:09:21.000Z",
                            "stop": "2014-06-05T01:10:31.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": [
                              {
                                "entityType": "OTHER",
                                "displayName": "Plate Appearances",
                                "start": "2014-06-05T01:10:25.000Z",
                                "stop": "2014-06-05T01:10:31.000Z",
                                "isSingleMention": true,
                                "nestedOccurrences": null
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "entityType": "PERSON",
                "displayName": "Norris",
                "start": "2014-06-05T01:06:11.000Z",
                "stop": "2014-06-05T01:15:42.000Z",
                "isSingleMention": false,
                "nestedOccurrences": [
                  {
                    "entityType": "OTHER",
                    "displayName": "Last At-bat",
                    "start": "2014-06-05T01:07:20.000Z",
                    "stop": "2014-06-05T01:13:07.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "PERSON",
                        "displayName": "Alberto Callaspo",
                        "start": "2014-06-05T01:07:22.000Z",
                        "stop": "2014-06-05T01:13:07.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Pitches",
                            "start": "2014-06-05T01:09:49.000Z",
                            "stop": "2014-06-05T01:11:20.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": [
                              {
                                "entityType": "LOCATION",
                                "displayName": "Chile",
                                "start": "2014-06-05T01:10:33.000Z",
                                "stop": "2014-06-05T01:11:09.000Z",
                                "isSingleMention": false,
                                "nestedOccurrences": null
                              }
                            ]
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Glove",
                            "start": "2014-06-05T01:11:22.000Z",
                            "stop": "2014-06-05T01:11:43.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "PERSON",
                            "displayName": "Gardner",
                            "start": "2014-06-05T01:11:47.000Z",
                            "stop": "2014-06-05T01:11:49.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Ballpark",
                            "start": "2014-06-05T01:12:07.000Z",
                            "stop": "2014-06-05T01:12:16.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "Double Play",
                            "start": "2014-06-05T01:12:31.000Z",
                            "stop": "2014-06-05T01:12:54.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": null
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "entityType": "PERSON",
                    "displayName": "Brandon Moss",
                    "start": "2014-06-05T01:12:37.000Z",
                    "stop": "2014-06-05T01:14:56.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Oakland",
                        "start": "2014-06-05T01:12:55.000Z",
                        "stop": "2014-06-05T01:14:47.000Z",
                        "isSingleMention": false,
                        "nestedOccurrences": [
                          {
                            "entityType": "OTHER",
                            "displayName": "Punto",
                            "start": "2014-06-05T01:13:01.000Z",
                            "stop": "2014-06-05T01:13:34.000Z",
                            "isSingleMention": false,
                            "nestedOccurrences": null
                          },
                          {
                            "entityType": "OTHER",
                            "displayName": "At-bats",
                            "start": "2014-06-05T01:14:35.000Z",
                            "stop": "2014-06-05T01:14:47.000Z",
                            "isSingleMention": true,
                            "nestedOccurrences": null
                          }
                        ]
                      },
                      {
                        "entityType": "PERSON",
                        "displayName": "Mike Gallego",
                        "start": "2014-06-05T01:14:50.000Z",
                        "stop": "2014-06-05T01:14:56.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  }
                ]
              },
              {
                "entityType": "OTHER",
                "displayName": "Infield",
                "start": "2014-06-05T01:13:32.000Z",
                "stop": "2014-06-05T01:16:01.000Z",
                "isSingleMention": false,
                "nestedOccurrences": [
                  {
                    "entityType": "OTHER",
                    "displayName": "Strikes",
                    "start": "2014-06-05T01:14:57.000Z",
                    "stop": "2014-06-05T01:15:03.000Z",
                    "isSingleMention": true,
                    "nestedOccurrences": null
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "First Base",
                    "start": "2014-06-05T01:15:11.000Z",
                    "stop": "2014-06-05T01:15:29.000Z",
                    "isSingleMention": true,
                    "nestedOccurrences": [
                      {
                        "entityType": "OTHER",
                        "displayName": "Third Base",
                        "start": "2014-06-05T01:15:11.000Z",
                        "stop": "2014-06-05T01:15:29.000Z",
                        "isSingleMention": true,
                        "nestedOccurrences": null
                      }
                    ]
                  },
                  {
                    "entityType": "OTHER",
                    "displayName": "Yankees",
                    "start": "2014-06-05T01:15:31.000Z",
                    "stop": "2014-06-05T01:16:01.000Z",
                    "isSingleMention": false,
                    "nestedOccurrences": [
                      {
                        "entityType": "PERSON",
                        "displayName": "Derek Jeter",
                        "start": "2014-06-05T01:15:31.000Z",
                        "stop": "2014-06-05T01:15:40.000Z",