The TV Guide feed provides details of broadcasts for sporting events.
In order to track changes to broadcasts as they occur, you should use the updates feed, which is described below.
The updates feed contains links to the broadcasts feed, which is where you'll find all the available information relevant to a particular broadcast.
Data is provided in XML format and delivered via HTTP. Clients consume the feed by making HTTP GET requests to Abelson Info's server.
Wherever a time value is provided - for example an event's start time, or the time at which an event was last update - it will be given in ISO 8601 format.
The IDs for broadcasts, events, competitions, sports and regions are unique throughout the system for the given entity type.
Access to the feed is restricted by token, which will be assigned to you by Abelson Info. Please contact engineering@abelsoninfo.com to arrange for this.
URL Format | Description |
---|---|
http://feed.tvguide.abelsoninfo.com/v2/TOKEN/updates.xml
|
Lists broadcasts that have been recently updated, regardless of which region they are shown in. |
http://feed.tvguide.abelsoninfo.com/v2/TOKEN/updates/REGION-CODE.xml
|
Lists broadcasts that have been recently updated and will be shown in a given region. As an example, to request updates to UK broadcasts, you would use the URL: |
http://feed.tvguide.abelsoninfo.com/v2/TOKEN/broadcast/BROADCAST-ID.xml
|
Provides information for a particular broadcast. An example URL might be: |
http://feed.tvguide.abelsoninfo.com/v2/TOKEN/REGION-CODE/channels.xml
|
Provides a list of channels belonging to a particular region. An example URL might be: |
http://feed.tvguide.abelsoninfo.com/v2/TOKEN/schedule_as_broadcasts/YYYY-MM-DD
|
List all the broadcasts for the given date in order. Includes deleted broadcasts. An example URL might be: |
The regions currently supported by the TV Guide feed are:
Name | Region code |
---|---|
Australia | aus |
Czech Republic | czk |
Qatar | qat |
Singapore | sg |
Canada | can |
UK | uk |
Ireland | irl |
Bulgaria | bgr |
Denmark | dnk |
Finland | fin |
France | fra |
Germany | deu |
Greece | grc |
Italy | ita |
Norway | nor |
Poland | pol |
Portugal | prt |
Russia | rus |
Spain | esp |
Sweden | swe |
Turkey | tur |
Luxembourg | lux |
Lithuania | lit |
Netherlands | net |
Slovakia | slovak |
Switzerland | swit |
Iceland | ice |
Austria | deutsch |
Hungary | magyar |
Romania | romana |
Slovenia | slovenski |
Serbia | srpski |
Japan | 日本語 |
South Africa | english-rsa |
UK Bookmaker Streams | uk |
Brazil | prt |
USA | us |
Mexico | mx |
Belgium | bel |
Estonia | est |
Cyprus | cyp |
Livescore Ireland Streams | irlls |
USA OF | usof |
Germany MP | deu |
Unibet Streams | uniuk |
UK Fanzo | uk |
USA Fanzo | usfz |
The updates feed lists broadcasts which have been created, updated or deleted or have had their parent event updated or deleted, in chronological order. This means a broadcast will appear in the feed if, for example, the name of the event has changed even though the broadcast data (start and end times) has not changed. It excludes broadcasts that took place in the past.
You can poll the updates feeds at a regular interval, to ensure that the latency between an update occurring, and it being detected by your client application, is minimal. By using the updates feed you will also eliminate the overhead of requesting and parsing data unnecessarily, because your application will only request data when a change has occurred.
When using the updates feeds, you need to provide a since query parameter to specify the point from which you would like to view changes.
The since parameter should be in ISO 8601 format. This is the same format used by the updated_at attribute of each update element within the updates feed.
Only a limited number of records are returned for each request made, so your application will need to be able to page through the feed using the since parameter. To do this, follow these steps:
Please note: It's important that you don't omit the fractional seconds component of the since value. This ensures that your application will not attempt to continually page through the same data should a large number of updates be made within a short period of time.
<?xml version="1.0" encoding="UTF-8"?> <broadcast-updates generated_at="2010-05-20T11:48:42.969179Z"> <broadcast type="update" updated_at="2010-05-17T10:09:37.155739Z" href="/v2/TOKEN/broadcast/123060.xml"/> <broadcast type="update" updated_at="2010-05-17T10:09:53.253653Z" href="/v2/TOKEN/broadcast/123062.xml"/> <broadcast type="update" updated_at="2010-05-17T10:35:55.678559Z" href="/v2/TOKEN/broadcast/123114.xml"/> <broadcast type="delete" updated_at="2010-05-17T10:49:13.947337Z" href="/v2/TOKEN/broadcast/123145.xml"/> <broadcast type="update" updated_at="2010-05-17T10:52:46.195929Z" href="/v2/TOKEN/broadcast/123158.xml"/> </broadcast-updates>
Please note: Several elements (event
, competition
, sport
and competitor
) have a uid
attribute. This attribute is the unique id for the event, sport etc across all Abelson Info systems. Not just within the TV Guide feed. The value can be blank.
Element | Xpath selector | Description | Attributes |
---|---|---|---|
<broadcast> |
/broadcast |
Root element. |
|
<channel> |
/broadcast/channel |
The channel that the broadcast will be shown on. This element will only occur once. |
|
<name> |
/broadcast/channel/name |
The name of the channel that the broadcast will be shown on. This element will only occur once. | |
<regions> |
/broadcast/channel/regions |
Parent element for the list of regions the channel is broadcast in. | |
<region> |
/broadcast/channel/regions/region |
A region the channel is broadcast in. This element can occur multiple times. |
|
<start_time> |
/broadcast/start_time |
The time the broadcast is scheduled to start. | |
<end_time> |
/broadcast/end_time |
The time the broadcast is scheduled to end. | |
<event> |
/broadcast/event |
The event that will be shown in the broadcast. This element will appear only once. |
|
<name> |
/broadcast/event/name |
The name of the event. | |
<competition> |
/broadcast/event/competition |
The name of the competition the event is part of. |
|
<sport> |
/broadcast/event/sport |
The name of the sport the event is part of. |
|
<start_time> |
/broadcast/event/start_time |
The time the event is scheduled to start. It may or may not coincide with the broadcast start time. | |
<end_time> |
/broadcast/event/end_time |
The time the event is scheduled to end. It may or may not coincide with the broadcast end time. | |
<competitors> |
/broadcast/event/competitors |
The list of competitors in this event. This element is optional and will only appear if there are competitors available. Competitors are not necessarily available at event creation, they may become available at some later point. | |
<competitor> |
/broadcast/event/competitors/competitor |
A competitor in this event. This element can occur multiple times. |
|
<?xml version="1.0" encoding="UTF-8"?> <broadcast type="update" id="200978" updated_at="2011-02-16T11:22:50.492892Z"> <channel id="191"> <name>ESPN America</name> <regions> <region id="8">UK</region> </regions> </channel> <start_time>2011-02-17T00:00:00.0Z</start_time> <end_time>2011-02-17T02:30:00.0Z</end_time> <event type="update" uid="basketball/event/78236" id="63798" updated_at="2011-02-16T11:22:50.625802Z"> <name>Duke Blue Devils at Virginia Cavaliers</name> <competition uid="basketball/competition/71" id="15">NCAAB</competition> <sport uid="basketball" id="4">Basketball</sport> <start_time>2011-02-17T00:00:00.0Z</start_time> <end_time>2011-02-17T02:30:00.0Z</end_time> <competitors> <competitor name="Duke Blue Devils" uid="basketball/team/5425"/> <competitor name="Virginia Cavaliers" uid="basketball/team/6715"/> </competitors> </event> </broadcast>
Element | Xpath selector | Description | Attributes |
---|---|---|---|
<region> |
/region |
Root element. |
|
<channel> |
/region/channels/channel |
A channel within the region. |
|
The schedule as broadcasts feed lists all the broadcasts on the given day that the user has access to. Broadcasts that start before the given date but are running during the date given are included. As are broadcasts that start on the given date but run into the next. This means calls to the schedule for subsequent days can include the same broadcast.
Please note: Deleted broadcasts are included.
The XML is identical to the broadcast XML above, just held between a broadcasts
element
<?xml version="1.0" encoding="UTF-8"?> <broadcasts> <broadcast type="update" updated_at="2015-07-14T17:07:15.342236+01:00" id="909235"> <channel id="6"> <name>ATR</name> <regions> <region id="2">Ireland</region> <region id="7">United Kingdom</region> <region id="35">United Kingdom</region> <region id="8">UK</region> <region id="10">Ireland</region> </regions> </channel> <start_time>2015-07-14T21:15:00.0+01:00</start_time> <end_time>2015-07-15T01:15:00.0+01:00</end_time> <event type="update" updated_at="2015-07-14T17:07:15.342236+01:00" uid="" id="269921"> <name>Fort Erie </name> <competition uid="" id="80">US Racing</competition> <sport uid="" id="13">Horse Racing</sport> <start_time>2015-07-14T21:15:00.0+01:00</start_time> <end_time>2015-07-15T01:15:00.0+01:00</end_time> </event> </broadcast> <!-- more broadcasts --> </broadcasts>