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.
| Region | Category | Source | Method | Grade | Status | Channels | Logos | Listings to | Notes |
|---|---|---|---|---|---|---|---|---|---|
| UK | Satellite / pay | Sky UKsky_uk | Sky Hawk JSON (public guide API) | A | live | 367 | 367/367 | 2026-11-12 | London HD bouquet plus London TV, Sky Animation, Sky Showcase sub-bouquets; replaces WebGrab sky.com |
| UK | OTA (Freeview) | Freeview UKfreeview_gb | freeview.co.uk channel-list + tv-guide JSON | A- | live | 245 | 245/245 | 2026-11-12 | London plus 57 regional networks (regional ITV1/BBC named by region); no synopses in this API |
| UK | OTA / pay | tvguide.co.uk | HTML | F | blocked | robots.txt references a search-only terms contract; not grabbed. Its 10 WebGrab channels move to Freeview, Sky, TVIreland and Pluto | |||
| UK | Listings | Radio Times / BT TV | HTML / API | F | blocked | Sites disallow grabbing | |||
| UK | IPTV | YouView / EE TV | JSON | C | blocked | Not built: BT disallows grabbing and Freeview + Sky already cover the lineup | |||
| UK | Satellite (free) | Freesat | API | E | blocked | Public API returns 404 | |||
| UK | FAST | LG Channels GB | JSON | E | blocked | API returns HTTP 500 for GB | |||
| UK | FAST | Plex UKplex_gb | i.mjh.nz (mjh family) | A | live | Same pipeline as Plex US/CA | |||
| UK | FAST | Pluto / Samsung / Rakuten UK | existing | A | live | Already carried | |||
| AU | OTA (all networks) | ABC iview EPGabcepg_au | cdn.iview.abc.net.au processed EPG JSON | A | live | 277 | 231/277 | 2026-11-12 | ABC, SBS, Seven, Nine, Ten and regional affiliates in 10 market regions |
| AU | IPTV / pay | Fetch TVfetch_au | fetchtv.com.au anonymous web guide JSON | B+ | live | 332 | 321/332 | 2026-11-12 | Regional FTA and subscription channels; replaces WebGrab fetchtv.com.au |
| AU | Pay | Foxtel | webepg JSON | E | blocked | Akamai bot protection rejects requests | |||
| AU | Sport (pay) | Kayo | API | E | blocked | Direct API HTTP 403 (see Kayo Sports via i.mjh.nz) | |||
| AU | OTA catch-up | 9Now / 10 / SBS / 7plus | APIs | D | blocked | Geo-blocked, retired (HTTP 410) or HTML only; all networks covered by the ABC EPG feed | |||
| AU | Listings | yourtv.com.au | HTML | F | blocked | Gone (404) and robots.txt carries a no-AI/no-data notice | |||
| AU | FAST | Plex Australiaplex_au | i.mjh.nz (mjh family) | A | live | ||||
| NZ | Satellite / pay | Sky NZsky_nz | api.skyone.co.nz GraphQL (public TV guide) | A | live | 70 | 70/70 | 2026-11-18 | About 10 days, 70 channels after removing exact duplicates of existing NZ feeds |
| NZ | OTA | ThreeNow | now-api live EPG | C | blocked | Only about 24 hours for 15 channels, all already carried with a longer horizon | |||
| NZ | OTA | TVNZ | API | E | blocked | HTTP 403 (geo) | |||
| NZ | OTA | Freeview NZ | API | D | blocked | API 404; already carried (28 days) | |||
| NZ | FAST | Plex New Zealandplex_nz | i.mjh.nz (mjh family) | A | live | ||||
| SG | IPTV / pay | StarHub TV+starhub_sg | metadata API JSON | A | live | 111 | 108/111 | 2026-11-11 | Migrated off WebGrab |
| BR | Pay | Claro TV+claro_br | livechannels JSON | A | live | 163 | 163/163 | 2026-11-11 | Migrated off WebGrab; honours crawl-delay 5 |
| TR | IPTV | TV+ Turkeytvplus_tr | guest PlayBillList JSON | B | live | 15 | 15/15 | 2026-11-12 | Migrated off WebGrab |
| ID | Satellite | MNC Visionmncvision_id | HTML schedule form | B- | live | 14 | 0/14 | 2026-11-11 | Migrated off WebGrab |
| TW | IPTV | Hami Videohami_tw | channel epg.do JSON | B | live | 12 | 12/12 | 2026-11-11 | Migrated off WebGrab |
| HK | IPTV / pay | Now TV (nowplayer)nowplayer_hk | epglist JSON + detail | B | live | 15 | 15/15 | 2026-11-11 | Migrated off WebGrab; ETTV Asia News has no listings upstream |
| AU | Sport (pay) | Kayo Sportskayo_au | i.mjh.nz (mjh family) | B | live | Direct API is 403; i.mjh.nz guide used, same pipeline as other mjh sources | |||
| AU | Pay | Foxtel / Binge via i.mjh.nz | i.mjh.nz | D | blocked | Upstream files stopped updating on Oct 18, so not added | |||
| NZ | Sport (pay) | Sky Sport Nowskysportnow_nz | i.mjh.nz (mjh family) | B | live | Streaming schedule for Sky Sport channels | |||
| CA | Sport (pay) | NHL Center Ice (TELUS)xmltv_live_ca_nhlci | xmltv.live XMLTV | live | New 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 | ||||
| Member | IPTV (Xtream) | hyper-apex (member source 8) | Xtream live-only ingest | live | Synced 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 | ||||
| Events | Events | Symlink .events | guide entries | live | Symlink .events guide entries live 2026-10-31 12:15 UTC | ||||
| US | FAST | LG Channels USlg_us | JSON | live | Fixed 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 | ||||
| All | Pipeline | Source push-time audit | audit store | in progress | Upstream URL parameters now redacted in the audit store (fix applied 13:39 UTC); learning push times | ||||
| Member | Member source | Member source 4 | in progress | Open: 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 | |||||
| CZ | Gap-fill | EPGShare Czechia gap-fill (CZ1)epgshare_cz1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| BE | Gap-fill | EPGShare Belgium gap-fill (BE2)epgshare_be2 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| CH | Gap-fill | EPGShare Switzerland gap-fill (CH1)epgshare_ch1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| TR | Gap-fill | EPGShare Turkey gap-fill (TR1+TR3)epgshare_tr1,epgshare_tr3 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| DK | Gap-fill | EPGShare Denmark gap-fill (DK1)epgshare_dk1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| SE | Gap-fill | EPGShare Sweden gap-fill (SE1)epgshare_se1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| NO | Gap-fill | EPGShare Norway gap-fill (NO1)epgshare_no1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| FI | Gap-fill | EPGShare Finland gap-fill (FI1)epgshare_fi1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| GR | Gap-fill | EPGShare Greece gap-fill (GR1)epgshare_gr1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| SK | Gap-fill | EPGShare Slovakia gap-fill (SK1)epgshare_sk1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| HU | Gap-fill | EPGShare Hungary gap-fill (HU1)epgshare_hu1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| IE | Gap-fill | EPGShare Ireland gap-fill (IE1)epgshare_ie1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| IT | Gap-fill | EPGShare Italy gap-fill (IT1)epgshare_it1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| ES | Gap-fill | EPGShare Spain gap-fill (ES1)epgshare_es1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| FR | Gap-fill | EPGShare France gap-fill (FR1)epgshare_fr1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| BR | Gap-fill | EPGShare Brazil gap-fill (BR1+BR2)epgshare_br1,epgshare_br2 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| ID | Gap-fill | EPGShare Indonesia gap-fill (ID1)epgshare_id1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| HK | Gap-fill | EPGShare Hong Kong gap-fill (HK1)epgshare_hk1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| MT | Gap-fill | EPGShare Malta gap-fill (MT1)epgshare_mt1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| AT | Gap-fill | EPGShare Austria gap-fill (AT1)epgshare_at1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| BA | Gap-fill | EPGShare Bosnia and Herzegovina gap-fill (BA1)epgshare_ba1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| UA | Gap-fill | EPGShare Ukraine gap-fill (UA1)epgshare_ua1 | epgshare01 XMLTV, per-source channel filter | in progress | Config 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 | ||||
| All | Pipeline | EPGShare DistroTV / DraftKings (dead)epgshare_distrotv1,epgshare_draftkings1 | epgshare01 XMLTV | live | Removed 2026-10-31 5:08 PM CDT (code patch + one restart); epgshare sources now honour the channel allowlist | ||||
| All | Pipeline | Alias rules in member guides | code patch (member guide build) | live | Applied 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 | ||||
| All | Pipeline | Member guide refresh after shared builds | scheduled rebuild script | in progress | Staged 2026-10-31, not applied: script rebuilds stale member guides every 4 h within the daily rebuild quota; cron install pending | ||||
| UK | Satellite / pay | Legacy UK channel ids to Sky UK / Freeview / Virginsky_uk,freeview_gb | alias rules | live | Applied 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 | ||||
| NZ | Sport (pay) | Sky Sport NZ legacy ids | alias rules | live | Applied 2026-10-31 6:46-6:52 PM CDT: 10 alias rules to the Sky Sport NZ ids that have listings | ||||
| All | News | Legacy news channel ids (incl. News 12) | alias rules | live | Applied 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 | ||||
| US | IPTV | Retired .us3 channel ids | alias rules | live | Applied 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 | ||||
| UK | Pipeline | Retired extras / freeview packs | alias rules | live | Applied 2026-10-31 6:46-6:52 PM CDT: 30 alias rules to live ids; packs stay retired; 12 channels still have no source | ||||
| US | FAST | Local Now legacy ids | alias rules | live | Applied 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 | ||||
| All | FAST | Samsung TV Plus CA / US / GBsamsung_ca,samsung_us,samsung_gb | pull schedule 4x a day | live | Applied 2026-10-31 6:46 PM CDT: 4 pulls a day each (was 2), joined to existing waves; no restart needed | ||||
| AU | News | SBS WorldWatch | blocked | No listings: the only ids we have carry 0 programmes and no other source was found | |||||
| AU | News | Sky News Australia | blocked | No source with listings found; only Sky News Regional (a different channel) | |||||
| Member | IPTV | Orphaned member lineup streams | Studio re-match | blocked | Most 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/CA | Pipeline | tvtv / Gracenote station guides | tvtv lineup + Gracenote station ids | blocked | Gap 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) | ||||
| AU | Subscription | Foxtel | foxtel.com.au / mjh Foxtel guide | blocked | foxtel.com.au blocked; mjh Foxtel guide stale since 2026-10-18; need a working source | ||||
| NZ | Free-to-air | PRIME, TAB Trackside (nzxmltv candidate) | nzxmltv XMLTV | probing | TVNZ 403, Freeview NZ API 404; evaluate nzxmltv as a source | ||||
| IE | Free-to-air | Cúla4, TG4+1 gap-fill | TBD | probing | Gap channels from member audit; logged 2026-10-31 | ||||
| US | Sports RSN | ABTV, Rangers SN, BravesVision, Detroit SportsNet | epgshare us_sports1 team ids; fanduel1 West for ABTV | B | probing | No channel guide; team ids are games-only | |||
| US | Sports RSN | FanDuel Sports Network ids (epgshare fanduel1) | epgshare XMLTV | C | probing | Network defunct Apr 2026; ids still publish filler; retire | |||
| US | Sports RSN | Detroit SportsNet (extras id) | extras XMLTV | D | in progress | Guide stale since 2026-09-27; moving to team ids | |||
| US | Sports | NBCSN, Spectrum XCast 1/2/Multiview, DAZN 1 USA | TBD | probing | No guide in any connected source | ||||
| US | Sports RSN | Hurricanes HN, Blue Jackets HN, Rock ESN, KSBI, WNPX, ClipperVision | TBD | probing | Guide exists; no stream source found | ||||
| US | Entertainment / Movies | West feeds: HBO/Showtime/Starz/Max subs, MGM+, E!, Oxygen, Lifetime, A&E, History, TCM, Food and others | TBD | probing | No Pacific guide in current sources; needs +3h shift or new upstream | ||||
| US | Entertainment | West entries reusing East ids (30) | epgshare us2 (Pacific) / us3 WEST ids | A | in progress | 8 have Pacific ids available; rest have none | |||
| US | CW | CW Plus (src8) | source tvg-id | in progress | Wrong tvg-id on source; staged fix | ||||
| US | Sports RSN | Wild+, Blue Note+ | TBD | probing | FDSN successor team networks; guide via team ids; no stream source | ||||
| US | Sports OTA | KSBI OKC, WNPX Nashville, WMOR Tampa | epgshare us_locals1 | probing | Thunder/Predators/Rays OTA partners; guide live; no stream source | ||||
| US | Sports | DAZN team feeds (9 NBA/NHL teams) | TBD | probing | Linear on DirecTV only; no source; streaming app not addable | ||||
| US | Sports OTA | WANF Atlanta, WUAB Cleveland, KSTC Minneapolis | epgshare us_locals1 | A | in progress | Hawks/Cavs/Wild OTA partners; stream+guide; staged for SPORTS: US | |||
| GB | FAST | Samsung TV Plus GB (samsung_gb) | direct pull 4x/day | B | in progress | Guide 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 | |||
| US | FAST | Local Now (localnow) | direct pull every 2.5 h | C | in progress | Upstream 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) | |||
| All | Members | NnRaTn new IPTV playlist | member playlist apply | live | Applied 2026-11-01 1:51 AM CDT: new IPTV (MYTV demo) playlist loaded for NnRaTn, 13,707 streams / 88 groups | ||||
| All | Members | NnRaTn durable playlist mode + full guide | code patch (playlist-authoritative mode) | live | Applied 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 | ||||
| All | Pipeline | Member guide "$1" fix | code patch (resolve + xmlStream) | live | Applied 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 | ||||
| CA | Music | Stingray Hip-Hop/R&B (NnRaTn) | playlist tvg-id fix | live | Fixed 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 | ||||
| All | Pipeline | Combined guide XML cleanup + scheduler waves | code patch | live | Applied 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 | ||||
| AU | Kids | Nickelodeon AU (6 city feeds)fetch_au | Fetch TV | in progress | Open 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 | ||||
| US | FAST | WatchYour.TV (watchyourtv)watchyourtv | direct pull 3x/day | in progress | Upstream 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 | ||||
| CA | FAST | Samsung TV Plus CA (samsung_ca)samsung_ca | direct pull every 3 h | in progress | Upstream (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) | ||||
| US | FAST | LG Channels US (lg_us)lg_us | GitHub pull every 2 h | in progress | Upstream 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/CA | Licensed | Schedules Direct + TV Media (via my.onoj.wtf guide checker)guide-checker | private API on my.onoj.wtf (verdicts + station ids) | in progress | 2026-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/CA | Members | NnRaTn personal hole filler (Schedules Direct)nnratn-filler | member-only XMLTV filler + optional feedBuild hook (staged) | in progress | Staged 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/CA | Members | NnRaTn guide auto rebuild after sync wavesmember-guide-autorebuild | feedBuild rebuild hook in sync.js success path (worker process, debounced) | live | Installed 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. | ||||
| CH | IPTV / pay | Swisscom blue TVswisscom_ch | blue TV public guide JSON (direct) | A | live | 325 | 0/325 | 2026-11-15 | Switzerland 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 |
| SR | OTA | Dagblad Suriname OTAsr_dbsuriname | dbsuriname.com WordPress REST API (daily listing post, direct) | C | live | 6 | 0/6 | 2026-11-06 | 6 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 |
| PE | IPTV / pay | Movistar TV Perumovistar_pe | Telefónica Hispam public CDN guide API (direct, anonymous) | A | live | 131 | 0/131 | 2026-11-10 | 131 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 |
| CO | IPTV / pay | Movistar TV Colombiamovistar_co | Telefónica Hispam public CDN guide API (direct, anonymous) | A | live | 84 | 0/84 | 2026-11-12 | 84 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 |
| CO | OTA | mi.tv Colombiamitv_co | mi.tv public guide pages (co edition) | B | blocked | 27 | 27/27 | 2026-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 |
| CL | OTA | mi.tv Chilemitv_cl | mi.tv public guide pages (cl edition) | B | blocked | 29 | 29/29 | 2026-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 |
| HN | OTA | mi.tv Hondurasmitv_hn | mi.tv public guide pages (hn edition) | B | blocked | 21 | 21/21 | 2026-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 |
| PE | OTA | mi.tv Perumitv_pe | mi.tv public guide pages (pe edition) | B | blocked | 15 | 15/15 | 2026-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 |
| PY | OTA | mi.tv Paraguaymitv_py | mi.tv public guide pages (py edition) | B | blocked | 13 | 13/13 | 2026-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 |
| SV | OTA | mi.tv El Salvadormitv_sv | mi.tv public guide pages (sv edition) | B | blocked | 12 | 12/12 | 2026-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 |
| GT | OTA | mi.tv Guatemalamitv_gt | mi.tv public guide pages (gt edition) | B | blocked | 11 | 11/11 | 2026-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 |
| PA | OTA | Medcom Panama (Telemetro, RPC TV)medcom_pa | telemetro.com and rpctv.com /parrilla pages (direct, broadcaster) | C | live | 2 | 0/2 | 2026-11-08 | 2 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 |
| RS | IPTV / pay | mts TV Serbia (Telekom Srbija)mts_rs | mts.rs public shop search API (channel programme, direct) | B | live | 486 | 486/486 | 2026-11-09 | 486 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/CA | Pipeline | Timeshift fixes: CA2 West premium +1h, m3u4u East -1htzfix | per-channel offset correction (guarded by measured offset vs East reference) | live | 14 | 9/14 | 0-- | 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) | |
| BR | IPTV / pay | Vivo TV Brazilvivo_br | Telefónica Hispam public CDN guide API (direct, anonymous) | A | live | 288 | 0/288 | 2026-11-10 | 287 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 |
| CL | IPTV / pay | Movistar TV Chilemovistar_cl | Telefónica Hispam public CDN guide API (direct, anonymous) | A | live | 56 | 0/56 | 2026-11-12 | 53 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 |
| AR | IPTV / pay | Movistar TV Argentinamovistar_ar | Telefónica Hispam public CDN guide API (direct, anonymous) | A | live | 66 | 0/66 | 2026-11-12 | 65 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 |
| UY | Cable | TCC Uruguaytcc_uy | TCC public programming JSON API (tccvivo.com.uy, direct, no token) | A | live | 79 | 79/79 | 2026-11-12 | 78 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 |
| UY | IPTV | Vera / Antel TV Uruguayvera_uy | Vera (ex Antel TV) web guide API with an anonymous visitor session (user-approved, no login) | B | live | 12 | 12/12 | 2026-11-11 | 11 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 |
| MX | OTA | mi.tv Mexicomitv_mx | mi.tv public guide pages (mx edition) | B | blocked | 52 | 52/52 | 2026-11-05 | PAUSED 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) |
| CO | OTA | mi.tv Colombiamitv_co | mi.tv public guide pages (co edition) | B | blocked | 27 | 27/27 | 2026-11-06 | PAUSED 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) |
| CL | OTA | mi.tv Chilemitv_cl | mi.tv public guide pages (cl edition) | B | blocked | 29 | 29/29 | 2026-11-06 | PAUSED 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) |
| HN | OTA | mi.tv Hondurasmitv_hn | mi.tv public guide pages (hn edition) | B | blocked | 21 | 21/21 | 2026-11-06 | PAUSED 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) |
| PE | OTA | mi.tv Perumitv_pe | mi.tv public guide pages (pe edition) | B | blocked | 15 | 15/15 | 2026-11-06 | PAUSED 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) |
| PY | OTA | mi.tv Paraguaymitv_py | mi.tv public guide pages (py edition) | B | blocked | 13 | 13/13 | 2026-11-06 | PAUSED 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) |
| SV | OTA | mi.tv El Salvadormitv_sv | mi.tv public guide pages (sv edition) | B | blocked | 12 | 12/12 | 2026-11-06 | PAUSED 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) |
| GT | OTA | mi.tv Guatemalamitv_gt | mi.tv public guide pages (gt edition) | B | blocked | 11 | 11/11 | 2026-11-06 | PAUSED 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) |
| All | Pipeline | Web app hardening from the 2026-11-05 audit (7 fixes)audit-fixes-20261105 | code patch (installed, one restart) | live | Installed 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 | ||||
| Africa | IPTV / pay | StarTimes Africastartimes_af | StarTimes public country guide API (direct, no login) | A | live | 63 | 63/63 | 2026-11-11 | 63 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 |
| Iran | IPTV / direct | Iran Internationaliranintl_ir | Iran International public schedule (direct) | A | live | 1 | 1/1 | 2026-11-11 | 1 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 / MENA | IPTV / pay | beIN MENAbein_qa | beIN public EPG AJAX grid (direct, no login) | A | live | 47 | 31/47 | 2026-11-08 | 47 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-Arab | IPTV / direct | elcinemaelcinema_arab | elcinema public TV guide pages (direct, non-commercial attribution) | A | live | 106 | 0/106 | 2026-11-07 | 106 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 |
| Morocco | OTA / public | SNRTsnrt_ma | SNRT public programme pages (direct, no login) | A | live | 6 | 0/6 | 2026-11-08 | 6 channels, 718 programmes through Nov 8 18:00 CST; Arryadia omitted for no current listings; no exact duplicates; live since 2026-11-05 |
| CN | OTA / public | CNTV / CCTV Chinacntv_cn | CNTV public getEpgInfoByChannelNew JSON (direct, no login) | A | live | 90 | 0/90 | 2026-11-08 | 90 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 |
| MY | IPTV / pay | Astro Malaysiaastro_my | Astro ContentHub / Spectrum public JSON (direct, no login) | A | live | 166 | 166/166 | 2026-11-09 | 166 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 |
| JP | IPTV / international | NHK World Japannhkworld_jp | NHK World public daily CDN JSON (direct, no login) | A | live | 1 | 0/1 | 2026-11-09 | 1 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 |