# World Health Organization API

> World Health Organization returns outbreak reports, country health statistics, and health fact sheets as a workflow and API.

World Health Organization (WHO) lists outbreak reports by disease or tagged country, returning summaries and publication dates. Get country health statistics returns a country’s latest health indicator value and up to 10 years of history; it requires a country and indicator. Get fact sheet returns key facts, an overview, and ordered sections for a required topic listed in the WHO fact-sheet directory.

- Page: https://fous.com/workflows/world-health-organization
- Handle: `@world-health-organization`
- Category: [Health](https://fous.com/workflows/category/health)
- Source website: https://who.int
- Last verified: Sep 29, 2026
- Fous is not affiliated with World Health Organization.

## Methods

### Get country health statistics

Operation `get_country_health_statistics`, version 1. 1 credit per call.

Get the latest WHO health statistic for a country, with sex-specific values, its regional value for the same year when available, and up to 10 years of history. Some indicators do not report every sex or a regional value.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | yes | `"Brazil"` | Country name, for example Brazil. |
| `indicator` | string | yes | `"infant mortality"` | Health statistic in plain words, for example infant mortality. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country",
    "indicator"
  ],
  "properties": {
    "country": {
      "type": "string",
      "description": "Country name, for example Brazil.",
      "examples": [
        "Brazil"
      ]
    },
    "indicator": {
      "type": "string",
      "description": "Health statistic in plain words, for example infant mortality.",
      "examples": [
        "infant mortality",
        "life expectancy",
        "adult obesity"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "Brazil",
      "indicator": "infant mortality"
    },
    {
      "country": "Brazil",
      "indicator": "life expectancy"
    },
    {
      "country": "Brazil",
      "indicator": "adult obesity"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `unit` | string or null | `"deaths per 1,000 live births"` | Measurement unit in words, when specified by WHO. |
| `region` | string or null | `"Americas"` | WHO region name. |
| `country` | string | `"Brazil"` | WHO country name. |
| `indicator` | string | `"Infant mortality rate (probability of dying between birth and age 1 per 1000 live births)"` | Official WHO indicator name. |
| `male_value` | number or null | `13.608203825` |  |
| `latest_year` | integer | `2024` |  |
| `source_link` | string | `"https://ghoapi.azureedge.net/api/MDG_0000000001?%24filter=SpatialDim+eq+%27BRA%27&%24orderby=TimeDim+desc"` | Link to the WHO source data for this country and indicator. |
| `female_value` | number or null | `10.841855023` |  |
| `region_value` | number or null | `10.911642148` | Regional value for the latest country year. |
| `both_sexes_value` | number or null | `12.260427311` |  |
| `historical_values` | array |  |  |
| `historical_values[].year` | integer | `2024` |  |
| `historical_values[].value` | number or null | `12.260427311` |  |
| `who_indicator_code` | string | `"MDG_0000000001"` |  |

**Example input**

```json
{
  "country": "Brazil",
  "indicator": "infant mortality"
}
```

**Example output**

```json
{
  "unit": "deaths per 1,000 live births",
  "region": "Americas",
  "country": "Brazil",
  "indicator": "Infant mortality rate (probability of dying between birth and age 1 per 1000 live births)",
  "male_value": 13.608203825,
  "latest_year": 2024,
  "source_link": "https://ghoapi.azureedge.net/api/MDG_0000000001?%24filter=SpatialDim+eq+%27BRA%27&%24orderby=TimeDim+desc",
  "female_value": 10.841855023,
  "region_value": 10.911642148,
  "both_sexes_value": 12.260427311,
  "historical_values": [
    {
      "year": 2024,
      "value": 12.260427311
    },
    {
      "year": 2023,
      "value": 12.430646999
    },
    {
      "year": 2022,
      "value": 12.568670991
    }
  ],
  "who_indicator_code": "MDG_0000000001"
}
```

### Get fact sheet

Operation `get_fact_sheet`, version 1. 1 credit per call.

Get a WHO fact sheet by health topic, including its key facts, overview and sections in page order. Available topics are those listed in the WHO fact-sheet directory.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `topic` | string | yes | `"mental health"` | Health topic as listed in WHO fact sheets, for example malaria or mental health. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "description": "Health topic as listed in WHO fact sheets, for example malaria or mental health.",
      "examples": [
        "mental health",
        "malaria",
        "hypertension"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "topic": "mental health"
    },
    {
      "topic": "malaria"
    },
    {
      "topic": "hypertension"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string | `"Mental health"` | Title of the WHO fact sheet. |
| `overview` | string or null |  | Plain-text overview from the fact sheet. |
| `sections` | array |  | Other sections in their original order, including WHO response and subheadings. |
| `sections[].text` | string |  |  |
| `sections[].heading` | string | `"Risks and protective factors"` |  |
| `key_facts` | array |  | Key facts listed on the page, in order. |
| `page_link` | string | `"https://www.who.int/news-room/fact-sheets/detail/mental-health-strengthening-our-response"` | Link to the WHO fact sheet. |
| `date_updated` | string or null | `"2026-09-11"` | Date displayed on the fact sheet, as YYYY-MM-DD. |

**Example input**

```json
{
  "topic": "mental health"
}
```

**Example output**

```json
{
  "title": "Mental health",
  "overview": "Mental health is a state of mental well-being that enables people to cope with the stresses of life, realize their abilities, learn and work well, and contribute to their community. It has intrinsic a…",
  "sections": [
    {
      "text": "The risks and protective factors that influence mental health operate at multiple levels.\n\nIndividual factors such as emotional skills, substance use and genetics can increase vulnerability to mental …",
      "heading": "Risks and protective factors"
    },
    {
      "text": "Promotion and prevention efforts aim to improve mental health by addressing individual, social and structural determinants of mental health. Interventions can be designed for individuals, specific gro…",
      "heading": "Mental health promotion and prevention"
    },
    {
      "text": "National efforts to strengthen mental health must focus not only on promoting mental well-being for all, but also on addressing the needs of people with mental health conditions.\n\nThis is best achieve…",
      "heading": "Mental health care and treatment"
    }
  ],
  "key_facts": [
    "Globally, more than a billion people live with a mental health condition.",
    "Affordable, effective and feasible strategies exist to promote, protect and restore mental health.",
    "The need for action on mental health is indisputable and urgent."
  ],
  "page_link": "https://www.who.int/news-room/fact-sheets/detail/mental-health-strengthening-our-response",
  "date_updated": "2026-09-11"
}
```

### List outbreak news

Operation `list_outbreak_news`, version 1. 1 credit per call.

List the latest WHO Disease Outbreak News reports, optionally filtered by disease and country. Countries are those tagged on each report; untagged locations and risk assessments not published by WHO may be absent.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | no | `"Democratic Republic of the Congo"` | Country named in the report tags, for example Democratic Republic of the Congo. |
| `disease` | string | no | `"cholera"` | Disease to find in report titles, for example cholera. |
| `max_results` | integer | no | `20` | Maximum number of reports, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "examples": [
        "Democratic Republic of the Congo"
      ],
      "description": "Country named in the report tags, for example Democratic Republic of the Congo."
    },
    "disease": {
      "type": "string",
      "examples": [
        "cholera"
      ],
      "description": "Disease to find in report titles, for example cholera."
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "examples": [
        20
      ],
      "description": "Maximum number of reports, for example 20.",
      "x-fous-developer": true
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "disease": "cholera",
      "max_results": 3
    },
    {},
    {
      "country": "Democratic Republic of the Congo",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `reports` | array |  | Matching outbreak reports, newest first. |
| `reports[].title` | string | `"Ebola disease caused by Bundibugyo virus - Democratic Republic of the Congo"` |  |
| `reports[].disease` | string or null | `"Ebola disease caused by Bundibugyo virus"` |  |
| `reports[].summary` | string or null | `"On 8 September, Sudan’s Federal Ministry of Health (FMoH) notified WHO about a cholera outbreak in four localities in t` |  |
| `reports[].countries` | array |  |  |
| `reports[].report_link` | string | `"https://www.who.int/emergencies/disease-outbreak-news/item/2026-DON618"` |  |
| `reports[].published_date` | string | `"2026-09-25"` |  |
| `reports[].who_risk_assessment_summary` | string or null |  |  |

**Example input**

```json
{
  "country": "Democratic Republic of the Congo",
  "max_results": 2
}
```

**Example output**

```json
{
  "reports": [
    {
      "title": "Ebola disease caused by Bundibugyo virus - Democratic Republic of the Congo",
      "disease": "Ebola disease caused by Bundibugyo virus",
      "summary": "Since the last Disease Outbreak News was published on 11 September 2026, the Bundibugyo virus outbreak in the Democratic Republic of the Congo has expanded further, with two additional health zones af…",
      "countries": [
        "Democratic Republic of the Congo"
      ],
      "report_link": "https://www.who.int/emergencies/disease-outbreak-news/item/2026-DON618",
      "published_date": "2026-09-25",
      "who_risk_assessment_summary": "On 14 August 2026, WHO reassessed the risk of the outbreak of BVD, incorporating newly available information on the evolving situation. The risk for countries sharing land borders with the Democratic …"
    },
    {
      "title": "Ebola disease caused by Bundibugyo virus - Democratic Republic of the Congo",
      "disease": "Ebola disease caused by Bundibugyo virus",
      "summary": "Since the last Disease Outbreak News was published on 28 August 2026, the Bundibugyo virus outbreak in the Democratic Republic of the Congo has expanded to one additional health zone, Kayna, in North …",
      "countries": [
        "Democratic Republic of the Congo"
      ],
      "report_link": "https://www.who.int/emergencies/disease-outbreak-news/item/2026-DON617",
      "published_date": "2026-09-10",
      "who_risk_assessment_summary": "On 14 August 2026, WHO reassessed the risk of the outbreak of BVD, incorporating newly available information on the evolving situation. The risk for countries sharing land borders with the Democratic …"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@world-health-organization",
  "visibility": "public",
  "operation": "get_country_health_statistics",
  "version": 1,
  "input": {
    "country": "Brazil",
    "indicator": "infant mortality"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@world-health-organization\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_country_health_statistics\",\n  \"version\": 1,\n  \"input\": {\n    \"country\": \"Brazil\",\n    \"indicator\": \"infant mortality\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=120) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@world-health-organization",
  "visibility": "public",
  "operation": "get_country_health_statistics",
  "version": 1,
  "input": {
    "country": "Brazil",
    "indicator": "infant mortality"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

Or describe the data in plain language: send `{"api":"@world-health-organization","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Track outbreak reports by disease or tagged country
- Compare a country’s latest statistic with its regional value
- Review historical values for a country health indicator
- Summarize key facts from a health topic
- Organize fact sheet sections in page order

## FAQ

### Is Fous affiliated with World Health Organization?

No. Fous is not affiliated with World Health Organization. This workflow reads the public who.int website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a World Health Organization account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from who.int when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 29, 2026.

### Which outbreak reports match a disease or country?

List outbreak news returns matching reports, newest first. You can filter by disease or by a country tagged on the report.

### What is a country’s latest health statistic?

Get country health statistics returns the latest value for a required country and indicator, with sex-specific values when available.

### What does a WHO fact sheet say about a topic?

Get fact sheet returns key facts, an overview, and sections in page order for a topic listed in the WHO fact-sheet directory.

## Related

- [All Health workflows](https://fous.com/workflows/category/health)
