# config/sources.d/18-sports.yaml — sports: leagues, federations, Olympic movement, anti-doping, teams & venues, # sports media/data/betting, gear & fitness. Authored 2026-09-08; every sensor validated with # apps/engine/src/validate.ts (rss · sitemap · statuspage · github · jsonlist · http only). # Blocked / client-rendered sites are recorded in `notes:` rather than added as sensors. sources: # ───────────────────────── A · North-American leagues ───────────────────────── - id: nhl name: National Hockey League domain: nhl.com homepage: https://www.nhl.com categories: [sports, hockey] tier: A weight: 1.3 aliases: [nhl, ligue nationale de hockey, lnh] discover: { rss: false, sitemap: true, pages: true } llm: false notes: "nhl.com news is client-rendered; no RSS. Stories sitemap is the only structured feed." sensors: - { name: stories sitemap, url: "https://www.nhl.com/sitemap/sitemap-stories.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.nhl.com/news/", type: HTML, connector: http, tier: A } - id: nba name: National Basketball Association domain: nba.com homepage: https://www.nba.com categories: [sports, basketball] tier: A weight: 1.3 aliases: [nba] discover: { rss: false, sitemap: true } llm: false notes: "nba.com is client-rendered; article sitemaps behind bot protection (403). News sitemap index only." sensors: - { name: news sitemap, url: "https://www.nba.com/sitemap_news.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - id: mlb name: Major League Baseball domain: mlb.com homepage: https://www.mlb.com categories: [sports, baseball] tier: A weight: 1.3 aliases: [mlb, baseball majeur] discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: news feed, url: "https://www.mlb.com/feeds/news/rss.xml", type: RSS, connector: rss, tier: A } - { name: 48h news sitemap, url: "https://www.mlb.com/sitemaps/48-hr-news.xml.gz", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - id: nfl name: National Football League domain: nfl.com homepage: https://www.nfl.com categories: [sports, football] tier: A weight: 1.3 aliases: [nfl] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: fast-changing sitemap, url: "https://www.nfl.com/sitemap-fast-changing.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.nfl.com/news", type: HTML, connector: http, tier: A } - id: mls name: Major League Soccer domain: mlssoccer.com homepage: https://www.mlssoccer.com categories: [sports, soccer] tier: B weight: 1.1 aliases: [mls, major league soccer] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: stories sitemap, url: "https://www.mlssoccer.com/sitemap-stories.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.mlssoccer.com/news/", type: HTML, connector: http, tier: B } - id: wnba name: Women's National Basketball Association domain: wnba.com homepage: https://www.wnba.com categories: [sports, basketball] tier: B aliases: [wnba] discover: { rss: false, sitemap: true } llm: false sensors: - { name: news sitemap, url: "https://www.wnba.com/sitemap_news.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: nwsl name: National Women's Soccer League domain: nwslsoccer.com homepage: https://www.nwslsoccer.com categories: [sports, soccer] tier: B aliases: [nwsl] discover: { rss: false, sitemap: true } llm: false sensors: - { name: article sitemap, url: "https://www.nwslsoccer.com/sitemap-article.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: cfl name: Canadian Football League domain: cfl.ca homepage: https://www.cfl.ca categories: [sports, football] tier: B weight: 1.1 aliases: [cfl, ligue canadienne de football, lcf] discover: { rss: true, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://cfl.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000, maxChildren: 10 } } - id: pwhl name: Professional Women's Hockey League domain: thepwhl.com homepage: https://www.thepwhl.com categories: [sports, hockey] tier: B aliases: [pwhl, lphf, ligue professionnelle de hockey féminin] discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: sitemap (en), url: "https://www.thepwhl.com/en/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } } - id: ncaa name: NCAA domain: ncaa.com homepage: https://www.ncaa.com categories: [sports, education] tier: B weight: 1.1 aliases: [ncaa, national collegiate athletic association, march madness] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news sitemap, url: "https://www.ncaa.com/sitemap/news.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } # ───────────────────────── B · Football (soccer) federations & leagues ───────────────────────── - id: fifa name: FIFA domain: fifa.com homepage: https://www.fifa.com categories: [sports, soccer, international] tier: A weight: 1.4 aliases: [fifa, fédération internationale de football association, world cup 2026] discover: { rss: true, sitemap: true, pages: true } llm: true notes: "fifa.com and inside.fifa.com are client-rendered (Next.js). Only the FIFA+ web API sitemap index is structured." sensors: - { name: fifa+ sitemap (en), url: "https://cxm-api.fifa.com/fifaplusweb/api/sitemap-en", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } } - id: uefa name: UEFA domain: uefa.com homepage: https://www.uefa.com categories: [sports, soccer, international] tier: A weight: 1.3 aliases: [uefa, champions league, europa league, euro 2028] discover: { rss: true, sitemap: true } llm: false sensors: - { name: latest news sitemap, url: "https://www.uefa.com/sitemap/news/latest.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - { name: documents sitemap, url: "https://www.uefa.com/sitemap/document/index.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000, maxChildren: 10 } } - id: concacaf name: Concacaf domain: concacaf.com homepage: https://www.concacaf.com categories: [sports, soccer, international] tier: B aliases: [concacaf, gold cup, champions cup] discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: article sitemap, url: "https://www.concacaf.com/sitemap-article.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.concacaf.com/news", type: HTML, connector: http, tier: B } - id: conmebol name: CONMEBOL domain: conmebol.com homepage: https://www.conmebol.com categories: [sports, soccer, international] tier: B aliases: [conmebol, copa libertadores, copa américa] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed, url: "https://www.conmebol.com/feed/", type: RSS, connector: rss, tier: B } - id: canada-soccer name: Canada Soccer domain: canadasoccer.com homepage: https://www.canadasoccer.com categories: [sports, soccer] tier: B weight: 1.1 aliases: [canada soccer, soccer canada, canmnt, canwnt] discover: { rss: true, sitemap: true } sensors: - { name: pressroom feed, url: "https://news.canadasoccer.com/feed", type: RSS, connector: rss, tier: B } - id: la-liga name: LALIGA domain: laliga.com homepage: https://www.laliga.com categories: [sports, soccer] tier: B weight: 1.1 aliases: [laliga, la liga, liga española] discover: { rss: false, sitemap: true, pages: true } llm: false notes: "News sitemaps (assets.laliga.com/sitemap/sitemap-news-N.xml) are 40 MB archives — not polled." sensors: - { name: news page, url: "https://www.laliga.com/news", type: HTML, connector: http, tier: B } - id: bundesliga name: Bundesliga (DFL) domain: bundesliga.com homepage: https://www.bundesliga.com categories: [sports, soccer] tier: B weight: 1.1 aliases: [bundesliga, dfl, deutsche fußball liga] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed (en), url: "https://www.bundesliga.com/rss/en/rss-news.rss", type: RSS, connector: rss, tier: A } - { name: news sitemap (en), url: "https://www.bundesliga.com/sitemaps/en/sitemap-news.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: serie-a name: Lega Serie A domain: legaseriea.it homepage: https://www.legaseriea.it categories: [sports, soccer] tier: B aliases: [serie a, lega serie a, lega calcio] discover: { rss: false, sitemap: true } llm: false sensors: - { name: article sitemap, url: "https://www.legaseriea.it/sitemap-article.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: ligue-1 name: Ligue 1 (LFP) domain: ligue1.com homepage: https://www.ligue1.com categories: [sports, soccer] tier: B aliases: [ligue 1, ligue 1 mcdonald's, lfp, ligue de football professionnel] discover: { rss: false, sitemap: true } llm: false sensors: - { name: articles sitemap (en), url: "https://ligue1.com/api/sitemap/sitemap-articles-l1-en", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - { name: articles sitemap (fr), url: "https://ligue1.com/api/sitemap/sitemap-articles-l1-fr", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: premier-league name: Premier League domain: premierleague.com homepage: https://www.premierleague.com categories: [sports, soccer] tier: B weight: 1.2 aliases: [premier league, epl] discover: { rss: false, sitemap: false } notes: "premierleague.com answers 429 to sitemap/feed requests and the news pages are client-rendered — no validated sensor (2026-09-08)." - id: us-soccer name: U.S. Soccer domain: ussoccer.com homepage: https://www.ussoccer.com categories: [sports, soccer] tier: C aliases: [us soccer, usmnt, uswnt, united states soccer federation] discover: { rss: true, sitemap: true } notes: "ussoccer.com is a client-rendered SPA (sitemap.xml and /rss return HTML) — no validated sensor (2026-09-08)." # ───────────────────────── C · Motorsport ───────────────────────── - id: fia name: FIA domain: fia.com homepage: https://www.fia.com categories: [sports, motorsport, international] tier: B weight: 1.2 aliases: [fia, fédération internationale de l'automobile] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: news feed, url: "https://www.fia.com/rss/news", type: RSS, connector: rss, tier: A } - { name: newsroom page, url: "https://www.fia.com/newsroom", type: HTML, connector: http, tier: B } - id: formula-1 name: Formula 1 domain: formula1.com homepage: https://www.formula1.com categories: [sports, motorsport] tier: A weight: 1.3 aliases: [formula 1, f1, formule 1, formula one] discover: { rss: false, sitemap: true } llm: false sensors: - { name: article sitemap, url: "https://www.formula1.com/en/latest/article/sitemap.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000, maxChildren: 3 } } - id: indycar name: INDYCAR domain: indycar.com homepage: https://www.indycar.com categories: [sports, motorsport] tier: B aliases: [indycar, ntt indycar series, indy 500, indianapolis 500] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://www.indycar.com/news", type: HTML, connector: http, tier: B } - id: fia-wec name: FIA World Endurance Championship domain: fiawec.com homepage: https://www.fiawec.com categories: [sports, motorsport] tier: B aliases: [wec, fia wec, 24 heures du mans, le mans] discover: { rss: false, sitemap: true } llm: false sensors: - { name: articles sitemap, url: "https://www.fiawec.com/sitemap-articles.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } } - id: nascar name: NASCAR domain: nascar.com homepage: https://www.nascar.com categories: [sports, motorsport] tier: B aliases: [nascar, cup series] discover: { rss: false, sitemap: false } notes: "nascar.com answers 403 (bot management) to feeds, sitemaps and news pages — no validated sensor (2026-09-08)." - id: motogp name: MotoGP (Dorna) domain: motogp.com homepage: https://www.motogp.com categories: [sports, motorsport] tier: B aliases: [motogp, dorna sports] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.motogp.com/en/news", type: HTML, connector: http, tier: B } # ───────────────────────── D · Tennis & golf ───────────────────────── - id: atp-tour name: ATP Tour domain: atptour.com homepage: https://www.atptour.com categories: [sports, tennis] tier: B aliases: [atp, atp tour] discover: { rss: false, sitemap: false } notes: "atptour.com is behind bot management (403 on news, RSS and sitemap) — no validated sensor (2026-09-08)." - id: wta name: WTA domain: wtatennis.com homepage: https://www.wtatennis.com categories: [sports, tennis] tier: B aliases: [wta, women's tennis association] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.wtatennis.com/news", type: HTML, connector: http, tier: B } - id: itf name: International Tennis Federation domain: itftennis.com homepage: https://www.itftennis.com categories: [sports, tennis, international] tier: C aliases: [itf, davis cup, billie jean king cup] discover: { rss: true, sitemap: true } notes: "itftennis.com is client-rendered (news list returns a 200-byte shell) — no validated sensor (2026-09-08)." - id: tennis-canada name: Tennis Canada domain: tenniscanada.com homepage: https://www.tenniscanada.com categories: [sports, tennis] tier: B aliases: [tennis canada, national bank open, omnium banque nationale] products: - { name: National Bank Open, type: service, aliases: [nbo, omnium banque nationale, rogers cup] } discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: sitemap index, url: "https://www.tenniscanada.com/sitemaps-1-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000, maxChildren: 16 } } - { name: national bank open news, url: "https://nationalbankopen.com/news", type: HTML, connector: http, tier: B } - id: pga-tour name: PGA TOUR domain: pgatour.com homepage: https://www.pgatour.com categories: [sports, golf] tier: B weight: 1.1 aliases: [pga tour, pga] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: articles sitemap, url: "https://www.pgatour.com/sitemap/articles.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.pgatour.com/news", type: HTML, connector: http, tier: B } - id: lpga name: LPGA domain: lpga.com homepage: https://www.lpga.com categories: [sports, golf] tier: B aliases: [lpga, ladies professional golf association] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.lpga.com/news", type: HTML, connector: http, tier: B } - id: dp-world-tour name: DP World Tour domain: europeantour.com homepage: https://www.europeantour.com categories: [sports, golf] tier: B aliases: [dp world tour, european tour, ryder cup europe] discover: { rss: false, sitemap: true } llm: false sensors: - { name: article sitemap, url: "https://www.europeantour.com/sitemap-article.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: usga name: USGA domain: usga.org homepage: https://www.usga.org categories: [sports, golf] tier: C aliases: [usga, united states golf association, us open golf] discover: { rss: false, sitemap: false } notes: "usga.org answers 403 to sitemap and news pages (Adobe AEM bot rules) — no validated sensor (2026-09-08)." - id: r-and-a name: The R&A domain: randa.org homepage: https://www.randa.org categories: [sports, golf] tier: C aliases: [r&a, the r&a, royal and ancient, the open championship] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://www.randa.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: golf-canada name: Golf Canada domain: golfcanada.ca homepage: https://www.golfcanada.ca categories: [sports, golf] tier: B aliases: [golf canada, rbc canadian open, cpkc women's open] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://www.golfcanada.ca/feed/", type: RSS, connector: rss, tier: B } # ───────────────────────── E · Combat sports & entertainment ───────────────────────── - id: ufc name: UFC domain: ufc.com homepage: https://www.ufc.com categories: [sports, combat-sports] tier: B weight: 1.1 aliases: [ufc, ultimate fighting championship] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed, url: "https://www.ufc.com/rss/news", type: RSS, connector: rss, tier: A } - { name: news sitemap, url: "https://www.ufc.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: tko-group name: TKO Group Holdings (WWE · UFC · Zuffa Boxing) domain: tkogrp.com homepage: https://tkogrp.com categories: [sports, combat-sports, entertainment, finance] tier: B weight: 1.1 aliases: [tko, tko group, wwe, world wrestling entertainment, zuffa] products: - { name: WWE, type: product, aliases: [wwe, wrestlemania, raw, smackdown] } discover: { rss: true, sitemap: true } sensors: - { name: press releases feed, url: "https://tkogrp.com/news/feed/", type: RSS, connector: rss, tier: B } - { name: wwe news page, url: "https://www.wwe.com/news", type: HTML, connector: http, tier: B } - id: pfl name: Professional Fighters League domain: pflmma.com homepage: https://pflmma.com categories: [sports, combat-sports] tier: C aliases: [pfl, professional fighters league] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://pflmma.com/news", type: HTML, connector: http, tier: C } # ───────────────────────── F · International federations ───────────────────────── - id: world-athletics name: World Athletics domain: worldathletics.org homepage: https://worldathletics.org categories: [sports, athletics, international] tier: B weight: 1.1 aliases: [world athletics, iaaf] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://worldathletics.org/news/rss", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } } - id: world-aquatics name: World Aquatics domain: worldaquatics.com homepage: https://www.worldaquatics.com categories: [sports, aquatics, international] tier: C aliases: [world aquatics, fina] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.worldaquatics.com/news", type: HTML, connector: http, tier: C } - id: fig name: International Gymnastics Federation domain: gymnastics.sport homepage: https://www.gymnastics.sport categories: [sports, gymnastics, international] tier: C aliases: [fig, fédération internationale de gymnastique, world gymnastics] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.gymnastics.sport/site/pages/news.php", type: HTML, connector: http, tier: C } - id: fis-ski name: FIS (International Ski and Snowboard Federation) domain: fis-ski.com homepage: https://www.fis-ski.com categories: [sports, winter-sports, international] tier: C aliases: [fis, fédération internationale de ski, ski and snowboard federation] discover: { rss: false, sitemap: true } llm: false notes: "fis-ski.com has no news feed; the single sitemap.xml lists ~22 000 URLs (capped)." sensors: - { name: sitemap, url: "https://www.fis-ski.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: iihf name: IIHF domain: iihf.com homepage: https://www.iihf.com categories: [sports, hockey, international] tier: B aliases: [iihf, international ice hockey federation, world juniors, championnat du monde de hockey] discover: { rss: false, sitemap: false, pages: true } llm: false notes: "iihf.com returns 403 on sitemap.xml and /en/rss (Cloudflare); only the news HTML page is reachable." sensors: - { name: news page, url: "https://www.iihf.com/en/news", type: HTML, connector: http, tier: B } - id: fiba name: FIBA domain: fiba.basketball homepage: https://www.fiba.basketball categories: [sports, basketball, international] tier: B aliases: [fiba, international basketball federation] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.fiba.basketball/en/news", type: HTML, connector: http, tier: B } - id: world-rugby name: World Rugby domain: world.rugby homepage: https://www.world.rugby categories: [sports, rugby, international] tier: B aliases: [world rugby, rugby world cup] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://www.world.rugby/rss.xml", type: RSS, connector: rss, tier: B } - id: icc name: International Cricket Council domain: icc-cricket.com homepage: https://www.icc-cricket.com categories: [sports, cricket, international] tier: B weight: 1.1 aliases: [icc, international cricket council, cricket world cup] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: article sitemap index, url: "https://www.icc-cricket.com/sitemap-article-index.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000, maxChildren: 2 } } - { name: news page, url: "https://www.icc-cricket.com/news", type: HTML, connector: http, tier: B } - id: wbsc name: WBSC domain: wbsc.org homepage: https://www.wbsc.org categories: [sports, baseball, international] tier: C aliases: [wbsc, world baseball softball confederation] discover: { rss: false, sitemap: false } notes: "wbsc.org answers 403 to bot user agents on news and sitemap — no validated sensor (2026-09-08)." - id: tour-de-france name: Tour de France (A.S.O.) domain: letour.fr homepage: https://www.letour.fr categories: [sports, cycling] tier: B aliases: [tour de france, aso, amaury sport organisation, le tour] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page (en), url: "https://www.letour.fr/en/news", type: HTML, connector: http, tier: B } - { name: sitemap, url: "https://www.letour.fr/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000, maxChildren: 5 } } - id: uci name: UCI (Union Cycliste Internationale) domain: uci.org homepage: https://www.uci.org categories: [sports, cycling, international] tier: B aliases: [uci, union cycliste internationale] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: sitemap, url: "https://www.uci.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: fei name: FEI (Fédération Équestre Internationale) domain: fei.org homepage: https://www.fei.org categories: [sports, equestrian, international] tier: C aliases: [fei, fédération équestre internationale] discover: { rss: false, sitemap: false, pages: true } llm: false notes: "www.fei.org/news is 403; inside.fei.org (official media site) is server-rendered." sensors: - { name: inside fei news, url: "https://inside.fei.org/news", type: HTML, connector: http, tier: C } - id: isu name: International Skating Union domain: isu.org homepage: https://www.isu.org categories: [sports, winter-sports, international] tier: C aliases: [isu, international skating union] discover: { rss: false, sitemap: false } notes: "isu.org is a client-rendered SPA (every path returns the same 48 KB shell, sitemap.xml is HTML) — no validated sensor (2026-09-08)." - id: ibu name: International Biathlon Union domain: biathlonworld.com homepage: https://www.biathlonworld.com categories: [sports, winter-sports, international] tier: C aliases: [ibu, international biathlon union, biathlon] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://www.biathlonworld.com/news", type: HTML, connector: http, tier: C } - { name: sitemap, url: "https://www.biathlonworld.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: fil-luge name: International Luge Federation domain: fil-luge.org homepage: https://www.fil-luge.org categories: [sports, winter-sports, international] tier: D aliases: [fil, international luge federation, luge] discover: { rss: false, sitemap: true } llm: false notes: "/en/news returns HTTP 500 to non-browser clients; the sitemap is the only structured endpoint." sensors: - { name: sitemap, url: "https://www.fil-luge.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000 } } - id: ibsf name: IBSF (Bobsleigh & Skeleton) domain: ibsf.org homepage: https://www.ibsf.org categories: [sports, winter-sports, international] tier: D aliases: [ibsf, fibt, international bobsleigh and skeleton federation] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.ibsf.org/en/news", type: HTML, connector: http, tier: D } - id: world-curling name: World Curling domain: worldcurling.org homepage: https://worldcurling.org categories: [sports, curling, international] tier: C aliases: [world curling, wcf, world curling federation] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://worldcurling.org/feed/", type: RSS, connector: rss, tier: C } # ───────────────────────── G · Canadian national sport organizations ───────────────────────── - id: hockey-canada name: Hockey Canada domain: hockeycanada.ca homepage: https://www.hockeycanada.ca categories: [sports, hockey] tier: B weight: 1.1 aliases: [hockey canada] discover: { rss: false, sitemap: false } notes: "hockeycanada.ca answers 403 to non-browser clients on /news, sitemap.xml and the RSS path — no validated sensor (2026-09-08)." - id: canada-basketball name: Canada Basketball domain: basketball.ca homepage: https://www.basketball.ca categories: [sports, basketball] tier: C aliases: [canada basketball] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://basketball.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: baseball-canada name: Baseball Canada domain: baseball.ca homepage: https://baseball.ca categories: [sports, baseball] tier: C aliases: [baseball canada] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://baseball.ca/news", type: HTML, connector: http, tier: C } - id: rugby-canada name: Rugby Canada domain: rugby.ca homepage: https://rugby.ca categories: [sports, rugby] tier: C aliases: [rugby canada] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://rugby.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: cycling-canada name: Cycling Canada domain: cyclingcanada.ca homepage: https://cyclingcanada.ca categories: [sports, cycling] tier: C aliases: [cycling canada, cyclisme canada] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://cyclingcanada.ca/feed/", type: RSS, connector: rss, tier: C } - id: skate-canada name: Skate Canada domain: skatecanada.ca homepage: https://skatecanada.ca categories: [sports, winter-sports] tier: C aliases: [skate canada, patinage canada] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://skatecanada.ca/feed/", type: RSS, connector: rss, tier: C } - id: curling-canada name: Curling Canada domain: curling.ca homepage: https://www.curling.ca categories: [sports, curling] tier: C aliases: [curling canada, brier, scotties tournament of hearts] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://www.curling.ca/feed/", type: RSS, connector: rss, tier: C } - id: alpine-canada name: Alpine Canada domain: alpinecanada.org homepage: https://alpinecanada.org categories: [sports, winter-sports] tier: C aliases: [alpine canada, canada alpin] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://alpinecanada.org/news", type: HTML, connector: http, tier: C } - id: freestyle-canada name: Freestyle Canada domain: freestylecanada.ski homepage: https://www.freestylecanada.ski categories: [sports, winter-sports] tier: D aliases: [freestyle canada] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: sitemap, url: "https://www.freestylecanada.ski/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000 } } - id: speed-skating-canada name: Speed Skating Canada domain: speedskating.ca homepage: https://speedskating.ca categories: [sports, winter-sports] tier: C aliases: [speed skating canada, patinage de vitesse canada] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://speedskating.ca/news/feed/", type: RSS, connector: rss, tier: C } - id: swimming-canada name: Swimming Canada domain: swimming.ca homepage: https://www.swimming.ca categories: [sports, aquatics] tier: C aliases: [swimming canada, natation canada] discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://www.swimming.ca/en/news/", type: HTML, connector: http, tier: C } - { name: sitemap index, url: "https://www.swimming.ca/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000, maxChildren: 11 } } - id: athletics-canada name: Athletics Canada domain: athletics.ca homepage: https://athletics.ca categories: [sports, athletics] tier: C aliases: [athletics canada, athlétisme canada] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://athletics.ca/feed/", type: RSS, connector: rss, tier: C, config: { maxItems: 60 } } - id: own-the-podium name: Own the Podium domain: ownthepodium.org homepage: https://www.ownthepodium.org categories: [sports, government] tier: D aliases: [own the podium, otp, à nous le podium] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://www.ownthepodium.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000 } } - id: canadian-olympic-committee name: Canadian Olympic Committee (Team Canada) domain: olympic.ca homepage: https://olympic.ca categories: [sports, olympics] tier: B weight: 1.1 aliases: [canadian olympic committee, coc, team canada, équipe canada, comité olympique canadien] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://olympic.ca/category/news/feed/", type: RSS, connector: rss, tier: B } - id: canadian-paralympic-committee name: Canadian Paralympic Committee domain: paralympic.ca homepage: https://paralympic.ca categories: [sports, olympics] tier: B aliases: [canadian paralympic committee, cpc, comité paralympique canadien] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://paralympic.ca/news/feed/", type: RSS, connector: rss, tier: B } - id: sports-quebec name: Sports Québec domain: sportsquebec.com homepage: https://www.sportsquebec.com categories: [sports, quebec] tier: C aliases: [sports québec, sportsquébec, jeux du québec] discover: { rss: true, sitemap: true } sensors: - { name: news feed, url: "https://www.sportsquebec.com/feed/", type: RSS, connector: rss, tier: C } - id: ins-quebec name: Institut national du sport du Québec domain: insquebec.org homepage: https://www.insquebec.org categories: [sports, quebec, research] tier: D aliases: [ins québec, institut national du sport du québec, insq] discover: { rss: true, sitemap: true, pages: true } llm: false sensors: - { name: nouvelles page, url: "https://www.insquebec.org/nouvelles/", type: HTML, connector: http, tier: D } - { name: sitemap, url: "https://www.insquebec.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000 } } - id: rseq name: RSEQ (Réseau du sport étudiant du Québec) domain: rseq.ca homepage: https://rseq.ca categories: [sports, quebec, education] tier: D aliases: [rseq, réseau du sport étudiant du québec] discover: { rss: true, sitemap: true } notes: "rseq.ca has no feed or news sitemap reachable (404 on /feed/, /nouvelles/) — no validated sensor (2026-09-08)." # ───────────────────────── H · Olympic movement, anti-doping, sport justice ───────────────────────── - id: ioc name: International Olympic Committee domain: olympics.com homepage: https://olympics.com/ioc categories: [sports, olympics, international] tier: A weight: 1.4 aliases: [ioc, cio, international olympic committee, comité international olympique, olympics, olympic games, milano cortina 2026] products: - { name: Milano Cortina 2026, type: service, aliases: [milan cortina 2026, winter olympics 2026] } discover: { rss: false, sitemap: false } notes: "olympics.com (incl. /ioc/news and milanocortina2026.olympics.com) never answers non-browser clients — Akamai holds the connection open; no validated sensor (2026-09-08)." - id: la28 name: LA28 Olympic & Paralympic Games domain: la28.org homepage: https://la28.org categories: [sports, olympics] tier: C aliases: [la28, los angeles 2028, la 2028] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://la28.org/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: ipc name: International Paralympic Committee domain: paralympic.org homepage: https://www.paralympic.org categories: [sports, olympics, international] tier: B aliases: [ipc, international paralympic committee, paralympics, paralympic games] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.paralympic.org/news", type: HTML, connector: http, tier: B } - id: commonwealth-sport name: Commonwealth Sport domain: commonwealthsport.com homepage: https://www.commonwealthsport.com categories: [sports, international] tier: C aliases: [commonwealth sport, commonwealth games, glasgow 2026] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.commonwealthsport.com/news", type: HTML, connector: http, tier: C } - id: wada name: World Anti-Doping Agency domain: wada-ama.org homepage: https://www.wada-ama.org categories: [sports, anti-doping, international] tier: B weight: 1.2 aliases: [wada, ama, agence mondiale antidopage, world anti-doping agency] discover: { rss: false, sitemap: false } notes: "wada-ama.org returns HTTP 202 with an empty body to non-browser clients (bot challenge) — no validated sensor (2026-09-08)." - id: usada name: U.S. Anti-Doping Agency domain: usada.org homepage: https://www.usada.org categories: [sports, anti-doping] tier: B aliases: [usada] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: news feed, url: "https://www.usada.org/feed/", type: RSS, connector: rss, tier: B } - { name: news page, url: "https://www.usada.org/news/", type: HTML, connector: http, tier: C } - id: cces name: Sport Integrity Canada (CCES) domain: sportintegrity.ca homepage: https://sportintegrity.ca categories: [sports, anti-doping] tier: B aliases: [cces, canadian centre for ethics in sport, centre canadien pour l'éthique dans le sport, sport integrity canada] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: media releases page, url: "https://sportintegrity.ca/news", type: HTML, connector: http, tier: B } - { name: rss feed, url: "https://sportintegrity.ca/rss.xml", type: RSS, connector: rss, tier: B } - id: cas name: Court of Arbitration for Sport (CAS/TAS) domain: tas-cas.org homepage: https://www.tas-cas.org categories: [sports, legal, international] tier: B weight: 1.1 aliases: [cas, tas, court of arbitration for sport, tribunal arbitral du sport] discover: { rss: false, sitemap: false } notes: "tas-cas.org is a client-rendered shell (media releases list, sitemap.xml and RSS paths all return the same 25 KB HTML) — no validated sensor (2026-09-08)." # ───────────────────────── I · Canadian teams & venues ───────────────────────── - id: montreal-canadiens name: Montreal Canadiens domain: nhl.com homepage: https://www.nhl.com/canadiens categories: [sports, hockey, quebec] tier: B weight: 1.2 aliases: [canadiens, montreal canadiens, canadiens de montréal, habs, ch] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/canadiens/news", type: HTML, connector: http, tier: B } - id: toronto-maple-leafs name: Toronto Maple Leafs domain: nhl.com homepage: https://www.nhl.com/mapleleafs categories: [sports, hockey] tier: B weight: 1.1 aliases: [maple leafs, toronto maple leafs, leafs] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/mapleleafs/news", type: HTML, connector: http, tier: B } - id: ottawa-senators name: Ottawa Senators domain: nhl.com homepage: https://www.nhl.com/senators categories: [sports, hockey] tier: C aliases: [senators, ottawa senators, sens] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/senators/news", type: HTML, connector: http, tier: C } - id: vancouver-canucks name: Vancouver Canucks domain: nhl.com homepage: https://www.nhl.com/canucks categories: [sports, hockey] tier: C aliases: [canucks, vancouver canucks] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/canucks/news", type: HTML, connector: http, tier: C } - id: edmonton-oilers name: Edmonton Oilers domain: nhl.com homepage: https://www.nhl.com/oilers categories: [sports, hockey] tier: C aliases: [oilers, edmonton oilers] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/oilers/news", type: HTML, connector: http, tier: C } - id: calgary-flames name: Calgary Flames domain: nhl.com homepage: https://www.nhl.com/flames categories: [sports, hockey] tier: C aliases: [flames, calgary flames] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/flames/news", type: HTML, connector: http, tier: C } - id: winnipeg-jets name: Winnipeg Jets domain: nhl.com homepage: https://www.nhl.com/jets categories: [sports, hockey] tier: C aliases: [jets, winnipeg jets] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.nhl.com/jets/news", type: HTML, connector: http, tier: C } - id: toronto-blue-jays name: Toronto Blue Jays domain: mlb.com homepage: https://www.mlb.com/bluejays categories: [sports, baseball] tier: B weight: 1.1 aliases: [blue jays, toronto blue jays, jays] discover: { rss: false, sitemap: false } llm: false sensors: - { name: news feed, url: "https://www.mlb.com/bluejays/feeds/news/rss.xml", type: RSS, connector: rss, tier: B } - id: cf-montreal name: CF Montréal domain: cfmontreal.com homepage: https://www.cfmontreal.com categories: [sports, soccer, quebec] tier: B aliases: [cf montréal, cf montreal, impact de montréal, montreal impact] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: stories sitemap, url: "https://www.cfmontreal.com/sitemap-stories.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: toronto-fc name: Toronto FC domain: torontofc.ca homepage: https://www.torontofc.ca categories: [sports, soccer] tier: C aliases: [toronto fc, tfc] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: stories sitemap, url: "https://www.torontofc.ca/sitemap-stories.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.torontofc.ca/news/", type: HTML, connector: http, tier: C } - id: vancouver-whitecaps name: Vancouver Whitecaps FC domain: whitecapsfc.com homepage: https://www.whitecapsfc.com categories: [sports, soccer] tier: C aliases: [whitecaps, vancouver whitecaps] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: stories sitemap, url: "https://www.whitecapsfc.com/sitemap-stories.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - { name: news page, url: "https://www.whitecapsfc.com/news/", type: HTML, connector: http, tier: C } - id: montreal-alouettes name: Alouettes de Montréal domain: montrealalouettes.com homepage: https://montrealalouettes.com categories: [sports, football, quebec] tier: C aliases: [alouettes, montreal alouettes, alouettes de montréal] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: actualités page, url: "https://montrealalouettes.com/actualites", type: HTML, connector: http, tier: C } - { name: sitemap, url: "https://montrealalouettes.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: toronto-argonauts name: Toronto Argonauts domain: argonauts.ca homepage: https://argonauts.ca categories: [sports, football] tier: C aliases: [argonauts, toronto argonauts, argos] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://argonauts.ca/news", type: HTML, connector: http, tier: C } - { name: sitemap, url: "https://argonauts.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: montreal-victoire name: Montréal Victoire (PWHL) domain: thepwhl.com homepage: https://www.thepwhl.com/en/victoire categories: [sports, hockey, quebec] tier: C aliases: [victoire, montréal victoire, montreal victoire, victoire de montréal] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: news page, url: "https://www.thepwhl.com/en/victoire/news", type: HTML, connector: http, tier: C } - id: canadian-grand-prix name: Formula 1 Grand Prix du Canada domain: gpcanada.ca homepage: https://gpcanada.ca categories: [sports, motorsport, quebec] tier: C aliases: [canadian grand prix, grand prix du canada, gp du canada, circuit gilles-villeneuve] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://gpcanada.ca/sitemap.php", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: mlse name: Maple Leaf Sports & Entertainment domain: mlse.com homepage: https://www.mlse.com categories: [sports, entertainment] tier: C aliases: [mlse, maple leaf sports & entertainment, scotiabank arena, toronto raptors, raptors, bmo field, rogers centre] products: - { name: Toronto Raptors, type: service, aliases: [raptors, toronto raptors] } discover: { rss: false, sitemap: true, pages: true } llm: false notes: "nba.com/raptors returns 404 to non-browser clients (client-rendered team hub) — Raptors covered via MLSE + NBA." sensors: - { name: sitemap, url: "https://www.mlse.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: groupe-ch name: Groupe CH / Centre Bell domain: centrebell.ca homepage: https://centrebell.ca categories: [sports, entertainment, quebec] tier: D aliases: [groupe ch, centre bell, bell centre, place bell] discover: { rss: false, sitemap: true } llm: false notes: "groupech.com exposes no feed or sitemap; the Bell Centre pages sitemap is the structured endpoint." sensors: - { name: pages sitemap, url: "https://centrebell.ca/sitemap/pages.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 1000 } } - id: evenko name: evenko domain: evenko.ca homepage: https://evenko.ca categories: [entertainment, sports, quebec] tier: C aliases: [evenko, osheaga, ilesoniq, lasso] discover: { rss: false, sitemap: true } llm: false sensors: - { name: events sitemap index, url: "https://evenko.ca/server-sitemap-index.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000, maxChildren: 3 } } # ───────────────────────── J · Sports media ───────────────────────── - id: espn name: ESPN domain: espn.com homepage: https://www.espn.com categories: [sports, media, news] tier: A weight: 1.3 aliases: [espn] discover: { rss: true, sitemap: false } llm: false sensors: - { name: top news feed, url: "https://www.espn.com/espn/rss/news", type: RSS, connector: rss, tier: A, config: { maxItems: 60 } } - { name: nhl news feed, url: "https://www.espn.com/espn/rss/nhl/news", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } } - id: nytimes extend: true aliases: [the athletic] products: - { name: The Athletic, type: product, aliases: [the athletic, athletic] } sensors: - { name: the athletic headlines feed, url: "https://www.nytimes.com/athletic/rss/news/", type: RSS, connector: rss, tier: A, config: { maxItems: 100 } } - id: bbc-news extend: true sensors: - { name: bbc sport feed, url: "https://feeds.bbci.co.uk/sport/rss.xml", type: RSS, connector: rss, tier: A, config: { maxItems: 60 } } - id: sportsnet name: Sportsnet domain: sportsnet.ca homepage: https://www.sportsnet.ca categories: [sports, media, news] tier: A weight: 1.1 aliases: [sportsnet, rogers sportsnet] discover: { rss: true, sitemap: false } llm: false sensors: - { name: news feed, url: "https://www.sportsnet.ca/feed/", type: RSS, connector: rss, tier: A, config: { maxItems: 80 } } - id: tsn name: TSN domain: tsn.ca homepage: https://www.tsn.ca categories: [sports, media, news] tier: A weight: 1.1 aliases: [tsn, the sports network] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed, url: "https://www.tsn.ca/arc/outboundfeeds/rss/", type: RSS, connector: rss, tier: A, config: { maxItems: 80 } } - { name: latest news sitemap, url: "https://www.tsn.ca/arc/outboundfeeds/sitemap-news/latest/", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 1000 } } - id: rds name: RDS domain: rds.ca homepage: https://www.rds.ca categories: [sports, media, news, quebec] tier: A weight: 1.1 aliases: [rds, réseau des sports] discover: { rss: true, sitemap: true } llm: false sensors: - { name: fil de nouvelles, url: "https://www.rds.ca/arc/outboundfeeds/rss/", type: RSS, connector: rss, tier: A, config: { maxItems: 80 } } - { name: latest news sitemap, url: "https://www.rds.ca/arc/outboundfeeds/sitemap-news/latest/", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 1000 } } - id: bleacher-report name: Bleacher Report domain: bleacherreport.com homepage: https://bleacherreport.com categories: [sports, media, news] tier: B aliases: [bleacher report, b/r] discover: { rss: true, sitemap: true } llm: false sensors: - { name: front page feed, url: "https://feeds.bleacherreport.com/articles", type: RSS, connector: rss, tier: B, config: { maxItems: 100 } } - { name: google news sitemap, url: "https://bleacherreport.com/sitemaps/google-news", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 1000 } } - id: sports-illustrated name: Sports Illustrated domain: si.com homepage: https://www.si.com categories: [sports, media, news] tier: B aliases: [sports illustrated, si] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed, url: "https://www.si.com/feed", type: RSS, connector: rss, tier: B, config: { maxItems: 100 } } - { name: news sitemap, url: "https://www.si.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 1000 } } - id: lequipe name: L'Équipe domain: lequipe.fr homepage: https://www.lequipe.fr categories: [sports, media, news] tier: A weight: 1.1 aliases: [l'équipe, lequipe] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news sitemap, url: "https://www.lequipe.fr/dynamic-sitemap/sitemap_news.xml", type: SITEMAP, connector: sitemap, tier: A, config: { maxUrls: 1000 } } - id: marca name: Marca domain: marca.com homepage: https://www.marca.com categories: [sports, media, news] tier: B aliases: [marca, diario marca] discover: { rss: true, sitemap: true } llm: false sensors: - { name: portada feed, url: "https://www.marca.com/rss/googlenews/portada.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 80 } } - id: kicker name: kicker domain: kicker.de homepage: https://www.kicker.de categories: [sports, media, news] tier: B aliases: [kicker, kicker sportmagazin] discover: { rss: true, sitemap: true } llm: false sensors: - { name: aktuell feed, url: "https://newsfeed.kicker.de/news/aktuell", type: RSS, connector: rss, tier: B, config: { maxItems: 80 } } - { name: google news sitemap, url: "https://newsfeed.kicker.de/googlesitemapnews.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 1000 } } - id: sky-sports name: Sky Sports domain: skysports.com homepage: https://www.skysports.com categories: [sports, media, news] tier: A weight: 1.1 aliases: [sky sports] discover: { rss: true, sitemap: true } llm: false sensors: - { name: news feed, url: "https://www.skysports.com/rss/12040", type: RSS, connector: rss, tier: A, config: { maxItems: 80 } } - { name: news wire page, url: "https://www.skysports.com/news-wire", type: HTML, connector: http, tier: B } # ───────────────────────── K · Sports data & betting ───────────────────────── - id: stats-perform name: Stats Perform (Opta) domain: statsperform.com homepage: https://www.statsperform.com categories: [sports, technology, media] tier: C aliases: [stats perform, opta, opta sports] products: - { name: Opta, type: product, aliases: [opta, opta data] } discover: { rss: true, sitemap: true } sensors: - { name: news sitemap, url: "https://www.statsperform.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: sportradar name: Sportradar domain: sportradar.com homepage: https://sportradar.com categories: [sports, technology, finance] tier: C weight: 1.1 aliases: [sportradar] discover: { rss: true, sitemap: true, status: true, pages: true } notes: "status.sportradar.com does not answer non-browser clients (2026-09-08)." sensors: - { name: news page, url: "https://sportradar.com/content-type/news/", type: HTML, connector: http, tier: C } - id: genius-sports name: Genius Sports domain: geniussports.com homepage: https://www.geniussports.com categories: [sports, technology, finance] tier: C aliases: [genius sports] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: newsroom page, url: "https://www.geniussports.com/newsroom/", type: HTML, connector: http, tier: C } - id: draftkings name: DraftKings domain: draftkings.com homepage: https://www.draftkings.com categories: [sports, betting, finance] tier: C weight: 1.1 aliases: [draftkings, dk] discover: { rss: false, sitemap: false, status: false } notes: "draftkings.com is 403 (Akamai), status.draftkings.com has no Statuspage API, the IR host (gcs-web) drops the connection — no validated sensor (2026-09-08)." - id: fanduel name: FanDuel domain: fanduel.com homepage: https://www.fanduel.com categories: [sports, betting] tier: C weight: 1.1 aliases: [fanduel] discover: { rss: false, sitemap: true, status: false } llm: false notes: "status.fanduel.com answers 403 to the Statuspage API; only the CMS sitemap is reachable." sensors: - { name: cms sitemap, url: "https://www.fanduel.com/cms-sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: flutter-entertainment name: Flutter Entertainment domain: flutter.com homepage: https://www.flutter.com categories: [sports, betting, finance] tier: C weight: 1.1 aliases: [flutter, flutter entertainment, paddy power, betfair, sky bet, pokerstars] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: news and insights page, url: "https://www.flutter.com/news-and-insights/", type: HTML, connector: http, tier: C } - { name: sitemap, url: "https://www.flutter.com/sitemap-xml/", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: entain name: Entain domain: entaingroup.com homepage: https://www.entaingroup.com categories: [sports, betting, finance] tier: C aliases: [entain, ladbrokes, coral, bwin, sports interaction] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: sitemap, url: "https://www.entaingroup.com/xmlsitemap", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: bet365 name: bet365 domain: bet365.com homepage: https://www.bet365.com categories: [sports, betting] tier: C aliases: [bet365] discover: { rss: false, sitemap: false } notes: "bet365.com exposes no feed, sitemap or server-rendered news page — no validated sensor (2026-09-08)." - id: betway name: Betway domain: betway.com homepage: https://www.betway.com categories: [sports, betting] tier: D aliases: [betway, super group] discover: { rss: false, sitemap: false } notes: "betway.com exposes no feed, sitemap or server-rendered news page — no validated sensor (2026-09-08)." - id: kambi name: Kambi domain: kambi.com homepage: https://www.kambi.com categories: [sports, betting, technology] tier: D aliases: [kambi, kambi group] discover: { rss: false, sitemap: true } llm: false notes: "kambi.com/feed/ returns 500; the WordPress sitemap index is the structured endpoint." sensors: - { name: sitemap index, url: "https://www.kambi.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000, maxChildren: 17 } } - id: evolution name: Evolution (Evolution Gaming) domain: evolution.com homepage: https://www.evolution.com categories: [gaming, betting, finance] tier: C aliases: [evolution, evolution gaming, evolution ab] discover: { rss: false, sitemap: true, pages: true } sensors: - { name: newsroom page, url: "https://www.evolution.com/news", type: HTML, connector: http, tier: C } - id: igaming-ontario name: iGaming Ontario domain: igamingontario.ca homepage: https://igamingontario.ca categories: [betting, government, sports] tier: C aliases: [igaming ontario, igo] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: news page, url: "https://igamingontario.ca/en/news", type: HTML, connector: http, tier: C } - id: agco-ontario name: Alcohol and Gaming Commission of Ontario domain: agco.ca homepage: https://www.agco.ca categories: [betting, government] tier: C aliases: [agco, alcohol and gaming commission of ontario] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://www.agco.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000, maxChildren: 3 } } - id: loto-quebec name: Loto-Québec domain: lotoquebec.com homepage: https://www.lotoquebec.com categories: [betting, government, quebec] tier: C weight: 1.1 aliases: [loto-québec, loto quebec, mise-o-jeu, espacejeux] products: - { name: Mise-o-jeu, type: product, aliases: [mise-o-jeu, mise o jeu] } discover: { rss: true, sitemap: true, pages: true } notes: "No press-release feed or sitemap reachable on lotoquebec.com / societe.lotoquebec.com (salle de presse returns 404 to non-browser clients); Mise-o-jeu host does not answer — no validated sensor (2026-09-08)." - id: bclc name: British Columbia Lottery Corporation domain: bclc.com homepage: https://www.bclc.com categories: [betting, government] tier: D aliases: [bclc, playnow] discover: { rss: false, sitemap: false } notes: "bclc.com and corporate.bclc.com answer 403 to non-browser clients — no validated sensor (2026-09-08)." - id: olg name: Ontario Lottery and Gaming Corporation domain: olg.ca homepage: https://www.olg.ca categories: [betting, government] tier: C aliases: [olg, proline, ontario lottery and gaming] discover: { rss: false, sitemap: true, pages: true } llm: false sensors: - { name: news page, url: "https://about.olg.ca/news/", type: HTML, connector: http, tier: C } - { name: sitemap (en), url: "https://www.olg.ca/content/olg/en.sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000 } } - id: nevada-gaming-control-board name: Nevada Gaming Control Board domain: gaming.nv.gov homepage: https://www.gaming.nv.gov categories: [betting, government] tier: C aliases: [nevada gaming control board, ngcb, nevada gaming commission] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://www.gaming.nv.gov/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } } - id: uk-gambling-commission name: UK Gambling Commission domain: gamblingcommission.gov.uk homepage: https://www.gamblingcommission.gov.uk categories: [betting, government, legal] tier: C weight: 1.1 aliases: [gambling commission, ukgc, uk gambling commission] discover: { rss: true, sitemap: false, pages: true } sensors: - { name: news page, url: "https://www.gamblingcommission.gov.uk/news", type: HTML, connector: http, tier: C } # ───────────────────────── L · Gear & fitness ───────────────────────── - id: peloton extend: true categories: [sports, consumer-tech, fitness] aliases: [peloton, peloton interactive] sensors: - {connector: statuspage, name: status, tier: S, type: STATUSPAGE, url: 'https://status.onepeloton.com/api/v2/summary.json'} - {connector: http, name: blog page, tier: C, type: HTML, url: 'https://www.onepeloton.com/blog'} - id: garmin extend: true categories: [sports, consumer-tech, fitness] aliases: [garmin, garmin connect] notes: "status.garmin.com does not answer non-browser clients (2026-09-08)." products: [{aliases: [garmin connect], name: Garmin Connect, type: service}] sensors: - {connector: rss, name: blog feed, tier: B, type: RSS, url: 'https://www.garmin.com/en-CA/blog/feed/'} - {connector: http, name: newsroom page, tier: B, type: HTML, url: 'https://www.garmin.com/en-US/newsroom/'} - id: strava name: Strava domain: strava.com homepage: https://www.strava.com categories: [sports, consumer-tech, fitness] tier: B aliases: [strava] discover: { rss: true, sitemap: false, status: true, pages: true } sensors: - { name: status, url: "https://status.strava.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: press page, url: "https://press.strava.com/", type: HTML, connector: http, tier: C } - { name: pricing, url: "https://www.strava.com/pricing", type: HTML, connector: http, tier: C } - id: whoop name: WHOOP domain: whoop.com homepage: https://www.whoop.com categories: [sports, consumer-tech, fitness] tier: B aliases: [whoop] discover: { rss: false, sitemap: false, status: true } notes: "whoop.com pages and sitemap answer 403 to non-browser clients; only the Statuspage API is open." sensors: - { name: status, url: "https://status.whoop.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - id: oura name: Oura domain: ouraring.com homepage: https://ouraring.com categories: [sports, consumer-tech, fitness, health] tier: B aliases: [oura, oura ring] discover: { rss: true, sitemap: true, status: true, pages: true } sensors: - { name: status, url: "https://status.ouraring.com/api/v2/summary.json", type: STATUSPAGE, connector: statuspage, tier: S } - { name: blog feed, url: "https://ouraring.com/blog/feed/", type: RSS, connector: rss, tier: B } - { name: newsroom page, url: "https://ouraring.com/newsroom", type: HTML, connector: http, tier: C } - id: under-armour name: Under Armour domain: underarmour.com homepage: https://www.underarmour.com categories: [sports, retail, consumer-tech] tier: C aliases: [under armour, ua] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap index, url: "https://www.underarmour.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000, maxChildren: 8 } } - id: puma name: PUMA domain: about.puma.com homepage: https://about.puma.com categories: [sports, retail, finance] tier: C weight: 1.1 aliases: [puma, puma se] discover: { rss: true, sitemap: true, pages: true } sensors: - { name: corporate news feed, url: "https://about.puma.com/en/rss.xml", type: RSS, connector: rss, tier: B } - id: new-balance name: New Balance domain: newbalance.com homepage: https://www.newbalance.com categories: [sports, retail] tier: D aliases: [new balance] discover: { rss: false, sitemap: false } notes: "newbalance.com answers 403 to non-browser clients and the newsroom host does not respond — no validated sensor (2026-09-08)." - id: decathlon name: Decathlon domain: decathlon.com homepage: https://www.decathlon.com categories: [sports, retail] tier: D aliases: [decathlon] discover: { rss: false, sitemap: false } notes: "decathlon.com (Shopify) rate-limits sitemap fetches with 429 — no validated sensor (2026-09-08)." - id: bauer name: Bauer Hockey domain: bauer.com homepage: https://www.bauer.com categories: [sports, retail, hockey] tier: D aliases: [bauer, bauer hockey] discover: { rss: false, sitemap: false } notes: "bauer.com (Shopify) rate-limits sitemap fetches with 429 and has no news page — no validated sensor (2026-09-08)." - id: ccm-hockey name: CCM Hockey domain: ccmhockey.com homepage: https://ccmhockey.com categories: [sports, retail, hockey, quebec] tier: D aliases: [ccm, ccm hockey] discover: { rss: false, sitemap: false } notes: "ccmhockey.com/feed/ returns 500 and the sitemap index only lists European storefront locales (no en-ca/en-us, no news) — no validated sensor (2026-09-08)." - id: wilson name: Wilson Sporting Goods domain: wilson.com homepage: https://www.wilson.com categories: [sports, retail] tier: D aliases: [wilson, wilson sporting goods, amer sports] discover: { rss: false, sitemap: false } notes: "wilson.com and salomon.com (Amer Sports) answer 403 to non-browser clients on news and sitemap paths — no validated sensor (2026-09-08)." - id: rawlings name: Rawlings domain: rawlings.com homepage: https://www.rawlings.com categories: [sports, retail, baseball] tier: D aliases: [rawlings] discover: { rss: false, sitemap: false, pages: true } llm: false sensors: - { name: blog page, url: "https://www.rawlings.com/blog", type: HTML, connector: http, tier: D } - id: callaway name: Callaway Golf (Topgolf Callaway Brands) domain: callawaygolf.com homepage: https://www.callawaygolf.com categories: [sports, retail, golf] tier: D aliases: [callaway, callaway golf, topgolf callaway brands] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://www.callawaygolf.com/sitemap_0.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000 } } - id: ping name: PING domain: ping.com homepage: https://ping.com categories: [sports, retail, golf] tier: D aliases: [ping, ping golf] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap (en-us), url: "https://ping.com/en-us/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 2000 } } - id: rossignol name: Rossignol domain: rossignol.com homepage: https://www.rossignol.com categories: [sports, retail, winter-sports] tier: D aliases: [rossignol, groupe rossignol] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap index, url: "https://www.rossignol.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000, maxChildren: 5 } } - id: salomon name: Salomon domain: salomon.com homepage: https://www.salomon.com categories: [sports, retail, winter-sports] tier: D aliases: [salomon] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap index, url: "https://www.salomon.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000, maxChildren: 5 } } - id: arcteryx name: Arc'teryx domain: arcteryx.com homepage: https://arcteryx.com categories: [sports, retail] tier: D aliases: [arc'teryx, arcteryx] discover: { rss: false, sitemap: true } llm: false sensors: - { name: sitemap, url: "https://arcteryx.com/sitemap_1.xml", type: SITEMAP, connector: sitemap, tier: D, config: { maxUrls: 3000 } } - id: lululemon extend: true categories: [sports, retail, finance] aliases: [lululemon, lululemon athletica] notes: "corporate.lululemon.com / investor.lululemon.com (Q4 IR) answer 403 to non-browser clients and shop.lululemon.com drops the connection — no validated sensor (2026-09-08)."