Global Health & Epidemic Statistics Scraper
Pricing
from $0.50 / 1,000 results
Global Health & Epidemic Statistics Scraper
$0.5/1K ๐ฅ Global health stats scraper! Country epidemic counters, historical curves & vaccination data. No key. JSON, CSV, Excel or API in seconds. Feed dashboards & research โก
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape country-level epidemic counters, vaccination coverage curves, daily historical time series and continent rollups into one flat table โ no API key, no login, no proxy required.
The Actor pulls from the free public disease.sh v3 API (the aggregation layer over Johns Hopkins CSSE, Our World in Data vaccination data and world population figures) and turns its nested JSON into clean, one-row-per-record datasets you can export as CSV, JSON, Excel, XML or feed straight into a BI tool.
โ ๏ธ Read this first: how fresh is this data?
Be aware that these are historical, largely frozen pandemic-era datasets โ not a live outbreak feed. We would rather tell you up front than have you discover it after a run. Measured on 28 July 2026:
| Mode | Data coverage actually observed | Status |
|---|---|---|
countries | Cumulative totals per country; updated field re-stamped 2026-07-28T17:57:28Z | Timestamp is live, the numbers are not โ todayCases / todayDeaths came back null/zero for all 231 countries |
historical | 2020-01-22 โ 2023-03-09 (1,143 days) | Frozen. Johns Hopkins CSSE stopped collecting on 10 March 2023 |
vaccine | 2021-06-13 โ 2025-07-21 (1,500 days available) | Frozen at the tail; recent days repeat the same cumulative dose count |
continents | 6 continents, same cumulative basis as countries | Frozen, timestamp re-stamped |
In plain words: the updated field will always look like "a few minutes ago" because the disease.sh servers restamp their cache โ but the underlying counters have not moved since the global COVID-19 reporting programmes wound down. Treat this as an archive of the pandemic, which is exactly what makes it useful for teaching, retrospective epidemiology, dashboard prototyping and reproducible research: the numbers are stable, complete and free.
If you need currently updated official health indicators (immunization coverage, life expectancy, mortality, NCDs, health-system metrics), use the sibling Actor described below.
How this differs from who-gho-scraper
They are complementary, not duplicates:
| who-gho-scraper | global-health-stats-scraper (this one) | |
|---|---|---|
| Source | WHO Global Health Observatory (official WHO indicator API) | disease.sh v3 (JHU CSSE + OWID aggregation) |
| Shape | Indicator time series โ pick an indicator code, get country-year values with WHO dimensions | Country-level epidemic counters, curves and continent rollups in one flat schema |
| Content | Thousands of health indicators: life expectancy, immunization, TB, malaria, NCDs, health financing | Pandemic case/death/test/recovery counters, per-million rates, CFR, vaccine doses, continent aggregates |
| Granularity | One row per indicator ร country ร year | One row per country (current) or per country ร day |
| Recency | Updated by WHO on its own reporting cycle | Frozen archive โ see the table above |
Use who-gho-scraper for official WHO indicator research. Use this Actor when you want the flat, daily-granular epidemic counter table with per-million normalisation and ready-made day-over-day diffs.
Modes
Every mode was probed against the live API before shipping; retired disease.sh sub-APIs (/v3/influenza/*, /v3/gov/* โ both return 404) are deliberately not offered, so no mode can silently return nothing.
1. countries โ current per-country counters (default)
One row per country: cases, deaths, recovered, active, critical, tests, plus population, ISO codes, coordinates, flag URL, per-million rates and a computed case-fatality percentage. 231 countries available.
2. historical โ daily time series
The disease.sh timeline is a dict keyed by a M/D/YY string ("3/9/23" = 9 March 2023). This Actor un-pivots it into proper chronological rows with ISO dates and computes new_cases / new_deaths day-over-day diffs for you (first row is null, never a fake zero).
3. continents โ rollups
Six continent aggregates with the member-country list included.
4. vaccine โ vaccination coverage curves
Cumulative doses administered per country and day, with new_doses diffs.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | countries | countries, historical, continents or vaccine |
countries | array | ["Germany","USA","Brazil"] | Country names or ISO-2/ISO-3 codes. Empty = all countries (countries mode) |
lastDays | integer | 30 | Days of history for historical / vaccine (max 1500 = full series) |
continentFilter | string | โ | Europe, Asia, Africa, North America, South America, Australia-Oceania |
maxItems | integer | 500 | Row cap (max 5000) |
{"mode": "historical","countries": ["Germany", "USA", "Brazil"],"lastDays": 90,"maxItems": 1000}
Output
countries mode:
{"type": "country","country": "Germany","iso2": "DE","iso3": "DEU","continent": "Europe","population": 83883596,"latitude": 51,"longitude": 9,"flag_url": "https://disease.sh/assets/img/flags/de.png","cases": 38828995,"today_cases": null,"deaths": 183027,"today_deaths": null,"recovered": 38240600,"active": 405368,"critical": null,"tests": 122332384,"cases_per_million": 462891,"deaths_per_million": 2182,"tests_per_million": 1458359,"active_per_million": 4832.51,"critical_per_million": null,"case_fatality_pct": 0.471,"updated": "2026-07-28T17:57:27Z","source": "disease.sh","scraped_at": "2026-07-28T18:07:27Z"}
historical mode:
{"type": "historical","country": "Germany","province": "mainland","date": "2023-03-09","cases": 38249060,"deaths": 168935,"recovered": 0,"new_cases": 7829,"new_deaths": 127,"source": "disease.sh","scraped_at": "2026-07-28T18:07:28Z"}
vaccine mode returns doses_administered + new_doses; continents mode returns the aggregate counters plus the countries member list. Every field is nullable โ missing upstream values stay null instead of being faked as 0.
Use cases
- Public health dashboards โ a stable, key-less backing dataset for Grafana / Power BI / Looker Studio prototypes with per-million normalisation already computed.
- Epidemiology research โ reproducible cumulative and incident curves for 231 countries over the full 2020โ2023 window, with the
M/D/YYtimeline properly parsed. - Data journalism โ cross-country comparisons of case-fatality rates, testing intensity and vaccination rollout speed, exportable to CSV in one click.
- Teaching datasets โ a clean, frozen, well-documented time series for statistics, data-science and public-health courses; results never shift under students' feet mid-semester.
Pricing
Roughly $0.50 per 1,000 rows on the Apify platform, plus the usual platform compute. A full countries run is 231 rows; a 90-day, 3-country historical run is 270 rows.
Notes & limits
- The upstream API is free and key-less but rate-limited; requests are batched (up to 20 countries per historical call) and paced.
provinceis usuallymainland; a handful of territories are reported separately upstream.recoveredis0for many countries after mid-2021 โ that is an upstream reporting artefact, not a scraper bug.- Unknown country names return no data for that country; the run raises a clear error if nothing was scraped.
Related Actors
- WHO GHO Scraper โ official WHO indicator time series
- OpenFDA Scraper โ drug, device and adverse-event records
- Clinical Trials Scraper โ ClinicalTrials.gov study registry
- Country Profiles Scraper โ country reference data
Legal
Data originates from public, freely accessible endpoints. disease.sh aggregates Johns Hopkins CSSE, Our World in Data and Worldometer figures; check their terms and cite the original sources in any publication. No personal data is collected.