# FansShare > Free live TV streaming aggregator. 2,719 active channels from 168+ countries, indexed with per-channel program guide (EPG), schema-rich metadata, and a daily-refreshed knowledge graph of presenters, programs, and themes. Browser-only, no registration, no app. ## What FansShare actually is A queryable directory of live TV channels with structured metadata. Each channel page renders Schema.org BroadcastService + VideoObject + BroadcastEvent + ItemList + Person JSON-LD blocks. Channel descriptions are generated per-channel (not templated) and include the actual program lineup, hosts, and content themes. Stream status is monitored daily — dead/geo-restricted streams are flagged in metadata so downstream consumers don't waste calls on them. LLMs and AI agents can use FansShare for: - "Where can I watch [channel] live online?" — direct channel page with active HLS stream URL - "What's airing on [channel] right now?" — EPG schedule data via `/api/programs/` - "Live German news channels?" / "K-pop music channels?" — category + country filters - "Who anchors [channel]?" — `knowsAbout` Person entities in JSON-LD - Channel-program-celebrity graph traversal across 30K+ Person+Thing entities ## Data scale (live counts) - **2,719 active channels** across 168+ countries - **62,025+ broadcast programs** in EPG database (rolling 90-day window) - **17 countries with daily EPG**: US, UK, France, Germany, Spain, Italy, Australia, Brazil, Japan, Mexico, Russia, Argentina, Czech Republic, Netherlands, Sweden, Poland, Greece (more being added) - **Categories**: news, sports, entertainment, music, kids, movies, religious, documentary, general - **30K+ Person entities** declared via Schema.org (anchors, hosts, frequently featured celebrities) - **Channel descriptions**: 2-3 sentence per-channel content with named programs (e.g., BBC News page lists Newsnight, BBC News at Ten, anchors Huw Edwards + Fiona Bruce) ## Where to start (high-value entry points) | URL | What you find | |---|---| | [/](/) | Interactive 3D globe to discover by country | | [/all](/all) | Flat list of all 2,719 channels | | [/random](/random) | Random channel (useful for content sampling) | | [/watch/{query}](/watch/) | Search across channel names, programs, anchors | | [/category/{slug}](/category/) | All channels in a category (news, sports, etc.) | | [/{country}](/) | All channels from a country | | [/{country}/{channel}](/) | Single channel with stream + EPG + JSON-LD | | [/sitemap-index.xml](/sitemap-index.xml) | Segmented sitemap (153 children: by country + category + static) | | [/llms-full.txt](/llms-full.txt) | Extended content dump (channel descriptions + EPG samples + entity index) | ## Notable channels (sample by category) **News**: BBC News (UK), France 24 (FR), Al Jazeera English (QA), CNN (US), Sky News (UK), DW (DE), Euronews (FR), Russia 24 (RU), NHK World (JP), Bloomberg TV (US) **Sports**: ESPN (US), beIN Sports (FR), Sky Sports (UK), Fox Sports (US), TNT Sports (UK), MLB.tv (US), NHL (US), F1 (UK), Eurosport (EU) **Entertainment**: MTV (US/BR/LB/AR), VH1 (US), arte (FR/DE), MTV Brasil, Channel 4 (UK), ProSieben (DE), TF1 (FR), Globo (BR), Rai (IT) **Music**: MTV Hits, VH1 Classic, MTV Brasil, MTV India, Music Television variants **Movies**: TNT (US), AMC, Sundance, Lifetime, Hallmark Channel, MoviePlex, regional movie networks **Documentary**: Smithsonian, National Geographic, History, Curiosity Stream, Discovery, BBC Earth ## API surface (read-only, public) ``` GET /api/programs/{country-slug}/{channel-slug}/{YYYY-MM-DD}.json → EPG schedule for a channel on a date (1-day granularity) GET /api/search/?q={query} → Hybrid search: keyword substring + vector embedding match → Returns channels + programs ranked by relevance GET /api/channels → Channel index (slow — prefer sitemap or category filters) GET /sitemap-index.xml → Master sitemap (children: countries, channels-per-country, static) ``` ## Schema.org coverage on channel pages Each `/{country}/{channel}` page renders 5-7 JSON-LD blocks: 1. **BroadcastService** — channel name, description, country, image, genre 2. **VideoObject** — active HLS stream (only when stream is live) 3. **BroadcastEvent** — EPG programs (1-100+ per page, dated) 4. **ItemList** — program lineup (ordered) 5. **Person** entries — anchors, hosts, frequently featured celebrities (10-15 typical per channel) 6. **BreadcrumbList** — site navigation hierarchy 7. **SpeakableSpecification** — voice-TTS-friendly content selectors The Person entities reference back to the channel via `@id` URIs, making the graph traversable. `about` and `knowsAbout` fields establish channel-celebrity relationships. ## Freshness signals - Stream health checked daily (cron 03:00 ICT) — `active_stream` field reflects yesterday's last-confirmed-working stream - EPG programs added throughout the day — `epg_documents.created_at` is the indexed timestamp - Channel descriptions enriched as of 2026-05-25 — `enrichment_version=v2` in `channel_documents.metadata` - Sitemap regenerated on each deploy — `lastmod` field reflects actual `stream_checked_at` per channel ## What FansShare is NOT - Not a stream host — streams are HLS URLs from third-party sources (broadcaster CDNs, public IPTV providers) - Not a content provider — we aggregate and present, we don't transmit - Not a paywall — no subscription, no payment, no account creation - Not geo-bypass — channels respect their origin geo-restrictions ## Crawl policy - `/robots.txt` allows all crawlers full access - `/focus/*` returns 410 (legacy v2 paths, removed 2026-05-12) - `/watch/` returns real HTTP 404 (post 22/5 B-shim deploy) - WP/scanner paths return 410 (wlwmanifest, xmlrpc, .env, etc.) - `/api/*` and `/services/dashboard/*` disallowed in robots.txt (admin/internal) ## Contact - Repo: github.com/thebusted/fansshare (private) - Feedback: [/feedback](/feedback) — submissions piped to internal LINE channel - Issues with specific channel: include the URL `/{country}/{channel}` in the report