TypeScript 55.4%
Python 43.2%
SQL 1.2%
1# config/sources.d/14-retail-consumer-travel.yaml — retail & marketplaces, consumer brands, food & beverage,2# restaurants, hospitality & travel platforms, delivery, automotive retail, loyalty (added 2026-09-08).3# Every sensor below was fetched and parsed by apps/engine/src/validate.ts before being written. Investor-relations4# feeds hosted on Q4 behind a Cloudflare challenge (Costco, Best Buy, Kroger IR, eBay IR, Wayfair, Chewy, Canadian5# Tire, Aritzia, Roots, General Mills, Molson Coors, Kimberly-Clark, Whirlpool, Mattel, GoPro, Crocs, CarMax,6# Gap, Levi's, Hyatt IR, RBI, Starbucks, Yum, Wendy's, Darden, Booking, Uber IR, DoorDash IR) are NOT sensors —7# they are listed in `notes:`. `robots.txt` sensors (tier D) on the large marketplaces track AI-crawler policy shifts.89sources:10 # ───────────────────────── A · Retailers & marketplaces ─────────────────────────11 - id: amazon12 name: Amazon13 domain: amazon.com14 homepage: https://www.aboutamazon.com15 categories: [retail, commerce, technology]16 tier: A17 weight: 1.518 aliases: [amazon.com, amazon inc]19 products:20 - { name: Amazon Prime, type: service, aliases: [prime] }21 - { name: Alexa, type: product }22 - { name: Kindle, type: product }23 - { name: Amazon Marketplace, type: service, aliases: [amazon marketplace, amazon sellers] }24 discover: { rss: true, sitemap: true, pages: true }25 notes: "AWS is the separate `aws` source. press.aboutamazon.com/rss/news-releases.xml and ir.aboutamazon.com (Q4, Cloudflare challenge) are not reachable; the About Amazon newsroom feed is."26 sensors:27 - { name: news feed, url: "https://www.aboutamazon.com/rss/feed.rss", type: RSS, connector: rss, tier: A }28 - { name: crawler policy (robots.txt), url: "https://www.amazon.com/robots.txt", type: FILE, connector: http, tier: D }29 - id: walmart30 name: Walmart31 domain: walmart.com32 homepage: https://corporate.walmart.com33 categories: [retail, commerce]34 tier: B35 weight: 1.336 aliases: [walmart inc, wal-mart]37 products:38 - { name: Walmart+, type: service, aliases: [walmart plus] }39 - { name: Sam's Club, type: product, aliases: [sams club] }40 discover: { rss: true, sitemap: true, pages: true }41 notes: "No RSS on corporate.walmart.com or stock.walmart.com (Q4 404); newsroom index page + robots."42 sensors:43 - { name: newsroom, url: "https://corporate.walmart.com/content/corporate/en_us/news.html", type: HTML, connector: http, tier: B }44 - { name: crawler policy (robots.txt), url: "https://www.walmart.com/robots.txt", type: FILE, connector: http, tier: D }45 - id: target46 name: Target47 domain: target.com48 homepage: https://corporate.target.com49 categories: [retail, commerce]50 tier: B51 weight: 1.252 aliases: [target corporation, target corp]53 discover: { rss: true, sitemap: true }54 sensors:55 - { name: press releases feed, url: "https://corporate.target.com/feeds/pressreleases", type: RSS, connector: rss, tier: B }56 - { name: news feed, url: "https://corporate.target.com/feeds/news", type: RSS, connector: rss, tier: B }57 - { name: crawler policy (robots.txt), url: "https://www.target.com/robots.txt", type: FILE, connector: http, tier: D }58 - id: costco59 name: Costco60 domain: costco.com61 homepage: https://investor.costco.com62 categories: [retail, commerce]63 tier: B64 weight: 1.265 aliases: [costco wholesale]66 discover: { rss: true, sitemap: true }67 notes: "investor.costco.com (Q4) sits behind a Cloudflare challenge; costco.com times out for bots. No validated sensor yet."68 - id: home-depot69 name: The Home Depot70 domain: homedepot.com71 homepage: https://corporate.homedepot.com72 categories: [retail, commerce]73 tier: B74 weight: 1.275 aliases: [home depot]76 discover: { rss: true, sitemap: true }77 sensors:78 - { name: investor news feed, url: "https://ir.homedepot.com/rss/news-releases.xml", type: RSS, connector: rss, tier: B }79 - { name: crawler policy (robots.txt), url: "https://www.homedepot.com/robots.txt", type: FILE, connector: http, tier: D }80 - id: lowes81 name: Lowe's82 domain: lowes.com83 homepage: https://corporate.lowes.com84 categories: [retail, commerce]85 tier: B86 aliases: [lowes, lowe's companies]87 discover: { rss: true, sitemap: true, pages: true }88 notes: "corporate.lowes.com newsroom has no feed (Akamai on lowes.com)."89 sensors:90 - { name: newsroom, url: "https://corporate.lowes.com/newsroom", type: HTML, connector: http, tier: B }91 - id: kroger92 name: Kroger93 domain: thekrogerco.com94 categories: [retail, food]95 tier: B96 aliases: [the kroger co]97 discover: { rss: true }98 notes: "ir.kroger.com (Q4) behind a Cloudflare challenge; corporate WordPress feed works."99 sensors:100 - { name: newsroom feed, url: "https://www.thekrogerco.com/feed/", type: RSS, connector: rss, tier: B }101 - id: best-buy102 name: Best Buy103 domain: bestbuy.com104 homepage: https://corporate.bestbuy.com105 categories: [retail, consumer-tech]106 tier: B107 aliases: [bestbuy]108 discover: { rss: true }109 notes: "investors.bestbuy.com (Q4) behind a Cloudflare challenge."110 sensors:111 - { name: corporate news feed, url: "https://corporate.bestbuy.com/feed/", type: RSS, connector: rss, tier: B }112 - { name: crawler policy (robots.txt), url: "https://www.bestbuy.com/robots.txt", type: FILE, connector: http, tier: D }113 - id: ikea114 name: IKEA115 domain: ikea.com116 categories: [retail, consumer]117 tier: B118 weight: 1.1119 aliases: [ingka, inter ikea]120 discover: { rss: true, sitemap: true, pages: true }121 notes: "Newsroom (ikea.com/global/en/newsroom) is client-rendered, no feed."122 sensors:123 - { name: crawler policy (robots.txt), url: "https://www.ikea.com/robots.txt", type: FILE, connector: http, tier: D }124 - id: loblaw125 name: Loblaw Companies126 domain: loblaw.ca127 categories: [retail, food]128 tier: B129 weight: 1.1130 aliases: [loblaws, loblaw companies limited]131 products:132 - { name: PC Optimum, type: service, aliases: [pc optimum] }133 - { name: Shoppers Drug Mart, type: product, aliases: [shoppers, pharmaprix] }134 - { name: No Frills, type: product }135 discover: { rss: true, sitemap: true, pages: true }136 sensors:137 - { name: our stories, url: "https://www.loblaw.ca/en/our-stories/", type: HTML, connector: http, tier: B }138 - id: empire-sobeys139 name: Empire Company (Sobeys)140 domain: empireco.ca141 categories: [retail, food]142 tier: B143 aliases: [empire, sobeys, iga, safeway canada]144 products:145 - { name: Scene+, type: service, aliases: [scene plus] }146 - { name: Voilà, type: service, aliases: [voila] }147 discover: { rss: true, sitemap: true, pages: true }148 sensors:149 - { name: news releases, url: "https://www.empireco.ca/news", type: HTML, connector: http, tier: B }150 - id: dollarama151 name: Dollarama152 domain: dollarama.com153 categories: [retail]154 tier: B155 discover: { rss: true, sitemap: true }156 sensors:157 - { name: corporate content sitemap, url: "https://www.dollarama.com/sitemap_content.xml", type: SITEMAP, connector: sitemap, tier: B }158 - id: couche-tard159 name: Alimentation Couche-Tard160 domain: couche-tard.com161 homepage: https://corporate.couche-tard.com162 categories: [retail]163 tier: B164 aliases: [couche-tard, circle k]165 products:166 - { name: Circle K, type: product }167 discover: { rss: true, sitemap: true, pages: true }168 sensors:169 - { name: newsroom, url: "https://corporate.couche-tard.com/newsroom", type: HTML, connector: http, tier: B }170 - id: aldi171 name: ALDI172 domain: aldi.us173 homepage: https://corporate.aldi.us174 categories: [retail, food]175 tier: B176 aliases: [aldi us, aldi süd, aldi nord]177 discover: { rss: true, sitemap: true, pages: true }178 notes: "aldi.co.uk newsroom is 403 to bots."179 sensors:180 - { name: US newsroom, url: "https://corporate.aldi.us/newsroom", type: HTML, connector: http, tier: B }181 - id: carrefour182 name: Carrefour183 domain: carrefour.com184 categories: [retail, food]185 tier: B186 weight: 1.1187 aliases: [groupe carrefour]188 discover: { rss: true, sitemap: true }189 sensors:190 - { name: news feed, url: "https://www.carrefour.com/en/rss.xml", type: RSS, connector: rss, tier: B }191 - id: hm-group192 name: H&M Group193 domain: hmgroup.com194 categories: [retail, consumer]195 tier: B196 aliases: [h&m, hennes & mauritz, h and m]197 discover: { rss: true, sitemap: true }198 sensors:199 - { name: news feed, url: "https://hmgroup.com/feed/", type: RSS, connector: rss, tier: B }200 - id: seven-and-i201 name: Seven & i Holdings202 domain: 7andi.com203 categories: [retail]204 tier: B205 aliases: [seven & i, 7-eleven, seven eleven, 7&i]206 products:207 - { name: 7-Eleven, type: product, aliases: [seven eleven] }208 discover: { rss: true }209 sensors:210 - { name: news feed, url: "https://www.7andi.com/rss/en_news.xml", type: RSS, connector: rss, tier: B }211 - id: alibaba212 name: Alibaba Group213 domain: alibabagroup.com214 categories: [commerce, retail, technology]215 tier: B216 weight: 1.3217 aliases: [alibaba, taobao, tmall, aliexpress]218 products:219 - { name: AliExpress, type: service }220 - { name: Taobao, type: service }221 - { name: Tmall, type: service }222 - { name: Alizila, type: product }223 discover: { rss: true, sitemap: true }224 notes: "alibabagroup.com is client-rendered; Alizila (official news site) has a WordPress feed."225 sensors:226 - { name: alizila news feed, url: "https://www.alizila.com/feed/", type: RSS, connector: rss, tier: B }227 - { name: alibaba.com crawler policy (robots.txt), url: "https://www.alibaba.com/robots.txt", type: FILE, connector: http, tier: D }228 - { name: aliexpress crawler policy (robots.txt), url: "https://www.aliexpress.com/robots.txt", type: FILE, connector: http, tier: D }229 - id: etsy230 name: Etsy231 domain: etsy.com232 homepage: https://investors.etsy.com233 categories: [commerce, retail]234 tier: B235 aliases: [etsy inc]236 discover: { rss: true }237 sensors:238 - { name: press releases feed, url: "https://investors.etsy.com/news-events/press-releases/rss", type: RSS, connector: rss, tier: B }239 - { name: crawler policy (robots.txt), url: "https://www.etsy.com/robots.txt", type: FILE, connector: http, tier: D }240 - id: ebay241 name: eBay242 domain: ebay.com243 homepage: https://www.ebayinc.com244 categories: [commerce, retail]245 tier: B246 weight: 1.1247 aliases: [ebay inc]248 discover: { rss: true }249 notes: "investors.ebayinc.com (Q4) behind a Cloudflare challenge; ebayinc.com stories feed works."250 sensors:251 - { name: news feed, url: "https://www.ebayinc.com/stories/news/rss/", type: RSS, connector: rss, tier: B }252 - { name: crawler policy (robots.txt), url: "https://www.ebay.com/robots.txt", type: FILE, connector: http, tier: D }253 - id: rakuten254 name: Rakuten Group255 domain: rakuten.co.jp256 homepage: https://global.rakuten.com/corp/257 categories: [commerce, retail, internet]258 tier: B259 aliases: [rakuten]260 discover: { rss: true }261 sensors:262 - { name: press releases feed, url: "https://global.rakuten.com/corp/rss/press.xml", type: RSS, connector: rss, tier: B }263 - { name: crawler policy (robots.txt), url: "https://www.rakuten.co.jp/robots.txt", type: FILE, connector: http, tier: D }264 - id: mercadolibre265 name: MercadoLibre266 domain: mercadolibre.com267 homepage: https://investor.mercadolibre.com268 categories: [commerce, retail, payments]269 tier: B270 weight: 1.1271 aliases: [mercado libre, meli, mercado pago]272 discover: { rss: true, sitemap: true }273 notes: "investor.mercadolibre.com exposes no RSS (404 on the usual paths)."274 sensors:275 - { name: crawler policy (robots.txt), url: "https://www.mercadolibre.com/robots.txt", type: FILE, connector: http, tier: D }276 - id: shein277 name: SHEIN278 domain: shein.com279 homepage: https://www.sheingroup.com280 categories: [commerce, retail, consumer]281 tier: B282 aliases: [shein group]283 discover: { rss: true, sitemap: true, pages: true }284 sensors:285 - { name: newsroom, url: "https://www.sheingroup.com/newsroom", type: HTML, connector: http, tier: B }286 - { name: crawler policy (robots.txt), url: "https://www.shein.com/robots.txt", type: FILE, connector: http, tier: D }287 - id: flipkart288 name: Flipkart289 domain: flipkart.com290 homepage: https://stories.flipkart.com291 categories: [commerce, retail]292 tier: B293 discover: { rss: true, sitemap: true }294 sensors:295 - { name: crawler policy (robots.txt), url: "https://www.flipkart.com/robots.txt", type: FILE, connector: http, tier: D }296 - id: wayfair297 name: Wayfair298 domain: wayfair.com299 categories: [commerce, retail]300 tier: B301 discover: { rss: true }302 notes: "investor.wayfair.com (Q4) behind a Cloudflare challenge."303 sensors:304 - { name: crawler policy (robots.txt), url: "https://www.wayfair.com/robots.txt", type: FILE, connector: http, tier: D }305 - id: chewy306 name: Chewy307 domain: chewy.com308 categories: [commerce, retail]309 tier: C310 discover: { rss: true }311 notes: "investor.chewy.com (Q4) behind a Cloudflare challenge."312 sensors:313 - { name: crawler policy (robots.txt), url: "https://www.chewy.com/robots.txt", type: FILE, connector: http, tier: D }314 - id: instacart315 name: Instacart316 domain: instacart.com317 homepage: https://company.instacart.com318 categories: [commerce, food, technology]319 tier: B320 aliases: [maplebear]321 discover: { rss: true, sitemap: true, pages: true }322 sensors:323 - { name: company updates, url: "https://company.instacart.com/updates/", type: HTML, connector: http, tier: B }324 - { name: crawler policy (robots.txt), url: "https://www.instacart.com/robots.txt", type: FILE, connector: http, tier: D }325 - id: newegg326 name: Newegg327 domain: newegg.com328 categories: [commerce, consumer-tech]329 tier: C330 discover: { rss: true }331 sensors:332 - { name: insider feed, url: "https://www.newegg.com/insider/feed/", type: RSS, connector: rss, tier: C }333 - { name: crawler policy (robots.txt), url: "https://www.newegg.com/robots.txt", type: FILE, connector: http, tier: D }334 - id: canadian-tire335 name: Canadian Tire Corporation336 domain: canadiantire.ca337 homepage: https://corp.canadiantire.ca338 categories: [retail]339 tier: B340 aliases: [canadian tire, ctc, sportchek, mark's]341 products:342 - { name: Triangle Rewards, type: service }343 discover: { rss: true, sitemap: true }344 notes: "corp.canadiantire.ca and investors.canadiantire.ca (Q4) behind a Cloudflare challenge."345 sensors:346 - { name: crawler policy (robots.txt), url: "https://www.canadiantire.ca/robots.txt", type: FILE, connector: http, tier: D }347 - id: walgreens348 name: Walgreens Boots Alliance349 domain: walgreens.com350 homepage: https://corporate.walgreens.com351 categories: [retail, health]352 tier: B353 aliases: [walgreens, boots, wba]354 discover: { rss: true, sitemap: true, pages: true }355 sensors:356 - { name: news and stories, url: "https://corporate.walgreens.com/news-and-stories/", type: HTML, connector: http, tier: B }357 - id: cvs358 name: CVS Health359 domain: cvshealth.com360 categories: [retail, health]361 tier: B362 weight: 1.1363 aliases: [cvs, cvs pharmacy, aetna]364 discover: { rss: true, sitemap: true, pages: true }365 sensors:366 - { name: sitemap, url: "https://www.cvshealth.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } }367 - id: metro-inc368 name: Metro Inc.369 domain: metro.ca370 homepage: https://corpo.metro.ca371 categories: [retail, food]372 tier: B373 aliases: [metro, jean coutu, brunet, super c]374 products:375 - { name: Jean Coutu, type: product, aliases: [pjc] }376 discover: { rss: true, sitemap: true }377 notes: "No feed on corpo.metro.ca; corporate sitemap only."378 sensors:379 - { name: corporate sitemap, url: "https://corpo.metro.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } }380 - id: lidl381 name: Lidl382 domain: lidl.com383 homepage: https://corporate.lidl.co.uk384 categories: [retail, food]385 tier: B386 aliases: [lidl gb, schwarz group]387 discover: { rss: true, sitemap: true, pages: true }388 sensors:389 - { name: UK media centre, url: "https://corporate.lidl.co.uk/media-centre", type: HTML, connector: http, tier: B }390 - id: tesco391 name: Tesco392 domain: tescoplc.com393 categories: [retail, food]394 tier: B395 weight: 1.1396 aliases: [tesco plc]397 discover: { rss: true, sitemap: true }398 notes: "tescoplc.com returns 403 to non-browser clients on every path (Akamai). No validated sensor yet."399 - id: sainsburys400 name: Sainsbury's401 domain: sainsburys.co.uk402 homepage: https://corporate.sainsburys.co.uk403 categories: [retail, food]404 tier: B405 aliases: [sainsburys, j sainsbury, argos]406 discover: { rss: true, sitemap: true, pages: true }407 sensors:408 - { name: press releases feed, url: "https://corporate.sainsburys.co.uk/rss/news", type: RSS, connector: rss, tier: B }409 - { name: press releases, url: "https://corporate.sainsburys.co.uk/news/press-releases/", type: HTML, connector: http, tier: B }410 - id: inditex411 name: Inditex412 domain: inditex.com413 categories: [retail, consumer]414 tier: B415 weight: 1.1416 aliases: [zara, massimo dutti, bershka, pull&bear]417 products:418 - { name: Zara, type: product }419 discover: { rss: true, sitemap: true, pages: true }420 notes: "zara.com is 403 to bots; inditex.com press pages are server-rendered."421 sensors:422 - { name: press news, url: "https://www.inditex.com/itxcomweb/en/press/news", type: HTML, connector: http, tier: B }423 - id: fast-retailing424 name: Fast Retailing425 domain: fastretailing.com426 categories: [retail, consumer]427 tier: B428 aliases: [uniqlo, gu]429 products:430 - { name: UNIQLO, type: product, aliases: [uniqlo] }431 discover: { rss: true, sitemap: true, pages: true }432 sensors:433 - { name: news, url: "https://www.fastretailing.com/eng/about/news/", type: HTML, connector: http, tier: B }434 - id: jd-com435 name: JD.com436 domain: jd.com437 homepage: https://ir.jd.com438 categories: [commerce, retail]439 tier: B440 aliases: [jingdong, jd]441 discover: { rss: true, sitemap: true }442 notes: "ir.jd.com and corporate.jd.com are 403 to bots; jd.com robots.txt redirects to an HTML page. No validated sensor yet."443 - id: pdd-temu444 name: PDD Holdings (Temu)445 domain: pddholdings.com446 categories: [commerce, retail]447 tier: B448 aliases: [pdd, temu, pinduoduo]449 products:450 - { name: Temu, type: service }451 - { name: Pinduoduo, type: service }452 discover: { rss: true, sitemap: true }453 notes: "investor.pddholdings.com is 403 to bots; temu.com serves an HTML shell for robots.txt. No validated sensor yet."454 - id: bh-photo455 name: B&H Photo Video456 domain: bhphotovideo.com457 categories: [commerce, consumer-tech]458 tier: C459 aliases: [b&h, bh photo]460 discover: { rss: true }461 notes: "Whole site behind a Cloudflare challenge (Explora feed included)."462 - id: simons463 name: La Maison Simons464 domain: simons.ca465 categories: [retail, consumer]466 tier: C467 aliases: [simons]468 discover: { rss: true, sitemap: true }469 notes: "simons.ca is 403 to bots."470 - id: aritzia471 name: Aritzia472 domain: aritzia.com473 categories: [retail, consumer]474 tier: C475 discover: { rss: true, sitemap: true }476 notes: "aritzia.com and investors.aritzia.com (Q4) behind a Cloudflare challenge."477 - id: roots478 name: Roots479 domain: roots.com480 categories: [retail, consumer]481 tier: C482 aliases: [roots canada]483 discover: { rss: true, sitemap: true }484 notes: "investors.roots.com (Q4) behind a Cloudflare challenge; roots.com exposes no feed."485 - id: sephora486 name: Sephora487 domain: sephora.com488 homepage: https://newsroom.sephora.com489 categories: [retail, consumer]490 tier: B491 discover: { rss: true }492 sensors:493 - { name: newsroom feed, url: "https://newsroom.sephora.com/feed/", type: RSS, connector: rss, tier: B }494 - id: ulta495 name: Ulta Beauty496 domain: ulta.com497 categories: [retail, consumer]498 tier: B499 aliases: [ulta]500 discover: { rss: true, sitemap: true, pages: true }501 notes: "investors.ulta.com unreachable for bots; ulta.com newsroom is client-rendered — investor sitemap only."502 sensors:503 - { name: investor sitemap, url: "https://www.ulta.com/investor/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }504505 # ───────────────────────── B · Consumer brands ─────────────────────────506 - id: nike507 name: Nike508 domain: nike.com509 homepage: https://about.nike.com510 categories: [consumer, retail]511 tier: B512 weight: 1.3513 aliases: [nike inc, jordan brand, converse]514 discover: { rss: true, sitemap: true }515 sensors:516 - { name: newsroom feed, url: "https://about.nike.com/en/feed", type: RSS, connector: rss, tier: B }517 - id: adidas518 name: adidas519 domain: adidas-group.com520 homepage: https://www.adidas-group.com521 categories: [consumer, retail]522 tier: B523 weight: 1.1524 aliases: [adidas ag]525 discover: { rss: true, sitemap: true }526 notes: "news.adidas.com answers 202 with an empty body (bot management); adidas-group.com exposes no feed. No validated sensor yet."527 - id: lululemon528 name: lululemon529 domain: lululemon.com530 homepage: https://corporate.lululemon.com531 categories: [consumer, retail]532 tier: B533 aliases: [lululemon athletica]534 discover: { rss: true }535 sensors:536 - { name: press releases feed, url: "https://corporate.lululemon.com/rss/press-releases", type: RSS, connector: rss, tier: B, config: { maxItems: 50 } }537 - id: canada-goose538 name: Canada Goose539 domain: canadagoose.com540 categories: [consumer, retail]541 tier: C542 discover: { rss: true, sitemap: true }543 notes: "canadagoose.com rate-limits bots (429); investors.canadagoose.com unreachable. No validated sensor yet."544 - id: lvmh545 name: LVMH546 domain: lvmh.com547 categories: [consumer, retail]548 tier: B549 weight: 1.3550 aliases: [louis vuitton, moët hennessy louis vuitton, dior, tiffany]551 products:552 - { name: Louis Vuitton, type: product }553 - { name: Dior, type: product }554 discover: { rss: true, sitemap: true, pages: true }555 notes: "lvmh.com news pages are client-rendered; sitemap index only."556 sensors:557 - { name: sitemap, url: "https://www.lvmh.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }558 - id: kering559 name: Kering560 domain: kering.com561 categories: [consumer, retail]562 tier: B563 weight: 1.1564 aliases: [gucci, saint laurent, bottega veneta, balenciaga]565 products:566 - { name: Gucci, type: product }567 discover: { rss: true, sitemap: true }568 sensors:569 - { name: sitemap (en), url: "https://www.kering.com/en/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }570 - id: hermes571 name: Hermès572 domain: hermes.com573 homepage: https://finance.hermes.com574 categories: [consumer, retail]575 tier: B576 weight: 1.1577 aliases: [hermes, hermès international]578 discover: { rss: true, sitemap: true }579 sensors:580 - { name: finance sitemap, url: "https://finance.hermes.com/sitemap-index.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }581 - id: richemont582 name: Richemont583 domain: richemont.com584 categories: [consumer, retail]585 tier: B586 aliases: [cartier, van cleef & arpels, iwc, compagnie financière richemont]587 products:588 - { name: Cartier, type: product }589 discover: { rss: true, sitemap: true }590 sensors:591 - { name: sitemap, url: "https://www.richemont.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } }592 - id: loreal593 name: L'Oréal594 domain: loreal.com595 categories: [consumer]596 tier: B597 weight: 1.2598 aliases: [loreal, l'oréal groupe, lancôme, maybelline, garnier]599 discover: { rss: true, sitemap: true, pages: true }600 sensors:601 - { name: news, url: "https://www.loreal.com/en/news/", type: HTML, connector: http, tier: B }602 - { name: finance news (fr), url: "https://www.loreal-finance.com/fr/actualites", type: HTML, connector: http, tier: B }603 - id: estee-lauder604 name: The Estée Lauder Companies605 domain: elcompanies.com606 categories: [consumer]607 tier: B608 weight: 1.1609 aliases: [estee lauder, estée lauder, mac cosmetics, clinique]610 discover: { rss: true }611 sensors:612 - { name: press releases feed, url: "https://www.elcompanies.com/en/rss/press-releases", type: RSS, connector: rss, tier: B }613 - id: procter-gamble614 name: Procter & Gamble615 domain: pg.com616 homepage: https://us.pg.com617 categories: [consumer]618 tier: B619 weight: 1.3620 aliases: [p&g, procter and gamble, pampers, tide, gillette]621 products:622 - { name: Gillette, type: product }623 - { name: Pampers, type: product }624 - { name: Tide, type: product }625 discover: { rss: true, sitemap: true, pages: true }626 notes: "news.pg.com (Q4) redirects to the newsroom; no RSS."627 sensors:628 - { name: newsroom, url: "https://us.pg.com/newsroom/", type: HTML, connector: http, tier: B }629 - { name: sitemap, url: "https://us.pg.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } }630 - id: unilever631 name: Unilever632 domain: unilever.com633 categories: [consumer, food]634 tier: B635 weight: 1.3636 aliases: [dove, hellmann's, ben & jerry's, knorr]637 discover: { rss: true, sitemap: true }638 notes: "unilever.com is 403 to non-browser clients on every path (Akamai). No validated sensor yet."639 - id: nestle640 name: Nestlé641 domain: nestle.com642 categories: [consumer, food]643 tier: B644 weight: 1.3645 aliases: [nestle, nespresso, purina, kitkat]646 products:647 - { name: Nespresso, type: product }648 discover: { rss: true, sitemap: true }649 notes: "nestle.com media pages are 403 to bots (Akamai); sitemap is reachable."650 sensors:651 - { name: sitemap, url: "https://www.nestle.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }652 - id: coca-cola653 name: The Coca-Cola Company654 domain: coca-colacompany.com655 categories: [consumer, food]656 tier: B657 weight: 1.3658 aliases: [coca-cola, coke, sprite, fanta]659 discover: { rss: true, sitemap: true, pages: true }660 notes: "investors.coca-colacompany.com exposes no RSS."661 sensors:662 - { name: media center, url: "https://www.coca-colacompany.com/media-center", type: HTML, connector: http, tier: B }663 - { name: corporate sitemap (us-en), url: "https://www.coca-colacompany.com/content/corporate.sitemap.us-en-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } }664 - id: pepsico665 name: PepsiCo666 domain: pepsico.com667 categories: [consumer, food]668 tier: B669 weight: 1.3670 aliases: [pepsi, frito-lay, gatorade, quaker]671 discover: { rss: true, sitemap: true, pages: true }672 notes: "investors.pepsico.com and pepsico.com expose no RSS."673 sensors:674 - { name: newsroom, url: "https://www.pepsico.com/newsroom", type: HTML, connector: http, tier: B }675 - { name: sitemap, url: "https://www.pepsico.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }676 - id: mondelez677 name: Mondelēz International678 domain: mondelezinternational.com679 categories: [consumer, food]680 tier: B681 weight: 1.1682 aliases: [mondelez, oreo, cadbury, toblerone]683 discover: { rss: true, sitemap: true }684 notes: "ir.mondelezinternational.com (Q4) is 403 to bots."685 sensors:686 - { name: sitemap, url: "https://www.mondelezinternational.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }687 - id: kraft-heinz688 name: Kraft Heinz689 domain: kraftheinzcompany.com690 categories: [consumer, food]691 tier: B692 aliases: [kraft, heinz]693 discover: { rss: true, sitemap: true }694 notes: "news.kraftheinzcompany.com and ir.kraftheinzcompany.com (Q4) behind a Cloudflare challenge. No validated sensor yet."695 - id: general-mills696 name: General Mills697 domain: generalmills.com698 categories: [consumer, food]699 tier: B700 aliases: [cheerios, pillsbury, häagen-dazs]701 discover: { rss: true, sitemap: true, pages: true }702 notes: "investors.generalmills.com (Q4) behind a Cloudflare challenge; generalmills.com news pages are client-rendered — sitemap only."703 sensors:704 - { name: sitemap, url: "https://www.generalmills.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }705 - id: kellanova706 name: Kellanova707 domain: kellanova.com708 categories: [consumer, food]709 tier: C710 aliases: [kellogg's, kellogg, pringles]711 discover: { rss: true, sitemap: true }712 notes: "kellanova.com answers 405 to bots; investor.kellanova.com (Q4) likewise. No validated sensor yet."713 - id: mars714 name: Mars, Incorporated715 domain: mars.com716 categories: [consumer, food]717 tier: B718 aliases: [mars inc, m&m's, snickers, pedigree, royal canin]719 discover: { rss: true, sitemap: true }720 notes: "mars.com news pages are 403 to bots; sitemap is reachable."721 sensors:722 - { name: sitemap, url: "https://www.mars.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }723 - id: danone724 name: Danone725 domain: danone.com726 categories: [consumer, food]727 tier: B728 aliases: [activia, evian, alpro]729 discover: { rss: true, sitemap: true, pages: true }730 sensors:731 - { name: press releases, url: "https://www.danone.com/newsroom/press-releases.html", type: HTML, connector: http, tier: B }732 - id: ab-inbev733 name: AB InBev734 domain: ab-inbev.com735 categories: [consumer, food]736 tier: B737 weight: 1.1738 aliases: [anheuser-busch inbev, anheuser-busch, budweiser, stella artois, corona]739 discover: { rss: true, sitemap: true, pages: true }740 notes: "ab-inbev.com news pages are client-rendered (React shell) and the sitemap 404s. No validated sensor yet."741 - id: diageo742 name: Diageo743 domain: diageo.com744 categories: [consumer, food]745 tier: B746 aliases: [johnnie walker, guinness, smirnoff, tanqueray]747 discover: { rss: true }748 sensors:749 - { name: press releases feed, url: "https://www.diageo.com/en/rss/press-releases", type: RSS, connector: rss, tier: B }750 - id: heineken751 name: Heineken752 domain: theheinekencompany.com753 categories: [consumer, food]754 tier: B755 aliases: [heineken n.v.]756 discover: { rss: true, sitemap: true }757 notes: "theheinekencompany.com is 403 to bots (Akamai). No validated sensor yet."758 - id: molson-coors759 name: Molson Coors760 domain: molsoncoors.com761 categories: [consumer, food]762 tier: B763 aliases: [molson, coors, miller lite]764 discover: { rss: true, sitemap: true }765 notes: "ir.molsoncoors.com (Q4) behind a Cloudflare challenge; the corporate site feed works."766 sensors:767 - { name: news feed, url: "https://www.molsoncoors.com/rss.xml", type: RSS, connector: rss, tier: B }768 - id: constellation-brands769 name: Constellation Brands770 domain: cbrands.com771 categories: [consumer, food]772 tier: B773 aliases: [constellation, modelo, corona usa, kim crawford]774 discover: { rss: true }775 sensors:776 - { name: press releases feed, url: "https://www.cbrands.com/blogs/press-releases.atom", type: ATOM, connector: rss, tier: B }777 - id: saputo778 name: Saputo779 domain: saputo.com780 categories: [consumer, food]781 tier: B782 discover: { rss: true, sitemap: true }783 sensors:784 - { name: news sitemap, url: "https://www.saputo.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }785 - id: lassonde786 name: Lassonde Industries787 domain: lassonde.com788 categories: [consumer, food]789 tier: C790 aliases: [lassonde, oasis]791 discover: { rss: true }792 sensors:793 - { name: news feed, url: "https://www.lassonde.com/en/feed/", type: RSS, connector: rss, tier: C }794 - id: agropur795 name: Agropur796 domain: agropur.com797 categories: [consumer, food, agriculture]798 tier: C799 aliases: [natrel, oka]800 discover: { rss: true, sitemap: true, pages: true }801 sensors:802 - { name: news, url: "https://www.agropur.com/en/news", type: HTML, connector: http, tier: C }803 - id: colgate-palmolive804 name: Colgate-Palmolive805 domain: colgatepalmolive.com806 categories: [consumer]807 tier: B808 aliases: [colgate, palmolive, hill's pet nutrition]809 discover: { rss: true, sitemap: true }810 notes: "colgatepalmolive.com and investor.colgatepalmolive.com are 403 to bots. No validated sensor yet."811 - id: kimberly-clark812 name: Kimberly-Clark813 domain: kimberly-clark.com814 categories: [consumer]815 tier: B816 aliases: [kleenex, huggies, kotex, scott]817 discover: { rss: true, sitemap: true }818 notes: "kimberly-clark.com and investor.kimberly-clark.com (Q4) behind a Cloudflare challenge. No validated sensor yet."819 - id: clorox820 name: The Clorox Company821 domain: thecloroxcompany.com822 categories: [consumer]823 tier: B824 aliases: [clorox, burt's bees, brita, glad]825 discover: { rss: true, sitemap: true, pages: true }826 sensors:827 - { name: news feed, url: "https://www.thecloroxcompany.com/feed/", type: RSS, connector: rss, tier: B }828 - { name: newsroom, url: "https://www.thecloroxcompany.com/newsroom/", type: HTML, connector: http, tier: B }829 - id: reckitt830 name: Reckitt831 domain: reckitt.com832 categories: [consumer, health]833 tier: B834 aliases: [reckitt benckiser, dettol, lysol, durex, nurofen]835 discover: { rss: true, sitemap: true, pages: true }836 sensors:837 - { name: news, url: "https://www.reckitt.com/news/", type: HTML, connector: http, tier: B }838 - id: henkel839 name: Henkel840 domain: henkel.com841 categories: [consumer]842 tier: B843 aliases: [persil, schwarzkopf, loctite, pritt]844 discover: { rss: true, sitemap: true }845 sensors:846 - { name: press releases feed, url: "https://www.henkel.com/service/en/33922/asFeed/index.xml", type: RSS, connector: rss, tier: B }847 - id: beiersdorf848 name: Beiersdorf849 domain: beiersdorf.com850 categories: [consumer]851 tier: B852 aliases: [nivea, eucerin, la prairie, tesa]853 discover: { rss: true, sitemap: true, pages: true }854 sensors:855 - { name: press releases, url: "https://www.beiersdorf.com/newsroom/press-information/all-press-releases", type: HTML, connector: http, tier: B }856 - id: shiseido857 name: Shiseido858 domain: shiseido.com859 homepage: https://corp.shiseido.com860 categories: [consumer]861 tier: C862 aliases: [nars, drunk elephant]863 discover: { rss: true, sitemap: true }864 notes: "corp.shiseido.com exposes no feed and its English newsroom 404s on the usual paths. No validated sensor yet."865 - id: whirlpool866 name: Whirlpool Corporation867 domain: whirlpoolcorp.com868 categories: [consumer, consumer-tech]869 tier: B870 aliases: [whirlpool, kitchenaid, maytag]871 discover: { rss: true, sitemap: true }872 notes: "investors.whirlpoolcorp.com (Q4) behind a Cloudflare challenge; whirlpoolcorp.com/news 404. No validated sensor yet."873 - id: electrolux874 name: Electrolux Group875 domain: electroluxgroup.com876 categories: [consumer, consumer-tech]877 tier: B878 aliases: [electrolux, frigidaire, aeg]879 discover: { rss: true, sitemap: true }880 sensors:881 - { name: news feed, url: "https://www.electroluxgroup.com/en/feed", type: RSS, connector: rss, tier: B }882 - id: dyson883 name: Dyson884 domain: dyson.com885 categories: [consumer, consumer-tech]886 tier: C887 discover: { rss: true, sitemap: true }888 notes: "dyson.com newsroom is 403 to bots. No validated sensor yet."889 - id: philips890 name: Philips891 domain: philips.com892 categories: [consumer, consumer-tech, health]893 tier: B894 weight: 1.1895 aliases: [royal philips, koninklijke philips]896 discover: { rss: true, sitemap: true }897 sensors:898 - { name: news feed, url: "https://www.philips.com/content/corporate/en_AA/feed.rss.xml?pageSize=15&startIndex=0&src=/content/corporate/en_AA/about/news/archive&sortMode=createdDate", type: RSS, connector: rss, tier: B }899 - id: sonos900 name: Sonos901 domain: sonos.com902 homepage: https://newsroom.sonos.com903 categories: [consumer-tech, consumer]904 tier: B905 discover: { rss: true }906 sensors:907 - { name: press releases feed, url: "https://newsroom.sonos.com/press_releases.atom", type: ATOM, connector: rss, tier: B }908 - id: gopro909 name: GoPro910 domain: gopro.com911 categories: [consumer-tech, consumer]912 tier: C913 discover: { rss: true, sitemap: true }914 notes: "gopro.com news and investor.gopro.com (Q4) behind a Cloudflare challenge. No validated sensor yet."915 - id: garmin916 name: Garmin917 domain: garmin.com918 categories: [consumer-tech, consumer]919 tier: B920 weight: 1.1921 discover: { rss: true, sitemap: true }922 sensors:923 - { name: newsroom feed, url: "https://www.garmin.com/en-US/newsroom/feed/", type: RSS, connector: rss, tier: B }924 - id: peloton925 name: Peloton926 domain: onepeloton.com927 categories: [consumer-tech, consumer]928 tier: C929 aliases: [peloton interactive]930 discover: { rss: true, sitemap: true, pages: true }931 notes: "investor.onepeloton.com is 403 to bots."932 sensors:933 - { name: blog, url: "https://www.onepeloton.com/blog", type: HTML, connector: http, tier: C }934 - id: mattel935 name: Mattel936 domain: mattel.com937 homepage: https://corporate.mattel.com938 categories: [consumer]939 tier: B940 aliases: [barbie, hot wheels, fisher-price]941 products:942 - { name: Barbie, type: product }943 discover: { rss: true, sitemap: true }944 notes: "investors.mattel.com (Q4) behind a Cloudflare challenge; corporate sitemap is reachable."945 sensors:946 - { name: corporate sitemap, url: "https://corporate.mattel.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }947 - id: hasbro948 name: Hasbro949 domain: hasbro.com950 categories: [consumer, gaming]951 tier: B952 aliases: [wizards of the coast, monopoly, nerf]953 discover: { rss: true, sitemap: true }954 notes: "newsroom.hasbro.com and investor.hasbro.com are 403 to bots. No validated sensor yet."955 - id: lego956 name: The LEGO Group957 domain: lego.com958 categories: [consumer]959 tier: B960 weight: 1.1961 aliases: [lego]962 discover: { rss: true, sitemap: true, pages: true }963 sensors:964 - { name: newsroom, url: "https://www.lego.com/en-ca/aboutus/newsroom", type: HTML, connector: http, tier: B }965 - { name: local news sitemap, url: "https://www.lego.com/local-news/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }966 - id: yeti967 name: YETI968 domain: yeti.com969 categories: [consumer]970 tier: C971 discover: { rss: true, sitemap: true }972 notes: "yeti.com press pages are 403 to bots. No validated sensor yet."973 - id: stanley974 name: Stanley 1913975 domain: stanley1913.com976 categories: [consumer]977 tier: C978 aliases: [stanley, stanley cup tumbler, pmi worldwide]979 discover: { rss: true, sitemap: true }980 sensors:981 - { name: stories feed, url: "https://www.stanley1913.com/blogs/stanley-story.atom", type: ATOM, connector: rss, tier: C }982 - id: crocs983 name: Crocs984 domain: crocs.com985 categories: [consumer, retail]986 tier: C987 aliases: [heydude]988 discover: { rss: true, sitemap: true }989 notes: "investors.crocs.com (Q4) behind a Cloudflare challenge. No validated sensor yet."990 - id: vf-corp991 name: VF Corporation992 domain: vfc.com993 categories: [consumer, retail]994 tier: B995 aliases: [vf corp, the north face, vans, timberland]996 products:997 - { name: The North Face, type: product }998 - { name: Vans, type: product }999 discover: { rss: true }1000 sensors:1001 - { name: press releases feed, url: "https://www.vfc.com/investors/news-events-presentations/press-releases/rss", type: RSS, connector: rss, tier: B }1002 - id: levi-strauss1003 name: Levi Strauss & Co.1004 domain: levistrauss.com1005 categories: [consumer, retail]1006 tier: B1007 aliases: [levi's, levis, dockers]1008 discover: { rss: true }1009 notes: "investors.levistrauss.com (Q4) behind a Cloudflare challenge; corporate WordPress feed works."1010 sensors:1011 - { name: news feed, url: "https://www.levistrauss.com/feed/", type: RSS, connector: rss, tier: B }1012 - id: gap1013 name: Gap Inc.1014 domain: gapinc.com1015 categories: [consumer, retail]1016 tier: B1017 aliases: [gap, old navy, banana republic, athleta]1018 discover: { rss: true, sitemap: true, pages: true }1019 notes: "investors.gapinc.com (Q4) behind a Cloudflare challenge."1020 sensors:1021 - { name: newsroom, url: "https://www.gapinc.com/en-us/news", type: HTML, connector: http, tier: B }1022 - id: abercrombie1023 name: Abercrombie & Fitch Co.1024 domain: abercrombie.com1025 homepage: https://corporate.abercrombie.com1026 categories: [consumer, retail]1027 tier: C1028 aliases: [abercrombie, hollister]1029 discover: { rss: true, pages: true }1030 notes: "abercrombieandfitchcompany.gcs-web.com feeds are 403 to bots."1031 sensors:1032 - { name: news, url: "https://corporate.abercrombie.com/news", type: HTML, connector: http, tier: C }1033 - id: ralph-lauren1034 name: Ralph Lauren1035 domain: ralphlauren.com1036 homepage: https://corporate.ralphlauren.com1037 categories: [consumer, retail]1038 tier: B1039 aliases: [polo ralph lauren]1040 discover: { rss: true, pages: true }1041 sensors:1042 - { name: newsroom, url: "https://corporate.ralphlauren.com/newsroom", type: HTML, connector: http, tier: B }1043 - id: tapestry1044 name: Tapestry1045 domain: tapestry.com1046 categories: [consumer, retail]1047 tier: B1048 aliases: [coach, kate spade, stuart weitzman]1049 discover: { rss: true }1050 sensors:1051 - { name: news feed, url: "https://www.tapestry.com/feed/", type: RSS, connector: rss, tier: B }1052 - id: capri-holdings1053 name: Capri Holdings1054 domain: capriholdings.com1055 categories: [consumer, retail]1056 tier: C1057 aliases: [capri, michael kors, versace, jimmy choo]1058 discover: { rss: true, sitemap: true }1059 notes: "capriholdings.com is 403 to bots. No validated sensor yet."10601061 # ───────────────────────── C · Restaurants ─────────────────────────1062 - id: mcdonalds1063 name: McDonald's1064 domain: mcdonalds.com1065 homepage: https://corporate.mcdonalds.com1066 categories: [food, retail]1067 tier: B1068 weight: 1.31069 aliases: [mcdonald's, mcdonalds, mcd]1070 discover: { rss: true, sitemap: true }1071 notes: "corporate.mcdonalds.com and mcdonalds.com time out for non-browser clients (Akamai); investors.mcdonalds.com unreachable. No validated sensor yet."1072 - id: starbucks1073 name: Starbucks1074 domain: starbucks.com1075 homepage: https://about.starbucks.com1076 categories: [food, retail]1077 tier: B1078 weight: 1.21079 discover: { rss: true, sitemap: true }1080 notes: "about.starbucks.com / stories.starbucks.com and investor.starbucks.com (Q4) behind a Cloudflare challenge. No validated sensor yet."1081 - id: yum-brands1082 name: Yum! Brands1083 domain: yum.com1084 categories: [food, retail]1085 tier: B1086 aliases: [yum, kfc, taco bell, pizza hut]1087 products:1088 - { name: KFC, type: product }1089 - { name: Taco Bell, type: product }1090 - { name: Pizza Hut, type: product }1091 discover: { rss: true, pages: true }1092 notes: "investors.yum.com (Q4) behind a Cloudflare challenge."1093 sensors:1094 - { name: news, url: "https://www.yum.com/wps/portal/yumbrands/Yumbrands/news", type: HTML, connector: http, tier: B }1095 - id: restaurant-brands1096 name: Restaurant Brands International1097 domain: rbi.com1098 categories: [food, retail]1099 tier: B1100 weight: 1.11101 aliases: [rbi, tim hortons, burger king, popeyes, firehouse subs]1102 products:1103 - { name: Tim Hortons, type: product, aliases: [tims] }1104 - { name: Burger King, type: product }1105 - { name: Popeyes, type: product }1106 discover: { rss: true, sitemap: true, pages: true }1107 notes: "rbi.com (Q4) behind a Cloudflare challenge; timhortons.ca/news is a client-rendered shell (validator: thin). No validated sensor yet."1108 - id: chipotle1109 name: Chipotle Mexican Grill1110 domain: chipotle.com1111 homepage: https://newsroom.chipotle.com1112 categories: [food, retail]1113 tier: B1114 aliases: [chipotle]1115 discover: { rss: true }1116 sensors:1117 - { name: press releases feed, url: "https://newsroom.chipotle.com/press-releases?pagetemplate=rss", type: RSS, connector: rss, tier: B }1118 - id: dominos1119 name: Domino's Pizza1120 domain: dominos.com1121 homepage: https://ir.dominos.com1122 categories: [food, retail]1123 tier: B1124 aliases: [dominos, domino's]1125 discover: { rss: true, sitemap: true }1126 notes: "ir.dominos.com is 403 to bots. No validated sensor yet."1127 - id: subway1128 name: Subway1129 domain: subway.com1130 homepage: https://newsroom.subway.com1131 categories: [food, retail]1132 tier: B1133 discover: { rss: true }1134 sensors:1135 - { name: press releases feed, url: "https://newsroom.subway.com/Press-Releases?pagetemplate=rss", type: RSS, connector: rss, tier: B }1136 - id: mty-group1137 name: MTY Food Group1138 domain: mtygroup.com1139 categories: [food, retail]1140 tier: C1141 aliases: [mty, thaï express, valentine, cold stone]1142 discover: { rss: true, sitemap: true }1143 notes: "mtygroup.com WordPress feeds (all languages/categories) are empty; press releases live behind a client-rendered investors page. No validated sensor yet."1144 - id: aw-canada1145 name: A&W Canada1146 domain: aw.ca1147 homepage: https://web.aw.ca1148 categories: [food, retail]1149 tier: C1150 aliases: [a&w, a&w food services]1151 discover: { rss: true, sitemap: true }1152 notes: "web.aw.ca newsroom is a client-rendered shell. No validated sensor yet."1153 - id: st-hubert1154 name: St-Hubert1155 domain: st-hubert.com1156 categories: [food, retail]1157 tier: C1158 aliases: [rôtisseries st-hubert]1159 discover: { rss: true, sitemap: true }1160 notes: "st-hubert.com is 403 to bots (news, press, sitemap). No validated sensor yet."1161 - id: wendys1162 name: Wendy's1163 domain: wendys.com1164 homepage: https://www.irwendys.com1165 categories: [food, retail]1166 tier: B1167 aliases: [wendys]1168 discover: { rss: true, sitemap: true }1169 notes: "irwendys.com (Q4) behind a Cloudflare challenge; wendys.com has no feed. No validated sensor yet."1170 - id: darden1171 name: Darden Restaurants1172 domain: darden.com1173 categories: [food, retail]1174 tier: C1175 aliases: [olive garden, longhorn steakhouse]1176 discover: { rss: true, sitemap: true }1177 notes: "investor.darden.com (Q4) behind a Cloudflare challenge; darden.com newsroom 404. No validated sensor yet."1178 - id: chick-fil-a1179 name: Chick-fil-A1180 domain: chick-fil-a.com1181 categories: [food, retail]1182 tier: B1183 discover: { rss: true }1184 sensors:1185 - { name: stories feed, url: "https://www.chick-fil-a.com/feed", type: RSS, connector: rss, tier: B }1186 - id: inspire-brands1187 name: Inspire Brands1188 domain: inspirebrands.com1189 categories: [food, retail]1190 tier: B1191 aliases: [dunkin, dunkin', arby's, buffalo wild wings, sonic, baskin-robbins, jimmy john's]1192 products:1193 - { name: Dunkin', type: product, aliases: [dunkin, dunkin donuts] }1194 - { name: Arby's, type: product }1195 discover: { rss: true }1196 sensors:1197 - { name: news feed, url: "https://inspirebrands.com/feed/", type: RSS, connector: rss, tier: B }11981199 # ───────────────────────── D · Hospitality & travel ─────────────────────────1200 - id: marriott1201 name: Marriott International1202 domain: marriott.com1203 homepage: https://news.marriott.com1204 categories: [travel]1205 tier: B1206 weight: 1.21207 aliases: [marriott, bonvoy, sheraton, westin, ritz-carlton]1208 products:1209 - { name: Marriott Bonvoy, type: service, aliases: [bonvoy] }1210 discover: { rss: true, sitemap: true }1211 notes: "news.marriott.com is fully client-rendered (2.5 KB shell); investors.marriott.com unreachable. No validated sensor yet."1212 - id: hilton1213 name: Hilton1214 domain: hilton.com1215 homepage: https://stories.hilton.com1216 categories: [travel]1217 tier: B1218 weight: 1.21219 aliases: [hilton worldwide, hilton honors, waldorf astoria, doubletree]1220 discover: { rss: true }1221 sensors:1222 - { name: stories feed, url: "https://stories.hilton.com/feed", type: RSS, connector: rss, tier: B }1223 - id: hyatt1224 name: Hyatt1225 domain: hyatt.com1226 homepage: https://newsroom.hyatt.com1227 categories: [travel]1228 tier: B1229 aliases: [hyatt hotels, world of hyatt]1230 discover: { rss: true }1231 notes: "investors.hyatt.com (Q4) behind a Cloudflare challenge; newsroom RSS works."1232 sensors:1233 - { name: news releases feed, url: "https://newsroom.hyatt.com/news-releases?pagetemplate=rss", type: RSS, connector: rss, tier: B }1234 - id: ihg1235 name: IHG Hotels & Resorts1236 domain: ihgplc.com1237 categories: [travel]1238 tier: B1239 aliases: [ihg, intercontinental, holiday inn, crowne plaza]1240 discover: { rss: true, sitemap: true }1241 notes: "ihgplc.com is 403 to bots on news and RSS paths (Akamai). No validated sensor yet."1242 - id: accor1243 name: Accor1244 domain: accor.com1245 homepage: https://group.accor.com1246 categories: [travel]1247 tier: B1248 aliases: [accorhotels, ibis, novotel, sofitel, fairmont]1249 discover: { rss: true, sitemap: true }1250 notes: "press.accor.com feed is 403 to bots; group.accor.com exposes no feed. No validated sensor yet."1251 - id: wyndham1252 name: Wyndham Hotels & Resorts1253 domain: wyndhamhotels.com1254 homepage: https://corporate.wyndhamhotels.com1255 categories: [travel]1256 tier: B1257 aliases: [wyndham, days inn, la quinta, super 8]1258 discover: { rss: true }1259 sensors:1260 - { name: news releases feed, url: "https://corporate.wyndhamhotels.com/news-releases/feed/", type: RSS, connector: rss, tier: B }1261 - id: four-seasons1262 name: Four Seasons1263 domain: fourseasons.com1264 homepage: https://press.fourseasons.com1265 categories: [travel]1266 tier: C1267 aliases: [four seasons hotels and resorts]1268 discover: { rss: true, pages: true }1269 sensors:1270 - { name: news releases, url: "https://press.fourseasons.com/news-releases/", type: HTML, connector: http, tier: C }1271 - id: airbnb1272 name: Airbnb1273 domain: airbnb.com1274 homepage: https://news.airbnb.com1275 categories: [travel, technology]1276 tier: B1277 weight: 1.31278 discover: { rss: true, sitemap: true, pages: true }1279 notes: "news.airbnb.com has no RSS; investors.airbnb.com exposes no feed."1280 sensors:1281 - { name: newsroom sitemap, url: "https://news.airbnb.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }1282 - { name: crawler policy (robots.txt), url: "https://www.airbnb.com/robots.txt", type: FILE, connector: http, tier: D }1283 - id: booking-holdings1284 name: Booking Holdings1285 domain: booking.com1286 homepage: https://www.bookingholdings.com1287 categories: [travel, technology]1288 tier: B1289 weight: 1.31290 aliases: [booking, booking.com, priceline, agoda, kayak, opentable, rentalcars]1291 products:1292 - { name: Booking.com, type: service }1293 - { name: Priceline, type: service }1294 - { name: Agoda, type: service }1295 - { name: OpenTable, type: service }1296 discover: { rss: true, sitemap: true }1297 notes: "ir.bookingholdings.com (Q4) behind a Cloudflare challenge."1298 sensors:1299 - { name: crawler policy (robots.txt), url: "https://www.booking.com/robots.txt", type: FILE, connector: http, tier: D }1300 - id: kayak1301 name: KAYAK1302 domain: kayak.com1303 categories: [travel, technology]1304 tier: C1305 aliases: [kayak]1306 discover: { rss: true }1307 sensors:1308 - { name: news feed, url: "https://www.kayak.com/news/feed/", type: RSS, connector: rss, tier: C }1309 - id: expedia1310 name: Expedia Group1311 domain: expedia.com1312 homepage: https://www.expediagroup.com1313 categories: [travel, technology]1314 tier: B1315 weight: 1.21316 aliases: [expedia, hotels.com, vrbo, trivago, orbitz, travelocity]1317 products:1318 - { name: Vrbo, type: service }1319 - { name: Hotels.com, type: service }1320 discover: { rss: true, sitemap: true }1321 notes: "expediagroup.com media/IR pages (Q4) behind a Cloudflare challenge."1322 sensors:1323 - { name: crawler policy (robots.txt), url: "https://www.expedia.com/robots.txt", type: FILE, connector: http, tier: D }1324 - id: tripadvisor1325 name: Tripadvisor1326 domain: tripadvisor.com1327 categories: [travel, internet]1328 tier: B1329 aliases: [trip advisor, viator, thefork]1330 discover: { rss: true, sitemap: true }1331 notes: "ir.tripadvisor.com is 403 to bots."1332 sensors:1333 - { name: crawler policy (robots.txt), url: "https://www.tripadvisor.com/robots.txt", type: FILE, connector: http, tier: D }1334 - id: trip-com1335 name: Trip.com Group1336 domain: trip.com1337 homepage: https://investors.trip.com1338 categories: [travel, internet]1339 tier: B1340 aliases: [trip.com, ctrip, skyscanner, qunar]1341 products:1342 - { name: Skyscanner, type: service }1343 discover: { rss: true, sitemap: true }1344 notes: "investors.trip.com is 403 to bots; skyscanner.net serves a captcha. No validated sensor yet."1345 - id: hopper1346 name: Hopper1347 domain: hopper.com1348 homepage: https://media.hopper.com1349 categories: [travel, technology]1350 tier: C1351 discover: { rss: true, sitemap: true, pages: true }1352 sensors:1353 - { name: media room, url: "https://media.hopper.com/", type: HTML, connector: http, tier: C }1354 - id: carnival1355 name: Carnival Corporation1356 domain: carnivalcorp.com1357 categories: [travel]1358 tier: B1359 weight: 1.11360 aliases: [carnival, carnival cruise line, princess cruises, holland america, costa, aida, p&o cruises]1361 discover: { rss: true }1362 sensors:1363 - { name: news feed, url: "https://www.carnivalcorp.com/feed/", type: RSS, connector: rss, tier: B }1364 - id: royal-caribbean1365 name: Royal Caribbean Group1366 domain: royalcaribbeangroup.com1367 categories: [travel]1368 tier: B1369 weight: 1.11370 aliases: [royal caribbean, celebrity cruises, silversea]1371 discover: { rss: true, sitemap: true, pages: true }1372 notes: "rclinvestor.com exposes no RSS."1373 sensors:1374 - { name: news, url: "https://www.royalcaribbeangroup.com/news", type: HTML, connector: http, tier: B }1375 - id: norwegian-cruise1376 name: Norwegian Cruise Line Holdings1377 domain: nclhltd.com1378 categories: [travel]1379 tier: B1380 aliases: [norwegian cruise line, ncl, oceania cruises, regent seven seas]1381 discover: { rss: true }1382 sensors:1383 - { name: press releases feed, url: "https://www.nclhltd.com/investors/news-events/press-releases/rss", type: RSS, connector: rss, tier: B }1384 - id: msc-cruises1385 name: MSC Cruises1386 domain: msccruises.com1387 categories: [travel]1388 tier: C1389 aliases: [msc]1390 discover: { rss: true, sitemap: true }1391 notes: "msccruises.com answers 401 to bots. No validated sensor yet."1392 - id: vail-resorts1393 name: Vail Resorts1394 domain: vailresorts.com1395 homepage: https://news.vailresorts.com1396 categories: [travel, sports]1397 tier: C1398 aliases: [vail, epic pass, whistler blackcomb]1399 discover: { rss: true, sitemap: true }1400 notes: "investors.vailresorts.com is 403 to bots; news.vailresorts.com exposes no RSS. No validated sensor yet."1401 - id: club-med1402 name: Club Med1403 domain: clubmed.com1404 homepage: https://corporate.clubmed1405 categories: [travel]1406 tier: C1407 discover: { rss: true, sitemap: true }1408 notes: "corporate.clubmed feed is 403 to bots. No validated sensor yet."1409 - id: transat1410 name: Transat A.T.1411 domain: transat.com1412 categories: [travel, aviation]1413 tier: C1414 aliases: [air transat, transat]1415 discover: { rss: true, sitemap: true, pages: true }1416 sensors:1417 - { name: media, url: "https://www.transat.com/en-CA/corporate/media", type: HTML, connector: http, tier: C }1418 - id: sunwing1419 name: Sunwing1420 domain: sunwing.ca1421 categories: [travel, aviation]1422 tier: C1423 aliases: [sunwing vacations, westjet vacations]1424 discover: { rss: true, sitemap: true }1425 notes: "sunwing.ca exposes no press page or feed reachable by bots. No validated sensor yet."1426 - id: uber1427 name: Uber1428 domain: uber.com1429 categories: [travel, transport, technology]1430 tier: B1431 weight: 1.31432 aliases: [uber technologies, uber eats]1433 products:1434 - { name: Uber Eats, type: service }1435 discover: { rss: true, sitemap: true, pages: true }1436 notes: "investor.uber.com (Q4) behind a Cloudflare challenge; uber.com newsroom feed paths answer 406."1437 sensors:1438 - { name: newsroom (US), url: "https://www.uber.com/us/en/newsroom/", type: HTML, connector: http, tier: B }1439 - { name: crawler policy (robots.txt), url: "https://www.uber.com/robots.txt", type: FILE, connector: http, tier: D }1440 - id: lyft1441 name: Lyft1442 domain: lyft.com1443 categories: [travel, transport, technology]1444 tier: B1445 discover: { rss: true, sitemap: true, pages: true }1446 notes: "investor.lyft.com exposes no RSS."1447 sensors:1448 - { name: blog, url: "https://www.lyft.com/blog", type: HTML, connector: http, tier: B }1449 - id: doordash1450 name: DoorDash1451 domain: doordash.com1452 homepage: https://about.doordash.com1453 categories: [food, technology, commerce]1454 tier: B1455 weight: 1.11456 aliases: [dashpass, wolt]1457 discover: { rss: true, sitemap: true, pages: true }1458 notes: "ir.doordash.com (Q4) and doordash.com robots.txt behind a Cloudflare challenge."1459 sensors:1460 - { name: news, url: "https://about.doordash.com/en-us/news", type: HTML, connector: http, tier: B }1461 - id: deliveroo1462 name: Deliveroo1463 domain: deliveroo.co.uk1464 homepage: https://corporate.deliveroo.co.uk1465 categories: [food, technology, commerce]1466 tier: C1467 discover: { rss: true, sitemap: true }1468 notes: "corporate.deliveroo.co.uk and deliveroo.news are unreachable for bots. No validated sensor yet."1469 - id: just-eat-takeaway1470 name: Just Eat Takeaway.com1471 domain: justeattakeaway.com1472 categories: [food, technology, commerce]1473 tier: C1474 aliases: [just eat, takeaway.com, skip the dishes, skipthedishes, lieferando, thuisbezorgd]1475 products:1476 - { name: SkipTheDishes, type: service, aliases: [skip] }1477 discover: { rss: true, sitemap: true }1478 notes: "justeattakeaway.com newsroom and RSS behind a Cloudflare challenge; skipthedishes.com/news 403. No validated sensor yet."1479 - id: grab1480 name: Grab1481 domain: grab.com1482 categories: [travel, transport, technology, commerce]1483 tier: B1484 aliases: [grab holdings, grabfood]1485 discover: { rss: true }1486 sensors:1487 - { name: press feed, url: "https://www.grab.com/sg/press/feed/", type: RSS, connector: rss, tier: B }1488 - id: bolt1489 name: Bolt1490 domain: bolt.eu1491 categories: [travel, transport, technology]1492 tier: C1493 aliases: [bolt technology, taxify]1494 discover: { rss: true, sitemap: true, pages: true }1495 sensors:1496 - { name: blog, url: "https://bolt.eu/en/blog/", type: HTML, connector: http, tier: C }1497 - id: getaround1498 name: Getaround1499 domain: getaround.com1500 categories: [travel, transport]1501 tier: C1502 discover: { rss: true, sitemap: true }1503 notes: "getaround.com blog and feed redirect to the homepage. No validated sensor yet."1504 - id: turo1505 name: Turo1506 domain: turo.com1507 categories: [travel, transport]1508 tier: C1509 discover: { rss: true, sitemap: true }1510 notes: "turo.com blog behind a Cloudflare challenge. No validated sensor yet."1511 - id: hertz1512 name: Hertz1513 domain: hertz.com1514 homepage: https://newsroom.hertz.com1515 categories: [travel, transport]1516 tier: B1517 aliases: [hertz global, dollar, thrifty]1518 discover: { rss: true }1519 sensors:1520 - { name: newsroom feed, url: "https://newsroom.hertz.com/feed/", type: RSS, connector: rss, tier: B }1521 - id: avis-budget1522 name: Avis Budget Group1523 domain: avisbudgetgroup.com1524 categories: [travel, transport]1525 tier: B1526 aliases: [avis, budget, zipcar]1527 products:1528 - { name: Zipcar, type: service }1529 discover: { rss: true, sitemap: true, pages: true }1530 notes: "ir.avisbudgetgroup.com is 403 to bots."1531 sensors:1532 - { name: press releases, url: "https://www.avisbudgetgroup.com/home/news-and-media/press-release", type: HTML, connector: http, tier: B }1533 - { name: sitemap, url: "https://www.avisbudgetgroup.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }1534 - id: enterprise-mobility1535 name: Enterprise Mobility1536 domain: enterprisemobility.com1537 categories: [travel, transport]1538 tier: C1539 aliases: [enterprise, enterprise rent-a-car, national car rental, alamo]1540 discover: { rss: true, sitemap: true }1541 notes: "enterprisemobility.com press pages are 403 to bots. No validated sensor yet."1542 - id: sixt1543 name: Sixt1544 domain: sixt.com1545 homepage: https://about.sixt.com1546 categories: [travel, transport]1547 tier: C1548 discover: { rss: true, sitemap: true }1549 notes: "sixt.com and about.sixt.com press pages behind a Cloudflare challenge. No validated sensor yet."1550 - id: amadeus1551 name: Amadeus1552 domain: amadeus.com1553 categories: [travel, technology]1554 tier: B1555 aliases: [amadeus it group]1556 discover: { rss: true, sitemap: true }1557 notes: "amadeus.com newsroom is a client-rendered shell; no feed or XML sitemap. No validated sensor yet."1558 - id: sabre1559 name: Sabre1560 domain: sabre.com1561 categories: [travel, technology]1562 tier: B1563 aliases: [sabre corporation]1564 discover: { rss: true, sitemap: true, pages: true }1565 notes: "investors.sabre.com is 403 to bots; sabre.com releases pages are client-rendered and the feed answers 500. No validated sensor yet."1566 - id: travelport1567 name: Travelport1568 domain: travelport.com1569 categories: [travel, technology]1570 tier: C1571 discover: { rss: true, sitemap: true, pages: true }1572 sensors:1573 - { name: blog, url: "https://www.travelport.com/blog", type: HTML, connector: http, tier: C }15741575 # ───────────────────────── E · Automotive retail & loyalty ─────────────────────────1576 - id: carmax1577 name: CarMax1578 domain: carmax.com1579 categories: [automotive, retail]1580 tier: B1581 discover: { rss: true, sitemap: true }1582 notes: "investors.carmax.com (Q4) behind a Cloudflare challenge. No validated sensor yet."1583 - id: autonation1584 name: AutoNation1585 domain: autonation.com1586 categories: [automotive, retail]1587 tier: C1588 discover: { rss: true, sitemap: true }1589 notes: "autonation.com/news 403, newsroom.autonation.com behind a Cloudflare challenge, investors.autonation.com RSS 404. No validated sensor yet."1590 - id: carvana1591 name: Carvana1592 domain: carvana.com1593 homepage: https://investors.carvana.com1594 categories: [automotive, retail, commerce]1595 tier: B1596 discover: { rss: true }1597 sensors:1598 - { name: investor news feed, url: "https://investors.carvana.com/rss/news-releases.xml", type: RSS, connector: rss, tier: B }1599 - id: autocanada1600 name: AutoCanada1601 domain: autocan.ca1602 categories: [automotive, retail]1603 tier: C1604 discover: { rss: true, sitemap: true }1605 notes: "autocan.ca is 403 to bots. No validated sensor yet."1606 - id: air-miles1607 name: AIR MILES1608 domain: airmiles.ca1609 categories: [retail, commerce]1610 tier: C1611 aliases: [air miles, airmiles, bmo air miles]1612 discover: { rss: true, sitemap: true }1613 notes: "airmiles.ca redirects most pages through OAuth; sitemap is the only stable public surface."1614 sensors:1615 - { name: sitemap, url: "https://www.airmiles.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 1000 } }16161617 # ───────────────────────── F · Extensions of founding-file sources ─────────────────────────1618 - id: shopify1619 extend: true1620 sensors:1621 - { name: crawler policy (robots.txt), url: "https://www.shopify.com/robots.txt", type: FILE, connector: http, tier: D }1622