0.1.1 • Published 9 years ago

boxfishjs v0.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

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",