# WHO Global Health Observatory Scraper (`logiover/who-gho-scraper`) Actor

Scrape WHO GHO by indicator code or list all 3000+ indicators. Extract country, year, value, low/high CI, sex dimension for health analytics, research, and dashboards. No API key, no login.

- **URL**: https://apify.com/logiover/who-gho-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Other
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## WHO Global Health Observatory Scraper — Indicators, Countries, Years & Confidence Intervals

Extract any of the 3,000+ WHO health indicators across all countries and years with zero API key or login required.

### What does WHO GHO Scraper do?

This actor connects directly to the World Health Organization's official Global Health Observatory (GHO) OData REST API at `https://ghoapi.azureedge.net/api/`. It supports two modes: **List all indicators** (returning all 3,000+ indicator codes and names in one run) and **Indicator data** (fetching every country/year data row for one or more indicator codes). Pagination is handled automatically with page size 1,000 rows, so a single run on a high-coverage indicator like Life Expectancy (`WHOSIS_000001`) returns 12,000+ rows spanning 180+ countries and 30+ years. Each row includes the numeric value, lower/upper confidence interval bounds, the sex or age dimension, ISO3 country code, WHO region, and the original formatted value string. No authentication, API key, or browser is needed — the WHO GHO API is fully public.

### Who is it for?

- **Global health researchers** analyzing mortality, disease burden, and health equity trends across countries.
- **Data journalists and NGOs** building reports on WHO targets, SDG progress, and pandemic impact.
- **Public health consultants** who need structured, machine-readable WHO data for client dashboards.
- **Data engineers** feeding WHO indicators into warehouses (BigQuery, Snowflake, Postgres) or BI tools (Tableau, Power BI, Looker).
- **Academics and students** doing quantitative analysis on global health datasets without manual CSV downloads.

### Use cases

- Track life expectancy trends by country and sex from 2000 to present for SDG-3 reporting.
- Compare maternal mortality ratios across WHO regions to identify where interventions are needed.
- Build a COVID-19 excess mortality dashboard by pulling multiple indicator codes in one run.
- Export WHO child malnutrition data into Google Sheets for NGO grant proposals.
- Power an AI agent that answers health questions by retrieving the latest WHO data programmatically.

### Why use WHO GHO Scraper?

- **Completely keyless** — no WHO account, no API registration, no cookies required.
- **10 output fields** per row: indicatorCode, indicatorName, country, year, value, low CI, high CI, dimension, region, rawValue.
- **Bulk extraction** — a single run can return hundreds of thousands of rows across multiple indicators.
- **Country and result-count filters** — limit to specific ISO3 countries or cap total rows for quick previews.
- **Export to CSV, JSON, or Excel** in one click from the Apify dataset viewer.
- **Pay-per-result** pricing — you only pay for what you extract.

### What data can you extract?

Every data row from the WHO GHO API is returned with the following fields:

| Field | Type | Description |
|---|---|---|
| `indicatorCode` | string | WHO GHO indicator code, e.g. `WHOSIS_000001` |
| `indicatorName` | string | Human-readable indicator name, e.g. "Life expectancy at birth (years)" |
| `country` | string | ISO3 country code, e.g. `USA`, `GBR`, `DEU` |
| `year` | string | Year of the observation, e.g. `2019` |
| `value` | number | Numeric value of the indicator for that country/year/dimension |
| `low` | number | Lower bound of the 95% confidence interval |
| `high` | number | Upper bound of the 95% confidence interval |
| `dimension` | string | Primary dimension (e.g. `SEX_BTSX` = both sexes, `SEX_MLE` = male, `SEX_FMLE` = female) |
| `parentLocation` | string | WHO region name (e.g. "Europe", "South-East Asia") |
| `rawValue` | string | Original formatted string from WHO (e.g. `"73.2 [72.8-73.6]"`) |

**JSON output example:**

