Sources

Source tracker

Guide sources being probed, built, carried, or ruled out. Grades run A (clean public JSON, long horizon) to F (the site forbids grabbing). Live rows show channels, channels with a logo, and the last day of listings in the published feed.

57 live ? 37 in progress ? 10 probing ? 33 blocked. Updated 2026-11-05 11:42 UTC.

RegionCategorySourceMethodGradeStatusChannelsLogosListings toNotes
UKSatellite / paySky UK
sky_uk
Sky Hawk JSON (public guide API)Alive367367/3672026-11-12London HD bouquet plus London TV, Sky Animation, Sky Showcase sub-bouquets; replaces WebGrab sky.com
UKOTA (Freeview)Freeview UK
freeview_gb
freeview.co.uk channel-list + tv-guide JSONA-live245245/2452026-11-12London plus 57 regional networks (regional ITV1/BBC named by region); no synopses in this API
UKOTA / paytvguide.co.ukHTMLFblockedrobots.txt references a search-only terms contract; not grabbed. Its 10 WebGrab channels move to Freeview, Sky, TVIreland and Pluto
UKListingsRadio Times / BT TVHTML / APIFblockedSites disallow grabbing
UKIPTVYouView / EE TVJSONCblockedNot built: BT disallows grabbing and Freeview + Sky already cover the lineup
UKSatellite (free)FreesatAPIEblockedPublic API returns 404
UKFASTLG Channels GBJSONEblockedAPI returns HTTP 500 for GB
UKFASTPlex UK
plex_gb
i.mjh.nz (mjh family)AliveSame pipeline as Plex US/CA
UKFASTPluto / Samsung / Rakuten UKexistingAliveAlready carried
AUOTA (all networks)ABC iview EPG
abcepg_au
cdn.iview.abc.net.au processed EPG JSONAlive277231/2772026-11-12ABC, SBS, Seven, Nine, Ten and regional affiliates in 10 market regions
AUIPTV / payFetch TV
fetch_au
fetchtv.com.au anonymous web guide JSONB+live332321/3322026-11-12Regional FTA and subscription channels; replaces WebGrab fetchtv.com.au
AUPayFoxtelwebepg JSONEblockedAkamai bot protection rejects requests
AUSport (pay)KayoAPIEblockedDirect API HTTP 403 (see Kayo Sports via i.mjh.nz)
AUOTA catch-up9Now / 10 / SBS / 7plusAPIsDblockedGeo-blocked, retired (HTTP 410) or HTML only; all networks covered by the ABC EPG feed
AUListingsyourtv.com.auHTMLFblockedGone (404) and robots.txt carries a no-AI/no-data notice
AUFASTPlex Australia
plex_au
i.mjh.nz (mjh family)Alive
NZSatellite / paySky NZ
sky_nz
api.skyone.co.nz GraphQL (public TV guide)Alive7070/702026-11-18About 10 days, 70 channels after removing exact duplicates of existing NZ feeds
NZOTAThreeNownow-api live EPGCblockedOnly about 24 hours for 15 channels, all already carried with a longer horizon
NZOTATVNZAPIEblockedHTTP 403 (geo)
NZOTAFreeview NZAPIDblockedAPI 404; already carried (28 days)
NZFASTPlex New Zealand
plex_nz
i.mjh.nz (mjh family)Alive
SGIPTV / payStarHub TV+
starhub_sg
metadata API JSONAlive111108/1112026-11-11Migrated off WebGrab
BRPayClaro TV+
claro_br
livechannels JSONAlive163163/1632026-11-11Migrated off WebGrab; honours crawl-delay 5
TRIPTVTV+ Turkey
tvplus_tr
guest PlayBillList JSONBlive1515/152026-11-12Migrated off WebGrab
IDSatelliteMNC Vision
mncvision_id
HTML schedule formB-live140/142026-11-11Migrated off WebGrab
TWIPTVHami Video
hami_tw
channel epg.do JSONBlive1212/122026-11-11Migrated off WebGrab
HKIPTV / payNow TV (nowplayer)
nowplayer_hk
epglist JSON + detailBlive1515/152026-11-11Migrated off WebGrab; ETTV Asia News has no listings upstream
AUSport (pay)Kayo Sports
kayo_au
i.mjh.nz (mjh family)BliveDirect API is 403; i.mjh.nz guide used, same pipeline as other mjh sources
AUPayFoxtel / Binge via i.mjh.nzi.mjh.nzDblockedUpstream files stopped updating on Oct 18, so not added
NZSport (pay)Sky Sport Now
skysportnow_nz
i.mjh.nz (mjh family)BliveStreaming schedule for Sky Sport channels
CASport (pay)NHL Center Ice (TELUS)
xmltv_live_ca_nhlci
xmltv.live XMLTVliveNew source. Ids NHLCenterIce1-16.telus, with aliases for TelusNHLCenterIceN.ca and iptv-org NHLCentreIceN.ca. CA2 pull times changed; DirecTV NHLCI ids excluded. Live 2026-10-31 13:14 UTC, synced 13:28 UTC. Open: member lineup switch to the .telus ids. Requested via the tvlogo/epg resource fetcher
MemberIPTV (Xtream)hyper-apex (member source 8)Xtream live-only ingestliveSynced manually 2026-10-31 12:35 UTC; live-only Xtream ingest live 13:14 UTC (the 344 MB full playlist was over the 8 MB cap). Push-time audit running; upstream sends no ETag/Last-Modified, so push-time suggestions will be learned
EventsEventsSymlink .eventsguide entriesliveSymlink .events guide entries live 2026-10-31 12:15 UTC
USFASTLG Channels US
lg_us
JSONliveFixed 2026-10-31: converter now escapes bare & (live after the 6:52 PM CDT restart) and the current lg.us file was repaired at 6:58 PM CDT; the shared epg.xml built at 7:04 PM CDT parses as XML again
AllPipelineSource push-time auditaudit storein progressUpstream URL parameters now redacted in the audit store (fix applied 13:39 UTC); learning push times
MemberMember sourceMember source 4in progressOpen: returned HTTP 404 at the 06:00 runs on 2026-10-30 and 2026-10-31 (upstream URL needs checking). Scheduler fix applied 2026-10-31 6:52 PM CDT: an earlier push no longer cancels the daily pull, missed minutes catch up and failures retry with backoff
CZGap-fillEPGShare Czechia gap-fill (CZ1)
epgshare_cz1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 385 channels we carry nowhere (no id overlap; our direct feeds stay primary); CZ1 also carries some HR/GB/IS-tagged feeds; applying is config-only, no restart
BEGap-fillEPGShare Belgium gap-fill (BE2)
epgshare_be2
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 436 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
CHGap-fillEPGShare Switzerland gap-fill (CH1)
epgshare_ch1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 444 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
TRGap-fillEPGShare Turkey gap-fill (TR1+TR3)
epgshare_tr1,epgshare_tr3
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 228 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
DKGap-fillEPGShare Denmark gap-fill (DK1)
epgshare_dk1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 116 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
SEGap-fillEPGShare Sweden gap-fill (SE1)
epgshare_se1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 50 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
NOGap-fillEPGShare Norway gap-fill (NO1)
epgshare_no1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 59 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
FIGap-fillEPGShare Finland gap-fill (FI1)
epgshare_fi1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 66 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
GRGap-fillEPGShare Greece gap-fill (GR1)
epgshare_gr1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 171 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
SKGap-fillEPGShare Slovakia gap-fill (SK1)
epgshare_sk1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 142 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
HUGap-fillEPGShare Hungary gap-fill (HU1)
epgshare_hu1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 144 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
IEGap-fillEPGShare Ireland gap-fill (IE1)
epgshare_ie1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 115 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
ITGap-fillEPGShare Italy gap-fill (IT1)
epgshare_it1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 44 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
ESGap-fillEPGShare Spain gap-fill (ES1)
epgshare_es1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 172 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
FRGap-fillEPGShare France gap-fill (FR1)
epgshare_fr1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 123 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
BRGap-fillEPGShare Brazil gap-fill (BR1+BR2)
epgshare_br1,epgshare_br2
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 186 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
IDGap-fillEPGShare Indonesia gap-fill (ID1)
epgshare_id1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 99 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
HKGap-fillEPGShare Hong Kong gap-fill (HK1)
epgshare_hk1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 103 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
MTGap-fillEPGShare Malta gap-fill (MT1)
epgshare_mt1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 62 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
ATGap-fillEPGShare Austria gap-fill (AT1)
epgshare_at1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 116 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
BAGap-fillEPGShare Bosnia and Herzegovina gap-fill (BA1)
epgshare_ba1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 127 channels we carry nowhere (no id overlap; our direct feeds stay primary); applying is config-only, no restart
UAGap-fillEPGShare Ukraine gap-fill (UA1)
epgshare_ua1
epgshare01 XMLTV, per-source channel filterin progressConfig applied 2026-10-31 4:54 PM CDT (no restart); first pull 04:50 UTC wave: 111 channels we carry nowhere (no id overlap; our direct feeds stay primary); UA-tagged feeds only (RU/EU/CIS feeds left out); applying is config-only, no restart
AllPipelineEPGShare DistroTV / DraftKings (dead)
epgshare_distrotv1,epgshare_draftkings1
epgshare01 XMLTVliveRemoved 2026-10-31 5:08 PM CDT (code patch + one restart); epgshare sources now honour the channel allowlist
AllPipelineAlias rules in member guidescode patch (member guide build)liveApplied 2026-10-31 6:46-6:52 PM CDT (one restart): member guide builds now apply alias rules; first rebuild gave listings to 286 rows that had none
AllPipelineMember guide refresh after shared buildsscheduled rebuild scriptin progressStaged 2026-10-31, not applied: script rebuilds stale member guides every 4 h within the daily rebuild quota; cron install pending
UKSatellite / payLegacy UK channel ids to Sky UK / Freeview / Virgin
sky_uk,freeview_gb
alias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 120 alias rules (115 on, 5 left off for review); in the shared epg.xml from the 6:50 PM CDT build
NZSport (pay)Sky Sport NZ legacy idsalias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 10 alias rules to the Sky Sport NZ ids that have listings
AllNewsLegacy news channel ids (incl. News 12)alias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 21 alias rules (19 on); News 12 zones already had listings under other ids; 9 channels still have no source
USIPTVRetired .us3 channel idsalias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 29 alias rules (27 on, 7 old rules retargeted); 14 channels still have no source with listings
UKPipelineRetired extras / freeview packsalias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 30 alias rules to live ids; packs stay retired; 12 channels still have no source
USFASTLocal Now legacy idsalias rulesliveApplied 2026-10-31 6:46-6:52 PM CDT: 20 alias rules to the same channels on other FAST sources; 16 still have no source
AllFASTSamsung TV Plus CA / US / GB
samsung_ca,samsung_us,samsung_gb
pull schedule 4x a dayliveApplied 2026-10-31 6:46 PM CDT: 4 pulls a day each (was 2), joined to existing waves; no restart needed
AUNewsSBS WorldWatchblockedNo listings: the only ids we have carry 0 programmes and no other source was found
AUNewsSky News AustraliablockedNo source with listings found; only Sky News Regional (a different channel)
MemberIPTVOrphaned member lineup streamsStudio re-matchblockedMost come from upstream stream-id changes in one member source and need a re-match in Studio; re-count after the next refresh of the large Xtream source
US/CAPipelinetvtv / Gracenote station guidestvtv lineup + Gracenote station idsblockedGap stations from member audit (TCM Canada, ABC Spark, TLN, CPAC French, Canal Savoir, OMNI 1/2, PokerGO); logged 2026-10-31; 2026-11-01 6:30 AM CDT: tvtv robots.txt disallows /api/ and /partial/ for all agents and blocks WebGrab+Plus and AI agents, so no tvtv scraping. Station ids reused via Schedules Direct (NnRaTn filler row)
AUSubscriptionFoxtelfoxtel.com.au / mjh Foxtel guideblockedfoxtel.com.au blocked; mjh Foxtel guide stale since 2026-10-18; need a working source
NZFree-to-airPRIME, TAB Trackside (nzxmltv candidate)nzxmltv XMLTVprobingTVNZ 403, Freeview NZ API 404; evaluate nzxmltv as a source
IEFree-to-airCúla4, TG4+1 gap-fillTBDprobingGap channels from member audit; logged 2026-10-31
USSports RSNABTV, Rangers SN, BravesVision, Detroit SportsNetepgshare us_sports1 team ids; fanduel1 West for ABTVBprobingNo channel guide; team ids are games-only
USSports RSNFanDuel Sports Network ids (epgshare fanduel1)epgshare XMLTVCprobingNetwork defunct Apr 2026; ids still publish filler; retire
USSports RSNDetroit SportsNet (extras id)extras XMLTVDin progressGuide stale since 2026-09-27; moving to team ids
USSportsNBCSN, Spectrum XCast 1/2/Multiview, DAZN 1 USATBDprobingNo guide in any connected source
USSports RSNHurricanes HN, Blue Jackets HN, Rock ESN, KSBI, WNPX, ClipperVisionTBDprobingGuide exists; no stream source found
USEntertainment / MoviesWest feeds: HBO/Showtime/Starz/Max subs, MGM+, E!, Oxygen, Lifetime, A&E, History, TCM, Food and othersTBDprobingNo Pacific guide in current sources; needs +3h shift or new upstream
USEntertainmentWest entries reusing East ids (30)epgshare us2 (Pacific) / us3 WEST idsAin progress8 have Pacific ids available; rest have none
USCWCW Plus (src8)source tvg-idin progressWrong tvg-id on source; staged fix
USSports RSNWild+, Blue Note+TBDprobingFDSN successor team networks; guide via team ids; no stream source
USSports OTAKSBI OKC, WNPX Nashville, WMOR Tampaepgshare us_locals1probingThunder/Predators/Rays OTA partners; guide live; no stream source
USSportsDAZN team feeds (9 NBA/NHL teams)TBDprobingLinear on DirecTV only; no source; streaming app not addable
USSports OTAWANF Atlanta, WUAB Cleveland, KSTC Minneapolisepgshare us_locals1Ain progressHawks/Cavs/Wild OTA partners; stream+guide; staged for SPORTS: US
GBFASTSamsung TV Plus GB (samsung_gb)direct pull 4x/dayBin progressGuide ran short: 3 pull slots dropped while another sync held the lock. Scheduler catch-up fix live 2026-11-01 4:13 AM CDT (slots queued, none dropped). Schedule applied 2026-11-01 5:28 AM CDT (no restart): gb slots unchanged; EU packs de/fr/it/at/ch/es spread 15 min apart from 08:30 and 20:30 UTC
USFASTLocal Now (localnow)direct pull every 2.5 hCin progressUpstream is a ~4-5 h rolling window. Scheduler catch-up fix live 2026-11-01 4:13 AM CDT. Schedule applied 2026-11-01 5:28 AM CDT (no restart): every 150 min from 00:30 UTC (10 a day, was 2)
AllMembersNnRaTn new IPTV playlistmember playlist applyliveApplied 2026-11-01 1:51 AM CDT: new IPTV (MYTV demo) playlist loaded for NnRaTn, 13,707 streams / 88 groups
AllMembersNnRaTn durable playlist mode + full guidecode patch (playlist-authoritative mode)liveApplied 2026-11-01 2:39 AM CDT (one restart): saved playlist is the source of truth for NnRaTn and the full guide is built from it
AllPipelineMember guide "$1" fixcode patch (resolve + xmlStream)liveApplied 2026-11-01 3:02 AM CDT (one restart): String.replace "$1" bug fixed; NnRaTn guide strict-parses, 10,125/10,126 + 46/46 event ids, 604,961 programmes
CAMusicStingray Hip-Hop/R&B (NnRaTn)playlist tvg-id fixliveFixed 2026-11-01 3:12 AM CDT: tvg-id held a literal & and is now R&B (saved via app, Dropbox copy in sync); guide 10,126/10,126 ids, no rebuild needed
AllPipelineCombined guide XML cleanup + scheduler wavescode patchliveApplied 2026-11-01 4:13 AM CDT (one restart): XML-illegal control characters stripped (shared epg.xml strict-parses again); scheduler now queues and coalesces pull slots, so none are dropped during a sync; guide-horizon alert added
AUKidsNickelodeon AU (6 city feeds)
fetch_au
Fetch TVin progressOpen 2026-11-01: 12 programmes (2 per city, dated 2026-10-27) have no title, which fails combined-structural validation; fix (fill or drop title-less programmes, or prune past ones) not applied
USFASTWatchYour.TV (watchyourtv)
watchyourtv
direct pull 3x/dayin progressUpstream serves one Eastern calendar day only (params ignored); guide was empty ~04:00-12:15 UTC daily. Schedule applied 2026-11-01 5:28 AM CDT (no restart): pulls at 04:10/05:10/12:15 UTC, right after the day rolls over; evening horizon < 6 h remains an upstream limit
CAFASTSamsung TV Plus CA (samsung_ca)
samsung_ca
direct pull every 3 hin progressUpstream (i.mjh.nz) only ~10-14 h ahead, refreshed every ~40 min. Schedule applied 2026-11-01 5:28 AM CDT (no restart): samsung_ca every 3 h from 00:15 UTC, samsung_us every 3 h from 01:45 UTC (was 4x/day each)
USFASTLG Channels US (lg_us)
lg_us
GitHub pull every 2 hin progressUpstream commits land ~02:45/11:15/16:20/20:40 UTC with a ~10 h window. Schedule applied 2026-11-01 5:28 AM CDT (no restart): every 2 h from 00:50 UTC (cheap 304s when unchanged)
US/CALicensedSchedules Direct + TV Media (via my.onoj.wtf guide checker)
guide-checker
private API on my.onoj.wtf (verdicts + station ids)in progress2026-11-01: Jon approved my.onoj.wtf building a private tvg-id and airing checker. SD lineups: Oklahoma City, Pittsburgh, US national satellite, CA national satellite; SD is personal/verification only, never republished. TV Media (free plan: 50 calls/month, 24 h) kept as BACKUP for public hole-filling; fill endpoint disabled until Jon signs up monthly or gets a referral deal.
US/CAMembersNnRaTn personal hole filler (Schedules Direct)
nnratn-filler
member-only XMLTV filler + optional feedBuild hook (staged)in progressStaged 2026-11-01 6:30 AM CDT, not live: NnRaTn has 5,662 of 10,170 ids with gaps (94% FAST/music short windows); 78 US/CA linear, 23 mapped to station ids; 2-3 days, 3 runs/day, cached, rate-limited; needs Jon's SD login file and approval (supplement path needs no restart, the hook needs one)
US/CAMembersNnRaTn guide auto rebuild after sync waves
member-guide-autorebuild
feedBuild rebuild hook in sync.js success path (worker process, debounced)liveInstalled 2026-11-01 8:26 PM CT with one restart (backup staged/member-guide-autorebuild-20261101/bak/20261102T012658Z); feedBuild.js later superseded by timeshift-fixes-20261103 (hooks kept). Auto rebuilds run after each changed scheduled wave in a worker process. Kill switch (no restart): "memberGuideAutoRebuild": false in data/sync-waves.json. Was: Staged 2026-11-01 7:30 AM CDT in /home/monster/staged/member-guide-autorebuild-20261101 (not live). Rebuilds playlist-mode guides (NnRaTn) after each changed scheduled sync; one at a time, one coalesced follow-up, >=10 min apart, pauses during syncs, no quota use, no Dropbox XML upload/push/webhooks on auto runs. Kill switch MEMBER_GUIDE_AUTOREBUILD=0 or memberGuideAutoRebuild:false in data/sync-waves.json. Conflicts with staged nnratn-tvtv-filler feedBuild patch.
CHIPTV / paySwisscom blue TV
swisscom_ch
blue TV public guide JSON (direct)Alive3250/3252026-11-15Switzerland and Liechtenstein; 326 channels, about 75.9k programmes, about 9-10 days ahead; full detail days 0-2, titles/images days 3-9; pulled 01:07 and 13:07 UTC; live since 2026-10-31
SROTADagblad Suriname OTA
sr_dbsuriname
dbsuriname.com WordPress REST API (daily listing post, direct)Clive60/62026-11-066 OTA channels (ABC 4.1/4.2, RBN 5.1, STVS 8.1, ATV 12.1/12.2); titles only, about 1 day ahead; from the newspaper's daily listing post via its public WordPress API; pulled 10:37 and 16:37 UTC; live since 2026-11-01
PEIPTV / payMovistar TV Peru
movistar_pe
Telefónica Hispam public CDN guide API (direct, anonymous)Alive1310/1312026-11-10131 channels, about 25k programmes, about 5 days ahead, most with descriptions; placeholder-only channels (Movistar Eventos, regional América/Panamericana feeds and others), HD twins of SD channels and adult channels (Playboy, Playboy HD, Venus) dropped; exact guide duplicates skipped; pulled 02:13 and 14:13 UTC; live since 2026-11-02
COIPTV / payMovistar TV Colombia
movistar_co
Telefónica Hispam public CDN guide API (direct, anonymous)Alive840/842026-11-1284 channels (RCN, Canal 1, Telepacífico, Teleantioquia, Telecafé, NTN24, Win Sports...), about 20k programmes, about 7 days ahead, with descriptions; "TEST" and HTV dropped; exact guide duplicates skipped; pulled 02:43 and 14:43 UTC; live since 2026-11-02
COOTAmi.tv Colombia
mitv_co
mi.tv public guide pages (co edition)Bblocked2727/272026-11-06[superseded: paused 2026-11-03, see next row] 27 channels (Señal Colombia, Canal Capital, Telecaribe, TRO, TR3CE, Telemedellín, Citytv...), about 3 days ahead; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 04:05 and 16:05 UTC; live since 2026-11-02
CLOTAmi.tv Chile
mitv_cl
mi.tv public guide pages (cl edition)Bblocked2929/292026-11-06[superseded: paused 2026-11-03, see next row] 29 channels (TVN, Mega, CHV, Canal 13, La Red, CNN Chile, TV Senado, regional), about 3 days ahead; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 04:20 and 16:20 UTC; live since 2026-11-02
HNOTAmi.tv Honduras
mitv_hn
mi.tv public guide pages (hn edition)Bblocked2121/212026-11-06[superseded: paused 2026-11-03, see next row] 21 channels, about 3 days ahead; Star Channel dropped; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 04:35 and 16:35 UTC; live since 2026-11-02
PEOTAmi.tv Peru
mitv_pe
mi.tv public guide pages (pe edition)Bblocked1515/152026-11-06[superseded: paused 2026-11-03, see next row] 15 national channels, about 3 days ahead (fallback to Movistar PE); mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 04:50 and 16:50 UTC; live since 2026-11-02
PYOTAmi.tv Paraguay
mitv_py
mi.tv public guide pages (py edition)Bblocked1313/132026-11-06[superseded: paused 2026-11-03, see next row] 13 channels, about 3 days ahead; America 24 (Argentine A24 feed) and AMÉRICA TELEVISION (Peru's América TV feed) dropped; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 05:05 and 17:05 UTC; live since 2026-11-02
SVOTAmi.tv El Salvador
mitv_sv
mi.tv public guide pages (sv edition)Bblocked1212/122026-11-06[superseded: paused 2026-11-03, see next row] 12 channels, about 3 days ahead; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 05:20 and 17:20 UTC; live since 2026-11-02
GTOTAmi.tv Guatemala
mitv_gt
mi.tv public guide pages (gt edition)Bblocked1111/112026-11-06[superseded: paused 2026-11-03, see next row] 11 channels, about 3 days ahead; mi.tv terms forbid robots/reuse (noted only, non-profit standing rule); pulled 05:35 and 17:35 UTC; live since 2026-11-02
PAOTAMedcom Panama (Telemetro, RPC TV)
medcom_pa
telemetro.com and rpctv.com /parrilla pages (direct, broadcaster)Clive20/22026-11-082 channels (Telemetro Canal 13, RPC TV Canal 4), titles only, about 3 days ahead; site terms forbid reproduction without permission (noted only, non-profit standing rule); pulled 11:25 and 23:25 UTC; live since 2026-11-02
RSIPTV / paymts TV Serbia (Telekom Srbija)
mts_rs
mts.rs public shop search API (channel programme, direct)Blive486486/4862026-11-09486 channels (Serbian national/regional, ex-YU and international pay lineup), about 58k programmes, about 4 days ahead, with descriptions; exact guide duplicates skipped; pulled 03:47 and 15:47 UTC; live since 2026-11-02
US/CAPipelineTimeshift fixes: CA2 West premium +1h, m3u4u East -1h
tzfix
per-channel offset correction (guarded by measured offset vs East reference)live149/140--Live 2026-11-03 2:44 AM CST (data only, no restart): Crave 1/2/3 West, HBO Canada West and Starz 1/2 West (epgshare CA2, 9 ids) were 1 h early and are now corrected +1h; m3u4u Cinemax East, MoviePlex East, TeenNick and Lifetime (4 ids) were 1 h late and are now corrected -1h. Each correction only applies while the measured offset is still wrong, so it switches itself off when upstream is fixed. Nightly read-only East/West check at 3:15 AM CST: 74 of 75 checked pairs OK after the fix (A&E m3u4u still 1 h late, not corrected yet)
BRIPTV / payVivo TV Brazil
vivo_br
Telefónica Hispam public CDN guide API (direct, anonymous)Alive2880/2882026-11-10287 channels (Globo, SBT, Record, Band, RedeTV! and many regional affiliates, pay channels), about 44k programmes, about 5 days ahead; ids .br.vivo; test/placeholder/app-tile channels (Premiere 2-9, Eventos 4K, Prime Video, Globoplay, TESTE...), adult Sexy Hot and same-name HD twins dropped; 105 exact guide duplicates skipped (mostly Claro BR); pulled 10:05 and 22:05 UTC; live since 2026-11-03
CLIPTV / payMovistar TV Chile
movistar_cl
Telefónica Hispam public CDN guide API (direct, anonymous)Alive560/562026-11-1253 channels, about 10k programmes, about 7 days ahead; test/placeholder channels, adult channels (Playboy HD, Sextreme, Venus) and same-schedule twins dropped; 66 exact guide duplicates skipped (pan-regional feeds already from Movistar CO/PE, mi.tv CL); pulled 09:05 and 21:05 UTC; live since 2026-11-03
ARIPTV / payMovistar TV Argentina
movistar_ar
Telefónica Hispam public CDN guide API (direct, anonymous)Alive660/662026-11-1265 channels (Telefe, El Trece, Canal 9, América TV, TV Pública, TN, C5N, A24, regional Mar del Plata, Bahía Blanca, Neuquén and Río Negro stations, pay channels), about 11k programmes, about 7 days ahead; placeholders, Canal de Test, adult channels and Interior twins dropped; 55 exact guide duplicates skipped; pulled 09:35 and 21:35 UTC; live since 2026-11-03
UYCableTCC Uruguay
tcc_uy
TCC public programming JSON API (tccvivo.com.uy, direct, no token)Alive7979/792026-11-1278 channels (Canal 4, 5, 10, La Tele, TV Ciudad, A+V, pay channels), about 16k programmes, about 7 days ahead; adult channels, TCC 1-3/Novedades/A3 Cine placeholders and the Deustche Welle twin dropped; 51 exact guide duplicates skipped (Argentine nationals via Movistar AR and others); pulled 00:20 and 12:20 UTC; live since 2026-11-03
UYIPTVVera / Antel TV Uruguay
vera_uy
Vera (ex Antel TV) web guide API with an anonymous visitor session (user-approved, no login)Blive1212/122026-11-1111 channels not otherwise in the guide (VTV, VTV Plus, VTV Fútbol 1/2, AntelTV Internacional 1, Canal 6 Durazno, T5 Satelital, ANPI TV, CGTN/DW/RT Español feeds), about 1.6k programmes, about 6 days ahead; ~43 lineup entries without guide data and Gran Hermano placeholders dropped; 5 exact duplicates of TCC/Movistar channels skipped; pulled 00:50 and 12:50 UTC; live since 2026-11-03
MXOTAmi.tv Mexico
mitv_mx
mi.tv public guide pages (mx edition)Bblocked5252/522026-11-05PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 52 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
COOTAmi.tv Colombia
mitv_co
mi.tv public guide pages (co edition)Bblocked2727/272026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 27 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
CLOTAmi.tv Chile
mitv_cl
mi.tv public guide pages (cl edition)Bblocked2929/292026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 29 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
HNOTAmi.tv Honduras
mitv_hn
mi.tv public guide pages (hn edition)Bblocked2121/212026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 21 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
PEOTAmi.tv Peru
mitv_pe
mi.tv public guide pages (pe edition)Bblocked1515/152026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 15 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
PYOTAmi.tv Paraguay
mitv_py
mi.tv public guide pages (py edition)Bblocked1313/132026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 13 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
SVOTAmi.tv El Salvador
mitv_sv
mi.tv public guide pages (sv edition)Bblocked1212/122026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 12 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
GTOTAmi.tv Guatemala
mitv_gt
mi.tv public guide pages (gt edition)Bblocked1111/112026-11-06PAUSED 2026-11-03: mi.tv robots.txt disallows /*async*, which this generator uses; cron commented out, source set inactive, sync schedule removed; 11 channels drop out at the next scheduled sync; no requests to mi.tv since the pause (approved by Jon)
AllPipelineWeb app hardening from the 2026-11-05 audit (7 fixes)
audit-fixes-20261105
code patch (installed, one restart)liveInstalled 2026-11-05 4:37 AM CT with one restart (09:37 UTC; backup staged/audit-fixes-20261105/bak/20261105T093715Z): safer settings-file writes, capped member URL fetches, pull limits on the xml/m3u short links (30 pulls per 5 min per IP, hourly account quota by tier), manual guide rebuilds in a worker process, leaner backups, build memory release, cleanup of interrupted builds; 49/49 unit tests; health 200; 390 MB of leftover temp files from killed builds removed
AfricaIPTV / payStarTimes Africa
startimes_af
StarTimes public country guide API (direct, no login)Alive6363/632026-11-1163 channels, 12712 programmes, 7 days; shared country editions merged; HD/SD twins collapsed; Al Jazeera and Baby TV exact guide duplicates skipped (954 programmes); 35 polite requests; live since 2026-11-05
IranIPTV / directIran International
iranintl_ir
Iran International public schedule (direct)Alive11/12026-11-111 channel, 175 programmes; continuous through Nov 6 18:30 CST plus Nov 10-11 blocks; legacy EPGShare UK id excluded; live since 2026-11-05
Qatar / MENAIPTV / paybeIN MENA
bein_qa
beIN public EPG AJAX grid (direct, no login)Alive4731/472026-11-0847 channels, 4293 programmes through Nov 9 12:00 CST; 14 exact duplicate sports channels skipped (968 programmes); EPGShare beIN pack remains enabled; live since 2026-11-05
Pan-ArabIPTV / directelcinema
elcinema_arab
elcinema public TV guide pages (direct, non-commercial attribution)Alive1060/1062026-11-07106 channels, 5560 programmes through Nov 7 00:30 CST; per-country ids; no exact duplicates; sparse schedules retained; new Saudi Althania mapped for next refresh but absent initial snapshot; live since 2026-11-05
MoroccoOTA / publicSNRT
snrt_ma
SNRT public programme pages (direct, no login)Alive60/62026-11-086 channels, 718 programmes through Nov 8 18:00 CST; Arryadia omitted for no current listings; no exact duplicates; live since 2026-11-05
CNOTA / publicCNTV / CCTV China
cntv_cn
CNTV public getEpgInfoByChannelNew JSON (direct, no login)Alive900/902026-11-0890 channels, 12336 programmes, ~4 days (Nov 4-8); ids {site_id}.cntv.cn; robots 404 both hosts; first-party tv.cctv.com guide API; generator cron 02:07 UTC; live since 2026-11-05
MYIPTV / payAstro Malaysia
astro_my
Astro ContentHub / Spectrum public JSON (direct, no login)Alive166166/1662026-11-09166 channel elements (151 unique ids; Astro.First.HD.astro.my repeated 16x in channel list), 18219 programmes, ~5 days (Nov 4-9); ids {slug}.astro.my; first-party guide backend; generator cron 03:07 UTC; live since 2026-11-05
JPIPTV / internationalNHK World Japan
nhkworld_jp
NHK World public daily CDN JSON (direct, no login)Alive10/12026-11-091 channel (NHK.World.Japan.nhkworld.jp), 656 programmes, 5 days (Nov 4-9); partial JP starter only (domestic NHK needs API key, not used); generator cron 04:22 UTC; live since 2026-11-05