SPB Git forge

spb/websensor

Public
33commits 1branches 0releases
3.4 MBsize
maindefault branch
10 days agolast push
TypeScript 55.4% Python 43.2% SQL 1.2%
84.5 KB · 2,165 lines yaml
Raw Blame History
1# config/sources.d/20-transport-logistics-aviation-space.yaml — aviation regulators & bodies, airports, airlines,2# aerospace manufacturers, space agencies & companies, rail & transit, maritime & logistics, road & border agencies.3# Written 2026-09-08. Every sensor below was fetched and parsed with apps/engine/src/validate.ts (OK only).4# Blocked sites (Akamai/Cloudflare/Imperva/Radware 403, client-rendered shells) are recorded in `notes:` rather than5# pretending. Categories: aviation · space · transport · logistics (+ government / industry where relevant).6sources:7  # ───────────────────────── A · Aviation regulators, safety boards & industry bodies ─────────────────────────8  - id: faa9    name: FAA10    domain: faa.gov11    homepage: https://www.faa.gov12    categories: [aviation, government]13    tier: A14    weight: 1.415    aliases: [federal aviation administration]16    discover: { rss: false }17    notes: "www.faa.gov (newsroom, RSS, robots.txt) is Akamai-protected → 403 for bots. The NAS Status API (nasstatus.faa.gov) is open: ground stops, ground delay programs, airport closures."18    sensors:19      - { name: nas airport status, url: "https://nasstatus.faa.gov/api/airport-status-information", type: XML, connector: http, tier: A }20  - id: easa21    name: EASA22    domain: easa.europa.eu23    homepage: https://www.easa.europa.eu24    categories: [aviation, government]25    tier: B26    weight: 1.327    aliases: [european union aviation safety agency]28    discover: { rss: true, sitemap: true }29    sensors:30      - { name: news, url: "https://www.easa.europa.eu/en/newsroom-and-events/news", type: HTML, connector: http, tier: B }31      - { name: sitemap, url: "https://www.easa.europa.eu/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxChildren: 12 } }32  - id: icao33    name: ICAO34    domain: icao.int35    homepage: https://www.icao.int36    categories: [aviation, international]37    tier: B38    weight: 1.339    aliases: [international civil aviation organization]40    discover: { rss: true, sitemap: true }41    notes: "icao.int/news is a client-rendered shell (thin); the Drupal sitemap index is the usable signal."42    sensors:43      - { name: sitemap, url: "https://www.icao.int/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxChildren: 15 } }44  - id: eurocontrol45    name: EUROCONTROL46    domain: eurocontrol.int47    homepage: https://www.eurocontrol.int48    categories: [aviation, international]49    tier: B50    weight: 1.251    discover: { rss: true, sitemap: true }52    sensors:53      - { name: news feed, url: "https://www.eurocontrol.int/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 50 } }54  - id: uk-caa55    name: UK Civil Aviation Authority56    domain: caa.co.uk57    homepage: https://www.caa.co.uk58    categories: [aviation, government]59    tier: B60    aliases: [uk caa, civil aviation authority]61    discover: { rss: true, sitemap: true }62    sensors:63      - { name: gov.uk publications feed, url: "https://www.gov.uk/government/organisations/civil-aviation-authority.atom", type: ATOM, connector: rss, tier: B }64      - { name: newsroom, url: "https://www.caa.co.uk/newsroom/", type: HTML, connector: http, tier: B }65  - id: aaib66    name: Air Accidents Investigation Branch67    domain: gov.uk68    homepage: https://www.gov.uk/government/organisations/air-accidents-investigation-branch69    categories: [aviation, government]70    tier: B71    aliases: [aaib]72    discover: { rss: false }73    sensors:74      - { name: gov.uk feed, url: "https://www.gov.uk/government/organisations/air-accidents-investigation-branch.atom", type: ATOM, connector: rss, tier: B }75  - id: uk-dft76    name: UK Department for Transport77    domain: gov.uk78    homepage: https://www.gov.uk/government/organisations/department-for-transport79    categories: [transport, government]80    tier: B81    aliases: [dft, department for transport]82    discover: { rss: false }83    sensors:84      - { name: gov.uk feed, url: "https://www.gov.uk/government/organisations/department-for-transport.atom", type: ATOM, connector: rss, tier: B }85      - { name: office of rail and road feed, url: "https://www.gov.uk/government/organisations/office-of-rail-and-road.atom", type: ATOM, connector: rss, tier: C }86  - id: ntsb87    name: NTSB88    domain: ntsb.gov89    homepage: https://www.ntsb.gov90    categories: [aviation, transport, government]91    tier: B92    weight: 1.393    aliases: [national transportation safety board]94    discover: { rss: true }95    sensors:96      - { name: press releases, url: "https://www.ntsb.gov/news/press-releases/Pages/default.aspx", type: HTML, connector: http, tier: B }97      - { name: news and events, url: "https://www.ntsb.gov/news/Pages/default.aspx", type: HTML, connector: http, tier: B }98  - id: bea-aero99    name: BEA (Bureau d'Enquêtes et d'Analyses)100    domain: bea.aero101    homepage: https://bea.aero102    categories: [aviation, government]103    tier: B104    aliases: [bea aero, bureau d'enquêtes et d'analyses]105    discover: { rss: true }106    sensors:107      - { name: notified events, url: "https://bea.aero/en/investigation-reports/notified-events/", type: HTML, connector: http, tier: B }108  - id: tsb-canada109    name: Transportation Safety Board of Canada110    domain: tsb.gc.ca111    homepage: https://www.tsb.gc.ca112    categories: [aviation, transport, government]113    tier: B114    aliases: [tsb, bst, bureau de la sécurité des transports]115    discover: { rss: false }116    notes: "tsb.gc.ca sits behind Azure Application Gateway → 403 for bots (RSS and news pages); no Canada News Centre department id worked (2026-09-08)."117  - id: nav-canada118    name: NAV CANADA119    domain: navcanada.ca120    homepage: https://www.navcanada.ca121    categories: [aviation]122    tier: B123    aliases: [navcanada]124    discover: { rss: false }125    notes: "navcanada.ca returns 403 to bots (Imperva); no feed found (2026-09-08)."126  - id: jcab127    name: Japan Civil Aviation Bureau (MLIT)128    domain: mlit.go.jp129    homepage: https://www.mlit.go.jp/koku/130    categories: [aviation, government]131    tier: C132    aliases: [jcab, mlit koku]133    discover: { rss: true }134    sensors:135      - { name: koku index, url: "https://www.mlit.go.jp/koku/index.html", type: HTML, connector: http, tier: C }136  - id: lba137    name: Luftfahrt-Bundesamt138    domain: lba.de139    homepage: https://www.lba.de140    categories: [aviation, government]141    tier: C142    aliases: [lba]143    discover: { rss: true, sitemap: true }144    sensors:145      - { name: sitemap, url: "https://www.lba.de/Sitemap_Index.xml", type: SITEMAP, connector: sitemap, tier: C }146  - id: iata147    name: IATA148    domain: iata.org149    homepage: https://www.iata.org150    categories: [aviation, industry]151    tier: B152    weight: 1.3153    aliases: [international air transport association]154    discover: { rss: true, sitemap: true }155    sensors:156      - { name: pressroom, url: "https://www.iata.org/en/pressroom/", type: HTML, connector: http, tier: B }157  - id: aci-world158    name: ACI World159    domain: aci.aero160    homepage: https://aci.aero161    categories: [aviation, industry]162    tier: B163    aliases: [airports council international, aci]164    discover: { rss: true, sitemap: true }165    sensors:166      - { name: news feed, url: "https://aci.aero/feed/", type: RSS, connector: rss, tier: B }167  - id: airlines-for-america168    name: Airlines for America169    domain: airlines.org170    homepage: https://airlines.org171    categories: [aviation, industry]172    tier: B173    aliases: [a4a]174    discover: { rss: true, sitemap: true }175    sensors:176      - { name: news feed, url: "https://airlines.org/feed/", type: RSS, connector: rss, tier: B }177  - id: nbaa178    name: NBAA179    domain: nbaa.org180    homepage: https://nbaa.org181    categories: [aviation, industry]182    tier: C183    aliases: [national business aviation association]184    discover: { rss: true, sitemap: true }185    sensors:186      - { name: news feed, url: "https://nbaa.org/feed/", type: RSS, connector: rss, tier: C }187  # ───────────────────────── B · Airports ─────────────────────────188  - id: toronto-pearson189    name: Toronto Pearson (GTAA)190    domain: torontopearson.com191    homepage: https://www.torontopearson.com192    categories: [aviation, transport]193    tier: B194    aliases: [gtaa, yyz, greater toronto airports authority]195    discover: { sitemap: true }196    notes: "News pages are behind a Radware bot captcha; the sitemap is open."197    sensors:198      - { name: sitemap (en), url: "https://www.torontopearson.com/sitemap_yyz_en.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 3000 } }199  - id: yyc-calgary200    name: Calgary Airport Authority (YYC)201    domain: yyc.com202    homepage: https://www.yyc.com203    categories: [aviation, transport]204    tier: C205    aliases: [yyc, calgary international airport]206    discover: { sitemap: true }207    sensors:208      - { name: sitemap, url: "https://www.yyc.com/en-us/SiteMap.aspx", type: SITEMAP, connector: sitemap, tier: C }209  - id: aeroports-de-montreal210    name: Aéroports de Montréal (YUL)211    domain: admtl.com212    homepage: https://www.admtl.com213    categories: [aviation, transport]214    tier: C215    aliases: [adm, yul, montréal-trudeau]216    discover: { sitemap: true }217    notes: "admtl.com (news pages and sitemap) returns 403 (Imperva) to bots (2026-09-08)."218  - id: vancouver-airport219    name: Vancouver Airport Authority (YVR)220    domain: yvr.ca221    homepage: https://www.yvr.ca222    categories: [aviation, transport]223    tier: C224    aliases: [yvr]225    discover: { rss: false }226    notes: "yvr.ca returns 403 (Imperva) to bots (2026-09-08)."227  - id: panynj228    name: Port Authority of New York and New Jersey229    domain: panynj.gov230    homepage: https://www.panynj.gov231    categories: [aviation, transport, logistics]232    tier: B233    aliases: [port authority ny nj, jfk, ewr, lga]234    discover: { sitemap: true }235    notes: "Press-release archive is client-rendered; sitemap is open."236    sensors:237      - { name: sitemap, url: "https://www.panynj.gov/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }238  - id: lax239    name: Los Angeles World Airports (LAX)240    domain: flylax.com241    homepage: https://www.flylax.com242    categories: [aviation, transport]243    tier: C244    aliases: [lawa, los angeles international airport]245    discover: { rss: false }246    notes: "flylax.com is behind a Cloudflare challenge (2026-09-08)."247  - id: heathrow248    name: Heathrow Airport249    domain: heathrow.com250    homepage: https://www.heathrow.com251    categories: [aviation, transport]252    tier: B253    weight: 1.1254    aliases: [lhr, heathrow airport holdings]255    discover: { rss: true, sitemap: true }256    sensors:257      - { name: press releases, url: "https://mediacentre.heathrow.com/pressrelease", type: HTML, connector: http, tier: B }258      - { name: sitemap index, url: "https://www.heathrow.com/sitemap-index.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxChildren: 8, maxUrls: 4000 } }259  - id: groupe-adp260    name: Groupe ADP (Paris Aéroport)261    domain: parisaeroport.fr262    homepage: https://www.parisaeroport.fr263    categories: [aviation, transport]264    tier: C265    aliases: [aéroports de paris, adp, cdg, orly]266    discover: { sitemap: true }267    notes: "presse.groupeadp.fr is bot-blocked (403); the parisaeroport.fr sitemap is open."268    sensors:269      - { name: sitemap, url: "https://www.parisaeroport.fr/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }270  - id: schiphol271    name: Royal Schiphol Group272    domain: schiphol.nl273    homepage: https://www.schiphol.nl274    categories: [aviation, transport]275    tier: B276    aliases: [amsterdam airport schiphol, ams]277    discover: { rss: true }278    sensors:279      - { name: newsroom, url: "https://news.schiphol.com/", type: HTML, connector: http, tier: B }280  - id: fraport281    name: Fraport282    domain: fraport.com283    homepage: https://www.fraport.com284    categories: [aviation, transport]285    tier: B286    aliases: [frankfurt airport, fra]287    discover: { rss: true, sitemap: true }288    sensors:289      - { name: press releases, url: "https://www.fraport.com/en/newsroom/pressreleases.html", type: HTML, connector: http, tier: B }290  - id: changi-airport291    name: Changi Airport Group292    domain: changiairport.com293    homepage: https://www.changiairport.com294    categories: [aviation, transport]295    tier: C296    aliases: [sin, singapore changi]297    discover: { sitemap: true }298    sensors:299      - { name: sitemap, url: "https://www.changiairport.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } }300  - id: hong-kong-airport301    name: Hong Kong International Airport302    domain: hongkongairport.com303    homepage: https://www.hongkongairport.com304    categories: [aviation, transport]305    tier: B306    aliases: [hkia, airport authority hong kong, hkg]307    discover: { rss: true }308    sensors:309      - { name: press releases, url: "https://www.hongkongairport.com/en/media-centre/press-release/", type: HTML, connector: http, tier: B }310  - id: narita-airport311    name: Narita International Airport312    domain: narita-airport.jp313    homepage: https://www.narita-airport.jp314    categories: [aviation, transport]315    tier: C316    aliases: [nrt, naa]317    discover: { rss: true }318    sensors:319      - { name: news, url: "https://www.narita-airport.jp/en/news/", type: HTML, connector: http, tier: C }320  # ───────────────────────── C · Airlines ─────────────────────────321  - id: air-canada322    name: Air Canada323    domain: aircanada.com324    homepage: https://www.aircanada.com325    categories: [aviation, travel]326    tier: B327    weight: 1.2328    aliases: [air canada rouge, aeroplan]329    discover: { rss: true }330    sensors:331      - { name: media newsroom, url: "https://www.aircanada.com/media/", type: HTML, connector: http, tier: B }332      - { name: travel news and updates, url: "https://www.aircanada.com/ca/en/aco/home/book/travel-news-and-updates.html", type: HTML, connector: http, tier: B }333  - id: westjet334    name: WestJet335    domain: westjet.com336    homepage: https://www.westjet.com337    categories: [aviation, travel]338    tier: B339    aliases: [westjet airlines, swoop]340    discover: { rss: true }341    sensors:342      - { name: newsroom, url: "https://www.westjet.com/en-ca/news", type: HTML, connector: http, tier: B }343  - id: porter-airlines344    name: Porter Airlines345    domain: flyporter.com346    homepage: https://www.flyporter.com347    categories: [aviation, travel]348    tier: C349    aliases: [porter]350    discover: { rss: false }351    notes: "flyporter.com is behind a Cloudflare challenge (2026-09-08)."352  - id: air-transat353    name: Air Transat354    domain: airtransat.com355    homepage: https://www.airtransat.com356    categories: [aviation, travel]357    tier: C358    aliases: [transat, transat a.t.]359    discover: { sitemap: true }360    notes: "News page is a client-rendered shell; transat.com media room returned 404. Sitemap index is open."361    sensors:362      - { name: sitemap index, url: "https://www.airtransat.com/sitemaps", type: SITEMAP, connector: sitemap, tier: C, config: { maxChildren: 4 } }363  - id: flair-airlines364    name: Flair Airlines365    domain: flyflair.com366    homepage: https://flyflair.com367    categories: [aviation, travel]368    tier: C369    aliases: [flair]370    discover: { rss: false }371    notes: "flyflair.com returns 403 (Imperva) to bots (2026-09-08)."372  - id: delta373    name: Delta Air Lines374    domain: delta.com375    homepage: https://www.delta.com376    categories: [aviation, travel]377    tier: B378    weight: 1.3379    aliases: [delta air lines, delta airlines]380    discover: { rss: true }381    sensors:382      - { name: news hub feed, url: "https://news.delta.com/rss.xml", type: RSS, connector: rss, tier: B }383  - id: united-airlines384    name: United Airlines385    domain: united.com386    homepage: https://www.united.com387    categories: [aviation, travel]388    tier: B389    weight: 1.3390    aliases: [united]391    discover: { rss: false }392    notes: "united.com and hub.united.com (newsroom) time out / block non-browser clients (Akamai); no open feed (2026-09-08)."393  - id: american-airlines394    name: American Airlines395    domain: aa.com396    homepage: https://www.aa.com397    categories: [aviation, travel]398    tier: B399    weight: 1.3400    aliases: [american, american airlines group]401    discover: { rss: false }402    notes: "aa.com and news.aa.com (Q4 newsroom incl. RSS) sit behind a Cloudflare challenge (2026-09-08)."403  - id: southwest404    name: Southwest Airlines405    domain: southwest.com406    homepage: https://www.southwest.com407    categories: [aviation, travel]408    tier: B409    weight: 1.2410    aliases: [southwest airlines]411    discover: { sitemap: true }412    notes: "swamedia.com newsroom is a Salesforce client-rendered app; the investor-relations sitemap is open."413    sensors:414      - { name: investors sitemap, url: "https://investors.southwest.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }415  - id: jetblue416    name: JetBlue417    domain: jetblue.com418    homepage: https://www.jetblue.com419    categories: [aviation, travel]420    tier: C421    aliases: [jetblue airways]422    discover: { sitemap: true }423    notes: "news.jetblue.com (Q4 newsroom + RSS) is behind a Cloudflare challenge; the CMS sitemap is open."424    sensors:425      - { name: sitemap, url: "https://legacycms.jetblue.com/public/.rest/sitemap/v1/seo/home/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }426  - id: alaska-airlines427    name: Alaska Airlines428    domain: alaskaair.com429    homepage: https://www.alaskaair.com430    categories: [aviation, travel]431    tier: B432    aliases: [alaska air group, hawaiian airlines]433    discover: { rss: true, sitemap: true }434    sensors:435      - { name: newsroom feed, url: "https://news.alaskaair.com/feed/", type: RSS, connector: rss, tier: B }436  - id: spirit-airlines437    name: Spirit Airlines438    domain: spirit.com439    homepage: https://www.spirit.com440    categories: [aviation, travel]441    tier: C442    aliases: [spirit]443    discover: { rss: false }444    notes: "spirit.com blocks bots; ir.spirit.com redirects to spiritrestructuring.com (404 on feeds) — 2026-09-08."445  - id: frontier-airlines446    name: Frontier Airlines447    domain: flyfrontier.com448    homepage: https://www.flyfrontier.com449    categories: [aviation, travel]450    tier: C451    aliases: [frontier, frontier group holdings]452    discover: { rss: false }453    notes: "flyfrontier.com serves an 'Unauthorized Activity' interstitial and ir.flyfrontier.com a Cloudflare challenge (2026-09-08)."454  - id: lufthansa-group455    name: Lufthansa Group456    domain: lufthansagroup.com457    homepage: https://www.lufthansagroup.com458    categories: [aviation, travel]459    tier: B460    weight: 1.3461    aliases: [lufthansa, swiss, austrian airlines, brussels airlines, eurowings]462    discover: { rss: true }463    notes: "lufthansagroup.com returns 403 to bots; the Presspage newsroom (newsroom.lufthansagroup.com) is open."464    sensors:465      - { name: newsroom, url: "https://newsroom.lufthansagroup.com/en/", type: HTML, connector: http, tier: B }466  - id: air-france-klm467    name: Air France-KLM468    domain: airfranceklm.com469    homepage: https://www.airfranceklm.com470    categories: [aviation, travel]471    tier: B472    weight: 1.3473    aliases: [air france, klm, afklm, transavia]474    discover: { rss: true }475    notes: "airfranceklm.com and corporate.airfrance.com are behind a Cloudflare challenge; KLM's Presspage newsroom is open."476    sensors:477      - { name: klm newsroom, url: "https://news.klm.com/", type: HTML, connector: http, tier: B }478  - id: iag479    name: International Airlines Group480    domain: iairgroup.com481    homepage: https://www.iairgroup.com482    categories: [aviation, travel]483    tier: C484    weight: 1.2485    aliases: [iag, british airways, iberia, vueling, aer lingus]486    discover: { sitemap: true }487    notes: "iberia.com and ba.com block bots; the IAG corporate sitemap is open."488    sensors:489      - { name: sitemap, url: "https://www.iairgroup.com/xmlsitemap", type: SITEMAP, connector: sitemap, tier: C }490  - id: ryanair491    name: Ryanair492    domain: ryanair.com493    homepage: https://www.ryanair.com494    categories: [aviation, travel]495    tier: B496    weight: 1.2497    aliases: [ryanair holdings]498    discover: { rss: true }499    sensors:500      - { name: corporate news (wp api), url: "https://corporate.ryanair.com/wp-json/wp/v2/posts?per_page=20&_fields=id,date,link,title,excerpt", type: REST_API, connector: jsonlist, tier: B, config: { keyField: id, titleField: title.rendered, urlField: link, dateField: date, summaryField: excerpt.rendered, compareFields: [title.rendered] } }501  - id: easyjet502    name: easyJet503    domain: easyjet.com504    homepage: https://www.easyjet.com505    categories: [aviation, travel]506    tier: C507    weight: 1.1508    discover: { rss: false }509    notes: "easyjet.com and mediacentre.easyjet.com are Akamai-protected (403) — 2026-09-08."510  - id: wizz-air511    name: Wizz Air512    domain: wizzair.com513    homepage: https://wizzair.com514    categories: [aviation, travel]515    tier: C516    aliases: [wizz]517    discover: { sitemap: true }518    notes: "wizzair.com press pages are client-rendered and the sitemap index resolves to empty child maps for bots (2026-09-08)."519  - id: norwegian520    name: Norwegian Air Shuttle521    domain: norwegian.com522    homepage: https://www.norwegian.com523    categories: [aviation, travel]524    tier: C525    aliases: [norwegian air]526    discover: { sitemap: true }527    notes: "media.norwegian.com (Mynewsdesk) shows an 'Are you human?' wall and norwegian.com/sitemap.xml returns 403 on repeat fetches (2026-09-08)."528  - id: sas529    name: SAS Scandinavian Airlines530    domain: sasgroup.net531    homepage: https://www.sasgroup.net532    categories: [aviation, travel]533    tier: C534    aliases: [sas, scandinavian airlines]535    discover: { rss: true, sitemap: true }536    sensors:537      - { name: press releases, url: "https://www.sasgroup.net/newsroom/press-releases/", type: HTML, connector: http, tier: C }538  - id: cathay-pacific539    name: Cathay Pacific540    domain: cathaypacific.com541    homepage: https://www.cathaypacific.com542    categories: [aviation, travel]543    tier: B544    aliases: [cathay]545    discover: { rss: true }546    sensors:547      - { name: newsroom, url: "https://news.cathaypacific.com/", type: HTML, connector: http, tier: B }548  - id: air-new-zealand549    name: Air New Zealand550    domain: airnewzealand.co.nz551    homepage: https://www.airnewzealand.co.nz552    categories: [aviation, travel]553    tier: C554    aliases: [air nz]555    discover: { sitemap: true }556    sensors:557      - { name: sitemap, url: "https://www.airnewzealand.com/sitemap/en-nz.xml", type: SITEMAP, connector: sitemap, tier: C }558  - id: korean-air559    name: Korean Air560    domain: koreanair.com561    homepage: https://www.koreanair.com562    categories: [aviation, travel]563    tier: B564    aliases: [대한항공, asiana]565    discover: { rss: true }566    sensors:567      - { name: newsroom feed, url: "https://news.koreanair.com/feed/", type: RSS, connector: rss, tier: B }568  - id: ethiopian-airlines569    name: Ethiopian Airlines570    domain: ethiopianairlines.com571    homepage: https://www.ethiopianairlines.com572    categories: [aviation, travel]573    tier: C574    aliases: [ethiopian]575    discover: { rss: true }576    sensors:577      - { name: press releases, url: "https://corporate.ethiopianairlines.com/media/press-release", type: HTML, connector: http, tier: C }578  - id: kenya-airways579    name: Kenya Airways580    domain: kenya-airways.com581    homepage: https://www.kenya-airways.com582    categories: [aviation, travel]583    tier: C584    aliases: [kq]585    discover: { sitemap: true }586    sensors:587      - { name: sitemap, url: "https://www.kenya-airways.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }588  - id: airasia589    name: AirAsia (Capital A)590    domain: airasia.com591    homepage: https://www.airasia.com592    categories: [aviation, travel]593    tier: C594    aliases: [capital a, airasia move]595    discover: { rss: true }596    notes: "airasia.com rate-limits bots (Cloudflare 429) and newsroom.airasia.com is a client-rendered shell (thin) — 2026-09-08."597  - id: cebu-pacific598    name: Cebu Pacific599    domain: cebupacificair.com600    homepage: https://www.cebupacificair.com601    categories: [aviation, travel]602    tier: C603    aliases: [cebu pacific air, 5j]604    discover: { rss: true }605    notes: "cebupacificair.com newsroom is a client-rendered shell (thin) — 2026-09-08."606  # ───────────────────────── D · Aerospace & defence manufacturers, eVTOL ─────────────────────────607  - id: boeing608    name: Boeing609    domain: boeing.com610    homepage: https://www.boeing.com611    categories: [aviation, space, industry]612    tier: A613    weight: 1.5614    aliases: [the boeing company]615    products:616      - { name: 737 MAX, type: product, aliases: ["737 max", "737-8", "737-9"] }617      - { name: 787 Dreamliner, type: product, aliases: ["787 dreamliner"] }618      - { name: 777X, type: product }619      - { name: Starliner, type: product }620    discover: { rss: true, sitemap: true }621    sensors:622      - { name: news releases feed, url: "https://boeing.mediaroom.com/news-releases-statements?pagetemplate=rss", type: RSS, connector: rss, tier: A }623      - { name: news sitemap, url: "https://www.boeing.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }624  - id: airbus625    name: Airbus626    domain: airbus.com627    homepage: https://www.airbus.com628    categories: [aviation, space, industry]629    tier: A630    weight: 1.5631    aliases: [airbus se, airbus group]632    products:633      - { name: A320neo, type: product, aliases: [a320neo, a321neo, a321xlr] }634      - { name: A350, type: product }635      - { name: A220, type: product }636    discover: { rss: true, sitemap: true }637    sensors:638      - { name: news feed, url: "https://www.airbus.com/en/rss.xml", type: RSS, connector: rss, tier: A }639  - id: embraer640    name: Embraer641    domain: embraer.com642    homepage: https://embraer.com643    categories: [aviation, industry]644    tier: B645    weight: 1.1646    aliases: [embraer s.a., eve air mobility]647    products:648      - { name: E2 family, type: product, aliases: [e195-e2, e190-e2] }649    discover: { rss: true, sitemap: true }650    notes: "eveairmobility.com (Eve) is Imperva-protected (403); Embraer's own sitemap is open."651    sensors:652      - { name: sitemap, url: "https://embraer.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }653  - id: bombardier654    name: Bombardier655    domain: bombardier.com656    homepage: https://bombardier.com657    categories: [aviation, industry]658    tier: B659    aliases: [bombardier inc., global 7500, challenger]660    discover: { rss: false }661    notes: "bombardier.com (and Héroux-Devtek) serve an Imperva bot-wall shell (NOINDEX, ~1 KB) to non-browser clients (2026-09-08)."662  - id: heroux-devtek663    name: Héroux-Devtek664    domain: herouxdevtek.com665    homepage: https://www.herouxdevtek.com666    categories: [aviation, industry]667    tier: C668    aliases: [heroux devtek]669    discover: { rss: false }670    notes: "herouxdevtek.com serves an Imperva bot-wall shell to non-browser clients (2026-09-08)."671  - id: general-dynamics672    name: General Dynamics673    domain: gd.com674    homepage: https://www.gd.com675    categories: [aviation, industry]676    tier: B677    weight: 1.1678    aliases: [gulfstream, gulfstream aerospace, gd]679    discover: { rss: true }680    notes: "gulfstreamnews.com returns 403; General Dynamics' corporate press feed covers Gulfstream announcements."681    sensors:682      - { name: press releases feed, url: "https://www.gd.com/feed.xml", type: RSS, connector: rss, tier: B }683  - id: dassault-aviation684    name: Dassault Aviation685    domain: dassault-aviation.com686    homepage: https://www.dassault-aviation.com687    categories: [aviation, industry]688    tier: B689    aliases: [dassault, falcon, rafale]690    discover: { rss: true, sitemap: true }691    sensors:692      - { name: news feed (en), url: "https://www.dassault-aviation.com/en/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 30 } }693  - id: textron-aviation694    name: Textron Aviation695    domain: txtav.com696    homepage: https://txtav.com697    categories: [aviation, industry]698    tier: B699    aliases: [cessna, beechcraft, textron]700    discover: { rss: true, sitemap: true }701    sensors:702      - { name: newsroom, url: "https://media.txtav.com/", type: HTML, connector: http, tier: B }703      - { name: sitemap, url: "https://txtav.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }704  - id: rtx705    name: RTX (Pratt & Whitney, Collins Aerospace, Raytheon)706    domain: rtx.com707    homepage: https://www.rtx.com708    categories: [aviation, industry]709    tier: B710    weight: 1.3711    aliases: [raytheon technologies, pratt & whitney, pratt and whitney, collins aerospace, raytheon]712    products:713      - { name: PW1100G GTF, type: product, aliases: [gtf, geared turbofan, pw1100g] }714    discover: { rss: true, sitemap: true }715    notes: "prattwhitney.com and collinsaerospace.com newsrooms are behind a Cloudflare challenge; rtx.com is open."716    sensors:717      - { name: news, url: "https://www.rtx.com/news", type: HTML, connector: http, tier: B }718      - { name: sitemap, url: "https://www.rtx.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }719  - id: ge-aerospace720    name: GE Aerospace721    domain: geaerospace.com722    homepage: https://www.geaerospace.com723    categories: [aviation, industry]724    tier: B725    weight: 1.3726    aliases: [ge aviation, cfm international, leap engine]727    discover: { rss: true, sitemap: true }728    sensors:729      - { name: news feed, url: "https://www.geaerospace.com/news/rss.xml", type: RSS, connector: rss, tier: B }730  - id: rolls-royce731    name: Rolls-Royce Holdings732    domain: rolls-royce.com733    homepage: https://www.rolls-royce.com734    categories: [aviation, industry]735    tier: B736    weight: 1.2737    aliases: [rolls royce, trent xwb]738    discover: { rss: false }739    notes: "rolls-royce.com is Imperva-protected (403 for bots) — 2026-09-08."740  - id: safran741    name: Safran742    domain: safran-group.com743    homepage: https://www.safran-group.com744    categories: [aviation, industry]745    tier: B746    weight: 1.2747    discover: { rss: true }748    sensors:749      - { name: pressroom, url: "https://www.safran-group.com/pressroom", type: HTML, connector: http, tier: B }750  - id: cae751    name: CAE752    domain: cae.com753    homepage: https://www.cae.com754    categories: [aviation, industry]755    tier: B756    aliases: [cae inc.]757    discover: { rss: true, sitemap: true }758    notes: "cae.com sitemaps (news.xml, sitemap.xml) answer 200 once then 403 on repeat fetches (bot management) — 2026-09-08."759  - id: honeywell-aerospace760    name: Honeywell Aerospace761    domain: honeywellaerospace.com762    homepage: https://aerospace.honeywell.com763    categories: [aviation, industry]764    tier: C765    aliases: [honeywell]766    discover: { rss: true }767    sensors:768      - { name: newsroom, url: "https://www.honeywellaerospace.com/us/en/company/newsroom", type: HTML, connector: http, tier: C }769  - id: thales770    name: Thales771    domain: thalesgroup.com772    homepage: https://www.thalesgroup.com773    categories: [aviation, space, industry]774    tier: B775    weight: 1.2776    aliases: [thales group, thales alenia space]777    discover: { rss: true, sitemap: true }778    notes: "thalesgroup.com (rss.xml, sitemap) answers once then switches to a 403/302 bot challenge on repeat fetches (2026-09-08); no stable sensor kept."779  - id: leonardo780    name: Leonardo781    domain: leonardo.com782    homepage: https://www.leonardo.com783    categories: [aviation, space, industry]784    tier: C785    aliases: [leonardo s.p.a., agustawestland, telespazio]786    discover: { sitemap: true }787    sensors:788      - { name: sitemap (en), url: "https://www.leonardo.com/sitemap_EN.xml", type: SITEMAP, connector: sitemap, tier: C }789  - id: saab790    name: Saab791    domain: saab.com792    homepage: https://www.saab.com793    categories: [aviation, industry]794    tier: B795    aliases: [saab ab, gripen]796    discover: { rss: true, sitemap: true }797    sensors:798      - { name: press releases, url: "https://www.saab.com/newsroom/press-releases", type: HTML, connector: http, tier: B }799  - id: lockheed-martin800    name: Lockheed Martin801    domain: lockheedmartin.com802    homepage: https://www.lockheedmartin.com803    categories: [aviation, space, industry]804    tier: B805    weight: 1.3806    aliases: [lockheed, f-35, skunk works]807    discover: { rss: true, sitemap: true }808    sensors:809      - { name: news releases feed, url: "https://news.lockheedmartin.com/news-releases?pagetemplate=rss", type: RSS, connector: rss, tier: B }810      - { name: sitemap (en-us), url: "https://www.lockheedmartin.com/sitemap-en-us.xml", type: SITEMAP, connector: sitemap, tier: C }811  - id: northrop-grumman812    name: Northrop Grumman813    domain: northropgrumman.com814    homepage: https://www.northropgrumman.com815    categories: [aviation, space, industry]816    tier: B817    weight: 1.2818    aliases: [northrop, b-21 raider]819    discover: { rss: true, sitemap: true }820    notes: "news.northropgrumman.com is a Next.js shell (RSS endpoints 403 on Vercel, HTML nearly empty); the corporate sitemap is open."821    sensors:822      - { name: sitemap, url: "https://www.northropgrumman.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }823  - id: l3harris824    name: L3Harris Technologies825    domain: l3harris.com826    homepage: https://www.l3harris.com827    categories: [aviation, space, industry]828    tier: B829    aliases: [l3harris, aerojet rocketdyne]830    discover: { rss: true, sitemap: true }831    sensors:832      - { name: newsroom feed, url: "https://www.l3harris.com/feeds/newsroom/rss.xml?rid=12281", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }833  - id: bae-systems834    name: BAE Systems835    domain: baesystems.com836    homepage: https://www.baesystems.com837    categories: [aviation, industry]838    tier: B839    weight: 1.1840    aliases: [bae]841    discover: { rss: false }842    notes: "baesystems.com serves an Imperva bot-wall (403) to non-browser clients (2026-09-08)."843  - id: joby-aviation844    name: Joby Aviation845    domain: jobyaviation.com846    homepage: https://www.jobyaviation.com847    categories: [aviation, technology]848    tier: B849    aliases: [joby, evtol]850    discover: { rss: true, sitemap: true }851    sensors:852      - { name: news, url: "https://www.jobyaviation.com/news", type: HTML, connector: http, tier: B }853      - { name: sitemap, url: "https://www.jobyaviation.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }854  - id: archer-aviation855    name: Archer Aviation856    domain: archer.com857    homepage: https://archer.com858    categories: [aviation, technology]859    tier: C860    aliases: [archer, midnight evtol]861    discover: { sitemap: true }862    notes: "archer.com/news is a client-rendered app and investors.archer.com (Q4 RSS) is behind a Cloudflare challenge; sitemap index is open."863    sensors:864      - { name: sitemap index, url: "https://archer.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }865  - id: wisk-aero866    name: Wisk Aero867    domain: wisk.aero868    homepage: https://wisk.aero869    categories: [aviation, technology]870    tier: C871    aliases: [wisk]872    discover: { rss: true, sitemap: true }873    sensors:874      - { name: newsroom, url: "https://wisk.aero/newsroom", type: HTML, connector: http, tier: C }875  - id: beta-technologies876    name: BETA Technologies877    domain: beta.team878    homepage: https://beta.team879    categories: [aviation, technology]880    tier: C881    aliases: [beta, alia]882    discover: { rss: true, sitemap: true }883    sensors:884      - { name: news stories, url: "https://beta.team/stories", type: HTML, connector: http, tier: C }885  - id: vertical-aerospace886    name: Vertical Aerospace887    domain: vertical-aerospace.com888    homepage: https://vertical-aerospace.com889    categories: [aviation, technology]890    tier: C891    aliases: [vx4]892    discover: { rss: true, sitemap: true }893    sensors:894      - { name: news feed, url: "https://vertical-aerospace.com/news/feed/", type: RSS, connector: rss, tier: C }895  # ───────────────────────── E · Space agencies, launch & satellite companies ─────────────────────────896  - id: the-space-devs897    name: The Space Devs (Launch Library 2)898    domain: thespacedevs.com899    homepage: https://thespacedevs.com900    categories: [space, open-data]901    tier: B902    weight: 1.2903    aliases: [launch library, launch library 2, ll2]904    products:905      - { name: Launch Library 2 API, type: API, aliases: [ll2 api] }906    discover: { rss: false }907    llm: false908    notes: "Community-maintained launch manifest (net = no-earlier-than); free tier ~15 req/h, so tier B only, never S/A."909    sensors:910      - { name: upcoming launches, url: "https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=30&mode=list", type: REST_API, connector: jsonlist, tier: B, config: { itemsPath: results, keyField: id, titleField: name, dateField: net, summaryField: status.name, compareFields: [net, status.name], urlTemplate: "https://ll.thespacedevs.com/2.2.0/launch/{key}/" } }911  - id: spacex912    name: SpaceX913    domain: spacex.com914    homepage: https://www.spacex.com915    categories: [space, technology]916    tier: A917    weight: 1.5918    aliases: [space exploration technologies, starship, falcon 9, starlink]919    products:920      - { name: Starship, type: product }921      - { name: Falcon 9, type: product, aliases: [falcon heavy] }922      - { name: Starlink, type: service }923    discover: { rss: false }924    notes: "spacex.com (updates, launches) is a ~3 KB client-rendered shell with no feed or API; launches are covered by the Launch Library sensor (the-space-devs)."925  - id: blue-origin926    name: Blue Origin927    domain: blueorigin.com928    homepage: https://www.blueorigin.com929    categories: [space, technology]930    tier: B931    weight: 1.2932    aliases: [new glenn, new shepard, blue moon]933    discover: { rss: false }934    notes: "blueorigin.com/news answers 429 (Vercel rate-limit) to non-browser clients — 2026-09-08."935  - id: rocket-lab936    name: Rocket Lab937    domain: rocketlabcorp.com938    homepage: https://rocketlabcorp.com939    categories: [space, technology]940    tier: B941    weight: 1.2942    aliases: [rocket lab usa, electron, neutron]943    discover: { rss: true, sitemap: true }944    sensors:945      - { name: updates, url: "https://rocketlabcorp.com/updates/", type: HTML, connector: http, tier: B }946  - id: ula947    name: United Launch Alliance948    domain: ulalaunch.com949    homepage: https://www.ulalaunch.com950    categories: [space, industry]951    tier: B952    aliases: [ula, vulcan centaur, atlas v]953    discover: { rss: true, sitemap: true }954    sensors:955      - { name: news, url: "https://www.ulalaunch.com/about/news", type: HTML, connector: http, tier: B }956  - id: arianespace957    name: Arianespace958    domain: arianespace.com959    homepage: https://www.arianespace.com960    categories: [space, industry]961    tier: B962    weight: 1.1963    aliases: [ariane 6, vega c, arianegroup]964    discover: { rss: true, sitemap: true }965    sensors:966      - { name: news sitemap, url: "https://www.arianespace.com/news-sitemap.xml", type: SITEMAP, connector: sitemap, tier: B }967  - id: firefly-aerospace968    name: Firefly Aerospace969    domain: fireflyspace.com970    homepage: https://fireflyspace.com971    categories: [space, technology]972    tier: B973    aliases: [firefly, alpha rocket, blue ghost]974    discover: { rss: true, sitemap: true }975    sensors:976      - { name: news feed, url: "https://fireflyspace.com/news/feed/", type: RSS, connector: rss, tier: B, config: { maxItems: 50 } }977  - id: relativity-space978    name: Relativity Space979    domain: relativityspace.com980    homepage: https://www.relativityspace.com981    categories: [space, technology]982    tier: C983    aliases: [terran r]984    discover: { sitemap: true }985    sensors:986      - { name: sitemap, url: "https://www.relativityspace.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }987  - id: stoke-space988    name: Stoke Space989    domain: stokespace.com990    homepage: https://www.stokespace.com991    categories: [space, technology]992    tier: C993    aliases: [nova rocket]994    discover: { rss: true }995    sensors:996      - { name: news, url: "https://www.stokespace.com/news", type: HTML, connector: http, tier: C }997  - id: sierra-space998    name: Sierra Space999    domain: sierraspace.com1000    homepage: https://www.sierraspace.com1001    categories: [space, technology]1002    tier: B1003    aliases: [dream chaser, life habitat]1004    discover: { rss: true, sitemap: true }1005    sensors:1006      - { name: news feed, url: "https://www.sierraspace.com/feed/", type: RSS, connector: rss, tier: B }1007  - id: axiom-space1008    name: Axiom Space1009    domain: axiomspace.com1010    homepage: https://axiomspace.com1011    categories: [space, technology]1012    tier: B1013    aliases: [axiom station, axiom mission]1014    discover: { rss: true, sitemap: true }1015    sensors:1016      - { name: news feed, url: "https://axiomspace.com/news/rss.xml", type: RSS, connector: rss, tier: B }1017  - id: vast1018    name: Vast1019    domain: vastspace.com1020    homepage: https://www.vastspace.com1021    categories: [space, technology]1022    tier: C1023    aliases: [vast space, haven-1]1024    discover: { rss: true }1025    sensors:1026      - { name: updates, url: "https://www.vastspace.com/updates", type: HTML, connector: http, tier: C }1027  - id: planet-labs1028    name: Planet Labs1029    domain: planet.com1030    homepage: https://www.planet.com1031    categories: [space, technology]1032    tier: B1033    aliases: [planet, planetscope, skysat]1034    discover: { rss: true, sitemap: true }1035    notes: "investors.planet.com (Q4 RSS) is behind a Cloudflare challenge; the Pulse blog and sitemap are open."1036    sensors:1037      - { name: pulse blog, url: "https://www.planet.com/pulse/", type: HTML, connector: http, tier: B }1038      - { name: sitemap, url: "https://www.planet.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1039  - id: maxar1040    name: Maxar (Vantor)1041    domain: maxar.com1042    homepage: https://vantor.com1043    categories: [space, technology]1044    tier: C1045    aliases: [vantor, maxar intelligence, maxar technologies, worldview legion]1046    discover: { rss: false }1047    notes: "maxar.com now redirects to vantor.com (rebrand); the Nuxt site ships 2+ MB pages with no feed and /news is 404 — no sensor kept (2026-09-08)."1048  - id: blacksky1049    name: BlackSky1050    domain: blacksky.com1051    homepage: https://blacksky.com1052    categories: [space, technology]1053    tier: C1054    discover: { sitemap: true }1055    sensors:1056      - { name: sitemap index, url: "https://blacksky.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: C }1057  - id: iridium1058    name: Iridium Communications1059    domain: iridium.com1060    homepage: https://www.iridium.com1061    categories: [space, telecom]1062    tier: C1063    aliases: [iridium]1064    discover: { rss: false }1065    notes: "iridium.com returns 403 to bots and investor.iridium.com has no RSS (2026-09-08)."1066  - id: viasat1067    name: Viasat1068    domain: viasat.com1069    homepage: https://www.viasat.com1070    categories: [space, telecom]1071    tier: B1072    aliases: [inmarsat]1073    discover: { rss: true, sitemap: true }1074    sensors:1075      - { name: latest news, url: "https://www.viasat.com/news/latest-news/", type: HTML, connector: http, tier: B }1076  - id: telesat1077    name: Telesat1078    domain: telesat.com1079    homepage: https://www.telesat.com1080    categories: [space, telecom]1081    tier: B1082    aliases: [telesat lightspeed]1083    discover: { rss: true, sitemap: true }1084    sensors:1085      - { name: press, url: "https://www.telesat.com/press/", type: HTML, connector: http, tier: B }1086  - id: mda-space1087    name: MDA Space1088    domain: mda.space1089    homepage: https://mda.space1090    categories: [space, technology]1091    tier: B1092    weight: 1.11093    aliases: [mda, canadarm3, mda ltd]1094    discover: { rss: true, sitemap: true }1095    sensors:1096      - { name: news releases, url: "https://mda.space/news", type: HTML, connector: http, tier: B }1097  - id: ghgsat1098    name: GHGSat1099    domain: ghgsat.com1100    homepage: https://www.ghgsat.com1101    categories: [space, climate]1102    tier: C1103    discover: { rss: true, sitemap: true }1104    sensors:1105      - { name: resources and news, url: "https://www.ghgsat.com/resources/", type: HTML, connector: http, tier: C }1106  - id: northstar1107    name: NorthStar Earth & Space1108    domain: northstar-data.com1109    homepage: https://northstar-data.com1110    categories: [space, technology]1111    tier: C1112    aliases: [northstar earth and space]1113    discover: { rss: true, sitemap: true }1114    sensors:1115      - { name: news feed, url: "https://northstar-data.com/feed/", type: RSS, connector: rss, tier: C }1116  - id: isro1117    name: ISRO1118    domain: isro.gov.in1119    homepage: https://www.isro.gov.in1120    categories: [space, government]1121    tier: B1122    weight: 1.31123    aliases: [indian space research organisation, gaganyaan, chandrayaan]1124    discover: { rss: true }1125    sensors:1126      - { name: press, url: "https://www.isro.gov.in/Press.html", type: HTML, connector: http, tier: B }1127  - id: jaxa1128    name: JAXA1129    domain: jaxa.jp1130    homepage: https://global.jaxa.jp1131    categories: [space, government]1132    tier: B1133    weight: 1.31134    aliases: [japan aerospace exploration agency, h3 rocket]1135    discover: { rss: true }1136    sensors:1137      - { name: press releases feed, url: "https://global.jaxa.jp/rss/press.rdf", type: RSS, connector: rss, tier: B }1138      - { name: what's new, url: "https://global.jaxa.jp/news/", type: HTML, connector: http, tier: B }1139  - id: cnes1140    name: CNES1141    domain: cnes.fr1142    homepage: https://cnes.fr1143    categories: [space, government]1144    tier: B1145    weight: 1.21146    aliases: [centre national d'études spatiales]1147    discover: { rss: true, sitemap: true }1148    sensors:1149      - { name: news feed, url: "https://cnes.fr/rss/news", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }1150  - id: dlr1151    name: DLR1152    domain: dlr.de1153    homepage: https://www.dlr.de1154    categories: [space, aviation, research]1155    tier: B1156    weight: 1.11157    aliases: [deutsches zentrum für luft- und raumfahrt, german aerospace center]1158    discover: { rss: true, sitemap: true }1159    notes: "dlr.de/en/latest/news is a React app (the /rss path returns the same HTML); the sitemap index is open."1160    sensors:1161      - { name: sitemap index, url: "https://www.dlr.de/sitemap-index.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxChildren: 12, maxUrls: 4000 } }1162  - id: asi1163    name: ASI (Agenzia Spaziale Italiana)1164    domain: asi.it1165    homepage: https://www.asi.it1166    categories: [space, government]1167    tier: C1168    aliases: [italian space agency, agenzia spaziale italiana]1169    discover: { rss: true }1170    sensors:1171      - { name: news feed (en), url: "https://www.asi.it/en/feed/", type: RSS, connector: rss, tier: C }1172  - id: uk-space-agency1173    name: UK Space Agency1174    domain: gov.uk1175    homepage: https://www.gov.uk/government/organisations/uk-space-agency1176    categories: [space, government]1177    tier: B1178    aliases: [uksa]1179    discover: { rss: false }1180    sensors:1181      - { name: gov.uk feed, url: "https://www.gov.uk/government/organisations/uk-space-agency.atom", type: ATOM, connector: rss, tier: B }1182  - id: canadian-space-agency1183    name: Canadian Space Agency1184    domain: asc-csa.gc.ca1185    homepage: https://www.asc-csa.gc.ca1186    categories: [space, government]1187    tier: B1188    weight: 1.11189    aliases: [csa, asc, agence spatiale canadienne]1190    discover: { rss: true, sitemap: true }1191    sensors:1192      - { name: news, url: "https://www.asc-csa.gc.ca/eng/news/", type: HTML, connector: http, tier: B }1193      - { name: sitemap (pages), url: "https://www.asc-csa.gc.ca/sitemaps/sitemap-pages.xml", type: SITEMAP, connector: sitemap, tier: C }1194  - id: kasa1195    name: Korea AeroSpace Administration1196    domain: kasa.go.kr1197    homepage: https://www.kasa.go.kr1198    categories: [space, government]1199    tier: C1200    aliases: [kasa, kari, korea aerospace research institute]1201    discover: { sitemap: true }1202    sensors:1203      - { name: sitemap, url: "https://www.kasa.go.kr/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1204  - id: roscosmos1205    name: Roscosmos1206    domain: roscosmos.ru1207    homepage: https://www.roscosmos.ru1208    categories: [space, government]1209    tier: C1210    aliases: [роскосмос]1211    discover: { rss: false }1212    notes: "No feed, sitemap or server-rendered index found on roscosmos.ru (2026-09-08)."1213  - id: eumetsat1214    name: EUMETSAT1215    domain: eumetsat.int1216    homepage: https://www.eumetsat.int1217    categories: [space, weather, international]1218    tier: B1219    discover: { rss: true, sitemap: true }1220    sensors:1221      - { name: news feed, url: "https://www.eumetsat.int/news/feed", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }1222  - id: euspa1223    name: EUSPA1224    domain: euspa.europa.eu1225    homepage: https://www.euspa.europa.eu1226    categories: [space, government]1227    tier: B1228    aliases: [eu agency for the space programme, galileo, copernicus, egnos]1229    discover: { rss: true }1230    sensors:1231      - { name: news feed, url: "https://www.euspa.europa.eu/rss.xml", type: RSS, connector: rss, tier: B }1232  - id: space-foundation1233    name: Space Foundation1234    domain: spacefoundation.org1235    homepage: https://www.spacefoundation.org1236    categories: [space, ngo]1237    tier: C1238    aliases: [space symposium]1239    discover: { rss: true }1240    sensors:1241      - { name: news feed, url: "https://www.spacefoundation.org/feed/", type: RSS, connector: rss, tier: C }1242  - id: secure-world-foundation1243    name: Secure World Foundation1244    domain: swfound.org1245    homepage: https://www.swfound.org1246    categories: [space, ngo]1247    tier: C1248    aliases: [swf]1249    discover: { rss: true, sitemap: true }1250    sensors:1251      - { name: news, url: "https://www.swfound.org/news", type: HTML, connector: http, tier: C }1252  - id: planetary-society1253    name: The Planetary Society1254    domain: planetary.org1255    homepage: https://www.planetary.org1256    categories: [space, ngo]1257    tier: C1258    discover: { rss: true, sitemap: true }1259    sensors:1260      - { name: articles, url: "https://www.planetary.org/articles", type: HTML, connector: http, tier: C }1261  # ───────────────────────── F · Rail & transit ─────────────────────────1262  - id: amtrak1263    name: Amtrak1264    domain: amtrak.com1265    homepage: https://www.amtrak.com1266    categories: [transport]1267    tier: B1268    weight: 1.11269    aliases: [national railroad passenger corporation, acela]1270    discover: { rss: true, sitemap: true }1271    sensors:1272      - { name: media feed, url: "https://media.amtrak.com/feed/", type: RSS, connector: rss, tier: B }1273  - id: via-rail1274    name: VIA Rail Canada1275    domain: viarail.ca1276    homepage: https://www.viarail.ca1277    categories: [transport]1278    tier: B1279    aliases: [via rail, via]1280    discover: { rss: true }1281    sensors:1282      - { name: press releases, url: "https://media.viarail.ca/en/press-releases", type: HTML, connector: http, tier: B }1283  - id: cn-rail1284    name: CN (Canadian National Railway)1285    domain: cn.ca1286    homepage: https://www.cn.ca1287    categories: [transport, logistics]1288    tier: B1289    weight: 1.21290    aliases: [cn, canadian national]1291    discover: { rss: true }1292    sensors:1293      - { name: media, url: "https://www.cn.ca/en/media/", type: HTML, connector: http, tier: B }1294  - id: cpkc1295    name: CPKC1296    domain: cpkcr.com1297    homepage: https://www.cpkcr.com1298    categories: [transport, logistics]1299    tier: B1300    weight: 1.11301    aliases: [canadian pacific kansas city, canadian pacific, cp rail]1302    discover: { rss: false }1303    notes: "cpkcr.com times out for non-browser clients and investor.cpkcr.com (Q4 RSS) is behind a Cloudflare challenge (2026-09-08)."1304  - id: union-pacific1305    name: Union Pacific1306    domain: up.com1307    homepage: https://www.up.com1308    categories: [transport, logistics]1309    tier: B1310    weight: 1.11311    aliases: [up, union pacific railroad]1312    discover: { rss: true }1313    sensors:1314      - { name: press releases, url: "https://www.up.com/press-releases", type: HTML, connector: http, tier: B }1315  - id: bnsf1316    name: BNSF Railway1317    domain: bnsf.com1318    homepage: https://www.bnsf.com1319    categories: [transport, logistics]1320    tier: B1321    aliases: [bnsf, burlington northern santa fe]1322    discover: { rss: true }1323    sensors:1324      - { name: news and media, url: "https://www.bnsf.com/news-media/index.page", type: HTML, connector: http, tier: B }1325  - id: csx1326    name: CSX1327    domain: csx.com1328    homepage: https://www.csx.com1329    categories: [transport, logistics]1330    tier: C1331    aliases: [csx transportation]1332    discover: { rss: false }1333    notes: "csx.com is Imperva-protected (403) and investors.csx.com sits behind a Cloudflare challenge (2026-09-08)."1334  - id: norfolk-southern1335    name: Norfolk Southern1336    domain: norfolksouthern.com1337    homepage: https://www.norfolksouthern.com1338    categories: [transport, logistics]1339    tier: B1340    aliases: [ns, norfolk southern railway]1341    discover: { rss: true, sitemap: true }1342    sensors:1343      - { name: newsroom, url: "https://www.norfolksouthern.com/en/newsroom", type: HTML, connector: http, tier: B }1344  - id: deutsche-bahn1345    name: Deutsche Bahn1346    domain: deutschebahn.com1347    homepage: https://www.deutschebahn.com1348    categories: [transport]1349    tier: B1350    weight: 1.21351    aliases: [db, db ag]1352    discover: { rss: true }1353    sensors:1354      - { name: presse, url: "https://www.deutschebahn.com/de/presse", type: HTML, connector: http, tier: B }1355  - id: sncf1356    name: SNCF1357    domain: sncf.com1358    homepage: https://www.groupe-sncf.com1359    categories: [transport]1360    tier: B1361    weight: 1.21362    aliases: [groupe sncf, sncf voyageurs, tgv inoui]1363    discover: { rss: false }1364    notes: "groupe-sncf.com and sncf.com are behind a DataDome challenge (403 'Please wait') — 2026-09-08."1365  - id: eurostar1366    name: Eurostar1367    domain: eurostar.com1368    homepage: https://www.eurostar.com1369    categories: [transport, travel]1370    tier: C1371    aliases: [eurostar group, thalys]1372    discover: { sitemap: true }1373    sensors:1374      - { name: sitemap index (uk-en), url: "https://www.eurostar.com/uk-en/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxChildren: 10 } }1375  - id: jr-east1376    name: JR East1377    domain: jreast.co.jp1378    homepage: https://www.jreast.co.jp1379    categories: [transport]1380    tier: C1381    aliases: [east japan railway company]1382    discover: { rss: false }1383    notes: "jreast.co.jp press pages are Akamai-protected (403) — 2026-09-08."1384  - id: alstom1385    name: Alstom1386    domain: alstom.com1387    homepage: https://www.alstom.com1388    categories: [transport, industry]1389    tier: B1390    weight: 1.11391    discover: { rss: true, sitemap: true }1392    sensors:1393      - { name: newsroom, url: "https://www.alstom.com/newsroom", type: HTML, connector: http, tier: B }1394  - id: siemens-mobility1395    name: Siemens Mobility1396    domain: mobility.siemens.com1397    homepage: https://www.mobility.siemens.com1398    categories: [transport, industry]1399    tier: C1400    aliases: [siemens mobility gmbh, velaro]1401    discover: { sitemap: true }1402    sensors:1403      - { name: sitemap index, url: "https://www.mobility.siemens.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxChildren: 10, maxUrls: 3000 } }1404  - id: stadler1405    name: Stadler Rail1406    domain: stadlerrail.com1407    homepage: https://www.stadlerrail.com1408    categories: [transport, industry]1409    tier: C1410    aliases: [stadler]1411    discover: { rss: true, sitemap: true }1412    sensors:1413      - { name: sitemap, url: "https://www.stadlerrail.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1414  - id: wabtec1415    name: Wabtec1416    domain: wabteccorp.com1417    homepage: https://www.wabteccorp.com1418    categories: [transport, industry]1419    tier: C1420    aliases: [westinghouse air brake technologies]1421    discover: { rss: true, sitemap: true }1422    sensors:1423      - { name: newsroom, url: "https://www.wabteccorp.com/newsroom", type: HTML, connector: http, tier: C }1424  - id: hitachi-rail1425    name: Hitachi Rail1426    domain: hitachirail.com1427    homepage: https://www.hitachirail.com1428    categories: [transport, industry]1429    tier: C1430    discover: { sitemap: true }1431    sensors:1432      - { name: sitemap, url: "https://www.hitachirail.com/xmlsitemap", type: SITEMAP, connector: sitemap, tier: C }1433  - id: stm1434    name: STM (Société de transport de Montréal)1435    domain: stm.info1436    homepage: https://www.stm.info1437    categories: [transport]1438    tier: B1439    weight: 1.11440    aliases: [société de transport de montréal, métro de montréal]1441    discover: { rss: true }1442    sensors:1443      - { name: news feed (en), url: "https://www.stm.info/en/rss.xml", type: RSS, connector: rss, tier: B }1444  - id: exo1445    name: exo (Réseau de transport métropolitain)1446    domain: exo.quebec1447    homepage: https://exo.quebec1448    categories: [transport]1449    tier: C1450    aliases: [réseau de transport métropolitain, trains de banlieue]1451    discover: { sitemap: true }1452    sensors:1453      - { name: sitemap, url: "https://exo.quebec/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1454  - id: rem1455    name: REM (CDPQ Infra)1456    domain: rem.info1457    homepage: https://rem.info1458    categories: [transport]1459    tier: B1460    aliases: [réseau express métropolitain, cdpq infra]1461    discover: { rss: true, sitemap: true }1462    sensors:1463      - { name: news, url: "https://rem.info/en/news", type: HTML, connector: http, tier: B }1464  - id: artm1465    name: ARTM1466    domain: artm.quebec1467    homepage: https://www.artm.quebec1468    categories: [transport, government]1469    tier: C1470    aliases: [autorité régionale de transport métropolitain]1471    discover: { rss: true }1472    sensors:1473      - { name: news feed, url: "https://www.artm.quebec/feed/", type: RSS, connector: rss, tier: C }1474  - id: ttc1475    name: TTC (Toronto Transit Commission)1476    domain: ttc.ca1477    homepage: https://www.ttc.ca1478    categories: [transport]1479    tier: C1480    aliases: [toronto transit commission]1481    discover: { rss: false }1482    notes: "ttc.ca news and service alerts are client-rendered (Sitecore JSS); sitemap index only lists route schedules (2026-09-08)."1483  - id: metrolinx1484    name: Metrolinx1485    domain: metrolinx.com1486    homepage: https://www.metrolinx.com1487    categories: [transport, government]1488    tier: B1489    aliases: [go transit, up express, presto]1490    discover: { rss: true }1491    sensors:1492      - { name: press room, url: "https://www.metrolinx.com/en/news", type: HTML, connector: http, tier: B }1493  - id: translink1494    name: TransLink1495    domain: translink.ca1496    homepage: https://www.translink.ca1497    categories: [transport]1498    tier: C1499    aliases: [translink vancouver, skytrain]1500    discover: { sitemap: true }1501    sensors:1502      - { name: sitemap, url: "https://www.translink.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1503  - id: oc-transpo1504    name: OC Transpo1505    domain: octranspo.com1506    homepage: https://www.octranspo.com1507    categories: [transport]1508    tier: C1509    aliases: [o-train]1510    discover: { rss: true }1511    sensors:1512      - { name: news, url: "https://www.octranspo.com/news", type: HTML, connector: http, tier: C }1513  - id: mta1514    name: MTA (New York)1515    domain: mta.info1516    homepage: https://www.mta.info1517    categories: [transport]1518    tier: B1519    weight: 1.21520    aliases: [metropolitan transportation authority, nyc subway, lirr, metro-north]1521    discover: { rss: true }1522    sensors:1523      - { name: news feed, url: "https://www.mta.info/rss.xml", type: RSS, connector: rss, tier: B }1524  - id: wmata1525    name: WMATA1526    domain: wmata.com1527    homepage: https://www.wmata.com1528    categories: [transport]1529    tier: B1530    aliases: [metro washington, washington metropolitan area transit authority]1531    discover: { rss: true, sitemap: true }1532    sensors:1533      - { name: sitemap, url: "https://www.wmata.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1534  - id: tfl1535    name: Transport for London1536    domain: tfl.gov.uk1537    homepage: https://tfl.gov.uk1538    categories: [transport, government]1539    tier: A1540    weight: 1.31541    aliases: [tfl, london underground, elizabeth line]1542    products:1543      - { name: TfL Unified API, type: API, aliases: [tfl api] }1544    discover: { rss: true, sitemap: true }1545    sensors:1546      - { name: line status (tube/dlr/overground/elizabeth), url: "https://api.tfl.gov.uk/Line/Mode/tube,dlr,overground,elizabeth-line/Status", type: REST_API, connector: jsonlist, tier: A, config: { keyField: id, titleField: name, summaryField: "lineStatuses[0].statusSeverityDescription", dateField: modified, compareFields: ["lineStatuses[0].statusSeverityDescription", "lineStatuses[0].reason"], urlTemplate: "https://tfl.gov.uk/tube-dlr-overground/status/" } }1547      - { name: press releases, url: "https://tfl.gov.uk/info-for/media/press-releases", type: HTML, connector: http, tier: B }1548  - id: ratp1549    name: RATP1550    domain: ratp.fr1551    homepage: https://www.ratp.fr1552    categories: [transport]1553    tier: C1554    aliases: [ratp group, métro de paris]1555    discover: { rss: false }1556    notes: "ratp.fr is behind a Cloudflare challenge (2026-09-08)."1557  - id: mbta1558    name: MBTA1559    domain: mbta.com1560    homepage: https://www.mbta.com1561    categories: [transport]1562    tier: A1563    weight: 1.11564    aliases: [massachusetts bay transportation authority, the t]1565    products:1566      - { name: MBTA V3 API, type: API }1567    discover: { rss: true }1568    sensors:1569      - { name: news feed, url: "https://cdn.mbta.com/news/rss.xml", type: RSS, connector: rss, tier: B }1570      - { name: subway alerts (v3 api), url: "https://api-v3.mbta.com/alerts?filter%5Broute_type%5D=0,1&sort=-updated_at&page%5Blimit%5D=50", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: data, keyField: id, titleField: attributes.header, summaryField: attributes.description, dateField: attributes.updated_at, compareFields: [attributes.header, attributes.effect, attributes.severity], urlTemplate: "https://www.mbta.com/alerts/subway" } }1571  - id: bart1572    name: BART1573    domain: bart.gov1574    homepage: https://www.bart.gov1575    categories: [transport]1576    tier: A1577    aliases: [bay area rapid transit]1578    products:1579      - { name: BART Legacy API, type: API }1580    discover: { rss: true, sitemap: true }1581    sensors:1582      - { name: service advisories (bsa api), url: "https://api.bart.gov/api/bsa.aspx?cmd=bsa&key=MW9S-E7SL-26DU-VV8V&json=y", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: root.bsa, keyField: "@id", titleField: "description.#cdata-section", summaryField: "sms_text.#cdata-section", dateField: posted, compareFields: ["description.#cdata-section", expires], urlTemplate: "https://www.bart.gov/schedules/advisories" } }1583  - id: septa1584    name: SEPTA1585    domain: septa.org1586    homepage: https://www.septa.org1587    categories: [transport]1588    tier: A1589    aliases: [southeastern pennsylvania transportation authority]1590    discover: { rss: false }1591    llm: false1592    sensors:1593      - { name: system alerts (api), url: "https://www3.septa.org/api/Alerts/index.php?req1=all", type: REST_API, connector: jsonlist, tier: A, config: { keyField: route_id, titleTemplate: "{mode} {route_name}", summaryField: description, dateField: last_updated, compareFields: [isalert, isdetour, issuspended, isdelays, alert, advisory], maxItems: 300, urlTemplate: "https://www.septa.org/alerts/" } }1594  - id: cta1595    name: CTA (Chicago Transit Authority)1596    domain: transitchicago.com1597    homepage: https://www.transitchicago.com1598    categories: [transport]1599    tier: A1600    aliases: [chicago transit authority, chicago l]1601    products:1602      - { name: CTA Customer Alerts API, type: API }1603    discover: { rss: true, sitemap: true }1604    llm: false1605    sensors:1606      - { name: customer alerts (api), url: "https://www.transitchicago.com/api/1.0/alerts.aspx?outputType=JSON&activeonly=true", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: CTAAlerts.Alert, keyField: AlertId, titleField: Headline, summaryField: ShortDescription, dateField: EventStart, urlField: "AlertURL.#cdata-section", compareFields: [Headline, SeverityScore, EventEnd], maxItems: 200 } }1607  - id: brightline1608    name: Brightline1609    domain: gobrightline.com1610    homepage: https://www.gobrightline.com1611    categories: [transport]1612    tier: C1613    aliases: [brightline west, brightline florida]1614    discover: { rss: true, sitemap: true }1615    sensors:1616      - { name: press room, url: "https://www.gobrightline.com/press-room", type: HTML, connector: http, tier: C }1617  - id: california-hsr1618    name: California High-Speed Rail Authority1619    domain: hsr.ca.gov1620    homepage: https://hsr.ca.gov1621    categories: [transport, government]1622    tier: C1623    aliases: [cahsr, california high speed rail]1624    discover: { sitemap: true }1625    notes: "hsr.ca.gov newsroom serves an Imperva bot-wall shell to non-browser clients; the WordPress sitemap index is open."1626    sensors:1627      - { name: sitemap index, url: "https://hsr.ca.gov/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: C }1628  - id: alto1629    name: Alto (Canada high-speed rail)1630    domain: altotrain.ca1631    homepage: https://www.altotrain.ca1632    categories: [transport, government]1633    tier: B1634    aliases: [alto train, tgv canada, vía hfr, high frequency rail]1635    discover: { rss: true, sitemap: true }1636    sensors:1637      - { name: news feed, url: "https://www.altotrain.ca/en/news/feed", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }1638  # ───────────────────────── H · Road, security & border agencies ─────────────────────────1639  - id: tsa1640    name: TSA1641    domain: tsa.gov1642    homepage: https://www.tsa.gov1643    categories: [aviation, transport, government]1644    tier: B1645    weight: 1.21646    aliases: [transportation security administration, tsa precheck]1647    discover: { rss: true, sitemap: true }1648    sensors:1649      - { name: news feed, url: "https://www.tsa.gov/rss.xml", type: RSS, connector: rss, tier: B }1650  - id: cbsa1651    name: Canada Border Services Agency1652    domain: cbsa-asfc.gc.ca1653    homepage: https://www.cbsa-asfc.gc.ca1654    categories: [transport, government]1655    tier: B1656    weight: 1.11657    aliases: [cbsa, asfc, agence des services frontaliers du canada]1658    discover: { rss: false }1659    sensors:1660      - { name: news feed, url: "https://api.io.canada.ca/io-server/gc/news/en/v2?dept=canadaborderservicesagency&sort=publishedDate&orderBy=desc&pick=50&format=atom&atomtitle=CBSA", type: ATOM, connector: rss, tier: B }1661  - id: us-cbp1662    name: U.S. Customs and Border Protection1663    domain: cbp.gov1664    homepage: https://www.cbp.gov1665    categories: [transport, government]1666    tier: B1667    weight: 1.11668    aliases: [cbp, customs and border protection]1669    discover: { rss: true, sitemap: true }1670    sensors:1671      - { name: news feed, url: "https://www.cbp.gov/rss.xml", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } }1672  - id: us-dot1673    name: U.S. Department of Transportation1674    domain: transportation.gov1675    homepage: https://www.transportation.gov1676    categories: [transport, government]1677    tier: B1678    weight: 1.21679    aliases: [usdot, dot, fmcsa, federal motor carrier safety administration]1680    discover: { rss: false }1681    notes: "transportation.gov and fmcsa.dot.gov (newsroom, RSS) are Akamai-protected → 403 for bots (2026-09-08); FAA is a separate source."1682  - id: transport-for-nsw1683    name: Transport for NSW1684    domain: transport.nsw.gov.au1685    homepage: https://www.transport.nsw.gov.au1686    categories: [transport, government]1687    tier: C1688    aliases: [tfnsw]1689    discover: { rss: false }1690    notes: "transport.nsw.gov.au media releases return 403 to non-browser clients (2026-09-08)."1691  - id: saaq1692    name: SAAQ1693    domain: saaq.gouv.qc.ca1694    homepage: https://saaq.gouv.qc.ca1695    categories: [transport, government]1696    tier: C1697    aliases: [société de l'assurance automobile du québec]1698    discover: { sitemap: true }1699    sensors:1700      - { name: sitemap index, url: "https://saaq.gouv.qc.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1701  - id: quebec-5111702    name: Québec 511 (MTMD)1703    domain: quebec511.info1704    homepage: https://www.quebec511.info1705    categories: [transport, government]1706    tier: C1707    aliases: [québec 511, quebec 511, ministère des transports du québec, mtq, mtmd]1708    discover: { rss: false }1709    notes: "quebec511.info is Imperva-protected (403) and quebec.ca has no per-ministry news RSS; nothing open found (2026-09-08)."1710  - id: ontario-5111711    name: Ontario 511 (MTO)1712    domain: 511on.ca1713    homepage: https://511on.ca1714    categories: [transport, government, open-data]1715    tier: A1716    aliases: [ontario 511, ministry of transportation ontario, mto]1717    products:1718      - { name: Ontario 511 API, type: API }1719    discover: { rss: false }1720    llm: false1721    sensors:1722      - { name: road events (api), url: "https://511on.ca/api/v2/get/event", type: REST_API, connector: jsonlist, tier: A, config: { keyField: ID, titleTemplate: "{RoadwayName} {DirectionOfTravel}: {EventType}", summaryField: Description, dateField: LastUpdated, compareFields: [Description, IsFullClosure, LanesAffected], maxItems: 300, urlTemplate: "https://511on.ca/list/events" } }1723      - { name: newsroom, url: "https://511on.ca/newsroom", type: HTML, connector: http, tier: C }1724  - id: icbc1725    name: ICBC1726    domain: icbc.com1727    homepage: https://www.icbc.com1728    categories: [transport, government]1729    tier: C1730    aliases: [insurance corporation of british columbia]1731    discover: { rss: true, sitemap: true }1732    sensors:1733      - { name: newsroom, url: "https://icbc.com/about-icbc/newsroom", type: HTML, connector: http, tier: C }1734  # ───────────────────────── G · Maritime, ports, postal & logistics ─────────────────────────1735  - id: maersk1736    name: A.P. Moller - Maersk1737    domain: maersk.com1738    homepage: https://www.maersk.com1739    categories: [logistics, transport]1740    tier: B1741    weight: 1.31742    aliases: [maersk, maersk line, apm terminals]1743    discover: { sitemap: true }1744    notes: "maersk.com news pages are client-rendered (press-releases path 404 for bots); the main sitemap is open."1745    sensors:1746      - { name: sitemap, url: "https://www.maersk.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 4000 } }1747  - id: msc1748    name: MSC Mediterranean Shipping Company1749    domain: msc.com1750    homepage: https://www.msc.com1751    categories: [logistics, transport]1752    tier: B1753    weight: 1.21754    aliases: [msc, mediterranean shipping company]1755    discover: { rss: false }1756    notes: "msc.com is Akamai-protected (403 for bots) — 2026-09-08."1757  - id: cma-cgm1758    name: CMA CGM1759    domain: cma-cgm.com1760    homepage: https://www.cma-cgm.com1761    categories: [logistics, transport]1762    tier: B1763    weight: 1.11764    aliases: [cma cgm group, ceva logistics]1765    discover: { rss: false }1766    notes: "cma-cgm.com and cmacgm-group.com are Next.js shells behind Dynatrace/bot management; no open feed found (2026-09-08)."1767  - id: hapag-lloyd1768    name: Hapag-Lloyd1769    domain: hapag-lloyd.com1770    homepage: https://www.hapag-lloyd.com1771    categories: [logistics, transport]1772    tier: B1773    weight: 1.11774    aliases: [hapag lloyd]1775    discover: { rss: false }1776    notes: "hapag-lloyd.com serves a 'Security Check' interstitial (403) to non-browser clients (2026-09-08)."1777  - id: zim1778    name: ZIM Integrated Shipping Services1779    domain: zim.com1780    homepage: https://www.zim.com1781    categories: [logistics, transport]1782    tier: C1783    aliases: [zim]1784    discover: { rss: false }1785    notes: "zim.com is Akamai-protected (403) — 2026-09-08."1786  - id: port-of-montreal1787    name: Port of Montreal1788    domain: port-montreal.com1789    homepage: https://www.port-montreal.com1790    categories: [logistics, transport]1791    tier: B1792    aliases: [montreal port authority, administration portuaire de montréal, apm]1793    discover: { rss: false }1794    notes: "port-montreal.com is behind a Cloudflare challenge (2026-09-08)."1795  - id: port-of-vancouver1796    name: Vancouver Fraser Port Authority1797    domain: portvancouver.com1798    homepage: https://www.portvancouver.com1799    categories: [logistics, transport]1800    tier: B1801    aliases: [port of vancouver]1802    discover: { rss: false }1803    notes: "portvancouver.com is behind a Cloudflare challenge (2026-09-08)."1804  - id: port-of-halifax1805    name: Halifax Port Authority1806    domain: portofhalifax.ca1807    homepage: https://www.portofhalifax.ca1808    categories: [logistics, transport]1809    tier: C1810    aliases: [port of halifax]1811    discover: { rss: false }1812    notes: "portofhalifax.ca is behind a Cloudflare challenge (2026-09-08)."1813  - id: port-of-prince-rupert1814    name: Prince Rupert Port Authority1815    domain: rupertport.com1816    homepage: https://www.rupertport.com1817    categories: [logistics, transport]1818    tier: C1819    aliases: [port of prince rupert]1820    discover: { rss: true, sitemap: true }1821    sensors:1822      - { name: news feed, url: "https://www.rupertport.com/feed/", type: RSS, connector: rss, tier: C }1823  - id: port-of-los-angeles1824    name: Port of Los Angeles1825    domain: portoflosangeles.org1826    homepage: https://www.portoflosangeles.org1827    categories: [logistics, transport]1828    tier: B1829    weight: 1.11830    aliases: [pola, port of la]1831    discover: { rss: true }1832    sensors:1833      - { name: news, url: "https://portoflosangeles.org/news", type: HTML, connector: http, tier: B }1834  - id: port-of-long-beach1835    name: Port of Long Beach1836    domain: polb.com1837    homepage: https://polb.com1838    categories: [logistics, transport]1839    tier: C1840    aliases: [polb]1841    discover: { sitemap: true }1842    sensors:1843      - { name: sitemap index, url: "https://polb.com/sitemap-index.xml", type: SITEMAP, connector: sitemap, tier: C }1844  - id: port-of-rotterdam1845    name: Port of Rotterdam1846    domain: portofrotterdam.com1847    homepage: https://www.portofrotterdam.com1848    categories: [logistics, transport]1849    tier: B1850    weight: 1.11851    aliases: [havenbedrijf rotterdam]1852    discover: { rss: true, sitemap: true }1853    sensors:1854      - { name: news and press releases, url: "https://www.portofrotterdam.com/en/news-and-press-releases", type: HTML, connector: http, tier: B }1855  - id: port-of-antwerp-bruges1856    name: Port of Antwerp-Bruges1857    domain: portofantwerpbruges.com1858    homepage: https://www.portofantwerpbruges.com1859    categories: [logistics, transport]1860    tier: C1861    aliases: [port of antwerp, port of zeebrugge]1862    discover: { sitemap: true }1863    sensors:1864      - { name: sitemap, url: "https://www.portofantwerpbruges.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }1865  - id: port-of-hamburg1866    name: Port of Hamburg1867    domain: hafen-hamburg.de1868    homepage: https://www.hafen-hamburg.de1869    categories: [logistics, transport]1870    tier: C1871    aliases: [hafen hamburg, hamburg port authority]1872    discover: { rss: true }1873    sensors:1874      - { name: press news, url: "https://www.hafen-hamburg.de/en/press/news/", type: HTML, connector: http, tier: C }1875  - id: mpa-singapore1876    name: Maritime and Port Authority of Singapore1877    domain: mpa.gov.sg1878    homepage: https://www.mpa.gov.sg1879    categories: [logistics, transport, government]1880    tier: C1881    aliases: [mpa, mpa singapore]1882    discover: { rss: true }1883    notes: "mpa.gov.sg media centre is a client-rendered Next.js shell (thin) — 2026-09-08."1884  - id: panama-canal1885    name: Panama Canal Authority1886    domain: pancanal.com1887    homepage: https://pancanal.com1888    categories: [logistics, transport]1889    tier: B1890    weight: 1.21891    aliases: [autoridad del canal de panamá, acp, canal de panamá]1892    discover: { rss: true, sitemap: true }1893    sensors:1894      - { name: news feed (en), url: "https://pancanal.com/en/feed/", type: RSS, connector: rss, tier: B }1895  - id: suez-canal-authority1896    name: Suez Canal Authority1897    domain: suezcanal.gov.eg1898    homepage: https://www.suezcanal.gov.eg1899    categories: [logistics, transport, government]1900    tier: B1901    weight: 1.11902    aliases: [sca, suez canal]1903    discover: { rss: false }1904    sensors:1905      - { name: news, url: "https://www.suezcanal.gov.eg/English/MediaCenter/News/Pages/default.aspx", type: HTML, connector: http, tier: C }1906  - id: st-lawrence-seaway1907    name: Great Lakes St. Lawrence Seaway1908    domain: greatlakes-seaway.com1909    homepage: https://greatlakes-seaway.com1910    categories: [logistics, transport]1911    tier: B1912    aliases: [st. lawrence seaway, seaway, voie maritime du saint-laurent]1913    discover: { rss: true, sitemap: true }1914    sensors:1915      - { name: news feed, url: "https://greatlakes-seaway.com/en/news/feed/", type: RSS, connector: rss, tier: B }1916  - id: imo1917    name: International Maritime Organization1918    domain: imo.org1919    homepage: https://www.imo.org1920    categories: [logistics, transport, international]1921    tier: B1922    weight: 1.21923    aliases: [imo]1924    discover: { rss: true }1925    sensors:1926      - { name: press briefings, url: "https://www.imo.org/en/MediaCentre/PressBriefings/Pages/Default.aspx", type: HTML, connector: http, tier: B }1927  - id: bimco1928    name: BIMCO1929    domain: bimco.org1930    homepage: https://www.bimco.org1931    categories: [logistics, industry]1932    tier: C1933    discover: { rss: true, sitemap: true }1934    sensors:1935      - { name: news, url: "https://www.bimco.org/news-insights/bimco-news/", type: HTML, connector: http, tier: C }1936  - id: ics-shipping1937    name: International Chamber of Shipping1938    domain: ics-shipping.org1939    homepage: https://www.ics-shipping.org1940    categories: [logistics, industry]1941    tier: C1942    aliases: [ics]1943    discover: { rss: true }1944    notes: "ics-shipping.org news returns 403 to bots and its WordPress feed is empty (2026-09-08)."1945  - id: lloyds-register1946    name: Lloyd's Register1947    domain: lr.org1948    homepage: https://www.lr.org1949    categories: [logistics, industry]1950    tier: C1951    aliases: [lr, lloyd's register group]1952    discover: { rss: true, sitemap: true }1953    sensors:1954      - { name: press room, url: "https://www.lr.org/en/knowledge/press-room/", type: HTML, connector: http, tier: C }1955  - id: dnv1956    name: DNV1957    domain: dnv.com1958    homepage: https://www.dnv.com1959    categories: [logistics, energy, industry]1960    tier: B1961    aliases: [det norske veritas, dnv gl]1962    discover: { rss: true, sitemap: true }1963    sensors:1964      - { name: news feed, url: "https://www.dnv.com/news/rss/", type: RSS, connector: rss, tier: B }1965  - id: abs-shipping1966    name: ABS (American Bureau of Shipping)1967    domain: eagle.org1968    homepage: https://ww2.eagle.org1969    categories: [logistics, industry]1970    tier: C1971    aliases: [american bureau of shipping, abs]1972    discover: { rss: true }1973    sensors:1974      - { name: newsroom, url: "https://ww2.eagle.org/en/news/newsroom.html", type: HTML, connector: http, tier: C }1975  - id: dhl1976    name: DHL Group1977    domain: dhl.com1978    homepage: https://group.dhl.com1979    categories: [logistics]1980    tier: B1981    weight: 1.31982    aliases: [deutsche post dhl, dhl express]1983    discover: { rss: false }1984    notes: "group.dhl.com and dhl.com time out / reset for non-browser clients (Akamai) — no open feed (2026-09-08)."1985  - id: fedex1986    name: FedEx1987    domain: fedex.com1988    homepage: https://www.fedex.com1989    categories: [logistics]1990    tier: A1991    weight: 1.41992    aliases: [federal express, fedex express, fedex freight]1993    discover: { rss: true, sitemap: true }1994    sensors:1995      - { name: service alerts, url: "https://www.fedex.com/en-us/service-alerts.html", type: HTML, connector: http, tier: A }1996      - { name: newsroom, url: "https://newsroom.fedex.com/", type: HTML, connector: http, tier: B }1997  - id: ups1998    name: UPS1999    domain: ups.com2000    homepage: https://www.ups.com2001    categories: [logistics]2002    tier: A2003    weight: 1.42004    aliases: [united parcel service]2005    discover: { rss: false }2006    notes: "ups.com (service alerts) and about.ups.com (newsroom) are Akamai-protected → timeout/403 for bots (2026-09-08)."2007  - id: usps2008    name: USPS2009    domain: usps.com2010    homepage: https://about.usps.com2011    categories: [logistics, government]2012    tier: A2013    weight: 1.32014    aliases: [united states postal service, us postal service]2015    discover: { rss: true }2016    sensors:2017      - { name: service alerts, url: "https://about.usps.com/newsroom/service-alerts/", type: HTML, connector: http, tier: A }2018      - { name: news feed, url: "https://about.usps.com/news/latestnews.rss", type: RSS, connector: rss, tier: B, config: { maxItems: 50 } }2019  - id: canada-post2020    name: Canada Post2021    domain: canadapost-postescanada.ca2022    homepage: https://www.canadapost-postescanada.ca2023    categories: [logistics, government]2024    tier: A2025    weight: 1.32026    aliases: [postes canada, canada post corporation]2027    discover: { rss: false, sitemap: true }2028    sensors:2029      - { name: service alerts, url: "https://www.canadapost-postescanada.ca/cpc/en/our-company/news-and-media/service-alerts.page", type: HTML, connector: http, tier: A }2030      - { name: corporate news, url: "https://www.canadapost-postescanada.ca/cpc/en/our-company/news-and-media/corporate-news.page", type: HTML, connector: http, tier: B }2031  - id: purolator2032    name: Purolator2033    domain: purolator.com2034    homepage: https://www.purolator.com2035    categories: [logistics]2036    tier: C2037    discover: { rss: false }2038    notes: "purolator.com (incl. service alerts) is behind a Cloudflare challenge (2026-09-08)."2039  - id: kuehne-nagel2040    name: Kuehne+Nagel2041    domain: kuehne-nagel.com2042    homepage: https://www.kuehne-nagel.com2043    categories: [logistics]2044    tier: B2045    aliases: [kuehne nagel, kühne + nagel, k+n]2046    discover: { rss: true, sitemap: true }2047    sensors:2048      - { name: newsroom, url: "https://newsroom.kuehne-nagel.com/", type: HTML, connector: http, tier: B }2049  - id: dsv2050    name: DSV2051    domain: dsv.com2052    homepage: https://www.dsv.com2053    categories: [logistics]2054    tier: B2055    aliases: [dsv a/s, db schenker]2056    discover: { rss: true, sitemap: true }2057    notes: "dbschenker.com now redirects to dsv.com (DB Schenker acquired by DSV)."2058    sensors:2059      - { name: press, url: "https://www.dsv.com/en/about-dsv/press", type: HTML, connector: http, tier: B }2060  - id: ch-robinson2061    name: C.H. Robinson2062    domain: chrobinson.com2063    homepage: https://www.chrobinson.com2064    categories: [logistics]2065    tier: C2066    aliases: [chrw]2067    discover: { sitemap: true }2068    sensors:2069      - { name: sitemap (en-us), url: "https://www.chrobinson.com/chrobinson-en-us-sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }2070  - id: xpo2071    name: XPO2072    domain: xpo.com2073    homepage: https://www.xpo.com2074    categories: [logistics]2075    tier: C2076    aliases: [xpo logistics]2077    discover: { sitemap: true }2078    sensors:2079      - { name: sitemap, url: "https://www.xpo.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C }2080  - id: jb-hunt2081    name: J.B. Hunt2082    domain: jbhunt.com2083    homepage: https://www.jbhunt.com2084    categories: [logistics]2085    tier: C2086    aliases: [jb hunt, j.b. hunt transport services]2087    discover: { rss: true }2088    sensors:2089      - { name: newsroom, url: "https://www.jbhunt.com/our-company/newsroom", type: HTML, connector: http, tier: C }2090  - id: tfi-international2091    name: TFI International2092    domain: tfiintl.com2093    homepage: https://tfiintl.com2094    categories: [logistics]2095    tier: C2096    aliases: [tfi, transforce]2097    discover: { rss: false }2098    notes: "tfiintl.com times out for non-browser clients (2026-09-08)."2099  - id: flexport2100    name: Flexport2101    domain: flexport.com2102    homepage: https://www.flexport.com2103    categories: [logistics, technology]2104    tier: C2105    discover: { rss: true, sitemap: true }2106    sensors:2107      - { name: blog, url: "https://www.flexport.com/blog/", type: HTML, connector: http, tier: C }2108  - id: freightos2109    name: Freightos2110    domain: freightos.com2111    homepage: https://www.freightos.com2112    categories: [logistics, technology]2113    tier: C2114    aliases: [freightos baltic index, fbx]2115    discover: { rss: true, sitemap: true }2116    sensors:2117      - { name: news feed, url: "https://www.freightos.com/feed/", type: RSS, connector: rss, tier: C }2118  - id: cargojet2119    name: Cargojet2120    domain: cargojet.com2121    homepage: https://cargojet.com2122    categories: [logistics, aviation]2123    tier: C2124    discover: { rss: true, sitemap: true }2125    sensors:2126      - { name: news feed, url: "https://cargojet.com/feed/", type: RSS, connector: rss, tier: C }2127  - id: atlas-air2128    name: Atlas Air Worldwide2129    domain: atlasairworldwide.com2130    homepage: https://www.atlasairworldwide.com2131    categories: [logistics, aviation]2132    tier: C2133    aliases: [atlas air]2134    discover: { rss: true, sitemap: true }2135    sensors:2136      - { name: news feed, url: "https://www.atlasairworldwide.com/feed/", type: RSS, connector: rss, tier: C }2137  - id: ryder2138    name: Ryder System2139    domain: ryder.com2140    homepage: https://www.ryder.com2141    categories: [logistics]2142    tier: C2143    aliases: [ryder]2144    discover: { rss: true, sitemap: true }2145    sensors:2146      - { name: news feed, url: "https://www.ryder.com/en-us/api/rssfeed/showrssfeed", type: RSS, connector: rss, tier: C, config: { maxItems: 50 } }2147  - id: penske2148    name: Penske Transportation Solutions2149    domain: gopenske.com2150    homepage: https://www.gopenske.com2151    categories: [logistics]2152    tier: C2153    aliases: [penske logistics, penske truck leasing]2154    discover: { rss: true }2155    notes: "gopenske.com newsroom (RebelMouse) renders client-side — only 133 chars of server text (2026-09-08)."2156  - id: uber-freight2157    name: Uber Freight2158    domain: uberfreight.com2159    homepage: https://www.uberfreight.com2160    categories: [logistics, technology]2161    tier: C2162    discover: { rss: true }2163    sensors:2164      - { name: blog, url: "https://www.uberfreight.com/en-US/blog", type: HTML, connector: http, tier: C }2165