```json
{
  "indicatorCode": "WHOSIS_000001",
  "indicatorName": "Life expectancy at birth (years)",
  "country": "USA",
  "year": "2019",
  "value": 78.53,
  "low": 78.11,
  "high": 78.95,
  "dimension": "SEX_BTSX",
  "parentLocation": "Americas",
  "rawValue": "78.5 [78.1-79.0]"
}
````

### How to use

#### Option A — Fetch data for specific indicators

Provide a list of WHO GHO indicator codes (find codes using the `indicators` mode below). The actor fetches all country/year rows for each code.

**Step-by-step:**

1. Open the actor and go to Input.
2. Set **Mode** to `Indicator Data`.
3. Enter one or more codes in **Indicator Codes**, e.g. `WHOSIS_000001`.
4. Optionally add ISO3 country codes in **Country Filter** to limit scope.
5. Set **Max Results** to `0` for all data, or a number for a quick preview.
6. Click **Start**.

```json
{
  "mode": "indicatorData",
  "indicatorCodes": ["WHOSIS_000001", "WHOSIS_000002"],
  "countryFilter": ["USA", "GBR", "DEU", "FRA"],
  "maxResults": 0,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["DATACENTER"] }
}
```

#### Option B — List all available indicators

Use this mode to discover all 3,000+ indicator codes and their names before deciding which to fetch.

**Step-by-step:**

1. Set **Mode** to `List All Indicators`.
2. Leave all other fields at default.
3. Click **Start** — you'll get ~3,000 rows with `indicatorCode` and `indicatorName` filled.

```json
{
  "mode": "indicators",
  "maxResults": 0
}
```

### Input parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `indicatorData` | `indicatorData` or `indicators` |
| `indicatorCodes` | array | `["WHOSIS_000001"]` | WHO GHO indicator codes to fetch (indicatorData mode only) |
| `countryFilter` | array | `[]` | ISO3 country codes to filter (empty = all countries) |
| `maxResults` | integer | `0` | Max rows to output; `0` = no limit |
| `proxyConfiguration` | object | Apify DATACENTER | Proxy settings |

**Full input JSON:**

```json
{
  "mode": "indicatorData",
  "indicatorCodes": ["WHOSIS_000001"],
  "countryFilter": [],
  "maxResults": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["DATACENTER"]
  }
}
```

### Output example

```json
{
  "indicatorCode": "WHOSIS_000001",
  "indicatorName": "Life expectancy at birth (years)",
  "country": "JPN",
  "year": "2021",
  "value": 84.26,
  "low": 83.91,
  "high": 84.61,
  "dimension": "SEX_BTSX",
  "parentLocation": "Western Pacific",
  "rawValue": "84.3 [83.9-84.6]"
}
```

### Tips for best results

- **Find indicator codes first**: Run in `indicators` mode to get the full list, then search for keywords like "mortality", "tuberculosis", or "obesity" to find the right codes.
- **Use country filter for focused analysis**: Pass ISO3 codes (e.g. `["USA", "GBR", "CAN"]`) to avoid fetching global data when you only need a few countries.
- **Multiple indicators in one run**: Add all your codes to `indicatorCodes` — the actor processes them sequentially and pushes all rows to one dataset.
- **Check the `dimension` field**: Many indicators have multiple rows per country/year split by sex (`SEX_MLE`, `SEX_FMLE`, `SEX_BTSX`) or age group. Filter in post-processing if needed.
- **`rawValue` for display**: Use `rawValue` for human-readable strings like `"73.2 [72.8-73.6]"`; use `value`, `low`, `high` for numeric analysis.
- **Set `maxResults` to 500 for a quick preview** before a full run on a large indicator.
- **Schedule monthly runs**: WHO updates data periodically; set up an Apify schedule to keep your dataset fresh.
- **Export to Google Sheets**: Use the Apify→Google Sheets integration in the Actors section to automatically write results to a spreadsheet after each run.

### Integrations

- **Google Sheets**: Use the built-in Apify integration to export dataset rows to a spreadsheet automatically after each run.
- **Slack**: Set up Apify webhooks to notify a Slack channel when a scheduled run completes.
- **Zapier / Make (Integromat)**: Trigger downstream workflows when new WHO data is available — push to databases, send emails, or update dashboards.
- **Webhooks**: Configure a webhook URL in Actor settings to POST run metadata to your own API on completion.
- **Schedule**: Set up a recurring schedule (weekly/monthly) in Apify Console to keep your WHO data fresh without manual runs.

### API usage

**cURL:**

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/logiover~who-gho-scraper/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "indicatorData",
    "indicatorCodes": ["WHOSIS_000001"],
    "countryFilter": [],
    "maxResults": 0
  }'
```

