O SAPO disponibiliza um Web Service com a programação de TV (incluindo actualmente todos os canais da oferta MEO).
Para consultar a lista de canais incluidos no sistema basta invocar o serviço em http://services.sapo.pt/EPG/GetChannelList.
A resposta será semelhante a:
<GetChannelListResponse xmlns="http://services.sapo.pt/Metadata/EPG">
<GetChannelListResult>
<Channel>
<Name>RTP1</Name>
<Sigla>RTP1</Sigla>
</Channel>
<Channel>
<Name>RTP2</Name>
<Sigla>RTP2</Sigla>
</Channel>
...
</GetChannelListResult>
</GetChannelListResponse>
Após termos a lista de canais podemos aceder à programação para um canal específico dentro de um intervalo temporal.
Para acedermos à programação do canal RTP2, por exemplo, usamos o serviço em http://services.sapo.pt/EPG/GetChannelByDateInterval.
O resultado será algo como:
<GetChannelByDateIntervalResponse xmlns="http://services.sapo.pt/Metadata/EPG">
<GetChannelByDateIntervalResult>
<Name>RTP2</Name>
<Sigla>RTP2</Sigla>
<Programs>
<Program>
<Id>1600303</Id>
<Title>Os Simpsons T17</Title>
<Description>Homer trabalha como inspector de segurança na fábrica nuclear local; Marge tenta manter a paz na família; Bart é um rapaz endiabrado de 10 anos; Lisa, com 8, é inteligente, toca saxofone e segue a dieta vegetariana; e a bebé Maggie manifesta as emoções sugando desesperadamente a chucha.</Description>
...
<StartTime>2009-03-08 20:00:00</StartTime>
<Duration>3600</Duration>
<EndTime>2009-03-08 21:00:00</EndTime>
</Program>
</Programs>
</GetChannelByDateIntervalResult>
</GetChannelByDateIntervalResponse>
Também podemos aceder a informação mais detalhada sobre um programa acedendo directamente ao mesmo (usando o identificador Id dentro de Program): http://services.sapo.pt/EPG/GetProgramById?programId=1600303.
A descrição do serviço e dos seus métodos encontra-se disponível em http://services.sapo.pt/Metadata/Service/EPG.