# WHO Health Statistics API
> The World Health Organization's Global Health Observatory (GHO) as an API — authoritative global health statistics for every WHO member state. Search a catalogue of more than 3,000 health indicators spanning life expectancy and healthy life expectancy, mortality and causes of death, immunization and vaccine coverage, communicable and noncommunicable disease burden, maternal and child health, nutrition, mental health, health workforce, health financing, water and sanitation, and risk factors such as tobacco, alcohol and obesity. For any indicator, pull a country's complete time-series — each data point with its year, value, the WHO uncertainty interval (low and high bounds), the WHO region and the breakdown dimension (for example sex) — or compare the indicator across many countries for a chosen year, or the latest available year per country, ranked by value. Country codes are ISO3 (DEU, USA, JPN) or WHO region codes; results can be filtered by sex (both, male or female). Ideal for public-health research, journalism, NGO and policy dashboards, epidemiology and global-development analysis. Indicator codes come from the indicators endpoint (e.g. WHOSIS_000001 is life expectancy at birth). Data from the WHO Global Health Observatory.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/who-api/..."
```

## Pricing
- **Free** (Free) — 600 calls/Mo, 2 req/s
- **Starter** ($6/Mo) — 21,500 calls/Mo, 6 req/s
- **Pro** ($20/Mo) — 90,000 calls/Mo, 15 req/s
- **Mega** ($55/Mo) — 375,000 calls/Mo, 40 req/s

## Endpoints

### Health

#### `GET /v1/compare` — An indicator across countries

**Parameters:**
- `indicator` (query, required, string) — GHO indicator code Example: `WHOSIS_000001`
- `countries` (query, required, string) — Comma-separated ISO3 codes Example: `DEU,FRA,USA`
- `year` (query, optional, string) — Year (default: latest per country)
- `sex` (query, optional, string) — both|male|female

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/who-api/v1/compare?indicator=WHOSIS_000001&countries=DEU%2CFRA%2CUSA"
```

**Response:**
```json
{
    "data": {
        "sex": "SEX_BTSX",
        "year": null,
        "count": 3,
        "results": [
            {
                "low": 81.91157517,
                "high": 82.00027612,
                "year": 2021,
                "value": 81.92274175,
                "region": "Europe",
                "country": "FRA",
                "display": "81.9 [81.9-82.0]",
                "dimension": "SEX_BTSX",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            },
            {
                "low": 80.48998607,
                "high": 80.55839127,
                "year": 2021,
                "value": 80.49140555,
                "region": "Europe",
                "country": "DEU",
                "display": "80.5 [80.5-80.6]",
                "dimension": "SEX_BTSX",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            },
            {
                "low": 76.32909019,
                "high": 76.47914571,
                "year": 2021,
                "value": 76.37368104,
                "region": "Americas",
                "country": "USA",
                "display": "76.4 [76.3-76.5]",
                "dimension": "SEX_BTSX",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            }
        ],
        "indicator": "WHOSIS_000001"
    },
    "meta": {
        "timestamp": "2026-06-01T08:13:14.303Z",
        "request_id": "3d05d2ae-c286-4927-
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/data` — A country time-series

**Parameters:**
- `indicator` (query, required, string) — GHO indicator code, e.g. WHOSIS_000001 Example: `WHOSIS_000001`
- `country` (query, required, string) — ISO3 country code, e.g. DEU Example: `DEU`
- `year` (query, optional, string) — Filter to a year
- `sex` (query, optional, string) — both|male|female

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/who-api/v1/data?indicator=WHOSIS_000001&country=DEU"
```

**Response:**
```json
{
    "data": {
        "data": [
            {
                "low": 82.85917696,
                "high": 82.92056694,
                "year": 2021,
                "value": 82.85918032,
                "region": "Europe",
                "country": "DEU",
                "display": "82.9 [82.9-82.9]",
                "dimension": "SEX_FMLE",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            },
            {
                "low": 78.09050005,
                "high": 78.20850529,
                "year": 2021,
                "value": 78.14950267,
                "region": "Europe",
                "country": "DEU",
                "display": "78.1 [78.1-78.2]",
                "dimension": "SEX_MLE",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            },
            {
                "low": 80.48998607,
                "high": 80.55839127,
                "year": 2021,
                "value": 80.49140555,
                "region": "Europe",
                "country": "DEU",
                "display": "80.5 [80.5-80.6]",
                "dimension": "SEX_BTSX",
                "country_type": "COUNTRY",
                "dimension_type": "SEX"
            },
            {
                "low": 80.73700425,
                "high": 80.85575031,
                "year": 2020,
                "value": 80.79637728,
                "region": "Europe",
                "country": "DEU",
         
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/indicators` — Search health indicators

**Parameters:**
- `q` (query, required, string) — Search text, e.g. life expectancy Example: `life expectancy`
- `limit` (query, optional, string) — Max results (1-200)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/who-api/v1/indicators?q=life+expectancy"
```

**Response:**
```json
{
    "data": {
        "count": 4,
        "query": "life expectancy",
        "total": 4,
        "indicators": [
            {
                "code": "WHOSIS_000001",
                "name": "Life expectancy at birth (years)"
            },
            {
                "code": "WHOSIS_000007",
                "name": "Healthy life expectancy (HALE) at age 60 (years)"
            },
            {
                "code": "WHOSIS_000015",
                "name": "Life expectancy at age 60 (years)"
            },
            {
                "code": "WHOSIS_000002",
                "name": "Healthy life expectancy (HALE) at birth (years)"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T08:13:17.598Z",
        "request_id": "e33f24a0-0834-4548-99eb-b3966278ff95"
    },
    "status": "ok",
    "message": "Indicators retrieved",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/who-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Authoritative health statistics from the World Health Organization for every member state. /v1/indicators?q=life expectancy = search the 3,000+ GHO indicator catalogue by name or code (immunization, mortality, disease burden, risk factors, health workforce, financing…), returning each indicator's code and name; /v1/data?indicator=WHOSIS_000001&country=DEU = a country's full time-series for an indicator (optional year and sex=both|male|female filters), each point with year, value, the WHO uncertainty interval (low/high), region and breakdown dimension; /v1/compare?indicator=WHOSIS_000001&countries=DEU,FRA,USA = the same indicator across several countries for a given year (or the latest available year per country if year is omitted), ranked by value. Country codes are ISO3 (e.g. DEU, USA, JPN) or WHO region codes; sex defaults to both. Indicator codes come from /v1/indicators (e.g. WHOSIS_000001 = life expectancy at birth). Data from WHO GHO. For the global development indicators see the World Bank API; for economic statistics DBnomics.",
        "source": "WHO Global Health Observatory (GHO) OData API (ghoapi.azureedge.net)",
        "endpoints": [
            "/v1/indicators",
            "/v1/data",
            "/v1/compare",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T08:13:17.680Z",
        "request_id": "95cf68e4-7cd6-498f-b1bd-b42679b236ee"
    },
    "status": "ok",
    "message": "Meta retrie
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/who-api
OpenAPI spec: https://www.oanor.com/api/who-api/openapi.json