**Node.js (Apify Client):**

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('logiover/who-gho-scraper').call({
  mode: 'indicatorData',
  indicatorCodes: ['WHOSIS_000001', 'WHOSIS_000002'],
  countryFilter: ['USA', 'GBR'],
  maxResults: 0,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("logiover/who-gho-scraper").call(run_input={
    "mode": "indicatorData",
    "indicatorCodes": ["WHOSIS_000001"],
    "countryFilter": [],
    "maxResults": 0,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

### Use with AI agents (MCP)

This actor is compatible with Apify's Model Context Protocol (MCP) integration, allowing AI agents to call it directly. An agent can discover available WHO indicators and then fetch structured health data for downstream reasoning — for example: *"Fetch life expectancy and maternal mortality for all Sub-Saharan African countries from 2010 to 2023 and identify the three countries with the greatest improvement."* Connect the actor via the Apify MCP server and pass structured inputs; the agent receives paginated JSON rows ready for analysis.

### FAQ

#### Does this actor require an API key or WHO account?

No. The WHO Global Health Observatory OData API (`ghoapi.azureedge.net`) is fully public. No registration, API key, or login is needed.

#### How many indicators does WHO GHO cover?

As of 2026, the GHO contains 3,068+ indicator codes spanning mortality, disease burden, nutrition, mental health, tobacco, alcohol, and health system performance.

#### How many rows does one indicator return?

It varies. High-coverage indicators like Life Expectancy (`WHOSIS_000001`) return ~12,000 rows (all countries × years × sex breakdowns). Niche indicators may return a few hundred. Use the `$count` field in the raw API to estimate before running.

#### What if I get zero results?

Check that the indicator code exists by running in `indicators` mode first. Some codes are aliases (e.g. `Adult_curr_cig_smoking` redirects to `TOBACCO_INDICATOR`). Also verify your country filter uses valid ISO3 codes.

#### Why are some `value`, `low`, or `high` fields null?

WHO data is not always complete. Some country/year combinations have aggregate text values but no numeric breakdown — in those cases `value` will be null and you should check `rawValue` for the formatted string.

#### Can I export to Excel or CSV?

Yes. In the Apify dataset viewer, click the download button and select CSV, XLSX, or JSON. You can also use the Apify API to download programmatically.

#### How fast does the actor run?

A single indicator with ~12,000 rows fetches in under 2 minutes on DATACENTER proxy. Fetching all 3,068 indicators in `indicators` mode takes about 3-4 minutes.

#### Is this legal to use?

WHO data is published under the Creative Commons Attribution 4.0 International license (CC BY 4.0), which permits free use, redistribution, and adaptation with attribution. Always cite WHO as your data source in publications.

#### How often does WHO update the data?

WHO typically updates GHO data annually or when new country estimates are published. The last data date is included in the `rawValue` timestamp fields of the raw API.

#### What other health data actors are available?

- **[Apify OSM Lead Scraper](https://apify.com/logiover/b2b-lead-scraper)** — B2B leads from OpenStreetMap by sector and country.
- **[IMDb Scraper](https://apify.com/logiover)** — Entertainment data for media analytics.
- **[News Multi-Source Scraper](https://apify.com/logiover)** — Multi-source news aggregation via public APIs.

#### Can I filter by WHO region instead of country?

Not directly in the input. The `parentLocation` field in the output contains the WHO region name. Fetch all countries and filter by `parentLocation` in post-processing (e.g. using pandas or Google Sheets).

#### Does the actor handle rate limits?

Yes. The actor retries failed requests up to 3 times with exponential backoff. The WHO GHO API is generally permissive, but if you run many indicator codes in parallel, consider adding a small delay between runs.

### Is it legal?

This actor queries the official WHO Global Health Observatory public API. All data is openly published by the World Health Organization and licensed under CC BY 4.0. No authentication bypass, scraping of protected content, or terms-of-service violation occurs. Users are responsible for citing WHO as the data source in any derivative work or publication and for complying with the WHO data use policy. This actor does not collect, store, or redistribute any personal data.

### Related scrapers

- **[B2B Lead Scraper](https://apify.com/logiover/b2b-lead-scraper)** — Generate business leads from OpenStreetMap by industry and country.
- **[CVE Advisory Scraper](https://apify.com/logiover)** — Monitor NVD/OSV for new CVEs by keyword or product.
- **[CT Monitor (Certificate Transparency)](https://apify.com/logiover)** — Track new SSL certificates for domain monitoring.

# Actor input Schema

## `mode` (type: `string`):

Operation mode: 'indicatorData' fetches data rows for given indicator codes; 'indicators' lists all available indicator codes and names.

## `indicatorCodes` (type: `array`):

List of WHO GHO indicator codes to fetch (e.g. WHOSIS\_000001 for Life expectancy). Used only in indicatorData mode.

## `countryFilter` (type: `array`):

Optional list of ISO3 country codes to filter results (e.g. USA, GBR, DEU). Leave empty for all countries.

## `maxResults` (type: `integer`):

Maximum total number of data rows to output. 0 = no limit (fetch all).

## `proxyConfiguration` (type: `object`):

Proxy settings for HTTP requests. Apify Proxy (automatic) is recommended; the Actor also falls back to a direct connection if the proxy is unavailable.

## Actor input object example

```json
{
  "mode": "indicatorData",
  "indicatorCodes": [
    "WHOSIS_000001"
  ],
  "countryFilter": [],
  "maxResults": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/who-gho-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("logiover/who-gho-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call logiover/who-gho-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/who-gho-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "WHO Global Health Observatory Scraper",
        "description": "Scrape WHO GHO by indicator code or list all 3000+ indicators. Extract country, year, value, low/high CI, sex dimension for health analytics, research, and dashboards. No API key, no login.",
        "version": "1.0",
        "x-build-id": "rLx5DXGFinIIVCNHD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~who-gho-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-who-gho-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/logiover~who-gho-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-who-gho-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/logiover~who-gho-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-who-gho-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "indicatorData",
                            "indicators"
                        ],
                        "type": "string",
                        "description": "Operation mode: 'indicatorData' fetches data rows for given indicator codes; 'indicators' lists all available indicator codes and names.",
                        "default": "indicatorData"
                    },
                    "indicatorCodes": {
                        "title": "Indicator Codes",
                        "type": "array",
                        "description": "List of WHO GHO indicator codes to fetch (e.g. WHOSIS_000001 for Life expectancy). Used only in indicatorData mode.",
                        "items": {
                            "type": "string"
                        },
                        "default": [
                            "WHOSIS_000001"
                        ]
                    },
                    "countryFilter": {
                        "title": "Country Filter (ISO3 codes)",
                        "type": "array",
                        "description": "Optional list of ISO3 country codes to filter results (e.g. USA, GBR, DEU). Leave empty for all countries.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum total number of data rows to output. 0 = no limit (fetch all).",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for HTTP requests. Apify Proxy (automatic) is recommended; the Actor also falls back to a direct connection if the proxy is unavailable."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
