The best way to go would be xmltv.. for each channel you would have to lookup for sources (ie ScheduleDirect etc). Theres another program that could help you organize your EPG data and consolidate it on a single xml file, I use it for my SageTV PVR for some channels, heres a link for it (its ask...