# config/sources.d/21-consumer-safety-food-agri.yaml — recall & safety APIs, consumer-protection and competition # agencies, food & agriculture agencies and producer bodies, agribusiness & food companies (2026-09-08). # Every sensor below was fetched and parsed by apps/engine/src/validate.ts before being written. # # Not covered (blocked or client-rendered, kept out on purpose): USDA www/FSIS/NASS-RSS (Akamai 403 — AMS RSS and # ERS/NASS newsroom pages are used instead), ECHA (403 for non-browser clients), EU Safety Gate/RAPEX and RASFF # (Angular shells, POST-only APIs), Cargill and Metro AG (Akamai 403), Deere newsroom (403), George Weston # (Incapsula JS challenge), Louis Dreyfus / Bunge IR / Tyson IR / Sysco IR / Mosaic IR (Cloudflare "Just a moment" # on Q4 feeds — corporate newsroom pages used where server-rendered), Bayer Crop Science (maintenance/403), # CNH, Smithfield, Oatly, Beyond Meat, Impossible Foods (403), Ag Growth International, Farm Credit Canada, ICCO, # CCI India (JS shells / thin), MELCCFP Québec (no feed or news page), AAPCC poison centres (no feed), IGC / ISO # sugar (no feed), CDC food-safety feed (no clean media id in the tools.cdc.gov API), MAPAQ (no ministry-level # feed — the Québec fil de presse is attached to the existing `quebec` source instead). sources: # ───────────────────────── recall & product-safety APIs ───────────────────────── - id: fda extend: true notes: "openFDA enforcement API (food/drug/device recalls) — firehose, keyed by recall_number; classification/status changes count as updates." sensors: - { name: openfda food enforcement, url: "https://api.fda.gov/food/enforcement.json?sort=report_date:desc&limit=50", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: results, keyField: recall_number, titleTemplate: "{classification} recall — {recalling_firm}: {product_description}", summaryField: reason_for_recall, dateField: report_date, urlTemplate: "https://www.accessdata.fda.gov/scripts/ires/index.cfm?Product={key}", compareFields: [status, classification], maxItems: 50 } } - { name: openfda drug enforcement, url: "https://api.fda.gov/drug/enforcement.json?sort=report_date:desc&limit=50", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: results, keyField: recall_number, titleTemplate: "{classification} recall — {recalling_firm}: {product_description}", summaryField: reason_for_recall, dateField: report_date, urlTemplate: "https://www.accessdata.fda.gov/scripts/ires/index.cfm?Product={key}", compareFields: [status, classification], maxItems: 50 } } - { name: openfda device enforcement, url: "https://api.fda.gov/device/enforcement.json?sort=report_date:desc&limit=50", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: results, keyField: recall_number, titleTemplate: "{classification} recall — {recalling_firm}: {product_description}", summaryField: reason_for_recall, dateField: report_date, urlTemplate: "https://www.accessdata.fda.gov/scripts/ires/index.cfm?Product={key}", compareFields: [status, classification], maxItems: 50 } } - id: cpsc name: U.S. Consumer Product Safety Commission domain: cpsc.gov homepage: https://www.cpsc.gov categories: [consumer-safety, government] tier: A weight: 1.3 aliases: [cpsc, consumer product safety commission, saferproducts] discover: { rss: false } notes: "Recalls via the SaferProducts REST API (rolling 30-day window); cpsc.gov has no RSS feed any more." sensors: - { name: recalls api, url: "https://www.saferproducts.gov/RestWebServices/Recall?format=json&RecallDateStart={now-30d}", type: REST_API, connector: jsonlist, tier: A, config: { keyField: RecallID, titleField: Title, urlField: URL, summaryField: Description, dateField: RecallDate, compareFields: [LastPublishDate], maxItems: 100, noConditional: true } } - { name: news releases, url: "https://www.cpsc.gov/Newsroom/News-Releases", type: HTML, connector: http, tier: B } - id: health-canada extend: true notes: "recalls-rappels.canada.ca category feeds (consumer products, health products, medical devices); PHAC public health notices page." sensors: - { name: consumer product recalls feed, url: "https://recalls-rappels.canada.ca/en/feed/consumer-products-alerts-recalls", type: RSS, connector: rss, tier: A } - { name: health product recalls feed, url: "https://recalls-rappels.canada.ca/en/feed/health-products-alerts-recalls", type: RSS, connector: rss, tier: A } - { name: medical device recalls feed, url: "https://recalls-rappels.canada.ca/en/feed/medical-devices-alerts-recalls", type: RSS, connector: rss, tier: A } - { name: phac public health notices, url: "https://www.canada.ca/en/public-health/services/public-health-notices.html", type: HTML, connector: http, tier: B } - id: cfia name: Canadian Food Inspection Agency domain: inspection.canada.ca categories: [food, consumer-safety, government] tier: A weight: 1.2 aliases: [cfia, acia, agence canadienne d'inspection des aliments] discover: { rss: false, sitemap: false } notes: "Food recall warnings come from the shared recalls-rappels.canada.ca feed; CFIA newsroom on inspection.canada.ca returns 410 and the canada.ca news page is a JS shell." sensors: - { name: food recall warnings feed, url: "https://recalls-rappels.canada.ca/en/feed/cfia-alerts-recalls", type: RSS, connector: rss, tier: A } - id: fsa-uk name: Food Standards Agency (UK) domain: food.gov.uk homepage: https://www.food.gov.uk categories: [food, consumer-safety, government] tier: A weight: 1.1 aliases: [fsa, food standards agency] discover: { rss: false } sensors: - { name: food alerts api, url: "https://data.food.gov.uk/food-alerts/id?_limit=50&_sort=-created", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: items, keyField: notation, titleField: title, urlField: alertURL, summaryField: shortTitle, dateField: created, compareFields: [modified], maxItems: 50 } } - { name: gov.uk activity feed, url: "https://www.gov.uk/government/organisations/food-standards-agency.atom", type: ATOM, connector: rss, tier: B } - id: food-standards-scotland name: Food Standards Scotland domain: foodstandards.gov.scot categories: [food, consumer-safety, government] tier: B aliases: [fss] discover: { rss: true } sensors: - { name: news, url: "https://www.foodstandards.gov.scot/news-and-alerts", type: HTML, connector: http, tier: B } - id: dgccrf name: DGCCRF / RappelConso domain: economie.gouv.fr homepage: https://www.economie.gouv.fr/dgccrf categories: [consumer-safety, food, government] tier: A weight: 1.1 aliases: [dgccrf, rappelconso, rappel conso, répression des fraudes] discover: { rss: false } llm: false notes: "RappelConso open-data API (data.economie.gouv.fr, Opendatasoft) — every French product recall; ~20 records/day so heuristics only." sensors: - { name: rappelconso recalls api, url: "https://data.economie.gouv.fr/api/explore/v2.1/catalog/datasets/rappelconso-v2-gtin-espaces/records?order_by=date_publication%20desc&limit=50", type: REST_API, connector: jsonlist, tier: A, config: { itemsPath: results, keyField: id, titleTemplate: "{categorie_produit} — {marque_produit} {libelle}", summaryField: motif_rappel, dateField: date_publication, urlField: lien_vers_la_fiche_rappel, compareFields: [numero_version], maxItems: 50 } } - id: uk-opss name: Office for Product Safety and Standards (UK) domain: gov.uk homepage: https://www.gov.uk/government/organisations/office-for-product-safety-and-standards categories: [consumer-safety, government] tier: A aliases: [opss, office for product safety and standards] discover: { rss: false } sensors: - { name: product safety alerts and recalls feed, url: "https://www.gov.uk/product-safety-alerts-reports-recalls.atom", type: ATOM, connector: rss, tier: A } - { name: gov.uk activity feed, url: "https://www.gov.uk/search/all.atom?organisations%5B%5D=office-for-product-safety-and-standards&order=updated-newest", type: ATOM, connector: rss, tier: B } - id: accc name: ACCC domain: accc.gov.au homepage: https://www.accc.gov.au categories: [consumer-safety, government] tier: A weight: 1.1 aliases: [accc, australian competition and consumer commission, product safety australia] discover: { rss: false } sensors: - { name: media releases feed, url: "https://www.accc.gov.au/rss/media_releases.xml", type: RSS, connector: rss, tier: A, config: { maxItems: 50 } } - { name: product safety recalls feed, url: "https://www.productsafety.gov.au/rss/recalls.xml", type: RSS, connector: rss, tier: A, config: { maxItems: 50 } } # ───────────────────────── environment & chemical safety ───────────────────────── - id: epa name: U.S. Environmental Protection Agency domain: epa.gov homepage: https://www.epa.gov categories: [government, climate, consumer-safety] tier: B weight: 1.2 aliases: [epa, environmental protection agency] discover: { rss: false, sitemap: false } notes: "EPA's news-release RSS and search endpoints answer 405 to non-browser clients; the server-rendered newsroom listing is used." sensors: - { name: news releases, url: "https://www.epa.gov/newsroom/browse-news-releases", type: HTML, connector: http, tier: B } - id: carb name: California Air Resources Board domain: ww2.arb.ca.gov homepage: https://ww2.arb.ca.gov categories: [government, climate, automotive] tier: B aliases: [carb, california air resources board] discover: { rss: false } sensors: - { name: news feed, url: "https://ww2.arb.ca.gov/rss.xml", type: RSS, connector: rss, tier: B } - id: environment-agency-uk name: Environment Agency (UK) domain: gov.uk homepage: https://www.gov.uk/government/organisations/environment-agency categories: [government, climate] tier: B aliases: [environment agency] discover: { rss: false } sensors: - { name: gov.uk activity feed, url: "https://www.gov.uk/government/organisations/environment-agency.atom", type: ATOM, connector: rss, tier: B } - id: bape name: BAPE domain: bape.gouv.qc.ca homepage: https://www.bape.gouv.qc.ca categories: [government, climate] tier: C aliases: [bape, bureau d'audiences publiques sur l'environnement] discover: { rss: true } sensors: - { name: sitemap, url: "https://www.bape.gouv.qc.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } # ───────────────────────── consumer protection & competition ───────────────────────── - id: competition-bureau-canada name: Competition Bureau Canada domain: competition-bureau.canada.ca categories: [government, consumer-safety, commerce] tier: B weight: 1.1 aliases: [competition bureau, bureau de la concurrence] discover: { rss: false } sensors: - { name: news feed, url: "https://api.io.canada.ca/io-server/gc/news/en/v2?dept=competitionbureau&sort=publishedDate&orderBy=desc&pick=50&format=atom&atomtitle=Competition%20Bureau", type: ATOM, connector: rss, tier: B } - { name: sitemap, url: "https://competition-bureau.canada.ca/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: opc-quebec name: Office de la protection du consommateur domain: opc.gouv.qc.ca homepage: https://www.opc.gouv.qc.ca categories: [consumer-safety, government] tier: B aliases: [opc, office de la protection du consommateur] discover: { rss: false } sensors: - { name: communiqués feed, url: "https://www.opc.gouv.qc.ca/actualites/communiques/rss.xml", type: RSS, connector: rss, tier: B } - { name: toutes les actualités feed, url: "https://www.opc.gouv.qc.ca/actualite/toutes-les-actualites/rss.xml", type: RSS, connector: rss, tier: B } - id: uk-cma name: Competition and Markets Authority (UK) domain: gov.uk homepage: https://www.gov.uk/government/organisations/competition-and-markets-authority categories: [government, commerce, legal] tier: B weight: 1.1 aliases: [cma, competition and markets authority] discover: { rss: false } sensors: - { name: gov.uk activity feed, url: "https://www.gov.uk/government/organisations/competition-and-markets-authority.atom", type: ATOM, connector: rss, tier: B } - id: european-commission extend: true aliases: [dg comp, dg competition] sensors: - { name: competition policy news feed, url: "https://competition-policy.ec.europa.eu/node/38/rss_en", type: RSS, connector: rss, tier: B } - id: autorite-de-la-concurrence name: Autorité de la concurrence domain: autoritedelaconcurrence.fr homepage: https://www.autoritedelaconcurrence.fr categories: [government, commerce, legal] tier: B aliases: [autorité de la concurrence, adlc] discover: { rss: false } sensors: - { name: actualités feed, url: "https://www.autoritedelaconcurrence.fr/fr/rss.xml", type: RSS, connector: rss, tier: B } - id: bundeskartellamt name: Bundeskartellamt domain: bundeskartellamt.de homepage: https://www.bundeskartellamt.de categories: [government, commerce, legal] tier: B aliases: [bundeskartellamt, german federal cartel office] discover: { rss: false } sensors: - { name: news feed, url: "https://www.bundeskartellamt.de/DE/Service/RSS/_documents/rssnewsfeed.xml", type: RSS, connector: rss, tier: B } - id: jftc name: Japan Fair Trade Commission domain: jftc.go.jp homepage: https://www.jftc.go.jp/en/ categories: [government, commerce, legal] tier: B aliases: [jftc, japan fair trade commission] discover: { rss: false } sensors: - { name: press releases 2026, url: "https://www.jftc.go.jp/en/pressreleases/yearly-2026/index.html", type: HTML, connector: http, tier: B } - id: cci-india name: Competition Commission of India domain: cci.gov.in homepage: https://www.cci.gov.in categories: [government, commerce, legal] tier: B aliases: [cci, competition commission of india] discover: { rss: true, sitemap: true } notes: "Press-release and what's-new listings are client-rendered (short text) and there is no feed — discovery only." - id: acm-netherlands name: Autoriteit Consument & Markt domain: acm.nl homepage: https://www.acm.nl/en categories: [government, commerce, consumer-safety] tier: B aliases: [acm, autoriteit consument en markt, netherlands authority for consumers and markets] discover: { rss: false } sensors: - { name: press releases, url: "https://www.acm.nl/en/publications?type=press-release", type: HTML, connector: http, tier: B } - id: consumer-protection-bc name: Consumer Protection BC domain: consumerprotectionbc.ca homepage: https://www.consumerprotectionbc.ca categories: [consumer-safety, government] tier: C discover: { rss: false } sensors: - { name: news feed, url: "https://www.consumerprotectionbc.ca/feed/", type: RSS, connector: rss, tier: C } - id: which name: Which? domain: which.co.uk homepage: https://www.which.co.uk categories: [consumer-safety, ngo] tier: B aliases: ["which?", "consumers' association"] discover: { rss: false } sensors: - { name: news feed, url: "https://www.which.co.uk/news/feed", type: RSS, connector: rss, tier: B, config: { maxItems: 50 } } - id: beuc name: BEUC — The European Consumer Organisation domain: beuc.eu homepage: https://www.beuc.eu categories: [consumer-safety, ngo] tier: B aliases: [beuc, european consumer organisation] discover: { rss: false } sensors: - { name: news feed, url: "https://www.beuc.eu/rss.xml", type: RSS, connector: rss, tier: B } - id: ewg name: Environmental Working Group domain: ewg.org homepage: https://www.ewg.org categories: [consumer-safety, ngo, food] tier: B aliases: [ewg] discover: { rss: false } sensors: - { name: news feed, url: "https://www.ewg.org/rss.xml", type: RSS, connector: rss, tier: B } # ───────────────────────── food & agriculture agencies ───────────────────────── - id: usda name: USDA domain: usda.gov homepage: https://www.usda.gov categories: [agriculture, food, government] tier: A weight: 1.3 aliases: [usda, u.s. department of agriculture, ers, nass, ams, fsis] discover: { rss: false, sitemap: false } notes: "www.usda.gov, FSIS and the NASS RSS are behind Akamai (403). Agency-level endpoints that answer: AMS RSS, ERS and NASS newsroom pages." sensors: - { name: ams news feed, url: "https://www.ams.usda.gov/rss.xml", type: RSS, connector: rss, tier: B } - { name: ers newsroom, url: "https://www.ers.usda.gov/newsroom", type: HTML, connector: http, tier: B } - { name: nass newsroom, url: "https://www.nass.usda.gov/Newsroom/index.php", type: HTML, connector: http, tier: B } - id: aafc name: Agriculture and Agri-Food Canada domain: agriculture.canada.ca categories: [agriculture, food, government] tier: B weight: 1.1 aliases: [aafc, aac, agriculture et agroalimentaire canada] discover: { rss: false } sensors: - { name: news feed, url: "https://agriculture.canada.ca/en/rss.xml", type: RSS, connector: rss, tier: B } - id: quebec extend: true aliases: [mapaq] sensors: - { name: fil de presse feed, url: "https://www.quebec.ca/fil-de-presse.rss", type: RSS, connector: rss, tier: B, config: { maxItems: 60 } } - id: efsa name: European Food Safety Authority domain: efsa.europa.eu homepage: https://www.efsa.europa.eu categories: [food, health, government] tier: A weight: 1.2 aliases: [efsa] discover: { rss: false } sensors: - { name: press feed, url: "https://www.efsa.europa.eu/en/press/rss", type: RSS, connector: rss, tier: A } - id: defra name: Department for Environment, Food & Rural Affairs (UK) domain: gov.uk homepage: https://www.gov.uk/government/organisations/department-for-environment-food-rural-affairs categories: [agriculture, food, government] tier: B aliases: [defra] discover: { rss: false } sensors: - { name: gov.uk activity feed, url: "https://www.gov.uk/government/organisations/department-for-environment-food-rural-affairs.atom", type: ATOM, connector: rss, tier: B } - id: fsanz name: Food Standards Australia New Zealand domain: foodstandards.gov.au homepage: https://www.foodstandards.gov.au categories: [food, consumer-safety, government] tier: B aliases: [fsanz] discover: { rss: false } sensors: - { name: news feed, url: "https://www.foodstandards.gov.au/rss.xml", type: RSS, connector: rss, tier: B } - id: anses name: ANSES domain: anses.fr homepage: https://www.anses.fr categories: [food, health, government] tier: B weight: 1.1 aliases: [anses, agence nationale de sécurité sanitaire] discover: { rss: false } sensors: - { name: actualités feed, url: "https://www.anses.fr/fr/rss.xml", type: RSS, connector: rss, tier: B } - id: woah name: World Organisation for Animal Health domain: woah.org homepage: https://www.woah.org categories: [agriculture, health, international] tier: B weight: 1.1 aliases: [woah, oie, world organisation for animal health] discover: { rss: false } sensors: - { name: news feed, url: "https://www.woah.org/en/feed/", type: RSS, connector: rss, tier: B } - id: codex-alimentarius name: Codex Alimentarius Commission domain: fao.org homepage: https://www.fao.org/fao-who-codexalimentarius/en/ categories: [food, standards, international] tier: C aliases: [codex, codex alimentarius] discover: { rss: false, sitemap: false } sensors: - { name: news and events, url: "https://www.fao.org/fao-who-codexalimentarius/news-and-events/en/", type: HTML, connector: http, tier: C } - id: ippc name: International Plant Protection Convention domain: ippc.int homepage: https://www.ippc.int categories: [agriculture, international, standards] tier: C aliases: [ippc] discover: { rss: false } sensors: - { name: news, url: "https://www.ippc.int/en/news/", type: HTML, connector: http, tier: C } - id: icco name: International Cocoa Organization domain: icco.org homepage: https://www.icco.org categories: [agriculture, international, commerce] tier: C aliases: [icco, cocoa] discover: { rss: true, sitemap: true } notes: "News page is client-rendered (thin) and /feed redirects to the homepage — discovery only." - id: ico name: International Coffee Organization domain: ico.org homepage: https://www.ico.org categories: [agriculture, international, commerce] tier: C aliases: [ico, international coffee organization] discover: { rss: true } sensors: - { name: press releases, url: "https://ico.org/press-releases/", type: HTML, connector: http, tier: C } # ───────────────────────── farm & producer organizations ───────────────────────── - id: farm-credit-canada name: Farm Credit Canada domain: fcc-fac.ca homepage: https://www.fcc-fac.ca categories: [agriculture, finance] tier: C aliases: [fcc, financement agricole canada, fac] discover: { rss: true, sitemap: true } notes: "Newsroom is a client-rendered shell (thin); no feed found — discovery only." - id: upa name: Union des producteurs agricoles domain: upa.qc.ca homepage: https://www.upa.qc.ca categories: [agriculture, ngo] tier: C aliases: [upa, union des producteurs agricoles] discover: { rss: false } sensors: - { name: nouvelles, url: "https://www.upa.qc.ca/producteur/centre-des-communications/nouvelles", type: HTML, connector: http, tier: C } - id: cfa-fca name: Canadian Federation of Agriculture domain: cfa-fca.ca homepage: https://cfa-fca.ca categories: [agriculture, ngo] tier: C aliases: [cfa, fédération canadienne de l'agriculture] discover: { rss: false } sensors: - { name: news feed, url: "https://cfa-fca.ca/feed/", type: RSS, connector: rss, tier: C } - id: afbf name: American Farm Bureau Federation domain: fb.org homepage: https://www.fb.org categories: [agriculture, ngo] tier: C aliases: [afbf, farm bureau] discover: { rss: false } sensors: - { name: news releases, url: "https://www.fb.org/news-release", type: HTML, connector: http, tier: C } - id: gfo name: Grain Farmers of Ontario domain: gfo.ca homepage: https://gfo.ca categories: [agriculture, ngo] tier: C aliases: [gfo, grain farmers of ontario] discover: { rss: false } sensors: - { name: news feed, url: "https://gfo.ca/feed/", type: RSS, connector: rss, tier: C } - id: plq name: Les Producteurs de lait du Québec domain: lait.org homepage: https://lait.org categories: [agriculture, food, ngo] tier: C aliases: [plq, producteurs de lait du québec] discover: { rss: true } sensors: - { name: actualités, url: "https://lait.org/actualites/", type: HTML, connector: http, tier: C } - id: dairy-farmers-of-canada name: Dairy Farmers of Canada domain: dairyfarmersofcanada.ca homepage: https://dairyfarmersofcanada.ca categories: [agriculture, food, ngo] tier: C aliases: [dfc, producteurs laitiers du canada] discover: { rss: false } sensors: - { name: news releases, url: "https://dairyfarmersofcanada.ca/en/dairy-in-canada/news-releases", type: HTML, connector: http, tier: C } - id: cattle-ca name: Canadian Cattle Association domain: cattle.ca homepage: https://www.cattle.ca categories: [agriculture, ngo] tier: C aliases: [canadian cattle association, cca] discover: { rss: false } sensors: - { name: news feed, url: "https://www.cattle.ca/feed", type: RSS, connector: rss, tier: C } - id: cereals-canada name: Cereals Canada domain: cerealscanada.ca homepage: https://cerealscanada.ca categories: [agriculture, ngo] tier: C discover: { rss: false } sensors: - { name: news feed, url: "https://cerealscanada.ca/feed/", type: RSS, connector: rss, tier: C } - id: pulse-canada name: Pulse Canada domain: pulsecanada.com homepage: https://pulsecanada.com categories: [agriculture, ngo] tier: C discover: { rss: true } sensors: - { name: news, url: "https://pulsecanada.com/news", type: HTML, connector: http, tier: C } - id: canola-council name: Canola Council of Canada domain: canolacouncil.org homepage: https://www.canolacouncil.org categories: [agriculture, ngo] tier: C aliases: [canola council] discover: { rss: false } sensors: - { name: news feed, url: "https://www.canolacouncil.org/news/feed/", type: RSS, connector: rss, tier: C } # ───────────────────────── agribusiness, inputs & equipment ───────────────────────── - id: adm name: ADM domain: adm.com homepage: https://www.adm.com categories: [agriculture, food, commerce] tier: B weight: 1.2 aliases: [adm, archer daniels midland, archer-daniels-midland] discover: { rss: false } sensors: - { name: news, url: "https://www.adm.com/news/", type: HTML, connector: http, tier: B } - { name: sitemap, url: "https://www.adm.com/en-us/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 3000 } } - id: bunge name: Bunge domain: bunge.com homepage: https://bunge.com categories: [agriculture, food, commerce] tier: B weight: 1.1 aliases: [bunge global, bunge viterra] discover: { rss: true, sitemap: true } notes: "Media center and IR feeds sit behind a Cloudflare challenge (403) — discovery only." - id: nutrien name: Nutrien domain: nutrien.com homepage: https://www.nutrien.com categories: [agriculture, commerce] tier: B weight: 1.1 aliases: [nutrien ag solutions] discover: { rss: false } sensors: - { name: news, url: "https://www.nutrien.com/news", type: HTML, connector: http, tier: B } - { name: sitemap, url: "https://www.nutrien.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: mosaic name: The Mosaic Company domain: mosaicco.com homepage: https://mosaicco.com categories: [agriculture, commerce] tier: B aliases: [mosaic, mosaic company] discover: { rss: false } sensors: - { name: news, url: "https://mosaicco.com/news", type: HTML, connector: http, tier: B } - id: cf-industries name: CF Industries domain: cfindustries.com homepage: https://www.cfindustries.com categories: [agriculture, energy, commerce] tier: B aliases: [cf industries] discover: { rss: false } sensors: - { name: newsroom, url: "https://www.cfindustries.com/newsroom", type: HTML, connector: http, tier: B } - id: corteva name: Corteva Agriscience domain: corteva.com homepage: https://www.corteva.com categories: [agriculture, science, commerce] tier: B weight: 1.1 aliases: [corteva] discover: { rss: false } sensors: - { name: media center, url: "https://www.corteva.com/resources/media-center.html", type: HTML, connector: http, tier: B } - { name: sitemap, url: "https://www.corteva.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: syngenta name: Syngenta domain: syngenta.com homepage: https://www.syngenta.com categories: [agriculture, science, commerce] tier: B weight: 1.1 aliases: [syngenta group] discover: { rss: false } sensors: - { name: media releases, url: "https://www.syngenta.com/media/media-releases", type: HTML, connector: http, tier: B } - { name: sitemap, url: "https://www.syngenta.com/sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: agco-corp name: AGCO Corporation domain: agcocorp.com homepage: https://www.agcocorp.com categories: [agriculture, technology, commerce] tier: B aliases: [agco, fendt, massey ferguson, valtra] discover: { rss: false } sensors: - { name: newsroom, url: "https://news.agcocorp.com/", type: HTML, connector: http, tier: B } - id: kubota name: Kubota domain: kubota.com homepage: https://www.kubota.com categories: [agriculture, technology, commerce] tier: B aliases: [kubota corporation] discover: { rss: false } sensors: - { name: newsroom, url: "https://www.kubota.com/newsroom/", type: HTML, connector: http, tier: B } - id: premier-tech name: Premier Tech domain: premiertech.com homepage: https://www.premiertech.com categories: [agriculture, technology, commerce] tier: C discover: { rss: false } sensors: - { name: news feed, url: "https://www.premiertech.com/rss.xml", type: RSS, connector: rss, tier: C } # ───────────────────────── food processors, dairy & distributors ───────────────────────── - id: tyson-foods name: Tyson Foods domain: tysonfoods.com homepage: https://www.tysonfoods.com categories: [food, commerce] tier: B weight: 1.1 aliases: [tyson] discover: { rss: false } sensors: - { name: news releases, url: "https://www.tysonfoods.com/news/news-releases", type: HTML, connector: http, tier: B } - id: jbs name: JBS domain: jbsfoodsgroup.com homepage: https://jbsfoodsgroup.com categories: [food, commerce] tier: B weight: 1.1 aliases: [jbs foods, jbs s.a., pilgrim's] discover: { rss: false } sensors: - { name: news, url: "https://jbsfoodsgroup.com/news", type: HTML, connector: http, tier: B } - id: maple-leaf-foods name: Maple Leaf Foods domain: mapleleaffoods.com homepage: https://www.mapleleaffoods.com categories: [food, commerce] tier: B aliases: [maple leaf, aliments maple leaf] discover: { rss: false } sensors: - { name: news feed, url: "https://www.mapleleaffoods.com/feed/", type: RSS, connector: rss, tier: B } - id: olymel name: Olymel domain: olymel.com homepage: https://www.olymel.com categories: [food, commerce] tier: C discover: { rss: true } sensors: - { name: sitemap, url: "https://www.olymel.com/en-sitemap.xml", type: SITEMAP, connector: sitemap, tier: C, config: { maxUrls: 2000 } } - id: hormel-foods name: Hormel Foods domain: hormelfoods.com homepage: https://www.hormelfoods.com categories: [food, commerce] tier: B aliases: [hormel] discover: { rss: false } sensors: - { name: news feed, url: "https://www.hormelfoods.com/feed/", type: RSS, connector: rss, tier: B } - id: conagra-brands name: Conagra Brands domain: conagrabrands.com homepage: https://www.conagrabrands.com categories: [food, commerce] tier: B aliases: [conagra] discover: { rss: false } sensors: - { name: news feed, url: "https://www.conagrabrands.com/rss.xml", type: RSS, connector: rss, tier: B } - id: campbells name: The Campbell's Company domain: thecampbellscompany.com homepage: https://www.thecampbellscompany.com categories: [food, commerce] tier: B aliases: [campbell's, campbell soup] discover: { rss: false } sensors: - { name: sitemap, url: "https://www.thecampbellscompany.com/sitemap_index.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: mccain name: McCain Foods domain: mccain.com homepage: https://www.mccain.com categories: [food, commerce] tier: B aliases: [mccain] discover: { rss: false } sensors: - { name: news, url: "https://www.mccain.com/information-centre/news/", type: HTML, connector: http, tier: B } - id: lactalis name: Lactalis domain: lactalis.com homepage: https://www.lactalis.com categories: [food, commerce] tier: B aliases: [groupe lactalis] discover: { rss: false } sensors: - { name: news, url: "https://www.lactalis.com/en/articles/news", type: HTML, connector: http, tier: B } - id: fonterra name: Fonterra domain: fonterra.com homepage: https://www.fonterra.com categories: [food, agriculture, commerce] tier: B discover: { rss: false } sensors: - { name: media releases, url: "https://www.fonterra.com/nz/en/our-stories/media.html", type: HTML, connector: http, tier: B } - id: arla name: Arla Foods domain: arla.com homepage: https://www.arla.com categories: [food, agriculture, commerce] tier: B aliases: [arla] discover: { rss: false } sensors: - { name: sitemap, url: "https://www.arla.com/sitemap.index.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000, maxChildren: 6 } } - id: frieslandcampina name: FrieslandCampina domain: frieslandcampina.com homepage: https://www.frieslandcampina.com categories: [food, agriculture, commerce] tier: B aliases: [royal frieslandcampina] discover: { rss: false } sensors: - { name: news feed, url: "https://www.frieslandcampina.com/rss", type: RSS, connector: rss, tier: B } - id: sysco name: Sysco domain: sysco.com homepage: https://www.sysco.com categories: [food, logistics, commerce] tier: B weight: 1.1 discover: { rss: false } sensors: - { name: sitemap, url: "https://www.sysco.com/api/sitemap.xml", type: SITEMAP, connector: sitemap, tier: B, config: { maxUrls: 2000 } } - id: gfs name: Gordon Food Service domain: gfs.com homepage: https://gfs.com categories: [food, logistics, commerce] tier: C aliases: [gordon food service] discover: { rss: false } sensors: - { name: news feed, url: "https://gfs.com/en-us/feed/", type: RSS, connector: rss, tier: C } - id: colabor name: Colabor domain: colabor.com homepage: https://colabor.com categories: [food, logistics, commerce] tier: C aliases: [groupe colabor] discover: { rss: false } sensors: - { name: news feed, url: "https://colabor.com/en/feed/", type: RSS, connector: rss, tier: C }