Disease Outbreak News Scraper avatar

Disease Outbreak News Scraper

Pricing

from $0.01 / 1,000 outbreak reports

Go to Apify Store
Disease Outbreak News Scraper

Disease Outbreak News Scraper

Collect official outbreak reports and health alerts from WHO, ECDC, CDC, PAHO, and CAHEC. Export diseases, places, severity, dates, report text, attachments, and source URLs.

Pricing

from $0.01 / 1,000 outbreak reports

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

16 days ago

Last modified

Share

🦠 Track official disease outbreak news

Disease Outbreak News Scraper helps public-health teams, researchers, newsrooms, and travel-risk teams collect official alerts. It saves titles, dates, diseases, places, severity, report text, attachments, and source URLs in one dataset.

📊 Returned data

Each saved row is one official outbreak report, public-health alert, or disease-surveillance bulletin. It can include source facts, disease and place tags, a rule-based severity, WHO report sections, and direct attachment links. Missing facts stay empty or null; the Actor does not guess them.

Sources include WHO Disease Outbreak News, WHO news feeds, ECDC, CDC, PAHO, and CAHEC animal-disease bulletins.

▶️ Running the Actor

  1. Open the Actor on Apify.
  2. Pick one or more official sources, or add official page URLs.
  3. Add filters only when you need them.
  4. Set a work limit, or leave it empty to return all available results until the sources are exhausted.
  5. Click Start. Open the dataset when the run ends.

🔎 Input

FieldTypeWhat it does
sourceFamiliesstring arrayPicks WHO DON, WHO news, ECDC, CDC, PAHO, or CAHEC sources.
startUrlsobject arrayAdds official outbreak, alert, archive, feed, or bulletin URLs. Each object needs a url.
diseaseKeywordsstring arrayKeeps rows that match the given diseases, hazards, countries, or source terms.
regionsstring arrayKeeps rows from the chosen source-backed WHO or geographic regions when available.
severitystringKeeps High, Moderate, or Low rows. An empty value keeps any severity.
publishedFromdate stringKeeps rows published on or after this date.
publishedTodate stringKeeps rows published on or before this date.
maxItemsintegerStops after this many matching rows. Leave it empty to return all available results until the sources are exhausted.

Default-input run:

{
"sourceFamilies": [
"who-don"
],
"maxItems": 100,
"regions": [],
"severity": ""
}

📤 Output

FieldTypeWhat it does
source.namestringSource page or feed name.
source.publisherstringOfficial publisher.
source.idstring or nullPublisher's report, bulletin, article, or alert ID.
source.urlstringOfficial page URL.
titlestringSource headline or bulletin title.
publishedAtstring or nullPublication time in ISO 8601 format.
updatedAtstring or nullUpdate time in ISO 8601 format.
summarystring or nullSource summary or short lead.
diseasesstring arrayDiseases or outbreak subjects named by the source.
locationsstring arrayAffected places named by the source.
regionsstring arrayBroad source-backed regions.
speciesstring arrayAffected species in animal-health rows.
severitystring or nullSource-backed or rule-based High, Moderate, or Low severity.
categoriesstring arraySource sections, alert types, or labels.
details.overviewstring or nullSource overview.
details.epidemiologystring or nullSource epidemiology section.
details.assessmentstring or nullSource risk assessment.
details.advicestring or nullSource public-health advice.
details.responsestring or nullSource response section.
details.furtherInformationstring or nullSource further-information section.
details.bodyTextstring or nullArticle or bulletin text when named sections are not available.
attachmentsobject arraySource-hosted files.
attachments.titlestring or nullSource file title.
attachments.urlstringDirect source file URL.

Genuine ECDC row from the current beta build:

{
"source": {
"name": "ECDC updates",
"publisher": "European Centre for Disease Prevention and Control",
"id": "andes-hantavirus-outbreak",
"url": "https://www.ecdc.europa.eu/en/infectious-disease-topics/hantavirus-infection/surveillance-and-updates/andes-hantavirus-outbreak"
},
"title": "Andes hantavirus outbreak in cruise ship",
"publishedAt": null,
"updatedAt": null,
"summary": null,
"diseases": [
"Andes hantavirus outbreak in cruise ship",
"Andes hantavirus outbreak",
"Outbreak"
],
"locations": [
"cruise ship"
],
"regions": [],
"species": [],
"severity": "Moderate",
"categories": [
"Epidemiological update"
],
"details": {
"overview": null,
"epidemiology": null,
"assessment": null,
"advice": null,
"response": null,
"furtherInformation": null,
"bodyText": null
},
"attachments": []
}

The default Apify dataset can be downloaded as JSON, CSV, Excel, XML, or HTML.

💰 Pricing

This Actor uses pay-per-event pricing. You pay for each accepted official outbreak report, public-health alert, or disease-surveillance bulletin saved to the dataset. Failed requests, skipped pages, empty runs, and runs with no matches are not charged as outbreak records.

🔌 Integrations

Use Apify Schedules to run checks often. Send dataset rows to webhooks, the Apify API, or supported integrations such as Google Sheets and Make.

❓ FAQ

Why are some fields null or empty?

Official sources do not publish every fact on every page. The Actor leaves missing facts blank instead of guessing.

How is severity set?

Severity comes from the source or a rule-based check of source text and categories. It stays null when there is not enough evidence.

Can I add a custom URL?

Yes. Add an official outbreak, alert, archive, feed, or bulletin URL. Unrelated and unofficial pages are outside this Actor's scope.

Can I collect old reports?

Yes. The Actor can collect historical reports that remain available from a supported source. Use date filters to narrow them.

📝 Changelog

  • 1.0: Focused default runs on WHO Disease Outbreak News, added uncapped collection when no maximum is set, and improved source reliability and outbreak filtering.
  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré