Audioburst Web API V2
2.4 Get Related Bursts by given burst
Get a playlist of related bursts.
Provide an Audioburst burst ID to receive related audio content. Following analysis, related bursts will be returned as a playlist.
Try itRequest URL
Request parameters
string
Burst id by which to return top stories by.
(optional)
string
Filter result by specific category.
Optional values are taken from the Get Supported Categories API.
(optional)
string
Filter content by source type parameter. Default parameter is MIX.
Optional values are taken from the Get Supported Source Types API.
Request headers
Request body
Response 200
On success, the response body contains a Response object.
Response:
Key | Value Type | Value Description |
---|---|---|
type | String | Type of returned response or response message: “playlist”, “single”, “message” |
queryId | Long | The query id that was made for this response |
query | String | The query that was made for this response |
actualQuery | String | The query that was used for searching |
bursts | Array of bursts | List of bursts that composes the response |
imageURL | String | Url for an image corresponding to the query |
nextPage | String | Url to get the next page of the query |
Burst:
Key | Value Type | Value Description |
---|---|---|
index | Short | index of burst in the array |
burstId | String | Burst id |
creationDate | DateTime | Burst creation date in epoch |
creationDateISO | DateTime | Burst creation date in iso8601 |
title | String | The burst title |
quote | String | A significant quote from the burst text |
score | Float | A score between 0-10 marking match level of the burst to the query |
text | String | Burst transcript text |
duration | Float | Burst length in seconds |
category | String | List of categories burst is classified for |
keywords | Array of Strings | List of keywords in the burst |
entities | Array of Strings | List of entities in the burst |
source | Source object | Burst source information |
contentURLs | contentURLs object | URLs of burst |
debugTrace | DebugTrace object | Debug data |
transcript | object | null |
Source Object:
Key | Value Type | Value Description |
---|---|---|
sourceId | Short | Id of burst source |
sourceName | String | Source name |
sourceType | String | Source Type: Radio or Podcast |
showID | String | Show id of burst |
showName | String | Show name of the burst |
position | Float | Burst start time in source |
audioURL | String | source audio file url |
imageURL | String | Url for an image corresponding to the source |
titleSource | String | Url of page title was taken from |
location | Location object | Geolocation of to the source |
episodeName | String | Name of episode burst was taken from |
contentURLs:
Key | Value Type | Value Description |
---|---|---|
burstURL | String | Url to get more data on the burst |
audioURL | String | burst audio file url |
imageURL | Array of String | Array of Urls for an image corresponding to the burst |
searchSiteURL | String | Url of burst in AudioBurst search web site |
Location:
Key | Value Type | Value Description |
---|---|---|
type | String | Location type |
coordinates | float pair | location coordinates |
text | String | Name of location |
TranscriptItem:
Key | Value Type | Value Description |
---|---|---|
type | number | Type of item optional value (1=, 2=, 3=...) |
text | String | Text of item |
startTime | float | Start time of item inside burst |
duration | float | duration of item inside burst |
confidence | float | confidence of item transcription |
Example
{
"type": null,
"queryID": 0,
"query": null,
"actualQuery": null,
"bursts": [
{
"index": 0,
"burstId": "9ogM6B46XqeR",
"creationDate": "2017-11-21T09:38:13.897Z",
"creationDateISO": "2017-11-21T09:38:13.897Z",
"title": "Mexico City, Foreign Minister and Liu Qing discussed on 24 Hour News",
"quote": "A federal judge rules on sanctuary cities i'm jackie quinn with an ap news minute",
"score": 0,
"text": "Dot com a federal judge rules on sanctuary cities i'm jackie quinn with an ap news minute a federal judge dollars according to see the.",
"duration": 157.54000000000008,
"category": "US News",
"keywords": [
"quinn president trump",
"white house",
"lady melania trump",
"judge william orrick",
"federal judge rules",
"mexico city",
"new sort"
],
"entities": [
"Mexico City",
"Foreign Minister",
"Liu Qing",
"Bangladesh",
"Raiders",
"NFL",
"Analyst",
"William Orrick",
"Congress",
"Donald Trump",
"California",
"Ninety Six Million Dollars",
"Forty Seven Percent"
],
"source": {
"sourceId": 12494,
"sourceName": "AP News",
"sourceType": "Radio",
"showId": 43,
"showName": "24 Hour News",
"position": 645.93,
"audioURL": "https://storageaudiobursts.blob.core.windows.net/temp/12494_2017112104_t.mp3",
"imageURL": "https://sapi.audioburst.com/burst/stationimage/7db33242-908b-4055-aa35-9e3a54685419",
"titleSource": null,
"location": {
"type": "Point",
"coordinates": [
0,
0
],
"text": null
},
"episodeName": null
},
"contentURLs": {
"burstURL": "https://sapi.audioburst.com/v2/burst?burstId=9ogM6B46XqeR&appKey=58e9a502bf634610b033081935d39c85&device=web",
"audioURL": "https://sapi.audioburst.com/audio/repo/play/web/9ogM6B46XqeR.mp3?userId=&appName=58e9a502bf634610b033081935d39c85",
"imageURL": [
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_200x200.png",
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_600x315.png",
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_1200x630.png"
],
"searchSiteURL": "https://search.audioburst.com/burst/9ogM6B46XqeR/2017/11/21/Mexico-City-Foreign-Minister-Liu-Qing-discussed-24-Hour-News"
},
"DebugTrace": null,
"transcript": null
},
{
"index": 0,
"burstId": "9ogv58r2YGOA",
"creationDate": "2017-11-21T09:09:13.085Z",
"creationDateISO": "2017-11-21T09:09:13.085Z",
"title": "Roma Downey, Texas Mexico and Officer discussed on 24 Hour News",
"quote": "Ap radio news i'm jackie quinn neiman sued to block the merger of at t would time warner",
"score": 0,
"text": "Ap radio news i'm jackie quinn neiman sued to block the merger of at t would time warner our warren on opioids doctors are looking at all kinds.",
"duration": 142.92,
"category": "US News",
"keywords": [
"ap radio news",
"antitrust precedent ceo",
"time warner property",
"york president trump",
"roma downey",
"greenville county",
"sexual harassment"
],
"entities": [
"Roma Downey",
"Texas Mexico",
"Officer",
"Haiti",
"Donald Trump",
"York",
"White House",
"CNN",
"CEO",
"Randall Stevenson",
"Eighty Five Billion Dollar",
"Fifty Years"
],
"source": {
"sourceId": 12494,
"sourceName": "AP News",
"sourceType": "Radio",
"showId": 43,
"showName": "24 Hour News",
"position": 136.77,
"audioURL": "https://storageaudiobursts.blob.core.windows.net/temp/12494_2017112104_t.mp3",
"imageURL": "https://sapi.audioburst.com/burst/stationimage/fb1afae0-ed8f-4e1a-9e94-adbbcbb1e33c",
"titleSource": null,
"location": {
"type": "Point",
"coordinates": [
0,
0
],
"text": null
},
"episodeName": null
},
"contentURLs": {
"burstURL": "https://sapi.audioburst.com/v2/burst?burstId=9ogv58r2YGOA&appKey=58e9a502bf634610b033081935d39c85&device=web",
"audioURL": "https://sapi.audioburst.com/audio/repo/play/web/9ogv58r2YGOA.mp3?userId=&appName=58e9a502bf634610b033081935d39c85",
"imageURL": [
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_200x200.png",
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_600x315.png",
"https://storageaudiobursts.blob.core.windows.net/site/images/CategoryIcons/AB_API_US_01_1200x630.png"
],
"searchSiteURL": "https://search.audioburst.com/burst/9ogv58r2YGOA/2017/11/21/Roma-Downey-Texas-Mexico-Officer-discussed-24-Hour-News"
},
"DebugTrace": null,
"transcript": null
}
],
"message": null,
"imageURL": null,
"nextPage": null
}
Code samples
@ECHO OFF
curl -v -X GET "https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}?category={string}&sourceType={string}&userid={string}"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "{body}"
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");
// Request parameters
queryString["category"] = "{string}";
queryString["sourceType"] = "{string}";
queryString["userid"] = "{string}";
var uri = "https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}&" + queryString;
var response = await client.GetAsync(uri);
}
}
}
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample
{
public static void main(String[] args)
{
HttpClient httpclient = HttpClients.createDefault();
try
{
URIBuilder builder = new URIBuilder("https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}");
builder.setParameter("category", "{string}");
builder.setParameter("sourceType", "{string}");
builder.setParameter("userid", "{string}");
URI uri = builder.build();
HttpGet request = new HttpGet(uri);
request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");
// Request body
StringEntity reqEntity = new StringEntity("{body}");
request.setEntity(reqEntity);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null)
{
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
"category": "{string}",
"sourceType": "{string}",
"userid": "{string}",
};
$.ajax({
url: "https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}&" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
},
type: "GET",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* path = @"https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}";
NSArray* array = @[
// Request parameters
@"entities=true",
@"category={string}",
@"sourceType={string}",
@"userid={string}",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
// Request headers
[_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
// Request body
[_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if (nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if (nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';
$request = new Http_Request2('https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}');
$url = $request->getUrl();
$headers = array(
// Request headers
'Ocp-Apim-Subscription-Key' => '{subscription key}',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
'category' => '{string}',
'sourceType' => '{string}',
'userid' => '{string}',
);
$url->setQueryVariables($parameters);
$request->setMethod(HTTP_Request2::METHOD_GET);
// Request body
$request->setBody("{body}");
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
headers = {
# Request headers
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.urlencode({
# Request parameters
'category': '{string}',
'sourceType': '{string}',
'userid': '{string}',
})
try:
conn = httplib.HTTPSConnection('developersapi.audioburst.com')
conn.request("GET", "/v2/topstories/burst?burstId={burstId}&device={device}&%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.parse.urlencode({
# Request parameters
'category': '{string}',
'sourceType': '{string}',
'userid': '{string}',
})
try:
conn = http.client.HTTPSConnection('developersapi.audioburst.com')
conn.request("GET", "/v2/topstories/burst?burstId={burstId}&device={device}&%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://developersapi.audioburst.com/v2/topstories/burst?burstId={burstId}&device={device}')
query = URI.encode_www_form({
# Request parameters
'category' => '{string}',
'sourceType' => '{string}',
'userid' => '{string}'
})
if query.length > 0
if uri.query && uri.query.length > 0
uri.query += '&' + query
else
uri.query = query
end
end
request = Net::HTTP::Get.new(uri.request_uri)
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request body
request.body = "{body}"
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body